diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000..939f8c9ed2 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "src/modules/Bots"] + path = src/modules/Bots + url = https://github.com/celguar/mangosbot-bots.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 29cfe35b31..e5cd640069 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -327,6 +327,21 @@ if(NOT BUILD_GAME_SERVER AND BUILD_PLAYERBOT) message(STATUS "BUILD_PLAYERBOT forced to OFF due to BUILD_GAME_SERVER is not set") endif() +if(NOT BUILD_GAME_SERVER AND BUILD_IKE3_BOTS) + set(BUILD_IKE3_BOTS OFF) + message(STATUS "BUILD_PLAYERBOTS forced to OFF due to BUILD_GAME_SERVER is not set") +endif() + +if(BUILD_IKE3_BOTS) + set(BUILD_PLAYERBOT OFF) + message(STATUS "CMaNGOS bots DISABLED because Ike3 bots enabled") +endif() + +if(BUILD_PLAYERBOT) + set(BUILD_IKE3_BOTS OFF) + message(STATUS "Ike3 bots DISABLED because CMaNGOS bots enabled") +endif() + if(PCH) if(${CMAKE_VERSION} VERSION_LESS "3.16") message("PCH is not supported by your CMake version") diff --git a/cmake/options.cmake b/cmake/options.cmake index 4c7e333f9c..f31bad60e7 100644 --- a/cmake/options.cmake +++ b/cmake/options.cmake @@ -7,6 +7,8 @@ option(BUILD_LOGIN_SERVER "Build login server" ON) option(BUILD_EXTRACTORS "Build map/dbc/vmap/mmap extractors" OFF) option(BUILD_SCRIPTDEV "Build ScriptDev. (OFF Speedup build)" ON) option(BUILD_PLAYERBOT "Build Playerbot mod" OFF) +option(BUILD_IKE3_BOTS "Build ike3 Playerbots" OFF) +option(BUILD_ACHIEVEMENTS "Build Achievements" OFF) option(BUILD_AHBOT "Build Auction House Bot mod" OFF) option(BUILD_METRICS "Build Metrics, generate data for Grafana" OFF) option(BUILD_RECASTDEMOMOD "Build map/vmap/mmap viewer" OFF) @@ -35,6 +37,8 @@ message(STATUS BUILD_EXTRACTORS Build map/dbc/vmap/mmap extractor BUILD_SCRIPTDEV Build scriptdev. (Disable it to speedup build in dev mode by not including scripts) BUILD_PLAYERBOT Build Playerbot mod + BUILD_IKE3_BOTS Build Ike3 Playerbot mod + BUILD_ACHIEVEMENTS Build Achievements System BUILD_AHBOT Build Auction House Bot mod BUILD_METRICS Build Metrics, generate data for Grafana BUILD_RECASTDEMOMOD Build map/vmap/mmap viewer diff --git a/cmake/showoptions.cmake b/cmake/showoptions.cmake index 1db7f3fea4..ad7fb8420d 100644 --- a/cmake/showoptions.cmake +++ b/cmake/showoptions.cmake @@ -67,6 +67,12 @@ else() message(STATUS "Build Playerbot : No (default)") endif() +if(BUILD_IKE3_BOTS) + message(STATUS "Build ike3 Playerbots : Yes") +else() + message(STATUS "Build ike3 Playerbots : No (default)") +endif() + if(BUILD_EXTRACTORS) message(STATUS "Build extractors : Yes") else() diff --git a/contrib/mmap/src/MapBuilder.cpp b/contrib/mmap/src/MapBuilder.cpp index 9f3ce0bf74..90f8d922ba 100644 --- a/contrib/mmap/src/MapBuilder.cpp +++ b/contrib/mmap/src/MapBuilder.cpp @@ -288,7 +288,7 @@ namespace MMAP rcCalcGridSize(config.bmin, config.bmax, config.cs, &config.width, &config.height); Tile tile; - buildCommonTile(modelName.data(), tile, config, tVerts, tVertCount, tTris, tTriCount, nullptr, 0, nullptr, 0, 0); + buildCommonTile(modelName.data(), tile, config, tVerts, tVertCount, tTris, tTriCount, nullptr, 0, nullptr, 0, 0, meshData); IntermediateValues iv; iv.polyMesh = tile.pmesh; @@ -484,8 +484,16 @@ namespace MMAP // make sure we process maps which don't have tiles // initialize the static tree, which loads WDT models - if (!m_terrainBuilder->loadVMap(mapID, 64, 64, meshData)) + IVMapManager* vmapManager = new VMapManager2(); + if (!m_terrainBuilder->loadVMap(mapID, 64, 64, meshData, vmapManager)) + { + vmapManager->unloadMap(mapID, 64, 64); + delete vmapManager; return; + } + + vmapManager->unloadMap(mapID, 64, 64); + delete vmapManager; // get the coord bounds of the model data if (meshData.solidVerts.size() + meshData.liquidVerts.size() == 0) @@ -601,6 +609,92 @@ namespace MMAP dtFreeNavMesh(navMesh); } + static void calcTriNormal(const float* v0, const float* v1, const float* v2, float* norm) + { + float e0[3], e1[3]; + rcVsub(e0, v1, v0); + rcVsub(e1, v2, v0); + rcVcross(norm, e0, e1); + rcVnormalize(norm); + } + + void filterSteepSlopeTriangles(rcContext* ctx, + const float* verts, int nv, + const int* tris, int nt, + unsigned char* areas, MeshData& meshData, TerrainBuilder* m_terrainBuilder, VMAP::IVMapManager* vmapManager) + { + rcIgnoreUnused(ctx); + rcIgnoreUnused(nv); + + float norm[3]; + + const float playerClimbLimit = cosf(50.0f / 180.0f * RC_PI); + const float maxClimbLimitTerrain = cosf(75.0f / 180.0f * RC_PI); + const float maxClimbLimitVmaps = cosf(61.0f / 180.0f * RC_PI); + + uint32 terrainPolysSlope = 0; + uint32 terrainPolysNull = 0; + uint32 nonTerrainPolysSlope = 0; + uint32 nonTerrainPolysNull = 0; + uint32 undermapPolys = 0; + + for (int i = 0; i < nt; ++i) + { + if (areas[i] & RC_WALKABLE_AREA) + { + const int* tri = &tris[i * 3]; + calcTriNormal(&verts[tri[0] * 3], &verts[tri[1] * 3], &verts[tri[2] * 3], norm); + + bool terrain = meshData.IsTerrainTriangle(i); + // Check if the face is walkable: different angle for different type of triangle + // NPCs, charges, ... can climb up to the HardLimit + // blinks, randomPosGenerator ... can climb up to playerClimbLimit + // With playerClimbLimit < HardLimit + float climbHardLimit = terrain ? maxClimbLimitTerrain : maxClimbLimitVmaps; + + if (norm[1] <= playerClimbLimit) + { + areas[i] = NAV_AREA_GROUND_STEEP; + if (terrain) + terrainPolysSlope++; + else + nonTerrainPolysSlope++; + } + if (norm[1] <= climbHardLimit) + { + areas[i] = RC_NULL_AREA; + if (terrain) + terrainPolysNull++; + else + nonTerrainPolysNull++; + } + + // Now we remove underterrain triangles (actually set flags to 0) + // This prevents selecting wrong poly for a player in the server later. + if (vmapManager && !terrain && areas[i]) + { + // Get triangle corners (as usual, yzx positions) + // (actually we push these corners towards the center a bit to prevent collision with border models etc...) + float cVerts[9]; + for (int c = 0; c < 3; ++c) // Corner + for (int v = 0; v < 3; ++v) // Coordinate + cVerts[3 * c + v] = (5 * verts[tri[c] * 3 + v] + verts[tri[(c + 1) % 3] * 3 + v] + verts[tri[(c + 2) % 3] * 3 + v]) / 7; + + // A triangle is undermap if all corners are undermap + if (m_terrainBuilder->IsUnderMap(&cVerts[0], vmapManager) && m_terrainBuilder->IsUnderMap(&cVerts[3], vmapManager) && m_terrainBuilder->IsUnderMap(&cVerts[6], vmapManager)) + { + areas[i] = RC_NULL_AREA; + undermapPolys++; + continue; + } + } + } + } + //printf("Slopes filtered: terrain: %u vmaps: %u \n", terrainPolysSlope, nonTerrainPolysSlope); + //printf("Unwalkable filtered: terrain: %u vmaps: %u \n", terrainPolysNull, nonTerrainPolysNull); + //printf("Undermap polygons filtered: %u \n", undermapPolys); + } + /**************************************************************************/ void MapBuilder::buildTile(uint32 mapID, uint32 tileX, uint32 tileY, dtNavMesh* navMesh, uint32 curTile, uint32 tileCount) { @@ -612,11 +706,16 @@ namespace MMAP m_terrainBuilder->loadMap(mapID, tileX, tileY, meshData); // get model data - m_terrainBuilder->loadVMap(mapID, tileY, tileX, meshData); + IVMapManager* vmapManager = new VMapManager2(); + m_terrainBuilder->loadVMap(mapID, tileY, tileX, meshData, vmapManager); // if there is no data, give up now if (!meshData.solidVerts.size() && !meshData.liquidVerts.size()) + { + vmapManager->unloadMap(mapID, tileX, tileY); + delete vmapManager; return; + } // remove unused vertices TerrainBuilder::cleanVertices(meshData.solidVerts, meshData.solidTris); @@ -637,7 +736,11 @@ namespace MMAP m_terrainBuilder->loadOffMeshConnections(mapID, tileX, tileY, meshData, m_offMeshFilePath); // build navmesh tile - buildMoveMapTile(mapID, tileX, tileY, meshData, bmin, bmax, navMesh); + buildMoveMapTile(mapID, tileX, tileY, meshData, bmin, bmax, navMesh, vmapManager); + + // clean up + vmapManager->unloadMap(mapID, tileX, tileY); + delete vmapManager; } /**************************************************************************/ @@ -720,7 +823,7 @@ namespace MMAP /**************************************************************************/ void MapBuilder::buildMoveMapTile(uint32 mapID, uint32 tileX, uint32 tileY, MeshData& meshData, float bmin[3], float bmax[3], - dtNavMesh* navMesh) + dtNavMesh* navMesh, IVMapManager* vmapManager) { // console output char tileString[20]; @@ -747,6 +850,18 @@ namespace MMAP rcVcopy(config.bmin, bmin); rcVcopy(config.bmax, bmax); + /*printf("Parameters: \n"); + printf("ch: %f \n", config.ch); + printf("cs: %f \n", config.cs); + printf("walkableHeight: %u \n", config.walkableHeight); + printf("walkableClimb: %u \n", config.walkableClimb); + printf("walkableRadius: %u \n", config.walkableRadius); + printf("walkableSlopeAngle: %f \n", config.walkableSlopeAngle); + printf("maxEdgeLen: %u \n", config.maxEdgeLen); + printf("borderSize: %u \n", config.borderSize); + printf("detailSampleDist: %f \n", config.detailSampleDist); + printf("detailSampleMaxError: %f \n", config.detailSampleMaxError);*/ + // this sets the dimensions of the heightfield - should maybe happen before border padding rcCalcGridSize(config.bmin, config.bmax, config.cs, &config.width, &config.height); @@ -777,7 +892,7 @@ namespace MMAP tileCfg.bmax[0] += tileCfg.borderSize * tileCfg.cs; tileCfg.bmax[2] += tileCfg.borderSize * tileCfg.cs; - buildCommonTile(tileString, tile, tileCfg, tVerts, tVertCount, tTris, tTriCount, lVerts, lVertCount, lTris, lTriCount, lTriFlags); + buildCommonTile(tileString, tile, tileCfg, tVerts, tVertCount, tTris, tTriCount, lVerts, lVertCount, lTris, lTriCount, lTriFlags, meshData, vmapManager); } } @@ -833,10 +948,26 @@ namespace MMAP { if (uint8 area = iv.polyMesh->areas[i] & NAV_AREA_ALL_MASK) { - if (area >= NAV_AREA_MIN_VALUE) - iv.polyMesh->flags[i] = 1 << (NAV_AREA_MAX_VALUE - area); - else - iv.polyMesh->flags[i] = NAV_GROUND; // TODO: these will be dynamic in future + switch (area) + { + case NAV_AREA_EMPTY: + break; + case NAV_AREA_GROUND: + iv.polyMesh->flags[i] |= NAV_GROUND; + break; + case NAV_AREA_GROUND_STEEP: + iv.polyMesh->flags[i] |= (NAV_GROUND | NAV_GROUND_STEEP); + break; + case NAV_AREA_WATER: + iv.polyMesh->flags[i] |= NAV_WATER; + break; + case NAV_AREA_MAGMA_SLIME: + iv.polyMesh->flags[i] |= NAV_MAGMA_SLIME; + break; + default: + iv.polyMesh->flags[i] |= NAV_GROUND; // TODO: these will be dynamic in future + break; + } } } @@ -950,7 +1081,7 @@ namespace MMAP continue; } - printf("%s Writing to file... \r", tileString); + printf("%s Writing to file... \n", tileString); // write header MmapTileHeader header; @@ -983,7 +1114,7 @@ namespace MMAP } bool MapBuilder::buildCommonTile(const char* tileString, Tile& tile, rcConfig& tileCfg, float* tVerts, int tVertCount, int* tTris, int tTriCount, float* lVerts, int lVertCount, - int* lTris, int lTriCount, uint8* lTriFlags) + int* lTris, int lTriCount, uint8* lTriFlags, MeshData& meshData, IVMapManager* vmapManager) { // Build heightfield for walkable area tile.solid = rcAllocHeightfield(); @@ -997,6 +1128,7 @@ namespace MMAP unsigned char* triFlags = new unsigned char[tTriCount]; memset(triFlags, NAV_AREA_GROUND, tTriCount * sizeof(unsigned char)); rcClearUnwalkableTriangles(m_rcContext, tileCfg.walkableSlopeAngle, tVerts, tVertCount, tTris, tTriCount, triFlags); + filterSteepSlopeTriangles(m_rcContext, tVerts, tVertCount, tTris, tTriCount, triFlags, meshData, m_terrainBuilder, vmapManager); rcRasterizeTriangles(m_rcContext, tVerts, tVertCount, tTris, triFlags, tTriCount, *tile.solid, tileCfg.walkableClimb); delete[] triFlags; @@ -1185,7 +1317,7 @@ namespace MMAP {"walkableClimb", 4}, {"walkableHeight", 6}, {"walkableRadius", 2}, - {"walkableSlopeAngle", 60.0f}, + {"walkableSlopeAngle", 75.0f}, {"liquidFlagMergeThreshold", 0.0f}, }; } diff --git a/contrib/mmap/src/MapBuilder.h b/contrib/mmap/src/MapBuilder.h index bbcbbd9b75..e0bac056d2 100644 --- a/contrib/mmap/src/MapBuilder.h +++ b/contrib/mmap/src/MapBuilder.h @@ -118,10 +118,10 @@ namespace MMAP void buildTile(uint32 mapID, uint32 tileX, uint32 tileY, dtNavMesh* navMesh, uint32 curTile, uint32 tileCount); bool buildCommonTile(const char* tileString, Tile& tile, rcConfig& tileCfg, float* tVerts, int tVertCount, int* tTris, int tTriCount, float* lVerts, int lVertCount, - int* lTris, int lTriCount, uint8* lTriFlags); + int* lTris, int lTriCount, uint8* lTriFlags, MeshData& meshData, IVMapManager* vmapManager = nullptr); // move map building - void buildMoveMapTile(uint32 mapID, uint32 tileX, uint32 tileY, MeshData& meshData, float bmin[3], float bmax[3], dtNavMesh* navMesh); + void buildMoveMapTile(uint32 mapID, uint32 tileX, uint32 tileY, MeshData& meshData, float bmin[3], float bmax[3], dtNavMesh* navMesh, IVMapManager* vmapManager); void getTileBounds(uint32 tileX, uint32 tileY, float* verts, int vertCount, float* bmin, float* bmax); void getGridBounds(uint32 mapID, uint32& minX, uint32& minY, uint32& maxX, uint32& maxY); diff --git a/contrib/mmap/src/TerrainBuilder.cpp b/contrib/mmap/src/TerrainBuilder.cpp index 987c1d81d1..b1539136d7 100644 --- a/contrib/mmap/src/TerrainBuilder.cpp +++ b/contrib/mmap/src/TerrainBuilder.cpp @@ -29,7 +29,7 @@ namespace MMAP { - TerrainBuilder::TerrainBuilder(bool skipLiquid, const char* workdir /*= "./"*/) : m_skipLiquid(skipLiquid), m_workdir(workdir) { } + TerrainBuilder::TerrainBuilder(bool skipLiquid, const char* workdir /*= "./"*/) : m_skipLiquid(skipLiquid), m_workdir(workdir), m_V9(nullptr), m_V8(nullptr), m_mapId(0) { } TerrainBuilder::~TerrainBuilder() { } /**************************************************************************/ @@ -168,6 +168,16 @@ namespace MMAP fseek(mapFile, fheader.holesOffset, SEEK_SET); fread(holes, fheader.holesSize, 1, mapFile); + if (portion == ENTIRE) + { + if (!m_V8) + m_V8 = new float[V8_SIZE_SQ]; + if (!m_V9) + m_V9 = new float[V9_SIZE_SQ]; + memcpy(m_V8, V8, V8_SIZE_SQ * sizeof(float)); + memcpy(m_V9, V9, V9_SIZE_SQ * sizeof(float)); + } + int count = meshData.solidVerts.size() / 3; float xoffset = (float(tileX) - 32) * GRID_SIZE; float yoffset = (float(tileY) - 32) * GRID_SIZE; @@ -556,10 +566,10 @@ namespace MMAP } /**************************************************************************/ - bool TerrainBuilder::loadVMap(uint32 mapID, uint32 tileX, uint32 tileY, MeshData& meshData) + bool TerrainBuilder::loadVMap(uint32 mapID, uint32 tileX, uint32 tileY, MeshData& meshData, IVMapManager* vmapManager) { + m_mapId = mapID; char vmaps_dir[1024]; - IVMapManager* vmapManager = new VMapManager2(); sprintf(vmaps_dir, "%s/vmaps", m_workdir); VMAPLoadResult result = vmapManager->loadMap(vmaps_dir, mapID, tileX, tileY); bool retval = false; @@ -569,6 +579,10 @@ namespace MMAP if (result == VMAP_LOAD_RESULT_ERROR) break; + int mapVertsCount = meshData.solidVerts.size(); + int mapTrisCount = meshData.solidTris.size(); + meshData.vmapFirstTriangle = meshData.solidTris.size() / 3; + InstanceTreeMap instanceTrees; ((VMapManager2*)vmapManager)->getInstanceMapTree(instanceTrees); @@ -702,12 +716,205 @@ namespace MMAP } } } + + /// First: remove from terrain all triangles inside any model. + meshData.vmapLastTriangle = meshData.solidTris.size() / 3; + float* terrainInsideModelsVerts = new float[meshData.solidVerts.size()]; + for (int i = 0; i < meshData.solidVerts.size(); ++i) + terrainInsideModelsVerts[i] = -1.0f; + + for (uint32 i = 0; i < count; ++i) + { + ModelInstance instance = models[i]; + + // model instances exist in tree even though there are instances of that model in this tile + WorldModel* worldModel = instance.getWorldModel(); + if (!worldModel) + continue; + + vector groupModels; + worldModel->getGroupModels(groupModels); + + // all M2s need to have triangle indices reversed + bool isM2 = instance.name.find(".m2") != instance.name.npos || instance.name.find(".M2") != instance.name.npos; + + // transform data + float scale = instance.iScale; + G3D::Matrix3 rotation = G3D::Matrix3::fromEulerAnglesXYZ(G3D::pi() * instance.iRot.z / -180.f, G3D::pi() * instance.iRot.x / -180.f, G3D::pi() * instance.iRot.y / -180.f); + Vector3 position = instance.iPos; + position.x -= 32 * GRID_SIZE; + position.y -= 32 * GRID_SIZE; + + /// Check every map vertice + // x, y * -1 + Vector3 up(0, 0, 1); + //up.x *= -1.0f; + //up.y *= -1.0f; + //up = up * rotation.inverse() / scale; + for (vector::iterator it = groupModels.begin(); it != groupModels.end(); ++it) + for (int t = 0; t < mapVertsCount / 3; ++t) + { + // y, z, x + Vector3 v(meshData.solidVerts[3 * t + 2], meshData.solidVerts[3 * t], meshData.solidVerts[3 * t + 1] + 0.2f); + v.x *= -1.f; + v.y *= -1.f; + v -= position; + v = v * rotation.inverse() / scale; + + float outDist = -1.0f; + float inDist = -1.0f; + + // check if has borders in 4 directions + if (it->IsUnderObject(v, up, isM2, &outDist, &inDist)) // inDist < outDist + { + Vector3 vbordersEast(meshData.solidVerts[3 * t + 2], meshData.solidVerts[3 * t], meshData.solidVerts[3 * t + 1] + 0.2f); + Vector3 vbordersWest(meshData.solidVerts[3 * t + 2], meshData.solidVerts[3 * t], meshData.solidVerts[3 * t + 1] + 0.2f); + + bool hasEastBorders = false; + bool hasWestBorders = false; + Vector3 leftEast(1, 0, 0); + Vector3 leftWest(0, 1, 0); + Vector3 rightEast(1, 0, 0); + Vector3 rightWest(0, 1, 0); + + vbordersEast.x *= -1.f; + vbordersEast.y *= -1.f; + vbordersEast -= position; + vbordersEast = vbordersEast * rotation.inverse() / scale; + + vbordersWest.x *= -1.f; + vbordersWest.y *= -1.f; + vbordersWest -= position; + vbordersWest = vbordersWest * rotation.inverse() / scale; + + hasEastBorders = it->IsUnderObject(vbordersEast, leftEast, isM2) || it->IsUnderObject(vbordersEast, rightEast, isM2); + hasWestBorders = it->IsUnderObject(vbordersWest, leftWest, isM2) || it->IsUnderObject(vbordersWest, rightWest, isM2); + + if (hasEastBorders && hasWestBorders) + terrainInsideModelsVerts[t] = inDist; + } + } + } + /// Correct triangles partially under models + for (int i = 0; i < mapTrisCount / 3; ++i) + { + Vector3 tri[3]; + uint32 vertIdx[3]; + bool insideModel[3] = { false }; // triangle vertex inside model + for (int j = 0; j < 3; ++j) + { + vertIdx[j] = meshData.solidTris[i * 3 + j]; + if (vertIdx[j] < mapVertsCount) + insideModel[j] = (terrainInsideModelsVerts[vertIdx[j]] >= 0.1f); + tri[j] = Vector3(meshData.solidVerts[3 * vertIdx[j] + 2], meshData.solidVerts[3 * vertIdx[j]], meshData.solidVerts[3 * vertIdx[j] + 1]); + } + + // First case: nothing to do =) + if (terrainInsideModelsVerts[vertIdx[0]] < 1.0f && terrainInsideModelsVerts[vertIdx[1]] < 1.0f && terrainInsideModelsVerts[vertIdx[2]] < 1.0f) + continue; + if (insideModel[0] == insideModel[1] && insideModel[1] == insideModel[2]) + continue; + + // There is one vertex outside + uint32 outsideIdx; + for (outsideIdx = 0; outsideIdx < 3; ++outsideIdx) + if (!insideModel[outsideIdx]) + break; + + // Intersection to vertexes + // - vert 1 & 2 are inside. + if (insideModel[(outsideIdx + 1) % 3] && insideModel[(outsideIdx + 2) % 3]) + { + Vector3 intersectTo1; + Vector3 intersectTo2; + bool inters1 = (vmapManager->getObjectHitPos(mapID, tri[outsideIdx].x, tri[outsideIdx].y, tri[outsideIdx].z, + tri[(outsideIdx + 1) % 3].x, tri[(outsideIdx + 1) % 3].y, tri[(outsideIdx + 1) % 3].z, + intersectTo1.x, intersectTo1.y, intersectTo1.z, 0.0f)); + bool inters2 = (vmapManager->getObjectHitPos(mapID, tri[outsideIdx].x, tri[outsideIdx].y, tri[outsideIdx].z, + tri[(outsideIdx + 2) % 3].x, tri[(outsideIdx + 2) % 3].y, tri[(outsideIdx + 2) % 3].z, + intersectTo2.x, intersectTo2.y, intersectTo2.z, 0.0f)); + if (!inters1) + intersectTo1 = (tri[(outsideIdx + 1) % 3] * 4 + tri[outsideIdx]) / 5; + if (!inters2) + intersectTo2 = (tri[(outsideIdx + 2) % 3] * 4 + tri[outsideIdx]) / 5; + + // Insert new vertices + int offset = meshData.solidVerts.size() / 3; + meshData.solidVerts.append(intersectTo1.y); + meshData.solidVerts.append(intersectTo1.z); + meshData.solidVerts.append(intersectTo1.x); + meshData.solidVerts.append(intersectTo2.y); + meshData.solidVerts.append(intersectTo2.z); + meshData.solidVerts.append(intersectTo2.x); + vertIdx[(outsideIdx + 1) % 3] = offset; + vertIdx[(outsideIdx + 2) % 3] = offset + 1; + } + if (insideModel[(outsideIdx + 1) % 3] != insideModel[(outsideIdx + 2) % 3]) + { + // Only one vert is inside + for (int insideIdx = 0; insideIdx < 3; ++insideIdx) + if (insideIdx != outsideIdx && insideModel[insideIdx]) + { + int outsideIdx2 = (outsideIdx + 1) % 3; + if (outsideIdx2 == insideIdx) + outsideIdx2 = (outsideIdx2 + 1) % 3; + + // 2 vertexes outside: outsideIdx/outsideIdx2. One inside: insideIdx + Vector3 intersectFrom1; + Vector3 intersectFrom2; + bool inters1 = (vmapManager->getObjectHitPos(mapID, tri[outsideIdx].x, tri[outsideIdx].y, tri[outsideIdx].z, + tri[insideIdx].x, tri[insideIdx].y, tri[insideIdx].z, + intersectFrom1.x, intersectFrom1.y, intersectFrom1.z, -0.01f)); + bool inters2 = (vmapManager->getObjectHitPos(mapID, tri[outsideIdx2].x, tri[outsideIdx2].y, tri[outsideIdx2].z, + tri[insideIdx].x, tri[insideIdx].y, tri[insideIdx].z, + intersectFrom2.x, intersectFrom2.y, intersectFrom2.z, -0.01f)); + if (!inters1 && !inters2) + { + intersectFrom1 = (tri[outsideIdx] + tri[insideIdx] * 3) / 4; + intersectFrom2 = (tri[outsideIdx2] + tri[insideIdx] * 3) / 4; + } + int offsetVerts = meshData.solidVerts.size() / 3; + meshData.solidVerts.append(intersectFrom1.y); + meshData.solidVerts.append(intersectFrom1.z); + meshData.solidVerts.append(intersectFrom1.x); + meshData.solidVerts.append(intersectFrom2.y); + meshData.solidVerts.append(intersectFrom2.z); + meshData.solidVerts.append(intersectFrom2.x); + // Triangles verts are oriented surfaces ("inside" / "outside") + meshData.solidTris.append(vertIdx[outsideIdx2]); + meshData.solidTris.append(offsetVerts); + meshData.solidTris.append(offsetVerts + 1); + meshData.solidTris.append(offsetVerts + 1); + meshData.solidTris.append(offsetVerts); + meshData.solidTris.append(vertIdx[outsideIdx2]); + vertIdx[insideIdx] = offsetVerts; + break; + } + } + for (int j = 0; j < 3; ++j) + meshData.solidTris[i * 3 + j] = vertIdx[j]; + } + + for (int i = 0; i < mapTrisCount / 3; ++i) + { + bool insideModel[3] = { false }; // triangle vertex inside model + bool allInBorder = true; + for (int j = 0; j < 3; ++j) + { + if (meshData.solidTris[i * 3 + j] < mapVertsCount) + insideModel[j] = (terrainInsideModelsVerts[meshData.solidTris[i * 3 + j]] >= 1.0f); + if (terrainInsideModelsVerts[meshData.solidTris[i * 3 + j]] >= 1.5f) + allInBorder = false; + } + + if (insideModel[0] && insideModel[1] && insideModel[2] && !allInBorder) + for (int j = 0; j < 3; ++j) + meshData.solidTris[i * 3 + j] = 0; + } + delete[] terrainInsideModelsVerts; } while (false); - vmapManager->unloadMap(mapID, tileX, tileY); - delete vmapManager; - return retval; } @@ -836,7 +1043,7 @@ namespace MMAP &p0[0], &p0[1], &p0[2], &p1[0], &p1[1], &p1[2], &size)) continue; - if (mapID == mid, tileX == tx, tileY == ty) + if (mapID == mid && tileX == tx && tileY == ty) { meshData.offMeshConnections.append(p0[1]); meshData.offMeshConnections.append(p0[2]); @@ -858,4 +1065,101 @@ namespace MMAP delete [] buf; fclose(fp); } + + float TerrainBuilder::getHeight(float x, float y) const + { + if (!m_V8 || !m_V9) + return -50000; + + x = MAP_RESOLUTION * (32 - x / GRID_SIZE); + y = MAP_RESOLUTION * (32 - y / GRID_SIZE); + + int x_int = (int)x; + int y_int = (int)y; + x -= x_int; + y -= y_int; + x_int &= (MAP_RESOLUTION - 1); + y_int &= (MAP_RESOLUTION - 1); + + // Height stored as: h5 - its v8 grid, h1-h4 - its v9 grid + // +--------------> X + // | h1-------h2 Coordinates is: + // | | \ 1 / | h1 0,0 + // | | \ / | h2 0,1 + // | | 2 h5 3 | h3 1,0 + // | | / \ | h4 1,1 + // | | / 4 \ | h5 1/2,1/2 + // | h3-------h4 + // V Y + // For find height need + // 1 - detect triangle + // 2 - solve linear equation from triangle points + // Calculate coefficients for solve h = a*x + b*y + c + + float a, b, c; + // Select triangle: + if (x + y < 1) + { + if (x > y) + { + // 1 triangle (h1, h2, h5 points) + float h1 = m_V9[(x_int) * 129 + y_int]; + float h2 = m_V9[(x_int + 1) * 129 + y_int]; + float h5 = 2 * m_V8[x_int * 128 + y_int]; + a = h2 - h1; + b = h5 - h1 - h2; + c = h1; + } + else + { + // 2 triangle (h1, h3, h5 points) + float h1 = m_V9[x_int * 129 + y_int]; + float h3 = m_V9[x_int * 129 + y_int + 1]; + float h5 = 2 * m_V8[x_int * 128 + y_int]; + a = h5 - h1 - h3; + b = h3 - h1; + c = h1; + } + } + else + { + if (x > y) + { + // 3 triangle (h2, h4, h5 points) + float h2 = m_V9[(x_int + 1) * 129 + y_int]; + float h4 = m_V9[(x_int + 1) * 129 + y_int + 1]; + float h5 = 2 * m_V8[x_int * 128 + y_int]; + a = h2 + h4 - h5; + b = h4 - h2; + c = h5 - h4; + } + else + { + // 4 triangle (h3, h4, h5 points) + float h3 = m_V9[(x_int) * 129 + y_int + 1]; + float h4 = m_V9[(x_int + 1) * 129 + y_int + 1]; + float h5 = 2 * m_V8[x_int * 128 + y_int]; + a = h4 - h3; + b = h3 + h4 - h5; + c = h5 - h4; + } + } + // Calculate height + return a * x + b * y + c; + } + + /** + * A triangle is undermap if there is no ground under + * the notion of 'ground' is determined by the triangles normal orientations. + * Note: Pos = {y, z, x} + */ + bool TerrainBuilder::IsUnderMap(float* pos, IVMapManager* vmapManager) + { + float terrainHeight = getHeight(pos[2], pos[0]); + float z = pos[1]; + if (z + 0.2f > terrainHeight) // Over terrain + return false; + + return ((VMapManager2*)vmapManager)->isUnderModel(m_mapId, pos[2], pos[0], z + 0.2f); + } } diff --git a/contrib/mmap/src/TerrainBuilder.h b/contrib/mmap/src/TerrainBuilder.h index c1d9e61f7a..483de3df43 100644 --- a/contrib/mmap/src/TerrainBuilder.h +++ b/contrib/mmap/src/TerrainBuilder.h @@ -23,6 +23,7 @@ #include "MotionGenerators/MoveMapSharedDefines.h" #include "WorldModel.h" +#include "VMapManager2.h" #include "G3D/Array.h" #include "G3D/Vector3.h" @@ -45,6 +46,7 @@ namespace MMAP GRID_V9 }; + static const int MAP_RESOLUTION = 128; static const int V9_SIZE = 129; static const int V9_SIZE_SQ = V9_SIZE * V9_SIZE; static const int V8_SIZE = 128; @@ -77,6 +79,11 @@ namespace MMAP G3D::Array offMeshConnectionDirs; G3D::Array offMeshConnectionsAreas; G3D::Array offMeshConnectionsFlags; + + // Terrain or gobj model ? + bool IsTerrainTriangle(int tri) const { return tri < vmapFirstTriangle || tri >= vmapLastTriangle; } + int vmapFirstTriangle; + int vmapLastTriangle; }; class TerrainBuilder @@ -86,7 +93,7 @@ namespace MMAP ~TerrainBuilder(); void loadMap(uint32 mapID, uint32 tileX, uint32 tileY, MeshData& meshData); - bool loadVMap(uint32 mapID, uint32 tileX, uint32 tileY, MeshData& meshData); + bool loadVMap(uint32 mapID, uint32 tileX, uint32 tileY, MeshData& meshData, VMAP::IVMapManager* vmapManager); void loadOffMeshConnections(uint32 mapID, uint32 tileX, uint32 tileY, MeshData& meshData, const char* offMeshFilePath); bool usesLiquids() { return !m_skipLiquid; } @@ -98,6 +105,8 @@ namespace MMAP static void copyIndices(vector& source, G3D::Array& dest, int offest, bool flip); static void copyIndices(G3D::Array& src, G3D::Array& dest, int offset); static void cleanVertices(G3D::Array& verts, G3D::Array& tris); + float getHeight(float x, float y) const; + bool IsUnderMap(float* pos /* y,z,x */, VMAP::IVMapManager* vmapManager); private: /// Loads a portion of a map's terrain bool loadMap(uint32 mapID, uint32 tileX, uint32 tileY, MeshData& meshData, Spot portion); @@ -132,6 +141,10 @@ namespace MMAP // hide parameterless and copy constructor TerrainBuilder(); TerrainBuilder(const TerrainBuilder& tb); + + float* m_V9; + float* m_V8; + uint32 m_mapId; }; } diff --git a/contrib/recastdemomod/Include/RecastDemoSharedDefines.h b/contrib/recastdemomod/Include/RecastDemoSharedDefines.h index 6ff1e50c37..3b6d353370 100644 --- a/contrib/recastdemomod/Include/RecastDemoSharedDefines.h +++ b/contrib/recastdemomod/Include/RecastDemoSharedDefines.h @@ -17,15 +17,16 @@ enum SamplePolyAreas SAMPLE_POLYAREA_DOOR, SAMPLE_POLYAREA_GRASS, SAMPLE_POLYAREA_JUMP, + SAMPLE_POLYAREA_SLOPE, }; enum SamplePolyFlags { SAMPLE_POLYFLAGS_WALK = 0x01, // Ability to walk (ground, grass, road) - SAMPLE_POLYFLAGS_SWIM = 0x02, // Ability to swim (water). - SAMPLE_POLYFLAGS_DOOR = 0x04, // Ability to move through doors. - SAMPLE_POLYFLAGS_JUMP = 0x08, // Ability to jump. - SAMPLE_POLYFLAGS_DISABLED = 0x10, // Disabled polygon - SAMPLE_POLYFLAGS_ALL = 0xffff // All abilities. + SAMPLE_POLYFLAGS_SLOPES = 0x02, // Ability to swim (water). + SAMPLE_POLYFLAGS_SWIM = 0x04, // Ability to move through doors. + SAMPLE_POLYFLAGS_MAGMA_SLIME = 0x08, // Ability to jump. + SAMPLE_POLYFLAGS_DISABLED = 0x20, // Disabled polygon + SAMPLE_POLYFLAGS_ALL = 0xffff // All abilities. }; enum SamplePartitionType diff --git a/contrib/recastdemomod/Include/SampleInterfaces.h b/contrib/recastdemomod/Include/SampleInterfaces.h index 5d6413382c..d8a629c64d 100644 --- a/contrib/recastdemomod/Include/SampleInterfaces.h +++ b/contrib/recastdemomod/Include/SampleInterfaces.h @@ -46,14 +46,21 @@ class BuildContext : public rcContext std::string m_mMapsFolder; std::string m_vMapsFolder; + unsigned int mapID; + unsigned int tileX; + unsigned int tileY; + public: - BuildContext(const char* dataDir); + BuildContext(const char* dataDir, unsigned int mapId, unsigned int tileX, unsigned int tileY); virtual ~BuildContext(); const char* getMapFolder() { return m_mapsFolder.c_str(); } const char* getMMapFolder() { return m_mMapsFolder.c_str(); } const char* getVMapFolder() { return m_vMapsFolder.c_str(); } const char* getDataDir() { return m_dataDir; } + unsigned int getMapId() { return mapID; } + unsigned int getTileX() { return tileX; } + unsigned int getTileY() { return tileY; } /// Dumps the log to stdout. void dumpLog(const char* format, ...); diff --git a/contrib/recastdemomod/Source/CMaNGOS_Map.cpp b/contrib/recastdemomod/Source/CMaNGOS_Map.cpp index 774c6ba104..3bea72af66 100644 --- a/contrib/recastdemomod/Source/CMaNGOS_Map.cpp +++ b/contrib/recastdemomod/Source/CMaNGOS_Map.cpp @@ -264,11 +264,58 @@ void CMaNGOS_Map::Init() ScanFoldersForMaps(); if (m_mapID < 0) return; + + if (m_ctx->getMapId() != m_mapID && m_ctx->getTileX() && m_ctx->getTileY()) + m_mapID = m_ctx->getMapId(); + scanFoldersForTiles(); m_MapInfos = new MapInfos(); m_MapInfos->Init(m_mapID, m_ctx); m_navMesh = m_MapInfos->GetNavMesh(); m_navQuery = m_MapInfos->GetNavMeshQuery(); + + if (m_ctx->getTileX() && m_ctx->getTileY()) + { + if (LoadTileData(m_ctx->getTileX(), m_ctx->getTileY())) + { + //m_showLevel = SHOW_LEVEL_NONE; + } + // if first chosen tile, add neighbor + if (!m_MapInfos->IsEmpty()) + { + unsigned int x, y; + x = m_ctx->getTileX(); + y = m_ctx->getTileY(); + m_NeighborTiles.clear(); + if (x != y || x != 64) + { + for (int i = 0; i < 3; ++i) + { + for (int j = 0; j < 3; ++j) + { + uint32 tx = x - 1 + i; + uint32 ty = y - 1 + j; + + // skip current already loaded tile + if (tx == x && ty == y) + continue; + + // add only available tile + uint32 pxy = VMAP::StaticMapTree::packTileID(tx, ty); + if (m_TilesFound.find(pxy) != m_TilesFound.end()) + m_NeighborTiles.insert(pxy); + } + } + } + } + + if (m_MapInfos->IsEmpty()) + m_TileButtonStr = "Click to choose a tile"; + else if (!m_NeighborTiles.empty()) + m_TileButtonStr = "Add neighbor tile"; + else + m_TileButtonStr = "No neighbor tile to add"; + } } void CMaNGOS_Map::ClearAllGeoms() @@ -297,7 +344,7 @@ void CMaNGOS_Map::resetCommonSettings() m_agentHeight = m_bigBaseUnit ? 3.0f : 6.0f; m_agentRadius = m_bigBaseUnit ? 1.0f : 2.0f; m_agentMaxClimb = m_bigBaseUnit ? 2.0f : 4.0f; - m_agentMaxSlope = 50.0f; + m_agentMaxSlope = 75.0f; m_regionMinSize = 60; m_regionMergeSize = 50; m_partitionType = SAMPLE_PARTITION_WATERSHED; diff --git a/contrib/recastdemomod/Source/GeomData.cpp b/contrib/recastdemomod/Source/GeomData.cpp index 88d3a990e0..50c0edca01 100644 --- a/contrib/recastdemomod/Source/GeomData.cpp +++ b/contrib/recastdemomod/Source/GeomData.cpp @@ -216,13 +216,15 @@ void MeshObjects::LoadMap() void MeshObjects::LoadVMap() { TerrainBuilder* terrainBuilder = new TerrainBuilder(false, m_Ctx->getDataDir()); - - terrainBuilder->loadVMap(m_MapId, m_TileX, m_TileY, m_VMapMesh); + IVMapManager* vmapManager = new VMapManager2(); + terrainBuilder->loadVMap(m_MapId, m_TileX, m_TileY, m_VMapMesh, vmapManager); // get the coord bounds of the model data if (m_VMapMesh.solidVerts.size() + m_VMapMesh.liquidVerts.size() == 0) { m_Ctx->log(RC_LOG_ERROR, "Could not load vmap file for tile(%i, %i)", m_TileX, m_TileY); + vmapManager->unloadMap(m_MapId, m_TileX, m_TileY); + delete vmapManager; return; } @@ -264,6 +266,8 @@ void MeshObjects::LoadVMap() m_VMapInfos = new MeshInfos(solid, liquid, sBMin, sBMax); } delete terrainBuilder; + vmapManager->unloadMap(m_MapId, m_TileX, m_TileY); + delete vmapManager; } void MeshObjects::LoadObject() diff --git a/contrib/recastdemomod/Source/MMapData.cpp b/contrib/recastdemomod/Source/MMapData.cpp index 854e935b59..0d9ca81cd9 100644 --- a/contrib/recastdemomod/Source/MMapData.cpp +++ b/contrib/recastdemomod/Source/MMapData.cpp @@ -494,22 +494,17 @@ void MMapData::BuildNavMeshOfTile(unsigned int tx, unsigned int ty, MeshObjects // Update poly flags from areas. for (int i = 0; i < m_pmesh->npolys; ++i) { - if (m_pmesh->areas[i] == RC_WALKABLE_AREA) - m_pmesh->areas[i] = SAMPLE_POLYAREA_GROUND; - - if (m_pmesh->areas[i] == SAMPLE_POLYAREA_GROUND || - m_pmesh->areas[i] == SAMPLE_POLYAREA_GRASS || - m_pmesh->areas[i] == SAMPLE_POLYAREA_ROAD) + if (m_pmesh->areas[i] == 11) { m_pmesh->flags[i] = SAMPLE_POLYFLAGS_WALK; } - else if (m_pmesh->areas[i] == SAMPLE_POLYAREA_WATER) + else if (m_pmesh->areas[i] == 9 || m_pmesh->areas[i] == 8) { m_pmesh->flags[i] = SAMPLE_POLYFLAGS_SWIM; } - else if (m_pmesh->areas[i] == SAMPLE_POLYAREA_DOOR) + else if (m_pmesh->areas[i] == 10) { - m_pmesh->flags[i] = SAMPLE_POLYFLAGS_WALK | SAMPLE_POLYFLAGS_DOOR; + m_pmesh->flags[i] = SAMPLE_POLYFLAGS_SLOPES; } } diff --git a/contrib/recastdemomod/Source/NavMeshTesterTool.cpp b/contrib/recastdemomod/Source/NavMeshTesterTool.cpp index 378a86d2f0..95ceba251e 100644 --- a/contrib/recastdemomod/Source/NavMeshTesterTool.cpp +++ b/contrib/recastdemomod/Source/NavMeshTesterTool.cpp @@ -263,6 +263,7 @@ void NavMeshTesterTool::init(CMaNGOS_Map* sample) m_filter.setAreaCost(SAMPLE_POLYAREA_DOOR, 1.0f); m_filter.setAreaCost(SAMPLE_POLYAREA_GRASS, 2.0f); m_filter.setAreaCost(SAMPLE_POLYAREA_JUMP, 1.5f); + m_filter.setAreaCost(SAMPLE_POLYAREA_SLOPE, 5.0f); } m_neighbourhoodRadius = sample->getAgentRadius() * 20.0f; @@ -424,14 +425,9 @@ void NavMeshTesterTool::handleMenu() m_filter.setIncludeFlags(m_filter.getIncludeFlags() ^ SAMPLE_POLYFLAGS_SWIM); recalc(); } - if (imguiCheck("Door", (m_filter.getIncludeFlags() & SAMPLE_POLYFLAGS_DOOR) != 0)) + if (imguiCheck("Slopes", (m_filter.getIncludeFlags() & SAMPLE_POLYFLAGS_SLOPES) != 0)) { - m_filter.setIncludeFlags(m_filter.getIncludeFlags() ^ SAMPLE_POLYFLAGS_DOOR); - recalc(); - } - if (imguiCheck("Jump", (m_filter.getIncludeFlags() & SAMPLE_POLYFLAGS_JUMP) != 0)) - { - m_filter.setIncludeFlags(m_filter.getIncludeFlags() ^ SAMPLE_POLYFLAGS_JUMP); + m_filter.setIncludeFlags(m_filter.getIncludeFlags() ^ SAMPLE_POLYFLAGS_SLOPES); recalc(); } imguiUnindent(); @@ -450,14 +446,9 @@ void NavMeshTesterTool::handleMenu() m_filter.setExcludeFlags(m_filter.getExcludeFlags() ^ SAMPLE_POLYFLAGS_SWIM); recalc(); } - if (imguiCheck("Door", (m_filter.getExcludeFlags() & SAMPLE_POLYFLAGS_DOOR) != 0)) - { - m_filter.setExcludeFlags(m_filter.getExcludeFlags() ^ SAMPLE_POLYFLAGS_DOOR); - recalc(); - } - if (imguiCheck("Jump", (m_filter.getExcludeFlags() & SAMPLE_POLYFLAGS_JUMP) != 0)) + if (imguiCheck("Slopes", (m_filter.getExcludeFlags() & SAMPLE_POLYFLAGS_SLOPES) != 0)) { - m_filter.setExcludeFlags(m_filter.getExcludeFlags() ^ SAMPLE_POLYFLAGS_JUMP); + m_filter.setExcludeFlags(m_filter.getExcludeFlags() ^ SAMPLE_POLYFLAGS_SLOPES); recalc(); } imguiUnindent(); diff --git a/contrib/recastdemomod/Source/SampleInterfaces.cpp b/contrib/recastdemomod/Source/SampleInterfaces.cpp index de8e3745cd..769e35736a 100644 --- a/contrib/recastdemomod/Source/SampleInterfaces.cpp +++ b/contrib/recastdemomod/Source/SampleInterfaces.cpp @@ -16,11 +16,14 @@ //////////////////////////////////////////////////////////////////////////////////////////////////// -BuildContext::BuildContext(const char* dataDir) : +BuildContext::BuildContext(const char* dataDir, unsigned int mapid, unsigned int tilex, unsigned int tiley) : m_messageCount(0), m_textPoolSize(0) { m_dataDir = dataDir; + mapID = mapid; + tileX = tilex; + tileY = tiley; m_mapsFolder = dataDir; m_vMapsFolder = dataDir; m_mMapsFolder = dataDir; diff --git a/contrib/recastdemomod/Source/main.cpp b/contrib/recastdemomod/Source/main.cpp index 24dc0f8920..b874b073f3 100644 --- a/contrib/recastdemomod/Source/main.cpp +++ b/contrib/recastdemomod/Source/main.cpp @@ -28,6 +28,7 @@ #include "RecastDebugDraw.h" #include "Filelist.h" #include +#include //#include "Sample_SoloMesh.h" //#include "Sample_TileMesh.h" @@ -71,6 +72,39 @@ bool handleArgs(int argc, char** argv, char*& dataDir) return true; } +uint32 check_int_input(const char* arg) +{ + std::istringstream ss(arg); + unsigned int x; + if (!(ss >> x)) + return 0; // std::cerr << "Invalid number: " << arg << '\n'; + else if (!ss.eof()) + return 0; // std::cerr << "Trailing characters after number: " << arg << '\n'; + return x; +} + +bool handleArgs(int argc, char** argv, char* argName, uint32& result) +{ + uint32 param = 0; + + for (int i = 1; i < argc; ++i) + { + if (strcmp(argv[i], argName) == 0) + { + param = check_int_input(argv[++i]); + if (!param) + { + printUsage(); + return false; + } + + result = param; + } + } + + return true; +} + int main(int argc, char** argv) { // Init SDL @@ -81,10 +115,17 @@ int main(int argc, char** argv) } char* dataDir = nullptr; + uint32 mapId = 0; + uint32 tileX = 0; + uint32 tileY = 0; if (!handleArgs(argc, argv, dataDir)) return -1; + handleArgs(argc, argv, "-map", mapId); + handleArgs(argc, argv, "-tilex", tileX); + handleArgs(argc, argv, "-tiley", tileY); + // Center window char env[] = "SDL_VIDEO_CENTERED=1"; putenv(env); @@ -164,7 +205,7 @@ int main(int argc, char** argv) //InputGeom* geom = 0; CMaNGOS_Map* sample = new CMaNGOS_Map(); - BuildContext ctx(dataDir); + BuildContext ctx(dataDir, mapId, tileX, tileY); sample->setContext(&ctx); sample->Init(); if (sample->GetMapId() < 0) diff --git a/sql/base/characters.sql b/sql/base/characters.sql index a973ca283b..33e4f08bb8 100644 --- a/sql/base/characters.sql +++ b/sql/base/characters.sql @@ -591,8 +591,53 @@ CREATE TABLE `character_stats` ( `parryPct` float unsigned NOT NULL DEFAULT '0', `critPct` float unsigned NOT NULL DEFAULT '0', `rangedCritPct` float unsigned NOT NULL DEFAULT '0', + `spellCritPct` float unsigned NOT NULL DEFAULT '0', + `holyCritPct` float unsigned NOT NULL DEFAULT '0', + `fireCritPct` float unsigned NOT NULL DEFAULT '0', + `natureCritPct` float unsigned NOT NULL DEFAULT '0', + `frostCritPct` float unsigned NOT NULL DEFAULT '0', + `shadowCritPct` float unsigned NOT NULL DEFAULT '0', + `arcaneCritPct` float unsigned NOT NULL DEFAULT '0', `attackPower` int(10) unsigned NOT NULL DEFAULT '0', + `attackPowerMod` int(10) unsigned NOT NULL DEFAULT '0', `rangedAttackPower` int(10) unsigned NOT NULL DEFAULT '0', + `rangedAttackPowerMod` int(10) unsigned NOT NULL DEFAULT '0', + `spellPower` int(10) unsigned NOT NULL DEFAULT '0', + `holyDamage` int(10) unsigned NOT NULL DEFAULT '0', + `fireDamage` int(10) unsigned NOT NULL DEFAULT '0', + `natureDamage` int(10) unsigned NOT NULL DEFAULT '0', + `frostDamage` int(10) unsigned NOT NULL DEFAULT '0', + `shadowDamage` int(10) unsigned NOT NULL DEFAULT '0', + `arcaneDamage` int(10) unsigned NOT NULL DEFAULT '0', + `healBonus` int(10) unsigned NOT NULL DEFAULT '0', + `defenseRating` int(10) unsigned NOT NULL DEFAULT '0', + `dodgeRating` int(10) unsigned NOT NULL DEFAULT '0', + `parryRating` int(10) unsigned NOT NULL DEFAULT '0', + `blockRating` int(10) unsigned NOT NULL DEFAULT '0', + `resilience` int(10) unsigned NOT NULL DEFAULT '0', + `meleeHitRating` int(10) unsigned NOT NULL DEFAULT '0', + `rangedHitRating` int(10) unsigned NOT NULL DEFAULT '0', + `spellHitRating` int(10) unsigned NOT NULL DEFAULT '0', + `meleeCritRating` int(10) unsigned NOT NULL DEFAULT '0', + `rangedCritRating` int(10) unsigned NOT NULL DEFAULT '0', + `spellCritRating` int(10) unsigned NOT NULL DEFAULT '0', + `meleeHasteRating` int(10) unsigned NOT NULL DEFAULT '0', + `rangedHasteRating` int(10) unsigned NOT NULL DEFAULT '0', + `spellHasteRating` int(10) unsigned NOT NULL DEFAULT '0', + `expertise` int(10) unsigned NOT NULL DEFAULT '0', + `expertiseRating` int(10) unsigned NOT NULL DEFAULT '0', + `mainHandDamageMin` float unsigned NOT NULL DEFAULT '0', + `mainHandDamageMax` float unsigned NOT NULL DEFAULT '0', + `mainHandSpeed` float unsigned NOT NULL DEFAULT '0', + `offHandDamageMin` float unsigned NOT NULL DEFAULT '0', + `offHandDamageMax` float unsigned NOT NULL DEFAULT '0', + `offHandSpeed` float unsigned NOT NULL DEFAULT '0', + `rangedDamageMin` float unsigned NOT NULL DEFAULT '0', + `rangedDamageMax` float unsigned NOT NULL DEFAULT '0', + `rangedSpeed` float unsigned NOT NULL DEFAULT '0', + `manaRegen` float unsigned NOT NULL DEFAULT '0', + `manaInterrupt` float unsigned NOT NULL DEFAULT '0', + `pvpRank` int(10) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -767,6 +812,29 @@ LOCK TABLES `creature_respawn` WRITE; /*!40000 ALTER TABLE `creature_respawn` ENABLE KEYS */; UNLOCK TABLES; +-- +-- Table structure for table `custom_solocraft_character_stats` +-- + +DROP TABLE IF EXISTS `custom_solocraft_character_stats`; +CREATE TABLE `custom_solocraft_character_stats` ( + `GUID` tinyint(3) unsigned NOT NULL, + `Difficulty` float NOT NULL, + `GroupSize` int(11) NOT NULL, + `SpellPower` int(10) unsigned NOT NULL DEFAULT '0', + `Stats` float NOT NULL DEFAULT '100', + PRIMARY KEY (`GUID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + +-- +-- Dumping data for table `custom_solocraft_character_stats` +-- + +LOCK TABLES `custom_solocraft_character_stats` WRITE; +/*!40000 ALTER TABLE `custom_solocraft_character_stats` DISABLE KEYS */; +/*!40000 ALTER TABLE `custom_solocraft_character_stats` ENABLE KEYS */; +UNLOCK TABLES; + -- -- Table structure for table `game_event_status` -- @@ -1479,8 +1547,97 @@ CREATE TABLE world_state( PRIMARY KEY(`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='WorldState save system'; +-- +-- Table structure for table `character_armory_feed` +-- + +DROP TABLE IF EXISTS `character_armory_feed`; +CREATE TABLE IF NOT EXISTS `character_armory_feed` ( + `guid` int(11) NOT NULL, + `type` smallint(1) NOT NULL, + `data` int(11) NOT NULL, + `date` int(11) DEFAULT NULL, + `counter` int(11) NOT NULL, + `difficulty` smallint(6) DEFAULT '-1', + `item_guid` int(11) DEFAULT '-1', + `item_quality` smallint(6) NOT NULL DEFAULT '-1' +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +-- Dumping structure for table tc_c.custom_transmogrification +CREATE TABLE IF NOT EXISTS `custom_transmogrification` ( + `GUID` int(10) unsigned NOT NULL COMMENT 'Item guidLow', + `FakeEntry` int(10) unsigned NOT NULL COMMENT 'Item entry', + `Owner` int(10) unsigned NOT NULL COMMENT 'Player guidLow', + PRIMARY KEY (`GUID`), + KEY `Owner` (`Owner`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='6_2'; + +-- Data exporting was unselected. + + +-- Dumping structure for table tc_c.custom_transmogrification_sets +CREATE TABLE IF NOT EXISTS `custom_transmogrification_sets` ( + `Owner` int(10) unsigned NOT NULL COMMENT 'Player guidlow', + `PresetID` tinyint(3) unsigned NOT NULL COMMENT 'Preset identifier', + `SetName` text COMMENT 'SetName', + `SetData` text COMMENT 'Slot1 Entry1 Slot2 Entry2', + PRIMARY KEY (`Owner`,`PresetID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='6_1'; + +CREATE TABLE IF NOT EXISTS `custom_unlocked_appearances` ( + `account_id` int(10) unsigned NOT NULL, + `item_template_id` mediumint(8) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`account_id`, `item_template_id`) +) ENGINE = InnoDB DEFAULT CHARSET = utf8; + +DROP TABLE IF EXISTS `custom_solocraft_character_stats`; +CREATE TABLE `custom_solocraft_character_stats` ( + `GUID` tinyint(3) unsigned NOT NULL, + `Difficulty` float NOT NULL, + `GroupSize` int(11) NOT NULL, + `SpellPower` int(10) unsigned NOT NULL DEFAULT '0', + `Stats` float NOT NULL DEFAULT '100', + PRIMARY KEY (`GUID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + +CREATE TABLE IF NOT EXISTS `custom_hardcore_loot_gameobjects` ( + `id` int(11) unsigned NOT NULL, + `player` int(11) unsigned NOT NULL COMMENT 'Player identifier', + `loot_id` int(11) unsigned NOT NULL COMMENT 'The loot group this gameobject is part of', + `loot_table` int(11) unsigned NOT NULL COMMENT 'custom_hardcore_loot_tables identifier', + `money` int(11) unsigned NOT NULL DEFAULT '0', + `position_x` float NOT NULL DEFAULT '0', + `position_y` float NOT NULL DEFAULT '0', + `position_z` float NOT NULL DEFAULT '0', + `orientation` float NOT NULL DEFAULT '0', + `map` int(11) NOT NULL DEFAULT '0' COMMENT 'Map identifier', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + +CREATE TABLE IF NOT EXISTS `custom_hardcore_loot_tables` ( + `id` int(11) unsigned NOT NULL, + `item` int(11) unsigned NOT NULL COMMENT 'Item identifier', + `amount` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT 'Amount of items', + `random_property_id` smallint(5) NOT NULL DEFAULT '0' COMMENT 'The property of the item (e.g. ... of the Hawk, ... of the Monkey)', + `durability` int(5) unsigned NOT NULL DEFAULT '0', + `enchantments` text, + PRIMARY KEY (`id`, `item`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + +CREATE TABLE IF NOT EXISTS `custom_hardcore_grave_gameobjects` ( + `id` int(11) unsigned NOT NULL, + `player` int(11) unsigned NOT NULL COMMENT 'Player identifier', + `gameobject_template` int(11) unsigned NOT NULL COMMENT 'gameobject_template entry', + `position_x` float NOT NULL DEFAULT '0', + `position_y` float NOT NULL DEFAULT '0', + `position_z` float NOT NULL DEFAULT '0', + `orientation` float NOT NULL DEFAULT '0', + `map` int(11) NOT NULL DEFAULT '0' COMMENT 'Map identifier', + PRIMARY KEY (`id`, `player`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; diff --git a/sql/base/mangos.sql b/sql/base/mangos.sql index 8f888bf376..2d466c3071 100644 --- a/sql/base/mangos.sql +++ b/sql/base/mangos.sql @@ -14279,6 +14279,64 @@ LOCK TABLES `world_template` WRITE; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +SET +@Entry = 190010, +@Name = "Magister Stellaria"; +DELETE FROM `creature_template` WHERE `entry` = 190010; + +INSERT INTO `creature_template` (`entry`, `modelid1`, `modelid2`, `name`, `subname`, `GossipMenuId`, `minlevel`, `maxlevel`, `faction`, `NpcFlags`, `scale`, `rank`, `DamageSchool`, `MeleeBaseAttackTime`, `RangedBaseAttackTime`, `unitClass`, `unitFlags`, `CreatureType`, `CreatureTypeFlags`, `lootid`, `PickpocketLootId`, `SkinningLootId`, `AIName`, `MovementType`, `RacialLeader`, `RegenerateStats`, `MechanicImmuneMask`, `ExtraFlags`, `ScriptName`) VALUES +(@Entry, 2240, 0, @Name, "Transmogrifier", 0, 80, 80, 35, 1, 1, 0, 0, 2000, 0, 1, 0, 7, 138936390, 0, 0, 0, '', 0, 0, 1, 0, 0, 'npc_transmogrifier'); + +SET @TEXT_ID := 601083; +DELETE FROM `npc_text` WHERE `ID` BETWEEN @TEXT_ID AND @TEXT_ID+5; +INSERT INTO `npc_text` (`ID`, `text0_0`) VALUES +(@TEXT_ID, 'Transmogrification allows you to change how your items look like without changing the stats of the items.\r\nItems used in transmogrification are no longer refundable, tradeable and are bound to you.\r\n\r\nNot everything can be transmogrified with eachother.\r\nRestrictions include but are not limited to:\r\nOnly armor and weapons can be transmogrified\r\nGuns, bows and crossbows can be transmogrified with eachother\r\nFishing poles can not be transmogrified\r\nYou must be able to equip both items used in the process.\r\n\r\nTransmogrifications stay on your items as long as you own them.\r\nIf you try to put the item in guild bank or mail it to someone else, the transmogrification is stripped.\r\n\r\nYou can also remove transmogrifications for free at the transmogrifier.'), +(@TEXT_ID+1, 'You can save your own transmogrification sets.\r\n\r\nTo save, first you must transmogrify your equipped items.\r\nThen when you go to the set management menu and go to save set menu,\r\nall items you have transmogrified are displayed so you see what you are saving.\r\nIf you think the set is fine, you can click to save the set and name it as you wish.\r\n\r\nTo use a set you can click the saved set in the set management menu and then select use set.\r\nIf the set has a transmogrification for an item that is already transmogrified, the old transmogrification is lost.\r\nNote that same transmogrification restrictions apply when trying to use a set as in normal transmogrification.\r\n\r\nTo delete a set you can go to the set\'s menu and select delete set.'), +(@TEXT_ID+2, 'Select desired look for this slot.'), +(@TEXT_ID+3, 'Check price and click Confirm to change item look!'), +(@TEXT_ID+4, 'This item is already transmogrified.\r\nClick Remove to restore original look!'), +(@TEXT_ID+5, 'This item is already transmogrified.\r\nClick Remove to restore original look,\r\n\or select a different one!'); + +SET @STRING_ENTRY := 11100; +DELETE FROM `mangos_string` WHERE `entry` BETWEEN @STRING_ENTRY+0 AND @STRING_ENTRY+29; +INSERT INTO `mangos_string` (`entry`, `content_default`) VALUES +(@STRING_ENTRY+0, 'Item successfully transmogrified.'), +(@STRING_ENTRY+1, 'Equipment slot is empty.'), +(@STRING_ENTRY+2, 'Invalid source item selected.'), +(@STRING_ENTRY+3, 'Source item does not exist.'), +(@STRING_ENTRY+4, 'Destination item does not exist.'), +(@STRING_ENTRY+5, 'Selected items are invalid.'), +(@STRING_ENTRY+6, 'You don''t have enough money.'), +(@STRING_ENTRY+7, 'You don''t have enough tokens.'), +(@STRING_ENTRY+8, 'Destination item already has this transmogrification.'), +(@STRING_ENTRY+9, 'All your transmogrifications were removed.'), +(@STRING_ENTRY+10, 'Item transmogrifications were removed.'), +(@STRING_ENTRY+11, 'No transmogrification found.'), +(@STRING_ENTRY+12, 'No transmogrification found on this item.'), +(@STRING_ENTRY+13, 'Invalid name inserted.'), +(@STRING_ENTRY+14, 'Showing transmogrifieded items, relog to update the current area.'), +(@STRING_ENTRY+15, 'Hiding transmogrifieded items, relog to update the current area.'), +(@STRING_ENTRY+16, 'The selected Item is not suitable for transmogrification.'), +(@STRING_ENTRY+17, 'The selected Item cannot be used for transmogrification of the target player.'), +(@STRING_ENTRY+18, 'You have no suitable items in your inventory.'), +(@STRING_ENTRY+19, 'Remove: '), +(@STRING_ENTRY+20, '< [Back]'), +(@STRING_ENTRY+21, '< [Main Menu]'), +(@STRING_ENTRY+22, 'Before: '), +(@STRING_ENTRY+23, 'After:'), +(@STRING_ENTRY+24, 'Cost is '), +(@STRING_ENTRY+25, 'Confirm'), +(@STRING_ENTRY+26, 'Your item: '), +(@STRING_ENTRY+27, 'Transmog: '), +(@STRING_ENTRY+28, 'Possible transmogrifications:'), +(@STRING_ENTRY+29, 'Options:'); + +DELETE FROM `command` WHERE `name` IN ('transmog', 'transmog add', 'transmog add set'); +INSERT INTO `command` (`name`, `security`, `help`) VALUES +('transmog', 0, 'Syntax: .transmog \nAllows seeing transmogrified items and the transmogrifier NPC.'), +('transmog add', 1, 'Syntax: .transmog add $player $item\nAdds an item to a player\'s appearance collection.'), +('transmog add set', 1, 'Syntax: .transmog add set $player $itemSet\nAdds items of an ItemSet to a player\'s appearance collection.'); + /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; diff --git a/sql/create/db_create_mysql.sql b/sql/create/db_create_mysql.sql index 4eb9760818..c78fe5dafe 100644 --- a/sql/create/db_create_mysql.sql +++ b/sql/create/db_create_mysql.sql @@ -6,6 +6,8 @@ CREATE DATABASE `classiccharacters` DEFAULT CHARACTER SET utf8 COLLATE utf8_gene CREATE DATABASE `classicrealmd` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; +CREATE DATABASE `classicplayerbots` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; + CREATE USER IF NOT EXISTS 'mangos'@'localhost' IDENTIFIED BY 'mangos'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, LOCK TABLES, CREATE TEMPORARY TABLES ON `classicmangos`.* TO 'mangos'@'localhost'; @@ -15,3 +17,5 @@ GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, LOCK TABLES, CREATE T GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, LOCK TABLES, CREATE TEMPORARY TABLES ON `classiccharacters`.* TO 'mangos'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, LOCK TABLES, CREATE TEMPORARY TABLES ON `classicrealmd`.* TO 'mangos'@'localhost'; + +GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, LOCK TABLES, CREATE TEMPORARY TABLES ON `classicplayerbots`.* TO 'mangos'@'localhost'; diff --git a/sql/create/db_drop_mysql.sql b/sql/create/db_drop_mysql.sql index e1ac725cdf..a5ed2df7b6 100644 --- a/sql/create/db_drop_mysql.sql +++ b/sql/create/db_drop_mysql.sql @@ -6,3 +6,4 @@ DROP DATABASE IF EXISTS `classicmangos`; DROP DATABASE IF EXISTS `classiclogs`; DROP DATABASE IF EXISTS `classiccharacters`; DROP DATABASE IF EXISTS `classicrealmd`; +DROP DATABASE IF EXISTS `classicplayerbots`; diff --git a/sql/custom/characters/0001_achievements_tables.sql b/sql/custom/characters/0001_achievements_tables.sql new file mode 100644 index 0000000000..f45618f8a6 --- /dev/null +++ b/sql/custom/characters/0001_achievements_tables.sql @@ -0,0 +1,44 @@ +-- -------------------------------------------------------- +-- Host: 127.0.0.1 +-- Server version: 5.7.26 - MySQL Community Server (GPL) +-- Server OS: Win32 +-- HeidiSQL Version: 12.4.0.6659 +-- -------------------------------------------------------- + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET NAMES utf8 */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- Dumping structure for table classiccharacters.character_achievement +DROP TABLE IF EXISTS `character_achievement`; +CREATE TABLE IF NOT EXISTS `character_achievement` ( + `guid` int(10) unsigned NOT NULL, + `achievement` smallint(5) unsigned NOT NULL, + `date` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`guid`,`achievement`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- Dumping data for table classiccharacters.character_achievement: ~0 rows (approximately) + +-- Dumping structure for table classiccharacters.character_achievement_progress +DROP TABLE IF EXISTS `character_achievement_progress`; +CREATE TABLE IF NOT EXISTS `character_achievement_progress` ( + `guid` int(10) unsigned NOT NULL, + `criteria` smallint(5) unsigned NOT NULL, + `counter` int(10) unsigned NOT NULL, + `date` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`guid`,`criteria`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- Dumping data for table classiccharacters.character_achievement_progress: ~0 rows (approximately) + +/*!40103 SET TIME_ZONE=IFNULL(@OLD_TIME_ZONE, 'system') */; +/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; +/*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */; \ No newline at end of file diff --git a/sql/custom/characters/0002_dualspec_characters.sql b/sql/custom/characters/0002_dualspec_characters.sql new file mode 100644 index 0000000000..670af69ce1 --- /dev/null +++ b/sql/custom/characters/0002_dualspec_characters.sql @@ -0,0 +1,39 @@ +-- ================================================ +-- Table structure for table `character_talent` +-- ================================================ + +DROP TABLE IF EXISTS `character_talent`; +CREATE TABLE `character_talent` ( + `guid` int(11) unsigned NOT NULL DEFAULT '0', + `spell` int(11) unsigned NOT NULL DEFAULT '0', + `spec` tinyint(3) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`guid`,`spell`,`spec`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ================================================ +-- Table structure for table `character_action` +-- ================================================ +ALTER TABLE `character_action` + ADD COLUMN `spec` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `guid`, + DROP PRIMARY KEY, + ADD PRIMARY KEY (`guid`, `spec`, `button`); + +-- ================================================ +-- Table structure for table `characters` +-- ================================================ + +ALTER TABLE `characters` + ADD COLUMN `specCount` TINYINT(3) UNSIGNED NOT NULL DEFAULT '1' AFTER `actionBars`, + ADD COLUMN `activeSpec` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `specCount`; + +-- ================================================ +-- Table structure for table `character_talent_name` +-- ================================================ + +DROP TABLE IF EXISTS `character_talent_name`; +CREATE TABLE `character_talent_name` ( + `guid` int(11) unsigned NOT NULL DEFAULT '0', + `spec` tinyint(3) unsigned NOT NULL DEFAULT '0', + `name` varchar(255) NOT NULL DEFAULT '', + PRIMARY KEY (`guid`,`spec`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/sql/custom/characters/0003_immersive.sql b/sql/custom/characters/0003_immersive.sql new file mode 100644 index 0000000000..137a1093d8 --- /dev/null +++ b/sql/custom/characters/0003_immersive.sql @@ -0,0 +1,11 @@ +DROP TABLE IF EXISTS `immersive_values`; + +CREATE TABLE `immersive_values` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `owner` bigint(20) NOT NULL, + `type` varchar(45) DEFAULT NULL, + `value` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `owner` (`owner`), + KEY `type` (`type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/sql/custom/mangos/0001_classic_achievements_data.sql b/sql/custom/mangos/0001_classic_achievements_data.sql new file mode 100644 index 0000000000..02c56cf410 --- /dev/null +++ b/sql/custom/mangos/0001_classic_achievements_data.sql @@ -0,0 +1,12872 @@ +-- -------------------------------------------------------- +-- Host: 127.0.0.1 +-- Server version: 5.7.26 - MySQL Community Server (GPL) +-- Server OS: Win32 +-- HeidiSQL Version: 10.2.0.5599 +-- -------------------------------------------------------- + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET NAMES utf8 */; +/*!50503 SET NAMES utf8mb4 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; + +-- Dumping structure for table classicmangos.achievement_category_dbc +DROP TABLE IF EXISTS `achievement_category_dbc`; +CREATE TABLE IF NOT EXISTS `achievement_category_dbc` ( + `ID` int(11) NOT NULL DEFAULT '0', + `Parent` int(11) NOT NULL DEFAULT '0', + `Name_Lang_enUS` text NOT NULL DEFAULT '', + `Name_Lang_enGB` text NOT NULL DEFAULT '', + `Name_Lang_koKR` text NOT NULL DEFAULT '', + `Name_Lang_frFR` text NOT NULL DEFAULT '', + `Name_Lang_deDE` text NOT NULL DEFAULT '', + `Name_Lang_enCN` text NOT NULL DEFAULT '', + `Name_Lang_zhCN` text NOT NULL DEFAULT '', + `Name_Lang_enTW` text NOT NULL DEFAULT '', + `Name_Lang_zhTW` text NOT NULL DEFAULT '', + `Name_Lang_esES` text NOT NULL DEFAULT '', + `Name_Lang_esMX` text NOT NULL DEFAULT '', + `Name_Lang_ruRU` text NOT NULL DEFAULT '', + `Name_Lang_ptPT` text NOT NULL DEFAULT '', + `Name_Lang_ptBR` text NOT NULL DEFAULT '', + `Name_Lang_itIT` text NOT NULL DEFAULT '', + `Name_Lang_Unk` text NOT NULL DEFAULT '', + `Name_Lang_Mask` int(10) unsigned NOT NULL DEFAULT '0', + `Ui_Order` int(11) NOT NULL DEFAULT '0', + `patch` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`ID`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- Dumping data for table classicmangos.achievement_category_dbc: 86 rows +/*!40000 ALTER TABLE `achievement_category_dbc` DISABLE KEYS */; +INSERT INTO `achievement_category_dbc` (`ID`, `Parent`, `Name_Lang_enUS`, `Name_Lang_enGB`, `Name_Lang_koKR`, `Name_Lang_frFR`, `Name_Lang_deDE`, `Name_Lang_enCN`, `Name_Lang_zhCN`, `Name_Lang_enTW`, `Name_Lang_zhTW`, `Name_Lang_esES`, `Name_Lang_esMX`, `Name_Lang_ruRU`, `Name_Lang_ptPT`, `Name_Lang_ptBR`, `Name_Lang_itIT`, `Name_Lang_Unk`, `Name_Lang_Mask`, `Ui_Order`, `patch`) VALUES + (92, -1, 'General', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0), + (123, 122, 'Arenas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 1), + (130, 1, 'Character', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0), + (135, 128, 'Creatures', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0), + (140, 130, 'Wealth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0), + (152, 21, 'Rated Arenas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 1), + (160, 155, 'Lunar Festival', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0), + (165, 95, 'Arena', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 1), + (170, 169, 'Cooking', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0), + (178, 132, 'Secondary Skills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0), + (14777, 97, 'Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0), + (14808, 168, 'Classic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0), + (14821, 14807, 'Classic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0), + (14861, 96, 'Classic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0), + (14864, 201, 'Classic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0), + (96, -1, 'Quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0), + (124, 122, 'Battlegrounds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0), + (136, 128, 'Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0), + (141, 1, 'Combat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0), + (145, 130, 'Consumables', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0), + (153, 21, 'Battlegrounds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0), + (171, 169, 'Fishing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0), + (173, 132, 'Professions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0), + (187, 155, 'Love is in the Air', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0), + (14778, 97, 'Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0), + (14801, 95, 'Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0), + (14805, 168, 'The Burning Crusade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 1), + (14822, 14807, 'The Burning Crusade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 1), + (14862, 96, 'The Burning Crusade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 1), + (14865, 201, 'The Burning Crusade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 1), + (97, -1, 'Exploration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0), + (125, 122, 'Dungeons', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0), + (128, 1, 'Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0), + (137, 128, 'Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0), + (147, 130, 'Reputation', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0), + (154, 21, 'World', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0), + (159, 155, 'Noblegarden', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0), + (172, 169, 'First Aid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0), + (14779, 97, 'Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 1), + (14802, 95, 'Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0), + (14806, 168, 'Lich King Dungeon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 2), + (14823, 14807, 'Wrath of the Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 2), + (14863, 96, 'Wrath of the Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 2), + (14866, 201, 'Wrath of the Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 2), + (95, -1, 'Player vs. Player', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 0), + (122, 1, 'Deaths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 0), + (126, 122, 'World', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 0), + (163, 155, 'Children\'s Week', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 0), + (191, 130, 'Gear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 0), + (14780, 97, 'Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 2), + (14803, 95, 'Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 1), + (14921, 168, 'Lich King Heroic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 2), + (14963, 14807, 'Secrets of Ulduar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 2), + (127, 122, 'Resurrection', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 5, 0), + (133, 1, 'Quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 5, 0), + (161, 155, 'Midsummer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 5, 0), + (168, -1, 'Dungeons & Raids', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 5, 0), + (14804, 95, 'Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 5, 0), + (14922, 168, 'Lich King 10-Player Raid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 5, 2), + (15021, 14807, 'Call of the Crusade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 5, 2), + (162, 155, 'Brewfest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 1), + (169, -1, 'Professions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0), + (14807, 1, 'Dungeons & Raids', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0), + (14881, 95, 'Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 2), + (14923, 168, 'Lich King 25-Player Raid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 2), + (15062, 14807, 'Fall of the Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 2), + (132, 1, 'Skills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 7, 0), + (158, 155, 'Hallow\'s End', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 7, 0), + (201, -1, 'Reputation', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 7, 0), + (14901, 95, 'Wintergrasp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 7, 2), + (14961, 168, 'Secrets of Ulduar 10-Player Raid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 7, 2), + (134, 1, 'Travel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 8, 0), + (155, -1, 'World Events', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 8, 0), + (14962, 168, 'Secrets of Ulduar 25-Player Raid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 8, 2), + (14981, 155, 'Pilgrim\'s Bounty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 8, 0), + (15003, 95, 'Isle of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 8, 2), + (81, -1, 'Feats of Strength', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 9, 0), + (131, 1, 'Social', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 9, 0), + (156, 155, 'Winter Veil', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 9, 0), + (15001, 168, 'Call of the Crusade 10-Player Raid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 9, 2), + (1, -1, 'Statistics', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 0), + (21, 1, 'Player vs. Player', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 0), + (14941, 155, 'Argent Tournament', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 2), + (15002, 168, 'Call of the Crusade 25-Player Raid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 2), + (15041, 168, 'Fall of the Lich King 10-Player Raid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 2), + (15042, 168, 'Fall of the Lich King 25-Player Raid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 2); +/*!40000 ALTER TABLE `achievement_category_dbc` ENABLE KEYS */; + +-- Dumping structure for table classicmangos.achievement_criteria_data +DROP TABLE IF EXISTS `achievement_criteria_data`; +CREATE TABLE IF NOT EXISTS `achievement_criteria_data` ( + `criteria_id` mediumint(9) NOT NULL, + `type` tinyint(3) unsigned NOT NULL DEFAULT '0', + `value1` mediumint(8) unsigned NOT NULL DEFAULT '0', + `value2` mediumint(8) unsigned NOT NULL DEFAULT '0', + `ScriptName` char(64) NOT NULL DEFAULT '', + PRIMARY KEY (`criteria_id`,`type`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=FIXED COMMENT='Achievment system'; + +-- Dumping data for table classicmangos.achievement_criteria_data: 2 767 rows +/*!40000 ALTER TABLE `achievement_criteria_data` DISABLE KEYS */; +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`, `ScriptName`) VALUES + (100, 0, 0, 0, ''), + (102, 0, 0, 0, ''), + (123, 0, 0, 0, ''), + (140, 0, 0, 0, ''), + (166, 0, 0, 0, ''), + (176, 0, 0, 0, ''), + (177, 0, 0, 0, ''), + (189, 12, 0, 0, ''), + (190, 12, 0, 0, ''), + (191, 12, 0, 0, ''), + (192, 12, 0, 0, ''), + (195, 12, 0, 0, ''), + (196, 12, 0, 0, ''), + (197, 12, 0, 0, ''), + (198, 12, 0, 0, ''), + (199, 12, 0, 0, ''), + (200, 12, 0, 0, ''), + (201, 12, 0, 0, ''), + (203, 12, 0, 0, ''), + (204, 12, 0, 0, ''), + (205, 12, 0, 0, ''), + (206, 12, 0, 0, ''), + (207, 12, 0, 0, ''), + (208, 12, 0, 0, ''), + (209, 12, 0, 0, ''), + (210, 12, 0, 0, ''), + (211, 12, 0, 0, ''), + (212, 12, 0, 0, ''), + (213, 12, 0, 0, ''), + (215, 12, 0, 0, ''), + (216, 12, 0, 0, ''), + (217, 12, 0, 0, ''), + (218, 12, 0, 0, ''), + (219, 12, 0, 0, ''), + (220, 12, 0, 0, ''), + (221, 0, 0, 0, ''), + (222, 0, 0, 0, ''), + (223, 0, 0, 0, ''), + (224, 0, 0, 0, ''), + (225, 0, 0, 0, ''), + (308, 0, 0, 0, ''), + (351, 12, 0, 0, ''), + (352, 12, 0, 0, ''), + (353, 12, 0, 0, ''), + (357, 12, 0, 0, ''), + (358, 12, 0, 0, ''), + (359, 12, 0, 0, ''), + (360, 12, 0, 0, ''), + (365, 12, 0, 0, ''), + (366, 12, 0, 0, ''), + (367, 12, 0, 0, ''), + (372, 12, 0, 0, ''), + (373, 12, 0, 0, ''), + (379, 12, 0, 0, ''), + (381, 12, 0, 0, ''), + (382, 12, 1, 0, ''), + (409, 0, 0, 0, ''), + (414, 0, 0, 0, ''), + (416, 0, 0, 0, ''), + (417, 0, 0, 0, ''), + (418, 0, 0, 0, ''), + (419, 0, 0, 0, ''), + (420, 0, 0, 0, ''), + (421, 0, 0, 0, ''), + (422, 0, 0, 0, ''), + (423, 0, 0, 0, ''), + (424, 0, 0, 0, ''), + (426, 0, 0, 0, ''), + (427, 0, 0, 0, ''), + (436, 0, 0, 0, ''), + (437, 0, 0, 0, ''), + (438, 0, 0, 0, ''), + (439, 0, 0, 0, ''), + (440, 0, 0, 0, ''), + (477, 0, 0, 0, ''), + (480, 0, 0, 0, ''), + (481, 0, 0, 0, ''), + (482, 0, 0, 0, ''), + (483, 0, 0, 0, ''), + (489, 0, 0, 0, ''), + (490, 0, 0, 0, ''), + (491, 0, 0, 0, ''), + (520, 12, 0, 0, ''), + (521, 12, 1, 0, ''), + (522, 12, 0, 0, ''), + (522, 18, 0, 0, ''), + (523, 0, 0, 0, ''), + (523, 12, 1, 0, ''), + (524, 0, 0, 0, ''), + (525, 0, 0, 0, ''), + (526, 0, 0, 0, ''), + (527, 0, 0, 0, ''), + (528, 0, 0, 0, ''), + (529, 0, 0, 0, ''), + (530, 0, 0, 0, ''), + (531, 0, 0, 0, ''), + (532, 0, 0, 0, ''), + (533, 0, 0, 0, ''), + (534, 0, 0, 0, ''), + (535, 0, 0, 0, ''), + (536, 0, 0, 0, ''), + (537, 0, 0, 0, ''), + (538, 0, 0, 0, ''), + (539, 0, 0, 0, ''), + (540, 0, 0, 0, ''), + (541, 0, 0, 0, ''), + (542, 0, 0, 0, ''), + (544, 0, 0, 0, ''), + (545, 0, 0, 0, ''), + (546, 0, 0, 0, ''), + (547, 0, 0, 0, ''), + (548, 0, 0, 0, ''), + (549, 0, 0, 0, ''), + (550, 0, 0, 0, ''), + (551, 0, 0, 0, ''), + (552, 0, 0, 0, ''), + (555, 12, 0, 0, ''), + (556, 12, 0, 0, ''), + (557, 12, 0, 0, ''), + (558, 12, 0, 0, ''), + (559, 12, 0, 0, ''), + (560, 12, 0, 0, ''), + (561, 12, 0, 0, ''), + (562, 12, 0, 0, ''), + (563, 12, 0, 0, ''), + (564, 12, 0, 0, ''), + (565, 12, 0, 0, ''), + (566, 12, 0, 0, ''), + (567, 12, 0, 0, ''), + (568, 12, 0, 0, ''), + (573, 12, 0, 0, ''), + (594, 0, 0, 0, ''), + (595, 0, 0, 0, ''), + (596, 0, 0, 0, ''), + (597, 0, 0, 0, ''), + (598, 0, 0, 0, ''), + (599, 0, 0, 0, ''), + (600, 0, 0, 0, ''), + (601, 0, 0, 0, ''), + (602, 0, 0, 0, ''), + (603, 0, 0, 0, ''), + (604, 0, 0, 0, ''), + (605, 0, 0, 0, ''), + (606, 0, 0, 0, ''), + (607, 0, 0, 0, ''), + (608, 9, 80, 0, ''), + (609, 9, 80, 0, ''), + (610, 9, 80, 0, ''), + (611, 24, 1600, 0, ''), + (758, 0, 0, 0, ''), + (1234, 11, 0, 0, 'achievement_bg_control_all_nodes'), + (1235, 24, 1600, 1590, ''), + (1236, 24, 3, 0, ''), + (1237, 0, 0, 0, ''), + (1238, 24, 1600, 0, ''), + (1239, 11, 0, 0, 'achievement_bg_control_all_nodes'), + (1240, 0, 0, 0, ''), + (1241, 0, 0, 0, ''), + (1242, 11, 0, 0, 'achievement_bg_av_perfection'), + (1243, 0, 0, 0, ''), + (1244, 0, 0, 0, ''), + (1245, 0, 0, 0, ''), + (1246, 0, 0, 0, ''), + (1247, 0, 0, 0, ''), + (1801, 0, 0, 0, ''), + (1802, 0, 0, 0, ''), + (1803, 11, 0, 0, 'achievement_bg_av_perfection'), + (1804, 11, 0, 0, 'achievement_bg_av_perfection'), + (1805, 11, 0, 0, 'achievement_bg_av_perfection'), + (1806, 11, 0, 0, 'achievement_bg_av_perfection'), + (1807, 11, 0, 0, 'achievement_bg_av_perfection'), + (1808, 11, 0, 0, 'achievement_bg_av_perfection'), + (1809, 11, 0, 0, 'achievement_bg_av_perfection'), + (1810, 11, 0, 0, 'achievement_bg_av_perfection'), + (1811, 11, 0, 0, 'achievement_bg_av_perfection'), + (1812, 11, 0, 0, 'achievement_bg_av_perfection'), + (1813, 11, 0, 0, 'achievement_bg_av_perfection'), + (1814, 11, 0, 0, 'achievement_bg_av_perfection'), + (1815, 11, 0, 0, 'achievement_bg_av_perfection'), + (1816, 11, 0, 0, 'achievement_bg_av_perfection'), + (1817, 11, 0, 0, 'achievement_bg_av_perfection'), + (1818, 11, 0, 0, 'achievement_bg_av_perfection'), + (1819, 11, 0, 0, 'achievement_bg_av_perfection'), + (1820, 20, 529, 0, ''), + (1821, 20, 30, 0, ''), + (1822, 20, 566, 0, ''), + (1823, 20, 489, 0, ''), + (1824, 0, 0, 0, ''), + (1825, 11, 0, 0, 'achievement_bg_av_perfection'), + (1826, 11, 0, 0, 'achievement_bg_av_perfection'), + (1827, 12, 0, 0, ''), + (1831, 0, 0, 0, ''), + (1832, 0, 0, 0, ''), + (2041, 12, 0, 0, ''), + (2042, 12, 0, 0, ''), + (2043, 12, 0, 0, ''), + (2070, 0, 0, 0, ''), + (2072, 0, 0, 0, ''), + (2342, 19, 213, 4, ''), + (2343, 19, 213, 4, ''), + (2344, 19, 213, 4, ''), + (2345, 19, 213, 4, ''), + (2346, 19, 213, 4, ''), + (2347, 19, 213, 4, ''), + (2348, 19, 213, 4, ''), + (2349, 19, 213, 4, ''), + (2350, 19, 213, 4, ''), + (2351, 19, 213, 4, ''), + (2353, 19, 213, 4, ''), + (2355, 19, 213, 4, ''), + (2356, 19, 213, 4, ''), + (2357, 19, 213, 4, ''), + (2358, 8, 185, 3, ''), + (2379, 4, 0, 0, ''), + (2408, 0, 0, 0, ''), + (2412, 8, 185, 3, ''), + (3209, 0, 0, 0, ''), + (3210, 0, 0, 0, ''), + (3211, 0, 0, 0, ''), + (3212, 0, 0, 0, ''), + (3213, 0, 0, 0, ''), + (3214, 0, 0, 0, ''), + (3215, 0, 0, 0, ''), + (3239, 12, 0, 0, ''), + (3240, 12, 0, 0, ''), + (3241, 12, 0, 0, ''), + (3242, 12, 0, 0, ''), + (3243, 12, 0, 0, ''), + (3244, 12, 0, 0, ''), + (3245, 12, 0, 0, ''), + (3246, 12, 0, 0, ''), + (3247, 12, 0, 0, ''), + (3248, 12, 0, 0, ''), + (3249, 12, 0, 0, ''), + (3250, 12, 0, 0, ''), + (3251, 12, 0, 0, ''), + (3252, 12, 0, 0, ''), + (3253, 12, 0, 0, ''), + (3254, 12, 0, 0, ''), + (3255, 12, 0, 0, ''), + (3256, 12, 0, 0, ''), + (3257, 12, 0, 0, ''), + (3258, 12, 0, 0, ''), + (3259, 12, 0, 0, ''), + (3260, 12, 0, 0, ''), + (3261, 12, 0, 0, ''), + (3262, 12, 0, 0, ''), + (3263, 12, 0, 0, ''), + (3264, 12, 0, 0, ''), + (3265, 12, 0, 0, ''), + (3266, 12, 0, 0, ''), + (3268, 12, 0, 0, ''), + (3270, 12, 0, 0, ''), + (3271, 12, 0, 0, ''), + (3272, 12, 0, 0, ''), + (3273, 12, 0, 0, ''), + (3274, 12, 0, 0, ''), + (3275, 12, 0, 0, ''), + (3353, 0, 0, 0, ''), + (3368, 2, 0, 0, ''), + (3369, 2, 0, 0, ''), + (3370, 2, 0, 0, ''), + (3371, 2, 0, 0, ''), + (3372, 0, 0, 0, ''), + (3384, 8, 1800, 3, ''), + (3386, 11, 0, 0, 'achievement_everything_counts'), + (3387, 11, 0, 0, 'achievement_everything_counts'), + (3388, 11, 0, 0, 'achievement_everything_counts'), + (3389, 11, 0, 0, 'achievement_everything_counts'), + (3515, 0, 0, 0, ''), + (3516, 0, 0, 0, ''), + (3517, 0, 0, 0, ''), + (3518, 0, 0, 0, ''), + (3519, 0, 0, 0, ''), + (3520, 0, 0, 0, ''), + (3521, 0, 0, 0, ''), + (3522, 0, 0, 0, ''), + (3523, 0, 0, 0, ''), + (3524, 0, 0, 0, ''), + (3525, 0, 0, 0, ''), + (3526, 0, 0, 0, ''), + (3574, 12, 0, 0, ''), + (3575, 12, 0, 0, ''), + (3576, 12, 0, 0, ''), + (3577, 12, 0, 0, ''), + (3578, 12, 0, 0, ''), + (3579, 12, 0, 0, ''), + (3580, 12, 0, 0, ''), + (3581, 12, 0, 0, ''), + (3582, 12, 0, 0, ''), + (3615, 1, 1412, 0, ''), + (3622, 0, 0, 0, ''), + (3639, 12, 0, 0, ''), + (3643, 12, 0, 0, ''), + (3647, 12, 0, 0, ''), + (3651, 12, 0, 0, ''), + (3652, 12, 0, 0, ''), + (3656, 12, 0, 0, ''), + (3659, 12, 0, 0, ''), + (3663, 12, 0, 0, ''), + (3667, 12, 0, 0, ''), + (3669, 12, 0, 0, ''), + (3674, 12, 0, 0, ''), + (3679, 12, 0, 0, ''), + (3680, 0, 0, 0, ''), + (3684, 5, 23505, 0, ''), + (3684, 20, 566, 0, ''), + (3685, 7, 34976, 0, ''), + (3693, 11, 0, 0, 'achievement_bg_control_all_nodes'), + (3698, 7, 23335, 0, ''), + (3699, 7, 23333, 0, ''), + (3701, 12, 1, 0, ''), + (3702, 12, 1, 0, ''), + (3703, 12, 1, 0, ''), + (3704, 12, 1, 0, ''), + (3705, 12, 1, 0, ''), + (3706, 12, 1, 0, ''), + (3708, 12, 1, 0, ''), + (3709, 12, 1, 0, ''), + (3710, 12, 1, 0, ''), + (3711, 12, 1, 0, ''), + (3712, 12, 1, 0, ''), + (3713, 12, 1, 0, ''), + (3714, 12, 1, 0, ''), + (3715, 12, 1, 0, ''), + (3716, 12, 1, 0, ''), + (3717, 12, 1, 0, ''), + (3718, 12, 1, 0, ''), + (3719, 12, 1, 0, ''), + (3720, 12, 1, 0, ''), + (3721, 12, 1, 0, ''), + (3722, 12, 1, 0, ''), + (3723, 19, 187, 3, ''), + (3724, 19, 187, 3, ''), + (3725, 19, 187, 3, ''), + (3726, 19, 187, 3, ''), + (3727, 19, 187, 3, ''), + (3728, 19, 187, 3, ''), + (3729, 19, 187, 3, ''), + (3730, 19, 187, 3, ''), + (3731, 19, 187, 3, ''), + (3732, 19, 187, 3, ''), + (3733, 19, 187, 3, ''), + (3734, 19, 187, 3, ''), + (3735, 19, 187, 3, ''), + (3736, 19, 187, 3, ''), + (3737, 19, 187, 3, ''), + (3738, 19, 187, 3, ''), + (3739, 1, 25679, 0, ''), + (3741, 1, 25677, 0, ''), + (3744, 1, 6368, 0, ''), + (3745, 1, 620, 0, ''), + (3746, 1, 2442, 0, ''), + (3747, 1, 6827, 0, ''), + (3748, 1, 883, 0, ''), + (3749, 1, 19665, 0, ''), + (3750, 1, 890, 0, ''), + (3751, 1, 13321, 0, ''), + (3752, 1, 4166, 0, ''), + (3753, 1, 5951, 0, ''), + (3754, 1, 9600, 0, ''), + (3755, 1, 721, 0, ''), + (3756, 1, 2098, 0, ''), + (3757, 1, 1933, 0, ''), + (3758, 1, 17467, 0, ''), + (3759, 1, 10685, 0, ''), + (3760, 1, 1420, 0, ''), + (3761, 1, 2620, 0, ''), + (3804, 11, 0, 0, 'achievement_resilient_victory'), + (3805, 11, 0, 0, 'achievement_resilient_victory'), + (3806, 11, 0, 0, 'achievement_resilient_victory'), + (3807, 11, 0, 0, 'achievement_resilient_victory'), + (3808, 11, 0, 0, 'achievement_resilient_victory'), + (3809, 11, 0, 0, 'achievement_resilient_victory'), + (3810, 11, 0, 0, 'achievement_resilient_victory'), + (3811, 11, 0, 0, 'achievement_resilient_victory'), + (3812, 11, 0, 0, 'achievement_resilient_victory'), + (3813, 11, 0, 0, 'achievement_resilient_victory'), + (3814, 0, 0, 0, ''), + (3815, 0, 0, 0, ''), + (3816, 12, 1, 0, ''), + (3821, 0, 0, 0, ''), + (3822, 0, 0, 0, ''), + (3826, 5, 26157, 0, ''), + (3827, 5, 26272, 0, ''), + (3828, 5, 26273, 0, ''), + (3829, 5, 26274, 0, ''), + (3834, 12, 1, 0, ''), + (3835, 12, 1, 0, ''), + (3836, 12, 1, 0, ''), + (3837, 12, 1, 0, ''), + (3838, 12, 1, 0, ''), + (3839, 12, 1, 0, ''), + (3840, 12, 1, 0, ''), + (3841, 12, 1, 0, ''), + (3842, 12, 1, 0, ''), + (3843, 12, 1, 0, ''), + (3844, 12, 1, 0, ''), + (3845, 12, 1, 0, ''), + (3847, 12, 1, 0, ''), + (3879, 7, 23505, 0, ''), + (3879, 20, 566, 0, ''), + (3880, 7, 23451, 0, ''), + (3880, 20, 489, 0, ''), + (3881, 15, 3, 0, ''), + (3881, 16, 372, 0, ''), + (3882, 5, 48890, 0, ''), + (3922, 0, 0, 0, ''), + (3923, 0, 0, 0, ''), + (3924, 0, 0, 0, ''), + (3929, 1, 8403, 0, ''), + (3929, 5, 70233, 0, ''), + (3929, 7, 27571, 0, ''), + (3929, 15, 3, 0, ''), + (3931, 1, 9099, 0, ''), + (3931, 5, 70233, 0, ''), + (3931, 7, 27571, 0, ''), + (3931, 15, 3, 0, ''), + (3936, 5, 44827, 0, ''), + (3937, 5, 44825, 0, ''), + (3938, 5, 44824, 0, ''), + (4071, 5, 45123, 0, ''), + (4071, 6, 4395, 0, ''), + (4090, 0, 0, 0, ''), + (4090, 16, 141, 0, ''), + (4111, 0, 0, 0, ''), + (4112, 5, 55005, 0, ''), + (4112, 6, 4395, 0, ''), + (4227, 1, 8403, 0, ''), + (4227, 5, 70233, 0, ''), + (4227, 15, 3, 0, ''), + (4230, 5, 55000, 0, ''), + (4230, 16, 141, 0, ''), + (4240, 11, 0, 0, 'achievement_watch_him_die'), + (4240, 12, 1, 0, ''), + (4244, 11, 0, 0, 'achievement_hadronox_denied'), + (4244, 12, 1, 0, ''), + (4439, 0, 0, 0, ''), + (4501, 0, 0, 0, ''), + (4502, 0, 0, 0, ''), + (4504, 0, 0, 0, ''), + (4505, 0, 0, 0, ''), + (4506, 0, 0, 0, ''), + (4507, 0, 0, 0, ''), + (4508, 0, 0, 0, ''), + (4509, 0, 0, 0, ''), + (4510, 0, 0, 0, ''), + (4511, 0, 0, 0, ''), + (4512, 0, 0, 0, ''), + (4513, 0, 0, 0, ''), + (4514, 0, 0, 0, ''), + (4515, 0, 0, 0, ''), + (4516, 0, 0, 0, ''), + (4517, 0, 0, 0, ''), + (4518, 0, 0, 0, ''), + (4519, 0, 0, 0, ''), + (4520, 0, 0, 0, ''), + (4521, 0, 0, 0, ''), + (4522, 0, 0, 0, ''), + (4523, 0, 0, 0, ''), + (4944, 0, 0, 0, ''), + (4946, 11, 0, 0, 'achievement_killed_exp_or_honor_target'), + (4948, 8, 1, 0, ''), + (4949, 8, 3, 0, ''), + (4950, 8, 2, 0, ''), + (4951, 8, 4, 0, ''), + (4952, 8, 5, 0, ''), + (4953, 8, 7, 0, ''), + (4954, 8, 9, 0, ''), + (4955, 8, 6, 0, ''), + (4956, 8, 10, 0, ''), + (4957, 8, 11, 0, ''), + (4958, 8, 12, 0, ''), + (4966, 0, 0, 0, ''), + (4967, 0, 0, 0, ''), + (4968, 0, 0, 0, ''), + (4969, 0, 0, 0, ''), + (4970, 0, 0, 0, ''), + (4971, 0, 0, 0, ''), + (4972, 0, 0, 0, ''), + (4973, 0, 0, 0, ''), + (4974, 0, 0, 0, ''), + (4975, 0, 0, 0, ''), + (4976, 0, 0, 0, ''), + (4977, 0, 0, 0, ''), + (4978, 0, 0, 0, ''), + (4979, 0, 0, 0, ''), + (4980, 0, 0, 0, ''), + (4981, 0, 0, 0, ''), + (4982, 0, 0, 0, ''), + (4983, 0, 0, 0, ''), + (4991, 0, 0, 0, ''), + (5008, 0, 0, 0, ''), + (5018, 21, 8, 0, ''), + (5020, 6, 1519, 0, ''), + (5021, 6, 1537, 0, ''), + (5022, 6, 1657, 0, ''), + (5023, 6, 1658, 0, ''), + (5024, 6, 1659, 0, ''), + (5025, 6, 1661, 0, ''), + (5026, 6, 1662, 0, ''), + (5027, 6, 1660, 0, ''), + (5028, 6, 3557, 0, ''), + (5029, 6, 1617, 0, ''), + (5030, 6, 4411, 0, ''), + (5031, 0, 0, 0, ''), + (5031, 6, 1637, 0, ''), + (5032, 0, 0, 0, ''), + (5032, 6, 3487, 0, ''), + (5033, 0, 0, 0, ''), + (5033, 6, 3704, 0, ''), + (5034, 0, 0, 0, ''), + (5034, 6, 1638, 0, ''), + (5035, 0, 0, 0, ''), + (5035, 6, 1639, 0, ''), + (5036, 0, 0, 0, ''), + (5036, 6, 1641, 0, ''), + (5037, 0, 0, 0, ''), + (5037, 6, 1640, 0, ''), + (5038, 0, 0, 0, ''), + (5038, 6, 2197, 0, ''), + (5039, 0, 0, 0, ''), + (5039, 6, 1497, 0, ''), + (5053, 12, 1, 0, ''), + (5054, 12, 1, 0, ''), + (5100, 12, 0, 0, ''), + (5101, 12, 0, 0, ''), + (5102, 12, 0, 0, ''), + (5103, 12, 1, 0, ''), + (5104, 12, 0, 0, ''), + (5108, 12, 0, 0, ''), + (5110, 12, 0, 0, ''), + (5111, 12, 1, 0, ''), + (5112, 12, 0, 0, ''), + (5113, 12, 0, 0, ''), + (5114, 12, 0, 0, ''), + (5117, 12, 0, 0, ''), + (5119, 12, 0, 0, ''), + (5120, 12, 0, 0, ''), + (5121, 12, 0, 0, ''), + (5122, 12, 0, 0, ''), + (5123, 12, 0, 0, ''), + (5124, 12, 1, 0, ''), + (5125, 12, 1, 0, ''), + (5126, 12, 1, 0, ''), + (5127, 12, 1, 0, ''), + (5128, 12, 1, 0, ''), + (5129, 12, 1, 0, ''), + (5130, 12, 1, 0, ''), + (5131, 12, 1, 0, ''), + (5132, 12, 1, 0, ''), + (5133, 12, 1, 0, ''), + (5134, 12, 1, 0, ''), + (5135, 12, 1, 0, ''), + (5136, 12, 1, 0, ''), + (5137, 12, 0, 0, ''), + (5138, 12, 0, 0, ''), + (5139, 12, 1, 0, ''), + (5140, 12, 1, 0, ''), + (5203, 0, 0, 0, ''), + (5213, 21, 7, 0, ''), + (5214, 21, 11, 0, ''), + (5215, 21, 2, 0, ''), + (5216, 21, 5, 0, ''), + (5217, 21, 9, 0, ''), + (5218, 21, 3, 0, ''), + (5219, 21, 6, 0, ''), + (5220, 21, 1, 0, ''), + (5221, 21, 4, 0, ''), + (5223, 12, 1, 0, ''), + (5224, 12, 1, 0, ''), + (5227, 12, 1, 0, ''), + (5229, 21, 0, 7, ''), + (5230, 21, 0, 10, ''), + (5231, 21, 0, 11, ''), + (5232, 21, 0, 3, ''), + (5233, 21, 0, 1, ''), + (5234, 21, 0, 4, ''), + (5235, 21, 0, 2, ''), + (5236, 21, 0, 6, ''), + (5237, 21, 0, 8, ''), + (5238, 21, 0, 5, ''), + (5245, 12, 1, 0, ''), + (5246, 12, 1, 0, ''), + (5247, 12, 1, 0, ''), + (5248, 12, 1, 0, ''), + (5258, 0, 0, 0, ''), + (5272, 1, 3057, 0, ''), + (5272, 16, 141, 0, ''), + (5274, 6, 1637, 0, ''), + (5275, 6, 1519, 0, ''), + (5377, 12, 0, 0, ''), + (5378, 12, 0, 0, ''), + (5379, 12, 0, 0, ''), + (5380, 12, 0, 0, ''), + (5381, 12, 0, 0, ''), + (5382, 12, 0, 0, ''), + (5383, 12, 0, 0, ''), + (5384, 12, 0, 0, ''), + (5436, 12, 0, 0, ''), + (5437, 12, 0, 0, ''), + (5438, 12, 0, 0, ''), + (5439, 12, 0, 0, ''), + (5440, 12, 0, 0, ''), + (5441, 12, 0, 0, ''), + (5442, 12, 0, 0, ''), + (5443, 12, 0, 0, ''), + (5444, 12, 0, 0, ''), + (5445, 12, 0, 0, ''), + (5446, 12, 0, 0, ''), + (5447, 12, 0, 0, ''), + (5448, 12, 0, 0, ''), + (5449, 12, 0, 0, ''), + (5450, 12, 0, 0, ''), + (5451, 12, 0, 0, ''), + (5452, 12, 0, 0, ''), + (5453, 12, 0, 0, ''), + (5454, 12, 0, 0, ''), + (5455, 12, 0, 0, ''), + (5456, 12, 0, 0, ''), + (5457, 12, 0, 0, ''), + (5458, 12, 0, 0, ''), + (5459, 12, 0, 0, ''), + (5460, 12, 0, 0, ''), + (5461, 12, 0, 0, ''), + (5462, 12, 0, 0, ''), + (5463, 12, 0, 0, ''), + (5464, 12, 0, 0, ''), + (5465, 12, 0, 0, ''), + (5466, 12, 0, 0, ''), + (5467, 12, 0, 0, ''), + (5468, 12, 0, 0, ''), + (5469, 12, 0, 0, ''), + (5492, 20, 0, 0, ''), + (5493, 20, 1, 0, ''), + (5494, 20, 530, 0, ''), + (5495, 20, 571, 0, ''), + (5499, 20, 529, 0, ''), + (5500, 20, 30, 0, ''), + (5501, 20, 489, 0, ''), + (5502, 20, 566, 0, ''), + (5503, 20, 607, 0, ''), + (5507, 20, 30, 0, ''), + (5508, 20, 529, 0, ''), + (5509, 20, 489, 0, ''), + (5510, 20, 566, 0, ''), + (5511, 20, 607, 0, ''), + (5512, 20, 0, 0, ''), + (5529, 0, 0, 0, ''), + (5530, 20, 1, 0, ''), + (5531, 20, 530, 0, ''), + (5532, 20, 571, 0, ''), + (5533, 20, 559, 0, ''), + (5534, 20, 562, 0, ''), + (5535, 20, 572, 0, ''), + (5536, 20, 30, 0, ''), + (5537, 20, 529, 0, ''), + (5538, 20, 489, 0, ''), + (5539, 20, 566, 0, ''), + (5540, 20, 607, 0, ''), + (5541, 11, 0, 0, 'achievement_arena_2v2_check'), + (5542, 11, 0, 0, 'achievement_arena_3v3_check'), + (5543, 11, 0, 0, 'achievement_arena_5v5_check'), + (5544, 20, 30, 0, ''), + (5545, 20, 529, 0, ''), + (5546, 20, 489, 0, ''), + (5547, 20, 566, 0, ''), + (5548, 20, 607, 0, ''), + (5597, 23, 62, 0, ''), + (5599, 23, 71, 0, ''), + (5600, 23, 80, 0, ''), + (5601, 0, 0, 0, ''), + (5602, 0, 0, 0, ''), + (5603, 0, 0, 0, ''), + (5605, 6, 4571, 0, ''), + (5605, 7, 23333, 0, ''), + (5605, 11, 0, 0, 'achievement_save_the_day'), + (5606, 6, 4572, 0, ''), + (5606, 7, 23335, 0, ''), + (5606, 11, 0, 0, 'achievement_save_the_day'), + (5608, 12, 1, 0, ''), + (5609, 12, 1, 0, ''), + (5610, 12, 1, 0, ''), + (5611, 12, 1, 0, ''), + (5612, 12, 1, 0, ''), + (5613, 12, 1, 0, ''), + (5614, 12, 1, 0, ''), + (5615, 12, 1, 0, ''), + (5616, 12, 1, 0, ''), + (5617, 12, 1, 0, ''), + (5618, 12, 1, 0, ''), + (5621, 12, 0, 0, ''), + (5622, 12, 0, 0, ''), + (5623, 12, 0, 0, ''), + (5624, 12, 0, 0, ''), + (5625, 12, 0, 0, ''), + (5626, 12, 0, 0, ''), + (5627, 12, 0, 0, ''), + (5628, 12, 0, 0, ''), + (5629, 12, 0, 0, ''), + (5630, 12, 0, 0, ''), + (5631, 12, 0, 0, ''), + (5643, 12, 0, 0, ''), + (5647, 12, 0, 0, ''), + (5691, 12, 0, 0, ''), + (5692, 12, 0, 0, ''), + (5723, 11, 0, 0, 'achievement_arena_5v5_check'), + (5724, 11, 0, 0, 'achievement_arena_3v3_check'), + (5725, 11, 0, 0, 'achievement_arena_2v2_check'), + (5726, 0, 0, 0, ''), + (5726, 11, 0, 0, 'achievement_arena_5v5_check'), + (5727, 0, 0, 0, ''), + (5727, 11, 0, 0, 'achievement_arena_3v3_check'), + (5728, 0, 0, 0, ''), + (5728, 11, 0, 0, 'achievement_arena_2v2_check'), + (5734, 0, 0, 0, ''), + (5735, 0, 0, 0, ''), + (5736, 0, 0, 0, ''), + (5737, 0, 0, 0, ''), + (5738, 0, 0, 0, ''), + (5739, 0, 0, 0, ''), + (5742, 0, 0, 0, ''), + (5745, 0, 0, 0, ''), + (5746, 0, 0, 0, ''), + (5772, 2, 0, 7, ''), + (5774, 2, 0, 10, ''), + (5775, 2, 0, 11, ''), + (5776, 2, 0, 3, ''), + (5777, 2, 0, 1, ''), + (5778, 2, 0, 4, ''), + (5779, 2, 0, 2, ''), + (5780, 2, 0, 6, ''), + (5781, 2, 0, 8, ''), + (5782, 2, 0, 5, ''), + (5787, 6, 4395, 0, ''), + (5809, 9, 80, 0, ''), + (5810, 9, 80, 0, ''), + (5816, 19, 213, 4, ''), + (5817, 19, 213, 4, ''), + (5820, 0, 0, 0, ''), + (5876, 12, 1, 0, ''), + (5877, 12, 1, 0, ''), + (5878, 12, 1, 0, ''), + (5879, 12, 1, 0, ''), + (5880, 12, 1, 0, ''), + (5881, 12, 1, 0, ''), + (5882, 12, 1, 0, ''), + (5883, 12, 1, 0, ''), + (5884, 12, 1, 0, ''), + (5885, 12, 1, 0, ''), + (5886, 12, 1, 0, ''), + (5887, 12, 1, 0, ''), + (5888, 0, 0, 0, ''), + (5889, 0, 0, 0, ''), + (5890, 0, 0, 0, ''), + (5896, 0, 0, 0, ''), + (5897, 0, 0, 0, ''), + (5898, 0, 0, 0, ''), + (5899, 0, 0, 0, ''), + (6225, 1, 5661, 0, ''), + (6226, 1, 26044, 0, ''), + (6228, 1, 739, 0, ''), + (6229, 1, 927, 0, ''), + (6230, 1, 1444, 0, ''), + (6231, 1, 8140, 0, ''), + (6232, 1, 5489, 0, ''), + (6233, 1, 12336, 0, ''), + (6234, 1, 1351, 0, ''), + (6235, 1, 5484, 0, ''), + (6236, 1, 1182, 0, ''), + (6237, 2, 6, 2, ''), + (6238, 2, 1, 1, ''), + (6239, 2, 7, 6, ''), + (6240, 2, 11, 4, ''), + (6241, 2, 4, 5, ''), + (6242, 2, 3, 8, ''), + (6243, 2, 8, 7, ''), + (6244, 2, 2, 3, ''), + (6245, 2, 9, 10, ''), + (6246, 2, 5, 11, ''), + (6247, 16, 141, 0, ''), + (6248, 16, 141, 0, ''), + (6249, 16, 141, 0, ''), + (6261, 5, 21848, 0, ''), + (6261, 6, 4395, 0, ''), + (6261, 7, 21848, 0, ''), + (6261, 16, 141, 0, ''), + (6302, 2, 6, 2, ''), + (6312, 2, 9, 7, ''), + (6313, 2, 6, 1, ''), + (6314, 2, 5, 4, ''), + (6315, 2, 7, 2, ''), + (6316, 2, 11, 6, ''), + (6317, 2, 4, 8, ''), + (6318, 2, 1, 5, ''), + (6319, 2, 8, 10, ''), + (6320, 2, 2, 11, ''), + (6321, 2, 3, 3, ''), + (6324, 0, 0, 0, ''), + (6325, 0, 0, 0, ''), + (6326, 0, 0, 0, ''), + (6327, 0, 0, 0, ''), + (6328, 0, 0, 0, ''), + (6329, 0, 0, 0, ''), + (6330, 0, 0, 0, ''), + (6331, 0, 0, 0, ''), + (6343, 1, 16111, 0, ''), + (6343, 6, 4197, 0, ''), + (6344, 1, 16111, 0, ''), + (6344, 6, 2177, 0, ''), + (6345, 1, 16111, 0, ''), + (6345, 6, 3421, 0, ''), + (6346, 1, 16111, 0, ''), + (6346, 6, 4100, 0, ''), + (6347, 1, 16111, 0, ''), + (6347, 6, 3456, 0, ''), + (6381, 12, 0, 0, ''), + (6384, 12, 1, 0, ''), + (6385, 12, 0, 0, ''), + (6395, 12, 0, 0, ''), + (6396, 12, 1, 0, ''), + (6397, 12, 1, 0, ''), + (6398, 12, 1, 0, ''), + (6399, 12, 1, 0, ''), + (6400, 12, 1, 0, ''), + (6401, 12, 1, 0, ''), + (6402, 12, 1, 0, ''), + (6403, 12, 1, 0, ''), + (6404, 12, 1, 0, ''), + (6405, 12, 1, 0, ''), + (6406, 12, 1, 0, ''), + (6407, 12, 1, 0, ''), + (6409, 12, 1, 0, ''), + (6410, 12, 1, 0, ''), + (6411, 12, 1, 0, ''), + (6412, 12, 1, 0, ''), + (6413, 12, 1, 0, ''), + (6414, 12, 1, 0, ''), + (6415, 12, 1, 0, ''), + (6416, 12, 0, 0, ''), + (6417, 12, 0, 0, ''), + (6418, 12, 0, 0, ''), + (6419, 12, 0, 0, ''), + (6420, 12, 0, 0, ''), + (6421, 12, 0, 0, ''), + (6422, 12, 0, 0, ''), + (6423, 12, 0, 0, ''), + (6424, 12, 0, 0, ''), + (6425, 12, 0, 0, ''), + (6426, 12, 0, 0, ''), + (6428, 12, 0, 0, ''), + (6429, 12, 0, 0, ''), + (6430, 12, 0, 0, ''), + (6431, 12, 0, 0, ''), + (6432, 12, 0, 0, ''), + (6433, 12, 0, 0, ''), + (6434, 12, 1, 0, ''), + (6435, 12, 0, 0, ''), + (6436, 0, 0, 0, ''), + (6440, 0, 0, 0, ''), + (6441, 0, 0, 0, ''), + (6444, 0, 0, 0, ''), + (6445, 0, 0, 0, ''), + (6446, 7, 52418, 0, ''), + (6447, 0, 0, 0, ''), + (6486, 0, 0, 0, ''), + (6487, 0, 0, 0, ''), + (6488, 0, 0, 0, ''), + (6489, 0, 0, 0, ''), + (6490, 0, 0, 0, ''), + (6491, 0, 0, 0, ''), + (6492, 0, 0, 0, ''), + (6493, 0, 0, 0, ''), + (6494, 0, 0, 0, ''), + (6495, 0, 0, 0, ''), + (6496, 0, 0, 0, ''), + (6497, 0, 0, 0, ''), + (6498, 0, 0, 0, ''), + (6499, 0, 0, 0, ''), + (6501, 0, 0, 0, ''), + (6502, 0, 0, 0, ''), + (6503, 0, 0, 0, ''), + (6505, 0, 0, 0, ''), + (6506, 0, 0, 0, ''), + (6507, 0, 0, 0, ''), + (6508, 0, 0, 0, ''), + (6509, 0, 0, 0, ''), + (6510, 0, 0, 0, ''), + (6511, 0, 0, 0, ''), + (6512, 0, 0, 0, ''), + (6513, 0, 0, 0, ''), + (6514, 0, 0, 0, ''), + (6515, 0, 0, 0, ''), + (6516, 0, 0, 0, ''), + (6517, 0, 0, 0, ''), + (6518, 0, 0, 0, ''), + (6587, 0, 0, 0, ''), + (6588, 0, 0, 0, ''), + (6589, 0, 0, 0, ''), + (6590, 0, 0, 0, ''), + (6591, 0, 0, 0, ''), + (6592, 0, 0, 0, ''), + (6593, 0, 0, 0, ''), + (6594, 0, 0, 0, ''), + (6595, 0, 0, 0, ''), + (6596, 0, 0, 0, ''), + (6597, 0, 0, 0, ''), + (6598, 0, 0, 0, ''), + (6599, 0, 0, 0, ''), + (6626, 20, 30, 0, ''), + (6627, 20, 529, 0, ''), + (6628, 20, 489, 0, ''), + (6629, 20, 607, 0, ''), + (6630, 20, 566, 0, ''), + (6633, 6, 1638, 0, ''), + (6634, 6, 3487, 0, ''), + (6635, 6, 1637, 0, ''), + (6636, 6, 1497, 0, ''), + (6637, 6, 1537, 0, ''), + (6638, 6, 1657, 0, ''), + (6639, 6, 3557, 0, ''), + (6640, 6, 1519, 0, ''), + (6641, 5, 58818, 0, ''), + (6641, 16, 201, 0, ''), + (6642, 5, 58818, 0, ''), + (6642, 16, 201, 0, ''), + (6643, 5, 58818, 0, ''), + (6643, 16, 201, 0, ''), + (6644, 5, 58818, 0, ''), + (6644, 16, 201, 0, ''), + (6651, 5, 58818, 0, ''), + (6651, 16, 201, 0, ''), + (6652, 5, 58818, 0, ''), + (6652, 16, 201, 0, ''), + (6653, 5, 58818, 0, ''), + (6653, 16, 201, 0, ''), + (6654, 5, 58818, 0, ''), + (6654, 16, 201, 0, ''), + (6655, 5, 58818, 0, ''), + (6655, 16, 201, 0, ''), + (6656, 5, 58818, 0, ''), + (6656, 16, 201, 0, ''), + (6657, 5, 58818, 0, ''), + (6657, 16, 201, 0, ''), + (6659, 5, 58818, 0, ''), + (6659, 16, 201, 0, ''), + (6662, 1, 31261, 0, ''), + (6758, 0, 0, 0, ''), + (6759, 0, 0, 0, ''), + (6760, 0, 0, 0, ''), + (6761, 0, 0, 0, ''), + (6764, 0, 0, 0, ''), + (6765, 0, 0, 0, ''), + (6766, 0, 0, 0, ''), + (6767, 0, 0, 0, ''), + (6768, 0, 0, 0, ''), + (6769, 0, 0, 0, ''), + (6770, 0, 0, 0, ''), + (6771, 0, 0, 0, ''), + (6772, 0, 0, 0, ''), + (6773, 0, 0, 0, ''), + (6774, 0, 0, 0, ''), + (6775, 0, 0, 0, ''), + (6776, 0, 0, 0, ''), + (6777, 0, 0, 0, ''), + (6778, 0, 0, 0, ''), + (6779, 0, 0, 0, ''), + (6780, 0, 0, 0, ''), + (6781, 0, 0, 0, ''), + (6782, 0, 0, 0, ''), + (6783, 0, 0, 0, ''), + (6784, 0, 0, 0, ''), + (6785, 0, 0, 0, ''), + (6786, 0, 0, 0, ''), + (6789, 23, 53, 0, ''), + (6799, 3, 5, 0, ''), + (6800, 6, 3057, 0, ''), + (6800, 11, 0, 0, 'achievement_sickly_gazelle'), + (6802, 12, 0, 0, ''), + (6802, 18, 0, 0, ''), + (6803, 12, 1, 0, ''), + (6803, 18, 0, 0, ''), + (6804, 5, 58933, 0, ''), + (6805, 12, 1, 0, ''), + (6806, 12, 1, 0, ''), + (6807, 12, 1, 0, ''), + (6808, 12, 1, 0, ''), + (6813, 12, 1, 0, ''), + (6814, 12, 1, 0, ''), + (6815, 12, 1, 0, ''), + (6831, 12, 1, 0, ''), + (6832, 12, 1, 0, ''), + (6833, 12, 1, 0, ''), + (6834, 12, 1, 0, ''), + (6835, 12, 1, 0, ''), + (6835, 18, 0, 0, ''), + (6839, 12, 1, 0, ''), + (6840, 12, 1, 0, ''), + (6841, 12, 1, 0, ''), + (6842, 12, 1, 0, ''), + (6848, 12, 1, 0, ''), + (6849, 12, 1, 0, ''), + (6850, 12, 1, 0, ''), + (6851, 12, 1, 0, ''), + (6852, 12, 1, 0, ''), + (6853, 12, 1, 0, ''), + (6854, 12, 1, 0, ''), + (6855, 12, 1, 0, ''), + (6856, 12, 1, 0, ''), + (6857, 12, 1, 0, ''), + (6858, 12, 1, 0, ''), + (6859, 12, 1, 0, ''), + (6860, 12, 1, 0, ''), + (6861, 12, 1, 0, ''), + (6862, 12, 1, 0, ''), + (6863, 12, 1, 0, ''), + (6864, 12, 1, 0, ''), + (6865, 12, 1, 0, ''), + (6866, 12, 1, 0, ''), + (6935, 12, 0, 0, ''), + (6936, 12, 1, 0, ''), + (6937, 6, 4395, 0, ''), + (7020, 6, 4571, 0, ''), + (7020, 7, 23335, 0, ''), + (7021, 6, 4572, 0, ''), + (7021, 7, 23333, 0, ''), + (7126, 12, 0, 0, ''), + (7127, 12, 1, 0, ''), + (7128, 12, 0, 0, ''), + (7129, 12, 1, 0, ''), + (7130, 12, 1, 0, ''), + (7133, 12, 1, 0, ''), + (7136, 5, 55817, 0, ''), + (7136, 12, 1, 0, ''), + (7137, 12, 1, 0, ''), + (7138, 12, 1, 0, ''), + (7139, 12, 1, 0, ''), + (7140, 12, 1, 0, ''), + (7141, 12, 1, 0, ''), + (7142, 12, 1, 0, ''), + (7143, 12, 1, 0, ''), + (7144, 12, 1, 0, ''), + (7145, 12, 1, 0, ''), + (7146, 12, 0, 0, ''), + (7146, 18, 0, 0, ''), + (7147, 12, 0, 0, ''), + (7147, 18, 0, 0, ''), + (7148, 12, 0, 0, ''), + (7148, 18, 0, 0, ''), + (7149, 12, 0, 0, ''), + (7149, 18, 0, 0, ''), + (7150, 12, 0, 0, ''), + (7150, 18, 0, 0, ''), + (7151, 12, 0, 0, ''), + (7151, 18, 0, 0, ''), + (7152, 12, 0, 0, ''), + (7152, 18, 0, 0, ''), + (7153, 12, 0, 0, ''), + (7153, 18, 0, 0, ''), + (7154, 12, 0, 0, ''), + (7154, 18, 0, 0, ''), + (7155, 12, 0, 0, ''), + (7155, 18, 0, 0, ''), + (7156, 12, 0, 0, ''), + (7156, 18, 0, 0, ''), + (7157, 12, 0, 0, ''), + (7157, 18, 0, 0, ''), + (7158, 12, 0, 0, ''), + (7158, 18, 0, 0, ''), + (7159, 12, 1, 0, ''), + (7159, 18, 0, 0, ''), + (7160, 12, 1, 0, ''), + (7160, 18, 0, 0, ''), + (7161, 12, 1, 0, ''), + (7161, 18, 0, 0, ''), + (7162, 12, 1, 0, ''), + (7162, 18, 0, 0, ''), + (7163, 12, 1, 0, ''), + (7163, 18, 0, 0, ''), + (7164, 12, 1, 0, ''), + (7164, 18, 0, 0, ''), + (7165, 12, 1, 0, ''), + (7165, 18, 0, 0, ''), + (7166, 12, 1, 0, ''), + (7166, 18, 0, 0, ''), + (7167, 12, 1, 0, ''), + (7167, 18, 0, 0, ''), + (7168, 12, 1, 0, ''), + (7168, 18, 0, 0, ''), + (7169, 12, 1, 0, ''), + (7169, 18, 0, 0, ''), + (7170, 12, 1, 0, ''), + (7170, 18, 0, 0, ''), + (7171, 12, 1, 0, ''), + (7171, 18, 0, 0, ''), + (7172, 12, 1, 0, ''), + (7172, 18, 0, 0, ''), + (7174, 12, 0, 0, ''), + (7174, 18, 0, 0, ''), + (7175, 12, 1, 0, ''), + (7175, 18, 0, 0, ''), + (7177, 12, 1, 0, ''), + (7177, 18, 0, 0, ''), + (7178, 12, 1, 0, ''), + (7178, 18, 0, 0, ''), + (7179, 12, 1, 0, ''), + (7179, 18, 0, 0, ''), + (7180, 12, 1, 0, ''), + (7181, 12, 1, 0, ''), + (7182, 12, 0, 0, ''), + (7183, 12, 1, 0, ''), + (7184, 0, 0, 0, ''), + (7184, 12, 0, 0, ''), + (7185, 12, 1, 0, ''), + (7185, 18, 0, 0, ''), + (7186, 12, 1, 0, ''), + (7186, 18, 0, 0, ''), + (7187, 12, 1, 0, ''), + (7187, 18, 0, 0, ''), + (7188, 12, 1, 0, ''), + (7188, 18, 0, 0, ''), + (7189, 12, 0, 0, ''), + (7189, 18, 0, 0, ''), + (7190, 12, 0, 0, ''), + (7190, 18, 0, 0, ''), + (7191, 12, 0, 0, ''), + (7191, 18, 0, 0, ''), + (7192, 12, 0, 0, ''), + (7193, 12, 1, 0, ''), + (7231, 12, 1, 0, ''), + (7231, 18, 0, 0, ''), + (7264, 12, 0, 0, ''), + (7264, 18, 0, 0, ''), + (7265, 12, 0, 0, ''), + (7265, 18, 0, 0, ''), + (7315, 11, 0, 0, 'achievement_intense_cold'), + (7315, 12, 1, 0, ''), + (7316, 11, 0, 0, 'achievement_chaos_theory'), + (7316, 12, 1, 0, ''), + (7317, 12, 1, 0, ''), + (7317, 11, 0, 0, 'achievement_respect_your_elders'), + (7318, 11, 0, 0, 'achievement_better_off_dred'), + (7318, 12, 1, 0, ''), + (7319, 11, 0, 0, 'achievement_less_rabi'), + (7319, 12, 1, 0, ''), + (7320, 12, 1, 0, ''), + (7320, 18, 0, 0, ''), + (7321, 12, 1, 0, ''), + (7321, 18, 0, 0, ''), + (7322, 12, 1, 0, ''), + (7322, 18, 0, 0, ''), + (7323, 12, 1, 0, ''), + (7323, 18, 0, 0, ''), + (7324, 12, 1, 0, ''), + (7324, 18, 0, 0, ''), + (7325, 12, 1, 0, ''), + (7325, 18, 0, 0, ''), + (7326, 12, 0, 0, ''), + (7326, 18, 0, 0, ''), + (7327, 12, 1, 0, ''), + (7327, 18, 0, 0, ''), + (7328, 12, 0, 0, ''), + (7328, 18, 0, 0, ''), + (7329, 12, 0, 0, ''), + (7329, 18, 0, 0, ''), + (7330, 12, 0, 0, ''), + (7330, 18, 0, 0, ''), + (7331, 12, 1, 0, ''), + (7331, 18, 0, 0, ''), + (7332, 12, 1, 0, ''), + (7332, 18, 0, 0, ''), + (7333, 12, 1, 0, ''), + (7333, 18, 0, 0, ''), + (7359, 12, 1, 0, ''), + (7359, 11, 0, 0, 'achievement_volunteer_work'), + (7361, 11, 0, 0, 'achievement_oh_novos'), + (7361, 12, 1, 0, ''), + (7363, 11, 0, 0, 'achievement_snakes_whyd_it_have_to_be_snakes'), + (7363, 12, 1, 0, ''), + (7365, 0, 0, 0, ''), + (7408, 23, 42, 0, ''), + (7412, 23, 42, 0, ''), + (7415, 23, 42, 0, ''), + (7416, 23, 43, 0, ''), + (7418, 23, 42, 0, ''), + (7419, 23, 43, 0, ''), + (7494, 12, 1, 0, ''), + (7548, 12, 1, 0, ''), + (7548, 18, 0, 0, ''), + (7549, 12, 1, 0, ''), + (7549, 18, 0, 0, ''), + (7567, 12, 0, 0, ''), + (7567, 18, 0, 0, ''), + (7568, 12, 1, 0, ''), + (7568, 18, 0, 0, ''), + (7573, 1, 30249, 0, ''), + (7573, 12, 0, 0, ''), + (7573, 18, 0, 0, ''), + (7574, 1, 30249, 0, ''), + (7574, 12, 1, 0, ''), + (7574, 18, 0, 0, ''), + (7577, 11, 0, 0, 'achievement_split_personality'), + (7577, 12, 1, 0, ''), + (7579, 11, 0, 0, 'achievement_consumption_junction'), + (7579, 12, 1, 0, ''), + (7583, 11, 0, 0, 'achievement_share_the_love'), + (7583, 12, 1, 0, ''), + (7587, 12, 1, 0, ''), + (7587, 18, 0, 0, ''), + (7590, 12, 1, 0, ''), + (7590, 18, 0, 0, ''), + (7593, 12, 1, 0, ''), + (7593, 18, 0, 0, ''), + (7595, 12, 1, 0, ''), + (7595, 18, 0, 0, ''), + (7598, 12, 1, 0, ''), + (7598, 18, 0, 0, ''), + (7600, 12, 0, 0, ''), + (7600, 18, 0, 0, ''), + (7601, 12, 1, 0, ''), + (7601, 18, 0, 0, ''), + (7604, 12, 0, 0, ''), + (7604, 18, 0, 0, ''), + (7605, 12, 1, 0, ''), + (7605, 18, 0, 0, ''), + (7608, 12, 0, 0, ''), + (7608, 18, 0, 0, ''), + (7609, 12, 1, 0, ''), + (7609, 18, 0, 0, ''), + (7612, 12, 0, 0, ''), + (7612, 18, 0, 0, ''), + (7613, 12, 1, 0, ''), + (7613, 18, 0, 0, ''), + (7614, 12, 0, 0, ''), + (7614, 18, 0, 0, ''), + (7615, 12, 1, 0, ''), + (7615, 18, 0, 0, ''), + (7616, 12, 1, 0, ''), + (7616, 18, 0, 0, ''), + (7617, 12, 0, 0, ''), + (7617, 18, 0, 0, ''), + (7622, 0, 0, 0, ''), + (7623, 2, 0, 0, ''), + (7625, 11, 0, 0, 'achievement_bg_sa_artillery'), + (7626, 11, 0, 0, 'achievement_not_even_a_scratch'), + (7628, 11, 0, 0, 'achievement_bg_sa_artillery'), + (7629, 7, 52418, 0, ''), + (7630, 6, 4609, 0, ''), + (7631, 6, 4609, 0, ''), + (7632, 0, 0, 0, ''), + (7634, 11, 0, 0, 'achievement_not_even_a_scratch'), + (7635, 0, 0, 0, ''), + (7636, 11, 0, 0, 'achievement_sa_defense_of_the_ancients'), + (7666, 11, 0, 0, 'achievement_wg_within_our_grasp'), + (7703, 6, 4197, 0, ''), + (7703, 11, 0, 0, 'achievement_wg_didnt_stand_a_chance'), + (7704, 6, 4197, 0, ''), + (7704, 11, 0, 0, 'achievement_wg_vehicular_gnomeslaughter'), + (7705, 6, 4197, 0, ''), + (7705, 11, 0, 0, 'achievement_wg_vehicular_gnomeslaughter'), + (7706, 6, 4197, 0, ''), + (7706, 11, 0, 0, 'achievement_wg_vehicular_gnomeslaughter'), + (7707, 6, 4197, 0, ''), + (7707, 11, 0, 0, 'achievement_wg_vehicular_gnomeslaughter'), + (7708, 6, 4197, 0, ''), + (7708, 11, 0, 0, 'achievement_wg_vehicular_gnomeslaughter'), + (7709, 6, 4575, 0, ''), + (7710, 6, 4612, 0, ''), + (7711, 6, 4539, 0, ''), + (7712, 6, 4538, 0, ''), + (7713, 6, 4611, 0, ''), + (7714, 6, 4581, 0, ''), + (7715, 6, 4583, 0, ''), + (7716, 6, 4582, 0, ''), + (7718, 6, 4584, 0, ''), + (7719, 6, 4589, 0, ''), + (7740, 11, 0, 0, 'achievement_sa_defense_of_the_ancients'), + (7769, 0, 0, 0, ''), + (7805, 12, 0, 0, ''), + (7806, 12, 1, 0, ''), + (7850, 0, 0, 0, ''), + (7851, 0, 0, 0, ''), + (7852, 0, 0, 0, ''), + (7853, 0, 0, 0, ''), + (7854, 0, 0, 0, ''), + (7855, 0, 0, 0, ''), + (7856, 0, 0, 0, ''), + (7857, 0, 0, 0, ''), + (7858, 0, 0, 0, ''), + (7859, 0, 0, 0, ''), + (7860, 0, 0, 0, ''), + (7861, 0, 0, 0, ''), + (7862, 0, 0, 0, ''), + (7863, 0, 0, 0, ''), + (7864, 0, 0, 0, ''), + (7865, 0, 0, 0, ''), + (7866, 0, 0, 0, ''), + (7867, 0, 0, 0, ''), + (7868, 0, 0, 0, ''), + (8100, 0, 0, 0, ''), + (8101, 0, 0, 0, ''), + (8102, 0, 0, 0, ''), + (8103, 0, 0, 0, ''), + (8104, 0, 0, 0, ''), + (8105, 0, 0, 0, ''), + (8106, 0, 0, 0, ''), + (8107, 0, 0, 0, ''), + (8108, 0, 0, 0, ''), + (8109, 0, 0, 0, ''), + (8110, 0, 0, 0, ''), + (8111, 0, 0, 0, ''), + (8112, 0, 0, 0, ''), + (8113, 0, 0, 0, ''), + (8114, 0, 0, 0, ''), + (8115, 0, 0, 0, ''), + (8116, 0, 0, 0, ''), + (8117, 0, 0, 0, ''), + (8118, 0, 0, 0, ''), + (8119, 0, 0, 0, ''), + (8120, 0, 0, 0, ''), + (8121, 0, 0, 0, ''), + (8122, 0, 0, 0, ''), + (8587, 0, 0, 0, ''), + (8588, 0, 0, 0, ''), + (8589, 0, 0, 0, ''), + (8590, 0, 0, 0, ''), + (8595, 11, 0, 0, 'achievement_arena_5v5_check'), + (8596, 11, 0, 0, 'achievement_arena_5v5_check'), + (8597, 11, 0, 0, 'achievement_arena_5v5_check'), + (8598, 11, 0, 0, 'achievement_arena_5v5_check'), + (8599, 0, 0, 0, ''), + (8599, 11, 0, 0, 'achievement_arena_5v5_check'), + (8600, 0, 0, 0, ''), + (8600, 11, 0, 0, 'achievement_arena_5v5_check'), + (8601, 0, 0, 0, ''), + (8601, 11, 0, 0, 'achievement_arena_5v5_check'), + (8602, 0, 0, 0, ''), + (8602, 11, 0, 0, 'achievement_arena_5v5_check'), + (8603, 11, 0, 0, 'achievement_arena_3v3_check'), + (8604, 11, 0, 0, 'achievement_arena_3v3_check'), + (8605, 11, 0, 0, 'achievement_arena_3v3_check'), + (8606, 11, 0, 0, 'achievement_arena_3v3_check'), + (8607, 0, 0, 0, ''), + (8607, 11, 0, 0, 'achievement_arena_3v3_check'), + (8608, 0, 0, 0, ''), + (8608, 11, 0, 0, 'achievement_arena_3v3_check'), + (8609, 0, 0, 0, ''), + (8609, 11, 0, 0, 'achievement_arena_3v3_check'), + (8610, 0, 0, 0, ''), + (8610, 11, 0, 0, 'achievement_arena_3v3_check'), + (8611, 11, 0, 0, 'achievement_arena_2v2_check'), + (8612, 11, 0, 0, 'achievement_arena_2v2_check'), + (8613, 11, 0, 0, 'achievement_arena_2v2_check'), + (8614, 11, 0, 0, 'achievement_arena_2v2_check'), + (8615, 0, 0, 0, ''), + (8615, 11, 0, 0, 'achievement_arena_2v2_check'), + (8616, 0, 0, 0, ''), + (8616, 11, 0, 0, 'achievement_arena_2v2_check'), + (8617, 0, 0, 0, ''), + (8617, 11, 0, 0, 'achievement_arena_2v2_check'), + (8618, 0, 0, 0, ''), + (8618, 11, 0, 0, 'achievement_arena_2v2_check'), + (8742, 12, 0, 0, ''), + (8743, 12, 1, 0, ''), + (8744, 12, 0, 0, ''), + (8745, 12, 1, 0, ''), + (8746, 12, 0, 0, ''), + (8747, 12, 1, 0, ''), + (8758, 0, 0, 0, ''), + (8759, 0, 0, 0, ''), + (8760, 0, 0, 0, ''), + (8761, 0, 0, 0, ''), + (8762, 0, 0, 0, ''), + (8763, 0, 0, 0, ''), + (8764, 0, 0, 0, ''), + (8765, 0, 0, 0, ''), + (8798, 12, 0, 0, ''), + (8799, 12, 0, 0, ''), + (8800, 12, 0, 0, ''), + (8801, 12, 0, 0, ''), + (8802, 12, 0, 0, ''), + (8803, 12, 0, 0, ''), + (9058, 22, 4, 0, ''), + (9060, 0, 0, 0, ''), + (9061, 0, 0, 0, ''), + (9098, 12, 0, 0, ''), + (9099, 12, 1, 0, ''), + (9118, 6, 543, 0, ''), + (9118, 16, 181, 0, ''), + (9119, 16, 181, 0, ''), + (9120, 16, 181, 0, ''), + (9121, 6, 3576, 0, ''), + (9122, 6, 3487, 0, ''), + (9123, 6, 1519, 0, ''), + (9124, 2, 0, 10, ''), + (9124, 9, 18, 0, ''), + (9124, 10, 1, 0, ''), + (9138, 6, 3, 0, ''), + (9139, 6, 405, 0, ''), + (9140, 6, 440, 0, ''), + (9141, 6, 400, 0, ''), + (9142, 6, 1377, 0, ''), + (9143, 2, 0, 11, ''), + (9143, 9, 18, 0, ''), + (9143, 10, 1, 0, ''), + (9144, 2, 0, 1, ''), + (9144, 9, 18, 0, ''), + (9144, 10, 1, 0, ''), + (9145, 2, 0, 3, ''), + (9145, 9, 18, 0, ''), + (9145, 10, 1, 0, ''), + (9146, 2, 0, 7, ''), + (9146, 9, 18, 0, ''), + (9146, 10, 1, 0, ''), + (9147, 2, 0, 4, ''), + (9147, 9, 18, 0, ''), + (9147, 10, 1, 0, ''), + (9148, 2, 0, 2, ''), + (9148, 9, 18, 0, ''), + (9148, 10, 1, 0, ''), + (9149, 2, 0, 6, ''), + (9149, 9, 18, 0, ''), + (9149, 10, 1, 0, ''), + (9150, 2, 0, 8, ''), + (9150, 9, 18, 0, ''), + (9150, 10, 1, 0, ''), + (9151, 2, 0, 5, ''), + (9151, 9, 18, 0, ''), + (9151, 10, 1, 0, ''), + (9165, 20, 617, 0, ''), + (9166, 20, 618, 0, ''), + (9178, 0, 0, 0, ''), + (9179, 0, 0, 0, ''), + (9180, 0, 0, 0, ''), + (9181, 0, 0, 0, ''), + (9199, 6, 186, 0, ''), + (9200, 6, 87, 0, ''), + (9201, 6, 131, 0, ''), + (9202, 6, 222, 0, ''), + (9203, 6, 159, 0, ''), + (9204, 6, 3665, 0, ''), + (9205, 6, 362, 0, ''), + (9258, 12, 0, 0, ''), + (9259, 12, 0, 0, ''), + (9260, 12, 1, 0, ''), + (9261, 12, 1, 0, ''), + (9299, 1, 29328, 0, ''), + (9300, 1, 31685, 0, ''), + (9301, 1, 28407, 0, ''), + (9302, 1, 24746, 0, ''), + (9303, 1, 32498, 0, ''), + (9304, 1, 31889, 0, ''), + (9305, 1, 6653, 0, ''), + (9306, 1, 9700, 0, ''), + (9307, 1, 31890, 0, ''), + (9308, 1, 26503, 0, ''), + (9309, 1, 28093, 0, ''), + (9310, 1, 28440, 0, ''), + (9311, 1, 5951, 0, ''), + (9358, 0, 0, 0, ''), + (9359, 0, 0, 0, ''), + (9360, 0, 0, 0, ''), + (9361, 0, 0, 0, ''), + (9362, 0, 0, 0, ''), + (9363, 0, 0, 0, ''), + (9364, 0, 0, 0, ''), + (9365, 0, 0, 0, ''), + (9366, 0, 0, 0, ''), + (9367, 0, 0, 0, ''), + (9368, 0, 0, 0, ''), + (9369, 0, 0, 0, ''), + (9370, 0, 0, 0, ''), + (9371, 0, 0, 0, ''), + (9372, 0, 0, 0, ''), + (9373, 0, 0, 0, ''), + (9374, 0, 0, 0, ''), + (9421, 0, 0, 0, ''), + (9438, 12, 0, 0, ''), + (9619, 0, 0, 0, ''), + (9718, 23, 44, 0, ''), + (9719, 23, 43, 0, ''), + (9720, 23, 44, 0, ''), + (9721, 23, 167, 0, ''), + (9798, 5, 63034, 0, ''), + (9798, 11, 0, 0, 'achievement_tilted'), + (9818, 0, 0, 0, ''), + (9819, 12, 1, 0, ''), + (9838, 1, 3057, 0, ''), + (9838, 16, 141, 0, ''), + (9839, 1, 3057, 0, ''), + (9839, 16, 141, 0, ''), + (9858, 5, 62181, 0, ''), + (9858, 7, 61980, 0, ''), + (9918, 0, 0, 0, ''), + (9919, 0, 0, 0, ''), + (9920, 0, 0, 0, ''), + (9921, 0, 0, 0, ''), + (9922, 0, 0, 0, ''), + (9938, 12, 0, 0, ''), + (9939, 12, 0, 0, ''), + (9940, 12, 0, 0, ''), + (9941, 12, 0, 0, ''), + (9943, 12, 0, 0, ''), + (9947, 12, 0, 0, ''), + (9948, 12, 0, 0, ''), + (9950, 12, 0, 0, ''), + (9951, 12, 0, 0, ''), + (9952, 12, 0, 0, ''), + (9954, 12, 1, 0, ''), + (9955, 12, 1, 0, ''), + (9956, 12, 1, 0, ''), + (9957, 12, 1, 0, ''), + (9959, 12, 1, 0, ''), + (9963, 12, 1, 0, ''), + (9964, 12, 1, 0, ''), + (9966, 12, 1, 0, ''), + (9967, 12, 1, 0, ''), + (9968, 12, 0, 0, ''), + (9969, 12, 1, 0, ''), + (9970, 12, 0, 0, ''), + (9971, 12, 1, 0, ''), + (9972, 12, 0, 0, ''), + (9973, 12, 1, 0, ''), + (9974, 12, 0, 0, ''), + (9975, 12, 1, 0, ''), + (9976, 12, 0, 0, ''), + (9977, 12, 1, 0, ''), + (9978, 12, 0, 0, ''), + (9979, 12, 1, 0, ''), + (9980, 12, 0, 0, ''), + (9981, 12, 1, 0, ''), + (9982, 12, 0, 0, ''), + (9983, 12, 1, 0, ''), + (9984, 12, 0, 0, ''), + (9985, 12, 1, 0, ''), + (9986, 12, 0, 0, ''), + (9987, 12, 1, 0, ''), + (9988, 12, 0, 0, ''), + (9989, 12, 1, 0, ''), + (9990, 12, 0, 0, ''), + (9991, 12, 1, 0, ''), + (9992, 12, 0, 0, ''), + (9993, 12, 1, 0, ''), + (9994, 12, 0, 0, ''), + (9995, 12, 1, 0, ''), + (9996, 12, 0, 0, ''), + (9997, 12, 1, 0, ''), + (9998, 12, 1, 0, ''), + (9999, 12, 0, 0, ''), + (10000, 12, 0, 0, ''), + (10001, 12, 0, 0, ''), + (10002, 12, 0, 0, ''), + (10003, 12, 1, 0, ''), + (10004, 12, 1, 0, ''), + (10005, 12, 1, 0, ''), + (10006, 12, 1, 0, ''), + (10008, 12, 0, 0, ''), + (10010, 12, 0, 0, ''), + (10014, 12, 0, 0, ''), + (10016, 12, 1, 0, ''), + (10018, 12, 1, 0, ''), + (10023, 12, 0, 0, ''), + (10024, 12, 0, 0, ''), + (10025, 12, 1, 0, ''), + (10026, 12, 1, 0, ''), + (10042, 12, 0, 0, ''), + (10042, 18, 0, 0, ''), + (10044, 11, 0, 0, 'achievement_flame_leviathan_unbroken'), + (10044, 12, 0, 0, ''), + (10045, 11, 0, 0, 'achievement_flame_leviathan_unbroken'), + (10045, 12, 1, 0, ''), + (10046, 11, 0, 0, 'achievement_flame_leviathan_garage_chopper'), + (10046, 12, 0, 0, ''), + (10047, 11, 0, 0, 'achievement_flame_leviathan_garage_siege_engine'), + (10047, 12, 0, 0, ''), + (10048, 11, 0, 0, 'achievement_flame_leviathan_garage_demolisher'), + (10048, 12, 0, 0, ''), + (10049, 11, 0, 0, 'achievement_flame_leviathan_garage_chopper'), + (10049, 12, 1, 0, ''), + (10050, 11, 0, 0, 'achievement_flame_leviathan_garage_siege_engine'), + (10050, 12, 1, 0, ''), + (10051, 11, 0, 0, 'achievement_flame_leviathan_garage_demolisher'), + (10051, 12, 1, 0, ''), + (10054, 11, 0, 0, 'achievement_flame_leviathan_shutout'), + (10054, 12, 0, 0, ''), + (10055, 11, 0, 0, 'achievement_flame_leviathan_shutout'), + (10055, 12, 1, 0, ''), + (10056, 11, 0, 0, 'achievement_flame_leviathan_orbital_bombardment'), + (10056, 12, 0, 0, ''), + (10057, 11, 0, 0, 'achievement_flame_leviathan_orbital_devastation'), + (10057, 12, 0, 0, ''), + (10058, 11, 0, 0, 'achievement_flame_leviathan_nuked_from_orbit'), + (10058, 12, 0, 0, ''), + (10059, 11, 0, 0, 'achievement_flame_leviathan_orbital_devastation'), + (10059, 12, 1, 0, ''), + (10060, 11, 0, 0, 'achievement_flame_leviathan_nuked_from_orbit'), + (10060, 12, 1, 0, ''), + (10061, 11, 0, 0, 'achievement_flame_leviathan_orbital_bombardment'), + (10061, 12, 1, 0, ''), + (10062, 11, 0, 0, 'achievement_quick_shave'), + (10062, 12, 0, 0, ''), + (10063, 11, 0, 0, 'achievement_quick_shave'), + (10063, 12, 1, 0, ''), + (10066, 11, 0, 0, 'achievement_iron_dwarf_medium_rare'), + (10066, 12, 0, 0, ''), + (10067, 11, 0, 0, 'achievement_iron_dwarf_medium_rare'), + (10067, 12, 1, 0, ''), + (10068, 11, 0, 0, 'achievement_ignis_shattered'), + (10068, 12, 0, 0, ''), + (10069, 11, 0, 0, 'achievement_ignis_shattered'), + (10069, 12, 1, 0, ''), + (10072, 12, 1, 0, ''), + (10073, 12, 0, 0, ''), + (10074, 11, 0, 0, 'achievement_xt002_nerf_engineering'), + (10074, 12, 0, 0, ''), + (10075, 11, 0, 0, 'achievement_xt002_nerf_engineering'), + (10075, 12, 1, 0, ''), + (10077, 11, 0, 0, 'achievement_xt002_nerf_gravity_bombs'), + (10077, 12, 0, 0, ''), + (10079, 11, 0, 0, 'achievement_xt002_nerf_gravity_bombs'), + (10079, 12, 1, 0, ''), + (10080, 12, 0, 0, ''), + (10081, 12, 1, 0, ''), + (10082, 11, 0, 0, 'achievement_assembly_runemaster'), + (10082, 12, 0, 0, ''), + (10083, 11, 0, 0, 'achievement_assembly_stormcaller'), + (10083, 12, 0, 0, ''), + (10084, 11, 0, 0, 'achievement_assembly_steelbreaker'), + (10084, 12, 0, 0, ''), + (10085, 11, 0, 0, 'achievement_assembly_runemaster'), + (10085, 12, 1, 0, ''), + (10086, 11, 0, 0, 'achievement_assembly_stormcaller'), + (10086, 12, 1, 0, ''), + (10087, 11, 0, 0, 'achievement_assembly_steelbreaker'), + (10087, 12, 1, 0, ''), + (10088, 5, 58501, 0, ''), + (10088, 11, 0, 0, 'achievement_but_im_on_your_side'), + (10088, 12, 0, 0, ''), + (10089, 5, 58501, 0, ''), + (10089, 11, 0, 0, 'achievement_but_im_on_your_side'), + (10089, 12, 1, 0, ''), + (10090, 11, 0, 0, 'achievement_cant_do_that_while_stunned'), + (10090, 12, 0, 0, ''), + (10091, 11, 0, 0, 'achievement_cant_do_that_while_stunned'), + (10091, 12, 1, 0, ''), + (10095, 11, 0, 0, 'achievement_kologarn_with_open_arms'), + (10095, 12, 1, 0, ''), + (10099, 11, 0, 0, 'achievement_kologarn_looks_could_kill'), + (10099, 12, 1, 0, ''), + (10133, 11, 0, 0, 'achievement_kologarn_rubble_and_roll'), + (10133, 12, 1, 0, ''), + (10173, 11, 0, 0, 'achievement_shadowdodger'), + (10173, 12, 0, 0, ''), + (10184, 11, 0, 0, 'achievement_auriaya_crazy_cat_lady'), + (10184, 12, 1, 0, ''), + (10185, 11, 0, 0, 'achievement_yogg_saron_drive_me_crazy'), + (10185, 12, 0, 0, ''), + (10187, 11, 0, 0, 'achievement_yogg_saron_kiss_and_make_up'), + (10187, 12, 0, 0, ''), + (10189, 11, 0, 0, 'achievement_yogg_saron_kiss_and_make_up'), + (10189, 12, 1, 0, ''), + (10218, 11, 0, 0, 'achievement_flame_leviathan_orbituary'), + (10218, 12, 0, 0, ''), + (10219, 11, 0, 0, 'achievement_flame_leviathan_orbituary'), + (10219, 12, 1, 0, ''), + (10220, 7, 64193, 1, ''), + (10220, 12, 1, 0, ''), + (10221, 7, 65737, 1, ''), + (10221, 12, 0, 0, ''), + (10223, 11, 0, 0, 'achievement_staying_buffed_all_winter_10'), + (10223, 12, 0, 0, ''), + (10224, 0, 0, 0, ''), + (10225, 0, 0, 0, ''), + (10226, 0, 0, 0, ''), + (10227, 0, 0, 0, ''), + (10228, 0, 0, 0, ''), + (10229, 11, 0, 0, 'achievement_staying_buffed_all_winter_25'), + (10229, 12, 1, 0, ''), + (10238, 11, 0, 0, 'achievement_staying_buffed_all_winter_25'), + (10238, 12, 1, 0, ''), + (10239, 11, 0, 0, 'achievement_staying_buffed_all_winter_25'), + (10239, 12, 1, 0, ''), + (10240, 11, 0, 0, 'achievement_staying_buffed_all_winter_10'), + (10240, 12, 0, 0, ''), + (10241, 11, 0, 0, 'achievement_staying_buffed_all_winter_10'), + (10241, 12, 0, 0, ''), + (10243, 11, 0, 0, 'achievement_auriaya_nine_lives'), + (10243, 12, 1, 0, ''), + (10247, 11, 0, 0, 'achievement_getting_cold_in_here'), + (10247, 12, 0, 0, ''), + (10248, 11, 0, 0, 'achievement_getting_cold_in_here'), + (10248, 12, 1, 0, ''), + (10258, 11, 0, 0, 'achievement_i_have_the_coolest_friends'), + (10258, 12, 0, 0, ''), + (10259, 11, 0, 0, 'achievement_cheese_the_freeze'), + (10259, 12, 0, 0, ''), + (10260, 11, 0, 0, 'achievement_i_have_the_coolest_friends'), + (10260, 12, 1, 0, ''), + (10261, 11, 0, 0, 'achievement_cheese_the_freeze'), + (10261, 12, 1, 0, ''), + (10279, 11, 0, 0, 'achievement_yogg_saron_alone_in_the_darkness'), + (10279, 12, 1, 0, ''), + (10284, 12, 0, 0, ''), + (10285, 11, 0, 0, 'achievement_kologarn_with_open_arms'), + (10285, 12, 0, 0, ''), + (10286, 11, 0, 0, 'achievement_kologarn_looks_could_kill'), + (10286, 12, 0, 0, ''), + (10287, 12, 0, 0, ''), + (10288, 12, 0, 0, ''), + (10289, 12, 0, 0, ''), + (10290, 11, 0, 0, 'achievement_kologarn_rubble_and_roll'), + (10290, 12, 0, 0, ''), + (10291, 12, 1, 0, ''), + (10292, 12, 0, 0, ''), + (10293, 12, 0, 0, ''), + (10294, 12, 1, 0, ''), + (10296, 11, 0, 0, 'achievement_yogg_saron_drive_me_crazy'), + (10296, 12, 1, 0, ''), + (10303, 12, 0, 0, ''), + (10304, 5, 62320, 0, ''), + (10304, 12, 0, 0, ''), + (10305, 11, 0, 0, 'achievement_thorim_stand_in_the_lightning'), + (10305, 12, 0, 0, ''), + (10306, 11, 0, 0, 'achievement_shadowdodger'), + (10306, 12, 1, 0, ''), + (10309, 11, 0, 0, 'achievement_thorim_stand_in_the_lightning'), + (10309, 12, 1, 0, ''), + (10310, 12, 1, 0, ''), + (10311, 12, 1, 0, ''), + (10312, 12, 1, 0, ''), + (10313, 5, 62320, 0, ''), + (10313, 12, 1, 0, ''), + (10314, 12, 1, 0, ''), + (10321, 11, 0, 0, 'achievement_yogg_saron_he_waits_dreaming_stormwind'), + (10321, 12, 1, 0, ''), + (10322, 11, 0, 0, 'achievement_yogg_saron_he_waits_dreaming_chamber'), + (10322, 12, 1, 0, ''), + (10323, 11, 0, 0, 'achievement_yogg_saron_he_waits_dreaming_icecrown'), + (10323, 12, 1, 0, ''), + (10324, 11, 0, 0, 'achievement_yogg_saron_he_waits_dreaming_stormwind'), + (10324, 12, 0, 0, ''), + (10325, 11, 0, 0, 'achievement_yogg_saron_he_waits_dreaming_chamber'), + (10325, 12, 0, 0, ''), + (10326, 11, 0, 0, 'achievement_yogg_saron_he_waits_dreaming_icecrown'), + (10326, 12, 0, 0, ''), + (10338, 12, 0, 0, ''), + (10339, 12, 1, 0, ''), + (10340, 12, 0, 0, ''), + (10340, 18, 0, 0, ''), + (10341, 12, 0, 0, ''), + (10341, 18, 0, 0, ''), + (10342, 12, 0, 0, ''), + (10342, 18, 0, 0, ''), + (10347, 12, 0, 0, ''), + (10347, 18, 0, 0, ''), + (10348, 12, 0, 0, ''), + (10348, 18, 0, 0, ''), + (10349, 12, 0, 0, ''), + (10349, 18, 0, 0, ''), + (10350, 12, 0, 0, ''), + (10350, 18, 0, 0, ''), + (10351, 12, 0, 0, ''), + (10351, 18, 0, 0, ''), + (10352, 12, 1, 0, ''), + (10352, 18, 0, 0, ''), + (10353, 12, 1, 0, ''), + (10353, 18, 0, 0, ''), + (10354, 12, 1, 0, ''), + (10354, 18, 0, 0, ''), + (10355, 12, 1, 0, ''), + (10355, 18, 0, 0, ''), + (10357, 12, 1, 0, ''), + (10357, 18, 0, 0, ''), + (10361, 12, 1, 0, ''), + (10361, 18, 0, 0, ''), + (10362, 12, 1, 0, ''), + (10362, 18, 0, 0, ''), + (10363, 12, 1, 0, ''), + (10363, 18, 0, 0, ''), + (10364, 12, 1, 0, ''), + (10364, 18, 0, 0, ''), + (10388, 11, 0, 0, 'achievement_yogg_saron_two_lights_in_the_darkness'), + (10388, 12, 0, 0, ''), + (10391, 5, 58818, 0, ''), + (10391, 16, 201, 0, ''), + (10394, 12, 1, 0, ''), + (10395, 12, 1, 0, ''), + (10396, 12, 0, 0, ''), + (10397, 12, 0, 0, ''), + (10399, 11, 0, 0, 'achievement_auriaya_nine_lives'), + (10399, 12, 0, 0, ''), + (10400, 11, 0, 0, 'achievement_auriaya_crazy_cat_lady'), + (10400, 12, 0, 0, ''), + (10401, 12, 0, 0, ''), + (10402, 12, 1, 0, ''), + (10403, 12, 0, 0, ''), + (10403, 18, 0, 0, ''), + (10404, 12, 1, 0, ''), + (10404, 18, 0, 0, ''), + (10405, 12, 1, 0, ''), + (10406, 12, 0, 0, ''), + (10408, 12, 0, 0, ''), + (10409, 11, 0, 0, 'achievement_yogg_saron_one_light_in_the_darkness'), + (10409, 12, 0, 0, ''), + (10410, 11, 0, 0, 'achievement_yogg_saron_three_lights_in_the_darkness'), + (10410, 12, 0, 0, ''), + (10412, 11, 0, 0, 'achievement_yogg_saron_alone_in_the_darkness'), + (10412, 12, 0, 0, ''), + (10414, 11, 0, 0, 'achievement_yogg_saron_three_lights_in_the_darkness'), + (10414, 12, 1, 0, ''), + (10415, 11, 0, 0, 'achievement_yogg_saron_two_lights_in_the_darkness'), + (10415, 12, 1, 0, ''), + (10416, 11, 0, 0, 'achievement_yogg_saron_one_light_in_the_darkness'), + (10416, 12, 1, 0, ''), + (10417, 11, 0, 0, 'achievement_yogg_saron_alone_in_the_darkness'), + (10417, 12, 1, 0, ''), + (10418, 5, 58501, 0, ''), + (10418, 11, 0, 0, 'achievement_but_im_on_your_side'), + (10418, 12, 0, 0, ''), + (10419, 5, 58501, 0, ''), + (10419, 11, 0, 0, 'achievement_but_im_on_your_side'), + (10419, 12, 0, 0, ''), + (10420, 5, 58501, 0, ''), + (10420, 11, 0, 0, 'achievement_but_im_on_your_side'), + (10420, 12, 1, 0, ''), + (10421, 5, 58501, 0, ''), + (10421, 11, 0, 0, 'achievement_but_im_on_your_side'), + (10421, 12, 1, 0, ''), + (10422, 11, 0, 0, 'achievement_cant_do_that_while_stunned'), + (10422, 12, 0, 0, ''), + (10423, 11, 0, 0, 'achievement_cant_do_that_while_stunned'), + (10423, 12, 0, 0, ''), + (10424, 11, 0, 0, 'achievement_cant_do_that_while_stunned'), + (10424, 12, 1, 0, ''), + (10425, 11, 0, 0, 'achievement_cant_do_that_while_stunned'), + (10425, 12, 1, 0, ''), + (10430, 12, 0, 0, ''), + (10431, 12, 1, 0, ''), + (10438, 12, 0, 0, ''), + (10439, 12, 0, 0, ''), + (10439, 18, 0, 0, ''), + (10440, 11, 0, 0, 'achievement_thorim_lose_your_illusion'), + (10440, 12, 0, 0, ''), + (10441, 1, 2784, 0, ''), + (10441, 16, 141, 0, ''), + (10442, 1, 2784, 0, ''), + (10442, 16, 141, 0, ''), + (10443, 1, 2784, 0, ''), + (10443, 16, 141, 0, ''), + (10444, 12, 0, 0, ''), + (10445, 11, 0, 0, 'achievement_freya_getting_back_to_nature'), + (10445, 12, 0, 0, ''), + (10446, 12, 0, 0, ''), + (10447, 11, 0, 0, 'achievement_freya_knock_on_wood'), + (10447, 12, 0, 0, ''), + (10448, 11, 0, 0, 'achievement_freya_knock_knock_on_wood'), + (10448, 12, 0, 0, ''), + (10449, 11, 0, 0, 'achievement_freya_knock_knock_knock_on_wood'), + (10449, 12, 0, 0, ''), + (10450, 11, 0, 0, 'achievement_mimiron_firefighter'), + (10450, 12, 0, 0, ''), + (10451, 11, 0, 0, 'achievement_smell_saronite'), + (10451, 12, 0, 0, ''), + (10452, 11, 0, 0, 'achievement_i_could_say_that_this_cache_was_rare'), + (10452, 12, 0, 0, ''), + (10453, 12, 1, 0, ''), + (10454, 12, 1, 0, ''), + (10455, 12, 1, 0, ''), + (10456, 12, 1, 0, ''), + (10457, 11, 0, 0, 'achievement_thorim_lose_your_illusion'), + (10457, 12, 1, 0, ''), + (10458, 11, 0, 0, 'achievement_i_could_say_that_this_cache_was_rare'), + (10458, 12, 1, 0, ''), + (10459, 11, 0, 0, 'achievement_freya_knock_on_wood'), + (10459, 12, 1, 0, ''), + (10460, 11, 0, 0, 'achievement_freya_knock_knock_on_wood'), + (10460, 12, 1, 0, ''), + (10461, 11, 0, 0, 'achievement_freya_knock_knock_knock_on_wood'), + (10461, 12, 1, 0, ''), + (10462, 11, 0, 0, 'achievement_smell_saronite'), + (10462, 12, 1, 0, ''), + (10463, 11, 0, 0, 'achievement_mimiron_firefighter'), + (10463, 12, 1, 0, ''), + (10542, 12, 1, 0, ''), + (10543, 11, 0, 0, 'achievement_mimiron_set_up_us_the_bomb_11'), + (10543, 12, 0, 0, ''), + (10544, 11, 0, 0, 'achievement_mimiron_set_up_us_the_bomb_13'), + (10544, 12, 0, 0, ''), + (10545, 11, 0, 0, 'achievement_mimiron_set_up_us_the_bomb_12'), + (10545, 12, 0, 0, ''), + (10546, 11, 0, 0, 'achievement_mimiron_set_up_us_the_bomb_11'), + (10546, 12, 1, 0, ''), + (10547, 11, 0, 0, 'achievement_mimiron_set_up_us_the_bomb_13'), + (10547, 12, 1, 0, ''), + (10548, 11, 0, 0, 'achievement_mimiron_set_up_us_the_bomb_12'), + (10548, 12, 1, 0, ''), + (10558, 12, 0, 0, ''), + (10559, 12, 0, 0, ''), + (10560, 12, 0, 0, ''), + (10561, 12, 1, 0, ''), + (10562, 12, 1, 0, ''), + (10563, 12, 1, 0, ''), + (10565, 12, 0, 0, ''), + (10566, 12, 1, 0, ''), + (10567, 12, 0, 0, ''), + (10568, 11, 0, 0, 'achievement_algalon_he_feeds_on_your_tears'), + (10568, 12, 0, 0, ''), + (10569, 12, 1, 0, ''), + (10570, 11, 0, 0, 'achievement_algalon_he_feeds_on_your_tears'), + (10570, 12, 1, 0, ''), + (10578, 12, 0, 0, ''), + (10579, 12, 1, 0, ''), + (10580, 12, 0, 0, ''), + (10581, 12, 1, 0, ''), + (10582, 12, 0, 0, ''), + (10582, 18, 0, 0, ''), + (10583, 12, 1, 0, ''), + (10583, 18, 0, 0, ''), + (10598, 12, 0, 0, ''), + (10598, 18, 0, 0, ''), + (10599, 12, 1, 0, ''), + (10599, 18, 0, 0, ''), + (10619, 1, 33142, 0, ''), + (10619, 12, 0, 0, ''), + (10620, 1, 33142, 0, ''), + (10620, 12, 1, 0, ''), + (10678, 11, 0, 0, 'achievement_algalon_herald_of_the_titans'), + (10678, 12, 0, 0, ''), + (10698, 12, 1, 0, ''), + (10718, 23, 157, 0, ''), + (10719, 12, 1, 0, ''), + (10719, 18, 0, 0, ''), + (10720, 12, 0, 0, ''), + (10721, 12, 1, 0, ''), + (10722, 12, 1, 0, ''), + (10742, 0, 0, 0, ''), + (10758, 11, 0, 0, 'achievement_freya_getting_back_to_nature'), + (10758, 12, 1, 0, ''), + (10780, 12, 0, 0, ''), + (10781, 12, 0, 0, ''), + (10782, 12, 1, 0, ''), + (10783, 12, 1, 0, ''), + (10784, 12, 0, 0, ''), + (10785, 12, 0, 0, ''), + (10786, 12, 0, 0, ''), + (10787, 12, 0, 0, ''), + (10788, 12, 1, 0, ''), + (10789, 12, 1, 0, ''), + (10790, 12, 1, 0, ''), + (10791, 12, 1, 0, ''), + (10792, 12, 0, 0, ''), + (10793, 12, 0, 0, ''), + (10794, 12, 1, 0, ''), + (10795, 12, 1, 0, ''), + (10796, 12, 0, 0, ''), + (10797, 12, 0, 0, ''), + (10798, 12, 1, 0, ''), + (10799, 12, 1, 0, ''), + (10800, 12, 0, 0, ''), + (10801, 12, 1, 0, ''), + (10802, 12, 0, 0, ''), + (10803, 12, 0, 0, ''), + (10804, 12, 0, 0, ''), + (10805, 12, 1, 0, ''), + (10806, 12, 1, 0, ''), + (10807, 12, 1, 0, ''), + (10808, 12, 0, 0, ''), + (10809, 12, 1, 0, ''), + (10810, 12, 0, 0, ''), + (10811, 12, 1, 0, ''), + (10812, 12, 0, 0, ''), + (10813, 12, 1, 0, ''), + (10814, 12, 0, 0, ''), + (10815, 12, 0, 0, ''), + (10816, 12, 1, 0, ''), + (10817, 12, 0, 0, ''), + (10818, 12, 1, 0, ''), + (10819, 12, 1, 0, ''), + (10858, 12, 0, 0, ''), + (10860, 12, 1, 0, ''), + (10878, 23, 177, 0, ''), + (10879, 23, 169, 0, ''), + (10881, 23, 167, 0, ''), + (10882, 12, 1, 0, ''), + (10898, 23, 167, 0, ''), + (10918, 0, 0, 0, ''), + (10919, 0, 0, 0, ''), + (11078, 6, 1657, 0, ''), + (11079, 6, 809, 0, ''), + (11080, 6, 3557, 0, ''), + (11081, 6, 12, 0, ''), + (11082, 6, 14, 0, ''), + (11083, 6, 3470, 0, ''), + (11084, 6, 1638, 0, ''), + (11085, 6, 1497, 0, ''), + (11086, 16, 404, 0, ''), + (11088, 16, 404, 0, ''), + (11089, 16, 404, 0, ''), + (11090, 16, 404, 0, ''), + (11118, 14, 469, 0, ''), + (11119, 14, 469, 0, ''), + (11120, 14, 469, 0, ''), + (11121, 14, 469, 0, ''), + (11122, 14, 469, 0, ''), + (11123, 14, 67, 0, ''), + (11124, 14, 67, 0, ''), + (11125, 14, 67, 0, ''), + (11126, 14, 67, 0, ''), + (11127, 14, 67, 0, ''), + (11128, 16, 404, 0, ''), + (11134, 6, 14, 0, ''), + (11134, 11, 0, 0, 'achievement_pb_pilgrims_peril'), + (11135, 6, 3470, 0, ''), + (11135, 11, 0, 0, 'achievement_pb_pilgrims_peril'), + (11136, 6, 1638, 0, ''), + (11136, 11, 0, 0, 'achievement_pb_pilgrims_peril'), + (11137, 6, 1497, 0, ''), + (11137, 11, 0, 0, 'achievement_pb_pilgrims_peril'), + (11138, 6, 3557, 0, ''), + (11138, 11, 0, 0, 'achievement_pb_pilgrims_peril'), + (11139, 6, 1657, 0, ''), + (11139, 11, 0, 0, 'achievement_pb_pilgrims_peril'), + (11140, 6, 809, 0, ''), + (11140, 11, 0, 0, 'achievement_pb_pilgrims_peril'), + (11141, 6, 12, 0, ''), + (11141, 11, 0, 0, 'achievement_pb_pilgrims_peril'), + (11142, 11, 0, 0, 'achievement_pb_terokkar_turkey_time'), + (11158, 2, 4, 1, ''), + (11159, 2, 4, 4, ''), + (11160, 2, 4, 2, ''), + (11161, 2, 4, 8, ''), + (11162, 2, 4, 5, ''), + (11163, 2, 4, 10, ''), + (11164, 2, 4, 3, ''), + (11165, 2, 4, 7, ''), + (11167, 16, 404, 0, ''), + (11168, 16, 404, 0, ''), + (11178, 16, 404, 0, ''), + (11179, 16, 404, 0, ''), + (11180, 16, 404, 0, ''), + (11181, 16, 404, 0, ''), + (11358, 0, 0, 0, ''), + (11402, 23, 169, 0, ''), + (11418, 0, 0, 0, ''), + (11419, 0, 0, 0, ''), + (11420, 7, 62594, 0, ''), + (11420, 12, 0, 0, ''), + (11478, 12, 0, 0, ''), + (11479, 12, 1, 0, ''), + (11487, 0, 0, 0, ''), + (11488, 0, 0, 0, ''), + (11491, 0, 0, 0, ''), + (11492, 0, 0, 0, ''), + (11493, 0, 0, 0, ''), + (11494, 0, 0, 0, ''), + (11495, 0, 0, 0, ''), + (11497, 1, 35273, 0, ''), + (11498, 1, 34775, 0, ''), + (11500, 1, 34793, 0, ''), + (11501, 1, 35069, 0, ''), + (11542, 12, 3, 0, ''), + (11546, 12, 3, 0, ''), + (11547, 12, 3, 0, ''), + (11549, 12, 3, 0, ''), + (11559, 12, 0, 0, ''), + (11560, 12, 0, 0, ''), + (11561, 12, 0, 0, ''), + (11678, 12, 3, 0, ''), + (11679, 12, 1, 0, ''), + (11680, 12, 1, 0, ''), + (11681, 12, 1, 0, ''), + (11682, 12, 1, 0, ''), + (11683, 12, 1, 0, ''), + (11684, 12, 0, 0, ''), + (11685, 12, 0, 0, ''), + (11686, 12, 0, 0, ''), + (11687, 12, 0, 0, ''), + (11688, 12, 0, 0, ''), + (11689, 12, 2, 0, ''), + (11690, 12, 2, 0, ''), + (11691, 12, 2, 0, ''), + (11692, 12, 2, 0, ''), + (11693, 12, 2, 0, ''), + (11718, 0, 0, 0, ''), + (11719, 0, 0, 0, ''), + (11778, 12, 0, 0, ''), + (11779, 12, 0, 0, ''), + (11779, 18, 0, 0, ''), + (11780, 12, 1, 0, ''), + (11780, 18, 0, 0, ''), + (11789, 12, 1, 0, ''), + (11789, 18, 0, 0, ''), + (11799, 12, 1, 0, ''), + (11800, 12, 3, 0, ''), + (11801, 12, 3, 0, ''), + (11801, 18, 0, 0, ''), + (11802, 12, 2, 0, ''), + (11802, 18, 0, 0, ''), + (11803, 12, 0, 0, ''), + (11804, 12, 2, 0, ''), + (11818, 12, 1, 0, ''), + (11838, 12, 0, 0, ''), + (11838, 18, 0, 0, ''), + (11839, 12, 1, 0, ''), + (11839, 18, 0, 0, ''), + (11858, 12, 1, 0, ''), + (11860, 12, 3, 0, ''), + (11861, 12, 2, 0, ''), + (11861, 18, 0, 0, ''), + (11862, 12, 3, 0, ''), + (11862, 18, 0, 0, ''), + (11863, 12, 1, 0, ''), + (11863, 18, 0, 0, ''), + (11882, 12, 0, 0, ''), + (11902, 12, 0, 0, ''), + (11903, 12, 1, 0, ''), + (11904, 12, 1, 0, ''), + (11904, 18, 0, 0, ''), + (11905, 12, 1, 0, ''), + (11905, 18, 0, 0, ''), + (11906, 12, 1, 0, ''), + (11906, 18, 0, 0, ''), + (11907, 12, 1, 0, ''), + (11907, 18, 0, 0, ''), + (11908, 12, 1, 0, ''), + (11908, 18, 0, 0, ''), + (11909, 12, 1, 0, ''), + (11909, 18, 0, 0, ''), + (11910, 12, 1, 0, ''), + (11910, 18, 0, 0, ''), + (11911, 12, 1, 0, ''), + (11911, 18, 0, 0, ''), + (11912, 12, 1, 0, ''), + (11912, 18, 0, 0, ''), + (11913, 12, 1, 0, ''), + (11913, 18, 0, 0, ''), + (11914, 12, 1, 0, ''), + (11914, 18, 0, 0, ''), + (11915, 12, 1, 0, ''), + (11915, 18, 0, 0, ''), + (11916, 12, 1, 0, ''), + (11916, 18, 0, 0, ''), + (11917, 12, 1, 0, ''), + (11917, 18, 0, 0, ''), + (11918, 12, 1, 0, ''), + (11918, 18, 0, 0, ''), + (11919, 12, 1, 0, ''), + (11919, 18, 0, 0, ''), + (11920, 12, 1, 0, ''), + (11920, 18, 0, 0, ''), + (11921, 12, 1, 0, ''), + (11921, 18, 0, 0, ''), + (11922, 12, 1, 0, ''), + (11922, 18, 0, 0, ''), + (11923, 12, 1, 0, ''), + (11923, 18, 0, 0, ''), + (11924, 12, 1, 0, ''), + (11924, 18, 0, 0, ''), + (11925, 12, 1, 0, ''), + (11925, 18, 0, 0, ''), + (11926, 12, 1, 0, ''), + (11926, 18, 0, 0, ''), + (11927, 12, 1, 0, ''), + (11927, 18, 0, 0, ''), + (11959, 0, 0, 0, ''), + (12018, 12, 0, 0, ''), + (12018, 18, 0, 0, ''), + (12019, 12, 1, 0, ''), + (12019, 18, 0, 0, ''), + (12059, 0, 0, 0, ''), + (12060, 11, 0, 0, 'achievement_bg_ic_resource_glut'), + (12061, 11, 0, 0, 'achievement_bg_ic_resource_glut'), + (12062, 11, 0, 0, 'achievement_bg_control_all_nodes'), + (12063, 11, 0, 0, 'achievement_bg_control_all_nodes'), + (12064, 11, 0, 0, 'achievement_bg_control_all_nodes'), + (12065, 11, 0, 0, 'achievement_bg_control_all_nodes'), + (12066, 0, 0, 0, ''), + (12067, 0, 0, 0, ''), + (12068, 11, 0, 0, 'achievement_bg_ic_mowed_down'), + (12114, 0, 0, 0, ''), + (12116, 0, 0, 0, ''), + (12132, 20, 628, 0, ''), + (12163, 0, 0, 0, ''), + (12178, 1, 34802, 0, ''), + (12179, 1, 34775, 0, ''), + (12181, 1, 34793, 0, ''), + (12182, 1, 34776, 0, ''), + (12183, 11, 0, 0, 'achievement_bg_ic_glaive_grave'), + (12198, 0, 0, 0, ''), + (12199, 0, 0, 0, ''), + (12200, 0, 0, 0, ''), + (12201, 12, 0, 0, ''), + (12202, 0, 0, 0, ''), + (12203, 0, 0, 0, ''), + (12204, 0, 0, 0, ''), + (12205, 0, 0, 0, ''), + (12206, 12, 1, 0, ''), + (12207, 0, 0, 0, ''), + (12208, 0, 0, 0, ''), + (12209, 12, 1, 0, ''), + (12210, 12, 2, 0, ''), + (12211, 12, 3, 0, ''), + (12212, 12, 0, 0, ''), + (12213, 12, 1, 0, ''), + (12214, 12, 3, 0, ''), + (12215, 12, 2, 0, ''), + (12216, 12, 0, 0, ''), + (12217, 12, 1, 0, ''), + (12218, 12, 2, 0, ''), + (12219, 12, 3, 0, ''), + (12220, 12, 0, 0, ''), + (12221, 12, 2, 0, ''), + (12222, 12, 1, 0, ''), + (12223, 12, 3, 0, ''), + (12224, 12, 0, 0, ''), + (12225, 12, 1, 0, ''), + (12226, 12, 2, 0, ''), + (12227, 12, 3, 0, ''), + (12228, 12, 0, 0, ''), + (12229, 12, 0, 0, ''), + (12230, 12, 1, 0, ''), + (12231, 12, 1, 0, ''), + (12232, 12, 0, 0, ''), + (12233, 12, 0, 0, ''), + (12234, 12, 1, 0, ''), + (12235, 12, 1, 0, ''), + (12236, 12, 0, 0, ''), + (12237, 12, 2, 0, ''), + (12238, 12, 1, 0, ''), + (12239, 12, 3, 0, ''), + (12240, 12, 0, 0, ''), + (12241, 12, 0, 0, ''), + (12242, 12, 1, 0, ''), + (12243, 12, 1, 0, ''), + (12244, 12, 0, 0, ''), + (12245, 12, 0, 0, ''), + (12246, 12, 1, 0, ''), + (12247, 12, 1, 0, ''), + (12258, 12, 2, 0, ''), + (12278, 12, 1, 0, ''), + (12279, 12, 3, 0, ''), + (12280, 12, 0, 0, ''), + (12281, 12, 2, 0, ''), + (12298, 7, 63427, 0, ''), + (12298, 12, 0, 0, ''), + (12299, 7, 63423, 0, ''), + (12299, 12, 0, 0, ''), + (12300, 7, 63396, 0, ''), + (12300, 12, 0, 0, ''), + (12301, 7, 63406, 0, ''), + (12301, 12, 0, 0, ''), + (12302, 7, 63433, 0, ''), + (12302, 12, 0, 0, ''), + (12303, 7, 63430, 0, ''), + (12303, 12, 0, 0, ''), + (12304, 7, 63436, 0, ''), + (12304, 12, 0, 0, ''), + (12305, 7, 63403, 0, ''), + (12305, 12, 0, 0, ''), + (12306, 7, 63399, 0, ''), + (12306, 12, 0, 0, ''), + (12307, 12, 0, 0, ''), + (12308, 12, 0, 0, ''), + (12309, 12, 0, 0, ''), + (12310, 7, 62594, 0, ''), + (12310, 12, 1, 0, ''), + (12311, 7, 63427, 0, ''), + (12311, 12, 1, 0, ''), + (12312, 7, 63423, 0, ''), + (12312, 12, 1, 0, ''), + (12313, 7, 63396, 0, ''), + (12313, 12, 1, 0, ''), + (12314, 7, 63406, 0, ''), + (12314, 12, 1, 0, ''), + (12315, 12, 1, 0, ''), + (12316, 12, 1, 0, ''), + (12317, 12, 1, 0, ''), + (12318, 7, 63433, 0, ''), + (12318, 12, 1, 0, ''), + (12319, 7, 63430, 0, ''), + (12319, 12, 1, 0, ''), + (12320, 7, 63436, 0, ''), + (12320, 12, 1, 0, ''), + (12321, 7, 63403, 0, ''), + (12321, 12, 1, 0, ''), + (12322, 7, 63399, 0, ''), + (12322, 12, 1, 0, ''), + (12323, 12, 1, 0, ''), + (12324, 12, 1, 0, ''), + (12338, 12, 3, 0, ''), + (12338, 18, 0, 0, ''), + (12341, 12, 3, 0, ''), + (12341, 18, 0, 0, ''), + (12343, 12, 3, 0, ''), + (12343, 18, 0, 0, ''), + (12344, 12, 2, 0, ''), + (12344, 18, 0, 0, ''), + (12347, 12, 2, 0, ''), + (12347, 18, 0, 0, ''), + (12349, 12, 2, 0, ''), + (12349, 18, 0, 0, ''), + (12350, 12, 3, 0, ''), + (12350, 18, 0, 0, ''), + (12358, 12, 3, 0, ''), + (12358, 18, 0, 0, ''), + (12359, 12, 3, 0, ''), + (12359, 18, 0, 0, ''), + (12360, 12, 2, 0, ''), + (12360, 18, 0, 0, ''), + (12398, 5, 58818, 0, ''), + (12398, 16, 201, 0, ''), + (12439, 12, 1, 0, ''), + (12519, 12, 1, 0, ''), + (12538, 12, 0, 0, ''), + (12539, 12, 1, 0, ''), + (12540, 12, 0, 0, ''), + (12541, 12, 1, 0, ''), + (12542, 12, 0, 0, ''), + (12543, 12, 1, 0, ''), + (12544, 12, 0, 0, ''), + (12545, 12, 1, 0, ''), + (12546, 12, 0, 0, ''), + (12547, 12, 1, 0, ''), + (12548, 12, 0, 0, ''), + (12549, 12, 1, 0, ''), + (12550, 12, 0, 0, ''), + (12551, 12, 1, 0, ''), + (12552, 12, 0, 0, ''), + (12553, 12, 1, 0, ''), + (12558, 12, 0, 0, ''), + (12559, 12, 1, 0, ''), + (12562, 22, 5, 0, ''), + (12564, 12, 0, 0, ''), + (12565, 12, 0, 0, ''), + (12565, 18, 0, 0, ''), + (12566, 12, 0, 0, ''), + (12566, 18, 0, 0, ''), + (12567, 12, 1, 0, ''), + (12568, 12, 1, 0, ''), + (12568, 18, 0, 0, ''), + (12569, 12, 1, 0, ''), + (12569, 18, 0, 0, ''), + (12578, 2, 0, 0, ''), + (12579, 20, 628, 0, ''), + (12658, 1, 4949, 0, ''), + (12659, 1, 10540, 0, ''), + (12660, 1, 16802, 0, ''), + (12661, 1, 10181, 0, ''), + (12662, 1, 3057, 0, ''), + (12663, 1, 29611, 0, ''), + (12664, 1, 2784, 0, ''), + (12665, 1, 7937, 0, ''), + (12666, 1, 7999, 0, ''), + (12667, 1, 17468, 0, ''), + (12678, 12, 0, 0, ''), + (12679, 12, 0, 0, ''), + (12680, 12, 0, 0, ''), + (12681, 12, 0, 0, ''), + (12682, 12, 0, 0, ''), + (12683, 12, 0, 0, ''), + (12684, 12, 0, 0, ''), + (12685, 12, 0, 0, ''), + (12686, 12, 0, 0, ''), + (12687, 12, 0, 0, ''), + (12688, 12, 0, 0, ''), + (12689, 12, 0, 0, ''), + (12738, 12, 0, 0, ''), + (12739, 12, 0, 0, ''), + (12740, 12, 0, 0, ''), + (12741, 12, 0, 0, ''), + (12742, 12, 0, 0, ''), + (12743, 12, 0, 0, ''), + (12744, 12, 0, 0, ''), + (12745, 12, 1, 0, ''), + (12746, 12, 1, 0, ''), + (12747, 12, 1, 0, ''), + (12748, 12, 1, 0, ''), + (12749, 12, 1, 0, ''), + (12750, 12, 1, 0, ''), + (12751, 12, 1, 0, ''), + (12752, 12, 1, 0, ''), + (12752, 18, 0, 0, ''), + (12756, 12, 1, 0, ''), + (12757, 12, 0, 0, ''), + (12758, 12, 0, 0, ''), + (12759, 12, 0, 0, ''), + (12760, 12, 0, 0, ''), + (12761, 12, 0, 0, ''), + (12762, 12, 0, 0, ''), + (12763, 12, 0, 0, ''), + (12764, 12, 0, 0, ''), + (12770, 12, 0, 0, ''), + (12771, 12, 0, 0, ''), + (12772, 12, 0, 0, ''), + (12773, 12, 0, 0, ''), + (12775, 12, 0, 0, ''), + (12775, 18, 0, 0, ''), + (12776, 12, 0, 0, ''), + (12777, 11, 0, 0, 'achievement_im_on_a_boat'), + (12777, 12, 0, 0, ''), + (12778, 11, 0, 0, 'achievement_ive_gone_and_made_a_mess'), + (12778, 12, 0, 0, ''), + (12780, 11, 0, 0, 'achievement_once_bitten_twice_shy_n_10'), + (12798, 12, 1, 0, ''), + (12799, 12, 1, 0, ''), + (12800, 12, 1, 0, ''), + (12801, 12, 1, 0, ''), + (12802, 12, 1, 0, ''), + (12803, 12, 1, 0, ''), + (12804, 12, 1, 0, ''), + (12805, 12, 1, 0, ''), + (12806, 12, 1, 0, ''), + (12807, 12, 1, 0, ''), + (12808, 12, 1, 0, ''), + (12809, 12, 1, 0, ''), + (12818, 12, 3, 0, ''), + (12822, 11, 0, 0, 'achievement_all_you_can_eat'), + (12822, 12, 0, 0, ''), + (12823, 11, 0, 0, 'achievement_neck_deep_in_vile'), + (12823, 12, 0, 0, ''), + (12825, 12, 2, 0, ''), + (12826, 12, 3, 0, ''), + (12827, 12, 0, 0, ''), + (12828, 12, 1, 0, ''), + (12846, 0, 0, 0, ''), + (12859, 1, 9099, 0, ''), + (12859, 5, 70233, 0, ''), + (12859, 15, 3, 0, ''), + (12909, 12, 1, 0, ''), + (12912, 23, 177, 0, ''), + (12945, 12, 1, 0, ''), + (12946, 12, 1, 0, ''), + (12947, 12, 1, 0, ''), + (12948, 12, 1, 0, ''), + (12949, 12, 1, 0, ''), + (12950, 12, 1, 0, ''), + (12951, 12, 1, 0, ''), + (12952, 12, 1, 0, ''), + (12953, 12, 1, 0, ''), + (12954, 12, 1, 0, ''), + (12955, 12, 1, 0, ''), + (12962, 12, 1, 0, ''), + (12962, 18, 0, 0, ''), + (12966, 12, 1, 0, ''), + (12966, 18, 0, 0, ''), + (12967, 11, 0, 0, 'achievement_flu_shot_shortage'), + (12967, 12, 1, 0, ''), + (12968, 12, 1, 0, ''), + (12968, 18, 0, 0, ''), + (12969, 12, 1, 0, ''), + (12969, 18, 0, 0, ''), + (12971, 11, 0, 0, 'achievement_portal_jockey'), + (12971, 12, 1, 0, ''), + (12972, 11, 0, 0, 'achievement_all_you_can_eat'), + (12972, 12, 1, 0, ''), + (12976, 12, 1, 0, ''), + (12976, 18, 0, 0, ''), + (12977, 11, 0, 0, 'achievement_flu_shot_shortage'), + (12977, 12, 0, 0, ''), + (12978, 11, 0, 0, 'achievement_portal_jockey'), + (12978, 12, 0, 0, ''), + (12979, 11, 0, 0, 'achievement_portal_jockey'), + (12979, 12, 2, 0, ''), + (12980, 11, 0, 0, 'achievement_portal_jockey'), + (12980, 12, 3, 0, ''), + (12981, 12, 3, 0, ''), + (12981, 18, 0, 0, ''), + (12982, 11, 0, 0, 'achievement_flu_shot_shortage'), + (12982, 12, 3, 0, ''), + (12983, 12, 3, 0, ''), + (12983, 18, 0, 0, ''), + (12984, 12, 0, 0, ''), + (12984, 18, 0, 0, ''), + (12985, 12, 2, 0, ''), + (12985, 18, 0, 0, ''), + (12986, 11, 0, 0, 'achievement_flu_shot_shortage'), + (12986, 12, 2, 0, ''), + (12987, 12, 0, 0, ''), + (12987, 18, 0, 0, ''), + (12988, 12, 2, 0, ''), + (12988, 18, 0, 0, ''), + (12989, 11, 0, 0, 'achievement_all_you_can_eat'), + (12989, 12, 3, 0, ''), + (12990, 12, 0, 0, ''), + (12991, 12, 1, 0, ''), + (12992, 0, 0, 0, ''), + (12993, 12, 1, 0, ''), + (12993, 18, 0, 0, ''), + (12994, 12, 1, 0, ''), + (12995, 12, 2, 0, ''), + (12996, 11, 0, 0, 'achievement_all_you_can_eat'), + (12996, 12, 2, 0, ''), + (12997, 12, 1, 0, ''), + (12998, 12, 3, 0, ''), + (12999, 23, 169, 0, ''), + (13000, 23, 177, 0, ''), + (13001, 23, 167, 0, ''), + (13002, 23, 169, 0, ''), + (13003, 23, 177, 0, ''), + (13004, 23, 167, 0, ''), + (13005, 23, 177, 0, ''), + (13006, 23, 45, 0, ''), + (13007, 23, 169, 0, ''), + (13011, 11, 0, 0, 'achievement_once_bitten_twice_shy_v_10'), + (13012, 11, 0, 0, 'achievement_once_bitten_twice_shy_n_25'), + (13013, 11, 0, 0, 'achievement_once_bitten_twice_shy_v_25'), + (13032, 12, 3, 0, ''), + (13032, 18, 0, 0, ''), + (13033, 12, 0, 0, ''), + (13033, 18, 0, 0, ''), + (13034, 12, 2, 0, ''), + (13034, 18, 0, 0, ''), + (13035, 11, 0, 0, 'achievement_ive_gone_and_made_a_mess'), + (13035, 12, 2, 0, ''), + (13036, 11, 0, 0, 'achievement_ive_gone_and_made_a_mess'), + (13036, 12, 1, 0, ''), + (13037, 11, 0, 0, 'achievement_ive_gone_and_made_a_mess'), + (13037, 12, 3, 0, ''), + (13039, 12, 2, 0, ''), + (13040, 12, 2, 0, ''), + (13041, 12, 2, 0, ''), + (13042, 12, 2, 0, ''), + (13043, 12, 2, 0, ''), + (13044, 12, 2, 0, ''), + (13045, 12, 2, 0, ''), + (13046, 12, 2, 0, ''), + (13047, 12, 2, 0, ''), + (13048, 12, 2, 0, ''), + (13049, 12, 2, 0, ''), + (13050, 12, 3, 0, ''), + (13051, 12, 3, 0, ''), + (13052, 12, 3, 0, ''), + (13053, 12, 3, 0, ''), + (13054, 12, 3, 0, ''), + (13055, 12, 3, 0, ''), + (13056, 12, 3, 0, ''), + (13057, 12, 3, 0, ''), + (13058, 12, 3, 0, ''), + (13059, 12, 3, 0, ''), + (13060, 12, 3, 0, ''), + (13079, 11, 0, 0, 'achievement_im_on_a_boat'), + (13079, 12, 2, 0, ''), + (13080, 11, 0, 0, 'achievement_im_on_a_boat'), + (13080, 12, 1, 0, ''), + (13081, 11, 0, 0, 'achievement_im_on_a_boat'), + (13081, 12, 3, 0, ''), + (13089, 12, 0, 0, ''), + (13090, 12, 2, 0, ''), + (13091, 12, 3, 0, ''), + (13092, 12, 1, 0, ''), + (13093, 12, 0, 0, ''), + (13094, 12, 0, 0, ''), + (13095, 12, 0, 0, ''), + (13096, 12, 0, 0, ''), + (13097, 12, 0, 0, ''), + (13098, 12, 0, 0, ''), + (13099, 12, 0, 0, ''), + (13100, 12, 0, 0, ''), + (13101, 12, 0, 0, ''), + (13102, 12, 0, 0, ''), + (13103, 12, 0, 0, ''), + (13104, 12, 2, 0, ''), + (13105, 12, 1, 0, ''), + (13106, 12, 3, 0, ''), + (13107, 12, 0, 0, ''), + (13108, 12, 1, 0, ''), + (13109, 12, 2, 0, ''), + (13110, 12, 2, 0, ''), + (13111, 12, 3, 0, ''), + (13112, 12, 2, 0, ''), + (13113, 12, 2, 0, ''), + (13114, 12, 3, 0, ''), + (13115, 12, 1, 0, ''), + (13116, 12, 2, 0, ''), + (13117, 12, 3, 0, ''), + (13118, 12, 1, 0, ''), + (13119, 12, 2, 0, ''), + (13120, 12, 3, 0, ''), + (13121, 12, 1, 0, ''), + (13122, 12, 2, 0, ''), + (13123, 12, 3, 0, ''), + (13124, 12, 1, 0, ''), + (13125, 12, 2, 0, ''), + (13126, 12, 3, 0, ''), + (13127, 12, 1, 0, ''), + (13128, 12, 2, 0, ''), + (13129, 12, 3, 0, ''), + (13130, 12, 1, 0, ''), + (13131, 12, 2, 0, ''), + (13132, 12, 3, 0, ''), + (13133, 12, 1, 0, ''), + (13134, 12, 2, 0, ''), + (13135, 12, 3, 0, ''), + (13136, 12, 1, 0, ''), + (13137, 12, 2, 0, ''), + (13138, 12, 3, 0, ''), + (13139, 12, 0, 0, ''), + (13140, 12, 1, 0, ''), + (13141, 12, 0, 0, ''), + (13142, 12, 1, 0, ''), + (13143, 12, 0, 0, ''), + (13144, 12, 1, 0, ''), + (13145, 12, 0, 0, ''), + (13146, 12, 1, 0, ''), + (13147, 12, 0, 0, ''), + (13148, 12, 1, 0, ''), + (13149, 12, 0, 0, ''), + (13150, 12, 1, 0, ''), + (13151, 12, 0, 0, ''), + (13152, 12, 1, 0, ''), + (13153, 12, 0, 0, ''), + (13154, 12, 1, 0, ''), + (13155, 12, 0, 0, ''), + (13156, 12, 1, 0, ''), + (13157, 12, 0, 0, ''), + (13158, 12, 1, 0, ''), + (13159, 12, 0, 0, ''), + (13160, 12, 1, 0, ''), + (13161, 12, 0, 0, ''), + (13162, 12, 1, 0, ''), + (13163, 11, 0, 0, 'achievement_neck_deep_in_vile'), + (13163, 12, 2, 0, ''), + (13164, 11, 0, 0, 'achievement_neck_deep_in_vile'), + (13164, 12, 3, 0, ''), + (13166, 12, 0, 0, ''), + (13167, 12, 1, 0, ''), + (13168, 12, 1, 0, ''), + (13169, 12, 0, 0, ''), + (13170, 12, 0, 0, ''), + (13172, 12, 0, 0, ''), + (13173, 12, 1, 0, ''), + (13174, 12, 0, 0, ''), + (13175, 12, 1, 0, ''), + (13176, 12, 0, 0, ''), + (13177, 12, 1, 0, ''), + (13178, 12, 0, 0, ''), + (13179, 12, 1, 0, ''), + (13180, 12, 0, 0, ''), + (13181, 12, 1, 0, ''), + (13182, 12, 1, 0, ''), + (13187, 12, 0, 0, ''), + (13188, 12, 0, 0, ''), + (13194, 12, 0, 0, ''), + (13198, 12, 1, 0, ''), + (13199, 12, 1, 0, ''), + (13205, 12, 1, 0, ''), + (13207, 12, 2, 0, ''), + (13208, 12, 3, 0, ''), + (13209, 12, 2, 0, ''), + (13210, 12, 3, 0, ''), + (13211, 12, 2, 0, ''), + (13212, 12, 3, 0, ''), + (13213, 12, 2, 0, ''), + (13214, 12, 3, 0, ''), + (13215, 12, 2, 0, ''), + (13216, 12, 3, 0, ''), + (13217, 12, 2, 0, ''), + (13218, 12, 3, 0, ''), + (13219, 12, 2, 0, ''), + (13220, 12, 3, 0, ''), + (13221, 12, 2, 0, ''), + (13222, 12, 3, 0, ''), + (13223, 12, 2, 0, ''), + (13224, 12, 3, 0, ''), + (13225, 12, 2, 0, ''), + (13226, 12, 3, 0, ''), + (13227, 12, 2, 0, ''), + (13228, 12, 3, 0, ''), + (13229, 12, 2, 0, ''), + (13230, 12, 3, 0, ''), + (13233, 12, 1, 0, ''), + (13233, 18, 0, 0, ''), + (13234, 12, 1, 0, ''), + (13234, 18, 0, 0, ''), + (13235, 12, 1, 0, ''), + (13235, 18, 0, 0, ''), + (13236, 12, 1, 0, ''), + (13236, 18, 0, 0, ''), + (13237, 12, 0, 0, ''), + (13237, 18, 0, 0, ''), + (13238, 12, 0, 0, ''), + (13238, 18, 0, 0, ''), + (13239, 12, 0, 0, ''), + (13239, 18, 0, 0, ''), + (13240, 12, 0, 0, ''), + (13240, 18, 0, 0, ''), + (13243, 11, 0, 0, 'achievement_neck_deep_in_vile'), + (13243, 12, 1, 0, ''), + (13244, 11, 0, 0, 'achievement_been_waiting_long_time'), + (13244, 12, 1, 0, ''), + (13245, 11, 0, 0, 'achievement_been_waiting_long_time'), + (13245, 12, 3, 0, ''), + (13246, 11, 0, 0, 'achievement_been_waiting_long_time'), + (13246, 12, 0, 0, ''), + (13247, 11, 0, 0, 'achievement_been_waiting_long_time'), + (13247, 12, 2, 0, ''), + (13254, 20, 628, 0, ''), + (13255, 20, 628, 0, ''), + (13260, 20, 628, 0, ''), + (13261, 20, 628, 0, ''), + (13308, 12, 0, 0, ''), + (13309, 12, 0, 0, ''), + (13310, 12, 1, 0, ''), + (13311, 12, 1, 0, ''), + (13312, 12, 0, 0, ''), + (13313, 12, 0, 0, ''), + (13314, 12, 0, 0, ''), + (13315, 12, 0, 0, ''), + (13316, 12, 0, 0, ''), + (13317, 12, 0, 0, ''), + (13318, 12, 0, 0, ''), + (13319, 12, 0, 0, ''), + (13320, 12, 0, 0, ''), + (13321, 12, 0, 0, ''), + (13323, 12, 0, 0, ''), + (13324, 12, 0, 0, ''), + (13325, 12, 0, 0, ''), + (13326, 12, 0, 0, ''), + (13327, 12, 0, 0, ''), + (13328, 12, 0, 0, ''), + (13329, 12, 0, 0, ''), + (13330, 12, 0, 0, ''), + (13331, 12, 0, 0, ''), + (13332, 12, 0, 0, ''), + (13333, 12, 0, 0, ''), + (13334, 12, 0, 0, ''), + (13335, 12, 0, 0, ''), + (13336, 12, 0, 0, ''), + (13337, 12, 0, 0, ''), + (13338, 12, 0, 0, ''), + (13339, 12, 0, 0, ''), + (13340, 18, 0, 0, ''), + (13341, 12, 0, 0, ''), + (13342, 12, 0, 0, ''), + (13343, 12, 1, 0, ''), + (13344, 12, 1, 0, ''), + (13345, 12, 1, 0, ''), + (13346, 12, 1, 0, ''), + (13347, 12, 1, 0, ''), + (13348, 12, 1, 0, ''), + (13349, 12, 1, 0, ''), + (13350, 12, 1, 0, ''), + (13351, 12, 1, 0, ''), + (13352, 12, 1, 0, ''), + (13353, 12, 1, 0, ''), + (13354, 12, 1, 0, ''), + (13355, 12, 1, 0, ''), + (13356, 12, 1, 0, ''), + (13357, 12, 1, 0, ''), + (13358, 12, 1, 0, ''), + (13359, 12, 1, 0, ''), + (13360, 18, 0, 0, ''), + (13361, 12, 1, 0, ''), + (13362, 12, 1, 0, ''), + (13369, 0, 0, 0, ''), + (13393, 12, 2, 0, ''), + (13393, 18, 0, 0, ''), + (13394, 12, 3, 0, ''), + (13394, 18, 0, 0, ''), + (13451, 12, 1, 0, ''), + (13452, 12, 3, 0, ''), + (13453, 12, 0, 0, ''), + (13454, 12, 2, 0, ''), + (13465, 12, 1, 0, ''), + (13466, 12, 0, 0, ''), + (13467, 12, 3, 0, ''), + (13468, 12, 2, 0, ''); +/*!40000 ALTER TABLE `achievement_criteria_data` ENABLE KEYS */; + +-- Dumping structure for table classicmangos.achievement_criteria_dbc +DROP TABLE IF EXISTS `achievement_criteria_dbc`; +CREATE TABLE IF NOT EXISTS `achievement_criteria_dbc` ( + `ID` int(11) NOT NULL DEFAULT '0', + `Achievement_Id` int(11) NOT NULL DEFAULT '0', + `Type` int(11) NOT NULL DEFAULT '0', + `Asset_Id` int(11) NOT NULL DEFAULT '0', + `Quantity` int(11) NOT NULL DEFAULT '0', + `Start_Event` int(11) NOT NULL DEFAULT '0', + `Start_Asset` int(11) NOT NULL DEFAULT '0', + `Fail_Event` int(11) NOT NULL DEFAULT '0', + `Fail_Asset` int(11) NOT NULL DEFAULT '0', + `Description_Lang_enUS` text NOT NULL DEFAULT '', + `Description_Lang_enGB` text NOT NULL DEFAULT '', + `Description_Lang_koKR` text NOT NULL DEFAULT '', + `Description_Lang_frFR` text NOT NULL DEFAULT '', + `Description_Lang_deDE` text NOT NULL DEFAULT '', + `Description_Lang_enCN` text NOT NULL DEFAULT '', + `Description_Lang_zhCN` text NOT NULL DEFAULT '', + `Description_Lang_enTW` text NOT NULL DEFAULT '', + `Description_Lang_zhTW` text NOT NULL DEFAULT '', + `Description_Lang_esES` text NOT NULL DEFAULT '', + `Description_Lang_esMX` text NOT NULL DEFAULT '', + `Description_Lang_ruRU` text NOT NULL DEFAULT '', + `Description_Lang_ptPT` text NOT NULL DEFAULT '', + `Description_Lang_ptBR` text NOT NULL DEFAULT '', + `Description_Lang_itIT` text NOT NULL DEFAULT '', + `Description_Lang_Unk` text NOT NULL DEFAULT '', + `Description_Lang_Mask` int(10) unsigned NOT NULL DEFAULT '0', + `Flags` int(11) NOT NULL DEFAULT '0', + `Timer_Start_Event` int(11) NOT NULL DEFAULT '0', + `Timer_Asset_Id` int(11) NOT NULL DEFAULT '0', + `Timer_Time` int(11) NOT NULL DEFAULT '0', + `Ui_Order` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`ID`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- Dumping data for table classicmangos.achievement_criteria_dbc: 7 655 rows +/*!40000 ALTER TABLE `achievement_criteria_dbc` DISABLE KEYS */; +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_enGB`, `Description_Lang_koKR`, `Description_Lang_frFR`, `Description_Lang_deDE`, `Description_Lang_enCN`, `Description_Lang_zhCN`, `Description_Lang_enTW`, `Description_Lang_zhTW`, `Description_Lang_esES`, `Description_Lang_esMX`, `Description_Lang_ruRU`, `Description_Lang_ptPT`, `Description_Lang_ptBR`, `Description_Lang_itIT`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES + (34, 6, 5, 0, 10, 0, 0, 0, 0, 'Reach level 10', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (35, 7, 5, 0, 20, 0, 0, 0, 0, 'Reach level 20', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (36, 8, 5, 0, 30, 0, 0, 0, 0, 'Reach level 30', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (37, 9, 5, 0, 40, 0, 0, 0, 0, 'Reach level 40', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (38, 10, 5, 0, 50, 0, 0, 0, 0, 'Reach level 50', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (39, 11, 5, 0, 60, 0, 0, 0, 0, 'Reach level 60', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (40, 12, 5, 0, 70, 0, 0, 0, 0, 'Reach level 70', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (41, 13, 5, 0, 80, 0, 0, 0, 0, 'Reach level 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (72, 31, 10, 0, 5, 2, 0, 2, 0, 'Complete a daily quest every day for five consecutive days', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (73, 32, 9, 0, 2000, 0, 0, 0, 0, 'Complete 2000 quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (74, 33, 11, 3537, 130, 0, 0, 0, 0, 'Complete 130 quests in Boren Tundra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (75, 34, 11, 495, 130, 0, 0, 0, 0, 'Complete 130 quests in Howling Fjord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (76, 35, 11, 65, 115, 0, 0, 0, 0, 'Complete 115 quests in Dragonblight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (77, 36, 11, 66, 100, 0, 0, 0, 0, 'Complete 100 Zul\'Drak Quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (78, 37, 11, 394, 85, 0, 0, 0, 0, 'Complete 85 quests in Grizzly Hills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (79, 38, 11, 67, 100, 0, 0, 0, 0, 'Complete 100 Storm Peaks Quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (80, 39, 11, 3711, 75, 0, 0, 0, 0, 'Complete 75 Sholazar Basin quests.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (81, 40, 11, 210, 140, 0, 0, 0, 0, 'Complete 140 Icecrown Glacier quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (82, 41, 8, 33, 1, 0, 0, 0, 0, 'Nothing Boring About Borean', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (94, 46, 8, 42, 1, 0, 0, 0, 0, 'Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (100, 49, 1, 30, 0, 0, 0, 0, 0, 'Alterac Valley victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (102, 51, 1, 529, 0, 0, 0, 0, 0, 'Arathi Basin victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (104, 53, 15, 30, 0, 0, 0, 0, 0, 'Alterac Valley battles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (105, 54, 15, 566, 0, 0, 0, 0, 0, 'Eye of the Storm battles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (106, 55, 15, 529, 0, 0, 0, 0, 0, 'Arathi Basin battles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (107, 56, 16, 489, 0, 0, 0, 0, 0, 'Deaths in Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (108, 57, 16, 30, 0, 0, 0, 0, 0, 'Deaths in Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (110, 59, 16, 529, 0, 0, 0, 0, 0, 'Arathi Basin Deaths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (111, 60, 17, 0, 0, 0, 0, 0, 0, 'Total deaths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (123, 73, 30, 122, 3, 3, 529, 3, 529, 'Assault 3 bases in a single Arathi Basin battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 0, 0, 0, 1), + (140, 105, 1, 489, 0, 0, 0, 0, 0, 'Warsong Gulch Victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (147, 112, 26, 1, 0, 0, 0, 0, 0, 'Deaths from drowning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (148, 113, 26, 0, 0, 0, 0, 0, 0, 'Deaths from fatigue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (149, 114, 26, 2, 0, 0, 0, 0, 0, 'Deaths from falling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (150, 115, 26, 5, 0, 0, 0, 0, 0, 'Deaths from fire and lava', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (162, 197, 13, 0, 0, 0, 0, 0, 0, 'Total damage done', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (164, 281, 7, 171, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 0, 0, 0, 0, 1), + (166, 154, 1, 529, 1, 0, 0, 0, 0, 'Win Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (167, 16, 7, 162, 400, 0, 0, 0, 0, 'Unarmed skill raised to 400', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (168, 121, 40, 185, 2, 0, 0, 0, 0, 'Become a journeyman cook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (169, 321, 18, 5, 0, 0, 0, 0, 0, '5 man instances', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (176, 155, 1, 529, 100, 0, 0, 0, 0, 'Complete 100 victories in Arathi Basin.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (177, 166, 1, 489, 1, 0, 0, 0, 0, 'Win Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (189, 477, 0, 23953, 1, 0, 0, 0, 0, 'Prince Keleseth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (195, 478, 0, 26731, 1, 0, 0, 0, 0, 'Grand Magus Telestra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (199, 482, 0, 26630, 1, 0, 0, 0, 0, 'Trollgore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (203, 487, 0, 27654, 1, 0, 0, 0, 0, 'Drakos the Interrogator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (209, 488, 0, 26693, 1, 0, 0, 0, 0, 'Skadi the Ruthless', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (211, 479, 0, 26529, 1, 0, 0, 0, 0, 'Meathook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (215, 485, 0, 27975, 1, 0, 0, 0, 0, 'Maiden of Grief', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (218, 486, 0, 28586, 1, 0, 0, 0, 0, 'General Bjarngrim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (221, 167, 1, 489, 100, 0, 0, 0, 0, 'Complete 100 victories in Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (222, 208, 1, 566, 1, 0, 0, 0, 0, 'Win Eye of the Storm.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (223, 209, 1, 566, 100, 0, 0, 0, 0, 'Complete 100 victories in Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (224, 218, 1, 30, 1, 0, 0, 0, 0, 'Win Alterac Valley.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (225, 219, 1, 30, 100, 0, 0, 0, 0, 'Complete 100 victories in Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (226, 230, 8, 1167, 0, 0, 0, 0, 0, 'Master of Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (230, 503, 9, 0, 50, 0, 0, 0, 0, 'Complete 50 quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (231, 504, 9, 0, 100, 0, 0, 0, 0, 'Complete 100 quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (232, 505, 9, 0, 250, 0, 0, 0, 0, 'Complete 250 quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (233, 506, 9, 0, 500, 0, 0, 0, 0, 'Complete 500 quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (234, 507, 9, 0, 1000, 0, 0, 0, 0, 'Complete 1000 quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (236, 508, 9, 0, 1500, 0, 0, 0, 0, 'Complete 1500 quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (285, 547, 27, 12499, 1, 0, 0, 0, 0, 'Return to Angrathar - Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (306, 397, 37, 0, 1, 0, 0, 0, 0, 'Win 1 ranked arena match', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (307, 398, 37, 0, 100, 0, 0, 0, 0, 'Win 100 ranked arena matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (308, 158, 30, 122, 50, 0, 0, 0, 0, 'Take 50 flags in Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (318, 429, 36, 17182, 1, 0, 0, 0, 0, 'Sulfuras, Hand of Ragnaros', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (325, 426, 36, 32838, 1, 0, 0, 0, 0, 'Warglaive of Azzinoth (Off Hand)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (328, 416, 27, 8743, 1, 0, 0, 0, 0, 'Scarab Lord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (329, 399, 39, 2, 1550, 0, 0, 0, 0, '1550 rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (330, 402, 39, 3, 1550, 0, 0, 0, 0, '1550 rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (331, 406, 39, 5, 1550, 0, 0, 0, 0, '1550 rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (332, 400, 39, 2, 1750, 0, 0, 0, 0, '1750 rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (333, 403, 39, 3, 1750, 0, 0, 0, 0, '1750 rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (334, 407, 39, 5, 1750, 0, 0, 0, 0, '1750 rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (335, 401, 39, 2, 2000, 0, 0, 0, 0, '2000 rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (336, 405, 39, 3, 2000, 0, 0, 0, 0, '2000 rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (337, 404, 39, 5, 2000, 0, 0, 0, 0, '2000 rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (347, 561, 27, 11892, 1, 0, 0, 0, 0, 'Assassination of Harold Lane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (349, 411, 36, 20371, 1, 0, 0, 0, 0, 'Blue Murloc Egg', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (350, 412, 36, 33079, 1, 0, 0, 0, 0, 'Murloc Costume', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (351, 562, 0, 15956, 1, 0, 0, 0, 0, 'Anub\'Rekhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (357, 564, 0, 16028, 1, 0, 0, 0, 0, 'Patchwerk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (365, 566, 0, 15954, 1, 0, 0, 0, 0, 'Noth the Plaguebringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (372, 568, 0, 16061, 1, 0, 0, 0, 0, 'Instructor Razuvious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (379, 572, 0, 15989, 1, 0, 0, 0, 0, 'Sapphiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (381, 574, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (382, 575, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (383, 576, 8, 562, 0, 0, 0, 0, 0, 'The Arachnid Quarter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (389, 577, 8, 563, 0, 0, 0, 0, 0, 'The Arachnid Quarter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (406, 306, 27, 8193, 1, 0, 0, 0, 0, 'Win the Booty Bay fishing contest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (409, 255, 0, 23682, 1, 0, 0, 0, 0, 'Headless Horseman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (414, 157, 30, 123, 50, 0, 0, 0, 0, 'Defend 50 bases', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (416, 199, 30, 42, 1, 0, 0, 0, 0, 'Capture the flag', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (417, 200, 30, 44, 50, 0, 0, 0, 0, 'Return the flag 50 times', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (418, 212, 30, 183, 1, 0, 0, 0, 0, 'Capture the flag', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (419, 221, 30, 63, 50, 0, 0, 0, 0, 'Take 50 graveyards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (420, 222, 30, 64, 50, 0, 0, 0, 0, '50 towers defended', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (421, 582, 30, 63, 1, 3, 30, 3, 30, 'Assault a graveyard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 1), + (426, 583, 30, 122, 2, 3, 529, 3, 529, 'Assault 2 bases', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 1), + (431, 584, 31, 3421, 5, 3, 529, 3, 529, 'Kill 5 people at the blacksmith', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 1), + (436, 393, 30, 64, 0, 0, 0, 0, 0, 'Alterac Valley towers defended', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (437, 394, 30, 61, 0, 0, 0, 0, 0, 'Alterac Valley towers captured', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (438, 585, 30, 183, 0, 0, 0, 0, 0, 'Eye of the Storm flag captures', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (439, 395, 30, 42, 0, 0, 0, 0, 0, 'Warsong Gulch flags captured', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (440, 586, 30, 44, 0, 0, 0, 0, 0, 'Warsong Gulch flags returned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (441, 587, 31, 3870, 5, 3, 566, 3, 566, 'Kill 5 people at the Blood Elf Tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 1), + (447, 595, 39, 3, 0, 0, 0, 0, 0, 'Highest 3 man personal rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (448, 374, 38, 2, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 0, 0, 0, 0, 1), + (449, 590, 38, 3, 0, 0, 0, 0, 0, 'Highest 3 man team rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (450, 589, 38, 5, 0, 0, 0, 0, 0, 'Highest 5 man team rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (451, 370, 39, 2, 0, 0, 0, 0, 0, 'Highest 2 man personal rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (452, 596, 39, 5, 0, 0, 0, 0, 0, 'Highest 5 man personal rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (455, 594, 20, 448, 0, 0, 0, 0, 0, 'Deaths from Hogger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (456, 58, 20, 11946, 0, 0, 0, 0, 0, 'Killed by Drek\'Thar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (472, 605, 36, 21100, 1, 0, 0, 0, 0, 'Receive a Coin of Ancestry.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (473, 606, 36, 21100, 5, 0, 0, 0, 0, 'Receive 5 Coins of Ancestry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (474, 607, 36, 21100, 10, 0, 0, 0, 0, 'Receive 10 Coins of Ancestry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (475, 608, 36, 21100, 25, 0, 0, 0, 0, 'Receive 25 Coins of Ancestry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (476, 609, 36, 21100, 50, 0, 0, 0, 0, 'Receive 50 Coins of Ancestry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (477, 263, 0, 25740, 1, 0, 0, 0, 0, 'Ahune', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (478, 273, 27, 8762, 1, 0, 0, 0, 0, 'Metzen saved', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (480, 610, 0, 4949, 1, 0, 0, 0, 0, 'Thrall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (481, 611, 0, 3057, 1, 0, 0, 0, 0, 'Cairne Bloodhoof', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (482, 612, 0, 10181, 1, 0, 0, 0, 0, 'Lady Sylvanas Windrunner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (483, 613, 0, 16802, 1, 0, 0, 0, 0, 'Lor\'themar Theron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (484, 614, 8, 610, 0, 0, 0, 0, 0, 'Death to the Warchief!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (489, 616, 0, 2784, 1, 0, 0, 0, 0, 'King Magni Bronzebeard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (490, 617, 0, 7999, 1, 0, 0, 0, 0, 'High Priestess Tyrande Whisperwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (491, 618, 0, 17468, 1, 0, 0, 0, 0, 'Prophet Velen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (492, 619, 8, 615, 0, 0, 0, 0, 0, 'Storming Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (496, 626, 36, 21541, 1, 0, 0, 0, 0, 'Festive Black Pant Suit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (502, 627, 43, 117, 1, 0, 0, 0, 0, 'Coldridge Pass', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (520, 622, 0, 28859, 1, 0, 0, 0, 0, 'Malygos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (521, 623, 0, 28859, 1, 0, 0, 0, 0, 'Malygos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (523, 625, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (524, 628, 0, 639, 1, 0, 0, 0, 0, 'Edwin VanCleef', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (525, 629, 0, 11520, 1, 0, 0, 0, 0, 'Taragaman the Hungerer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (526, 630, 0, 3654, 1, 0, 0, 0, 0, 'Mutanus the Devourer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (527, 631, 0, 4275, 1, 0, 0, 0, 0, 'Archmage Arugal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (528, 632, 0, 4829, 1, 0, 0, 0, 0, 'Aku\'mai', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (529, 633, 0, 1716, 1, 0, 0, 0, 0, 'Bazil Thredd', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (530, 634, 0, 7800, 1, 0, 0, 0, 0, 'Mekgineer Thermaplugg', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (531, 635, 0, 4421, 1, 0, 0, 0, 0, 'Charlga Razorflank', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (532, 636, 0, 7358, 1, 0, 0, 0, 0, 'Amnennar the Coldbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (537, 637, 0, 4543, 1, 0, 0, 0, 0, 'Bloodmage Thalnos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (538, 638, 0, 2748, 1, 0, 0, 0, 0, 'Archaedas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (539, 639, 0, 7267, 1, 0, 0, 0, 0, 'Chief Ukorz Sandscalp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (540, 640, 0, 12201, 1, 0, 0, 0, 0, 'Princess Theradras', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (541, 641, 0, 5709, 1, 0, 0, 0, 0, 'Shade of Eranikus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (542, 642, 0, 9019, 1, 0, 0, 0, 0, 'Emperor Dagran Thaurissan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (544, 643, 0, 9568, 1, 0, 0, 0, 0, 'Overlord Wyrmthalak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (545, 644, 0, 11492, 1, 0, 0, 0, 0, 'Alzzin the Wildshaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (548, 645, 0, 10508, 1, 0, 0, 0, 0, 'Ras Frostwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (550, 646, 0, 10813, 1, 0, 0, 0, 0, 'Balnazzar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (552, 647, 0, 17308, 1, 0, 0, 0, 0, 'Omor the Unscarred', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (555, 648, 0, 17377, 1, 0, 0, 0, 0, 'Keli\'dan the Breaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (556, 649, 0, 17942, 1, 0, 0, 0, 0, 'Quagmirran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (557, 650, 0, 17882, 1, 0, 0, 0, 0, 'The Black Stalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (558, 651, 0, 18344, 1, 0, 0, 0, 0, 'Nexus-Prince Shaffar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (559, 652, 0, 18096, 1, 0, 0, 0, 0, 'Epoch Hunter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (560, 653, 0, 18473, 1, 0, 0, 0, 0, 'Talon King Ikiss', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (561, 654, 0, 18708, 1, 0, 0, 0, 0, 'Murmur', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (562, 655, 0, 17881, 1, 0, 0, 0, 0, 'Aeonus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (563, 656, 0, 17798, 1, 0, 0, 0, 0, 'Warlord Kalithresh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (564, 657, 0, 16808, 1, 0, 0, 0, 0, 'Warchief Kargath Bladefist', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (565, 658, 0, 19220, 1, 0, 0, 0, 0, 'Pathaleon the Calculator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (566, 659, 0, 17977, 1, 0, 0, 0, 0, 'Warp Splinter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (567, 660, 0, 20912, 1, 0, 0, 0, 0, 'Harbinger Skyriss', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (568, 661, 0, 24664, 1, 0, 0, 0, 0, 'Kael\'thas Sunstrider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (569, 662, 36, 13584, 1, 0, 0, 0, 0, 'Diablo Stone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (570, 663, 36, 13583, 1, 0, 0, 0, 0, 'Panda Collar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (571, 664, 36, 13582, 1, 0, 0, 0, 0, 'Zergling Leash', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (572, 665, 36, 25535, 1, 0, 0, 0, 0, 'Netherwhelp\'s Collar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (573, 666, 0, 18373, 1, 0, 0, 0, 0, 'Exarch Maladaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (592, 683, 36, 39286, 1, 0, 0, 0, 0, 'Frosty\'s Collar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (594, 685, 0, 11583, 1, 0, 0, 0, 0, 'Nefarian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (595, 686, 0, 11502, 1, 0, 0, 0, 0, 'Ragnaros', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (596, 687, 0, 15727, 1, 0, 0, 0, 0, 'C\'Thun', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (597, 688, 0, 14834, 1, 0, 0, 0, 0, 'Hakkar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (598, 689, 0, 15339, 1, 0, 0, 0, 0, 'Ossirian the Unscarred', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (599, 690, 0, 15690, 1, 0, 0, 0, 0, 'Prince Malchezaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (600, 691, 0, 23863, 1, 0, 0, 0, 0, 'Zul\'jin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (601, 692, 0, 19044, 1, 0, 0, 0, 0, 'Gruul the Dragonkiller', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (602, 693, 0, 17257, 1, 0, 0, 0, 0, 'Magtheridon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (603, 694, 0, 21212, 1, 0, 0, 0, 0, 'Lady Vashj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (604, 695, 0, 17968, 1, 0, 0, 0, 0, 'Archimonde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (605, 696, 0, 19622, 1, 0, 0, 0, 0, 'Kael\'thas Sunstrider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (606, 697, 0, 22917, 1, 0, 0, 0, 0, 'Illidan Stormrage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (607, 698, 0, 25315, 1, 0, 0, 0, 0, 'Kil\'jaeden', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (608, 699, 32, 562, 1, 0, 0, 0, 0, 'Blade\'s Edge Arena', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (611, 165, 1, 529, 1, 3, 529, 3, 529, 'Arathi Basin Shutout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (612, 122, 40, 185, 3, 0, 0, 0, 0, 'Become an expert cook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (613, 123, 40, 185, 4, 0, 0, 0, 0, 'Become an artisan cook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (614, 124, 40, 185, 5, 0, 0, 0, 0, 'Become a master cook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (615, 125, 40, 185, 6, 0, 0, 0, 0, 'Become a grand master cook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (616, 116, 40, 171, 2, 0, 0, 0, 0, 'Alchemy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (641, 705, 7, 44, 400, 0, 0, 0, 0, 'Axes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (645, 714, 8, 708, 0, 0, 0, 0, 0, 'Hero of the Frostwolf Clan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (707, 433, 44, 14, 0, 0, 0, 0, 0, 'Grand Marshal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (708, 434, 44, 13, 0, 0, 0, 0, 0, 'Field Marshal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (709, 473, 44, 12, 0, 0, 0, 0, 0, 'Marshal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (710, 435, 44, 11, 0, 0, 0, 0, 0, 'Commander', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (711, 436, 44, 10, 0, 0, 0, 0, 0, 'Lieutenant Commander', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (712, 437, 44, 9, 0, 0, 0, 0, 0, 'Knight-Champion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (713, 438, 44, 8, 0, 0, 0, 0, 0, 'Knight-Captain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (714, 472, 44, 7, 0, 0, 0, 0, 0, 'Knight-Lieutenant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (721, 439, 44, 6, 0, 0, 0, 0, 0, 'Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (722, 440, 44, 5, 0, 0, 0, 0, 0, 'Sergeant Major', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (723, 441, 44, 4, 0, 0, 0, 0, 0, 'Master Sergeant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (724, 471, 44, 3, 0, 0, 0, 0, 0, 'Sergeant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (725, 470, 44, 2, 0, 0, 0, 0, 0, 'Corporal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (726, 442, 44, 1, 0, 0, 0, 0, 0, 'Private', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (727, 443, 44, 14, 0, 0, 0, 0, 0, 'High Warlord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (728, 445, 44, 13, 0, 0, 0, 0, 0, 'Warlord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (729, 446, 44, 12, 0, 0, 0, 0, 0, 'General', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (730, 444, 44, 11, 0, 0, 0, 0, 0, 'Lieutenant General', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (731, 447, 44, 10, 0, 0, 0, 0, 0, 'Champion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (732, 448, 44, 9, 0, 0, 0, 0, 0, 'Centurion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (733, 469, 44, 8, 0, 0, 0, 0, 0, 'Legionnaire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (734, 449, 44, 7, 0, 0, 0, 0, 0, 'Blood Guard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (735, 451, 44, 6, 0, 0, 0, 0, 0, 'Stone Guard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (736, 452, 44, 5, 0, 0, 0, 0, 0, 'First Sergeant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (737, 450, 44, 4, 0, 0, 0, 0, 0, 'Senior Sergeant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (738, 453, 44, 3, 0, 0, 0, 0, 0, 'Sergeant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (739, 468, 44, 2, 0, 0, 0, 0, 0, 'Grunt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (740, 454, 44, 1, 0, 0, 0, 0, 0, 'Scout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (741, 725, 36, 34334, 1, 0, 0, 0, 0, 'Thori\'dal, the Stars\' Fury', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (742, 432, 27, 10888, 1, 0, 0, 0, 0, 'Trial of the Naaru', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (744, 431, 27, 10445, 1, 0, 0, 0, 0, 'The Vials of Eternity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (746, 428, 27, 7787, 1, 0, 0, 0, 0, 'Thunderfury, Blessed Blade of the Windseeker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (747, 425, 27, 9269, 1, 0, 0, 0, 0, 'Atiesh, Greatstaff of the Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (752, 546, 45, 0, 7, 0, 0, 0, 0, 'Purchase 7 bank slots', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (758, 201, 1, 489, 1, 0, 0, 3, 489, 'Win Warsong Gulch in under 7 minutes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 1, 8563, 420, 1), + (759, 700, 36, 18834, 1, 0, 0, 0, 0, 'Insignia of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (779, 701, 36, 18863, 1, 0, 0, 0, 0, 'Insignia of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (799, 726, 36, 27445, 1, 0, 0, 0, 0, 'Magical Crawdad Box', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (822, 728, 43, 242, 1, 0, 0, 0, 0, 'Valley of Trials', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (835, 126, 40, 356, 2, 0, 0, 0, 0, 'Become a journeyman fisherman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (836, 127, 40, 356, 3, 0, 0, 0, 0, 'Become a expert fisherman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (837, 128, 40, 356, 4, 0, 0, 0, 0, 'Become an artisan fisherman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (838, 129, 40, 356, 5, 0, 0, 0, 0, 'Become a master fisherman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (839, 130, 40, 356, 6, 0, 0, 0, 0, 'Become a grand master fisherman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (840, 131, 40, 129, 2, 0, 0, 0, 0, 'Become a journeyman in first aid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (841, 132, 40, 129, 3, 0, 0, 0, 0, 'Become a expert in first aid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (842, 133, 40, 129, 4, 0, 0, 0, 0, 'Become an artisan in first aid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (843, 134, 40, 129, 5, 0, 0, 0, 0, 'Become a master in first aid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (844, 135, 40, 129, 6, 0, 0, 0, 0, 'Become a grand master in first aid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (845, 730, 8, 130, 0, 0, 0, 0, 0, 'Grand Master Fisherman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (848, 731, 40, 171, 3, 0, 0, 0, 0, 'Alchemy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (859, 732, 40, 171, 4, 0, 0, 0, 0, 'Alchemy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (870, 733, 40, 171, 5, 0, 0, 0, 0, 'Alchemy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (881, 734, 40, 171, 6, 0, 0, 0, 0, 'Alchemy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (892, 735, 40, 171, 6, 0, 0, 0, 0, 'Alchemy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (903, 736, 43, 182, 1, 0, 0, 0, 0, 'Red Cloud Mesa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (917, 750, 43, 461, 1, 0, 0, 0, 0, 'Boulder Lode Mine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (943, 752, 16, 533, 0, 0, 0, 0, 0, 'Deaths in Naxxramas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (944, 760, 43, 441, 1, 0, 0, 0, 0, 'Chillwind Point', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (962, 761, 43, 561, 1, 0, 0, 0, 0, 'Circle of West Binding', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (977, 522, 47, 0, 1, 0, 0, 0, 0, 'Get a reputation to exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (978, 523, 47, 0, 5, 0, 0, 0, 0, '5 reputations to exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (979, 524, 47, 0, 10, 0, 0, 0, 0, '10 reputations to exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (980, 521, 47, 0, 15, 0, 0, 0, 0, '15 reputations to exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (981, 520, 47, 0, 20, 0, 0, 0, 0, '20 reputations to exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (982, 377, 47, 0, 0, 0, 0, 0, 0, 'Exalted Reputations', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (984, 519, 47, 0, 25, 0, 0, 0, 0, '25 reputations to exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (985, 518, 47, 0, 30, 0, 0, 0, 0, '30 reputations to exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (986, 710, 46, 510, 42000, 0, 0, 0, 0, 'Exalted with The Defilers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (987, 711, 46, 509, 42000, 0, 0, 0, 0, 'Exalted with The League of Arathor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (988, 712, 46, 889, 42000, 0, 0, 0, 0, 'Exalted with Warsong Outriders', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (989, 713, 46, 890, 42000, 0, 0, 0, 0, 'Exalted with Silverwing Sentinels', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (990, 708, 46, 729, 42000, 0, 0, 0, 0, 'Exalted with the Frostwolf Clan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (991, 709, 46, 730, 42000, 0, 0, 0, 0, 'Exalted with the Stormpike Guard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (992, 762, 46, 76, 42000, 0, 0, 0, 0, 'Exalted Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1003, 763, 46, 947, 42000, 0, 0, 0, 0, 'Thrallmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1009, 764, 46, 946, 42000, 0, 0, 0, 0, 'Honor Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1014, 765, 43, 581, 1, 0, 0, 0, 0, 'Lethlor Ravine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1028, 766, 43, 821, 1, 0, 0, 0, 0, 'Dreadmaul Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1037, 768, 43, 236, 1, 0, 0, 0, 0, 'Deathknell', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1053, 769, 43, 301, 1, 0, 0, 0, 0, 'Malden\'s Orchard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1068, 770, 43, 961, 1, 0, 0, 0, 0, 'Darrowmere Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1081, 771, 43, 894, 1, 0, 0, 0, 0, 'Thondroril River', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1103, 772, 43, 401, 1, 0, 0, 0, 0, 'Darrow Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1115, 773, 43, 601, 1, 0, 0, 0, 0, 'Aerie Peak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1129, 774, 43, 721, 1, 0, 0, 0, 0, 'Firewatch Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1136, 775, 43, 781, 1, 0, 0, 0, 0, 'Dreadmaul Rock', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1146, 776, 43, 125, 1, 0, 0, 0, 0, 'Northshire Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1158, 777, 43, 941, 1, 0, 0, 0, 0, 'Deadman\'s Crossing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1161, 778, 43, 421, 1, 0, 0, 0, 0, 'The Hushed Bank', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1176, 779, 43, 318, 1, 0, 0, 0, 0, 'The Loch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1185, 780, 43, 364, 1, 0, 0, 0, 0, 'Lakeshire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1196, 781, 43, 503, 1, 0, 0, 0, 0, 'Booty Bay', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1223, 782, 43, 541, 1, 0, 0, 0, 0, 'Itharius\'s Cave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1234, 156, 1, 529, 10, 0, 0, 0, 0, 'Win 10 Arathi Basin matches while controlling all 5 flags', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (1235, 162, 1, 529, 1, 3, 529, 3, 529, 'Victory in Arathi Basin with a score of 1600 to 1590', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1236, 168, 1, 489, 1, 3, 489, 3, 489, 'Victory in Warsong Gulch with a shutout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1237, 159, 1, 529, 1, 0, 0, 3, 529, 'Win in 6 minutes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 1, 9158, 360, 1), + (1238, 783, 1, 566, 1, 3, 566, 3, 566, 'Win 1600 to 0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1239, 784, 1, 566, 10, 0, 0, 0, 0, 'Win Eye of the Storm 10 times while holding 4 bases', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (1240, 214, 1, 566, 1, 0, 0, 3, 566, 'Win in 6 minutes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 1, 13180, 360, 1), + (1241, 226, 1, 30, 1, 0, 0, 3, 30, 'Win in 6 minutes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 1, 9166, 360, 1), + (1242, 220, 1, 30, 1, 3, 30, 3, 30, 'Balinda and Vandaar survive', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 1), + (1243, 796, 28, 48171, 0, 0, 0, 0, 0, 'Resurrection (Rank 7)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1244, 801, 29, 47882, 0, 0, 0, 0, 0, 'Use Soulstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1245, 800, 28, 48950, 0, 0, 0, 0, 0, 'Redemption', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1246, 799, 28, 49277, 0, 0, 0, 0, 0, 'Ancestral Spirit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1247, 798, 28, 48477, 0, 0, 0, 0, 0, 'Rebirth (Rank 7)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1248, 802, 43, 288, 1, 0, 0, 0, 0, 'Sentinel Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1262, 841, 43, 381, 1, 0, 0, 0, 0, 'Menethil Harbor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1285, 42, 8, 776, 1, 0, 0, 0, 0, 'Elwynn Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1299, 842, 43, 91, 1, 0, 0, 0, 0, 'Shadowglen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1310, 843, 43, 1179, 1, 0, 0, 0, 0, 'Area 52', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1314, 844, 43, 345, 1, 0, 0, 0, 0, 'Auberdine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1323, 845, 43, 741, 1, 0, 0, 0, 0, 'The Zoram Strand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1341, 846, 43, 687, 1, 0, 0, 0, 0, 'The Great Lift', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1350, 847, 43, 931, 1, 0, 0, 0, 0, 'Camp Aparaje', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1361, 850, 43, 661, 1, 0, 0, 0, 0, 'Theramore Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1365, 848, 43, 775, 1, 0, 0, 0, 0, 'Tethris Aran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1369, 849, 43, 981, 1, 0, 0, 0, 0, 'Dream Bough', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1401, 853, 43, 861, 1, 0, 0, 0, 0, 'Felpaw Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1405, 851, 43, 658, 1, 0, 0, 0, 0, 'Gadgetzan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1409, 852, 43, 841, 1, 0, 0, 0, 0, 'Bay of Storms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1453, 854, 43, 621, 1, 0, 0, 0, 0, 'Fire Plume Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1460, 856, 43, 1021, 1, 0, 0, 0, 0, 'The Crystal Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1464, 855, 43, 701, 1, 0, 0, 0, 0, 'Lake Elune\'ara', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1473, 857, 43, 1001, 1, 0, 0, 0, 0, 'Frostfire Hot Springs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1486, 43, 8, 728, 1, 0, 0, 0, 0, 'Durotar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1504, 858, 43, 1148, 1, 0, 0, 0, 0, 'Tranquillien', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1508, 859, 43, 1127, 1, 0, 0, 0, 0, 'Sunstrider Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1552, 860, 43, 1364, 1, 0, 0, 0, 0, 'Ammen Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1573, 861, 43, 1328, 1, 0, 0, 0, 0, 'Amberweb Pass', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1603, 867, 43, 1166, 1, 0, 0, 0, 0, 'Bleeding Hollow Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1611, 863, 43, 1126, 1, 0, 0, 0, 0, 'Cenarion Refuge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1614, 864, 43, 1101, 1, 0, 0, 0, 0, 'Coilskar Point', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1618, 865, 43, 1288, 1, 0, 0, 0, 0, 'Bash\'ir Landing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1622, 866, 43, 1189, 1, 0, 0, 0, 0, 'Forge Camp: Fear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1631, 862, 43, 1219, 1, 0, 0, 0, 0, 'The Stair of Destiny', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1782, 44, 8, 862, 1, 0, 0, 0, 0, 'Hellfire Peninsula', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1789, 868, 43, 1454, 1, 0, 0, 0, 0, 'Sun\'s Reach Harbor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1800, 871, 27, 4621, 1, 0, 0, 0, 0, 'Complete the Avast Ye, Admiral quest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1801, 872, 30, 44, 5, 3, 489, 3, 489, 'Return 5 flags in a single battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 9, 0, 0, 0, 1), + (1802, 204, 30, 42, 3, 3, 489, 1, 0, '3 captures and no death', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14, 0, 0, 0, 1), + (1811, 873, 1, 30, 1, 3, 30, 3, 30, 'Galvagar and Drek\'Thar survive', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 1), + (1820, 229, 35, 0, 30, 3, 529, 3, 529, '30 hks in arathi', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1829, 875, 37, 0, 200, 0, 0, 0, 0, 'Win 200 ranked arena matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (1830, 876, 37, 0, 300, 0, 0, 0, 0, 'Win 300 ranked arena matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (1831, 137, 29, 45546, 500, 0, 0, 0, 0, 'Create 500 Heavy Frostweave Bandages', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (1832, 877, 29, 43779, 1, 0, 0, 0, 0, 'Make Delicious Chocolate Cake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1835, 878, 42, 6360, 1, 0, 0, 0, 0, 'Steelscale Crushfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1847, 879, 36, 13317, 1, 0, 0, 0, 0, 'Ivory Raptor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1863, 882, 36, 30480, 1, 0, 0, 0, 0, 'Fiery Warhorse\'s Reins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1867, 886, 36, 30609, 1, 0, 0, 0, 0, 'Swift Nether Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1868, 887, 36, 34092, 1, 0, 0, 0, 0, 'Merciless Nether Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1869, 888, 36, 37676, 1, 0, 0, 0, 0, 'Vengeful Nether Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1870, 889, 40, 762, 2, 0, 0, 0, 0, 'Journeyman Riding', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1871, 890, 40, 762, 3, 0, 0, 0, 0, 'Expert Riding', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1872, 891, 40, 762, 1, 0, 0, 0, 0, 'Apprentice Riding', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1873, 892, 40, 762, 4, 0, 0, 0, 0, 'Artisan Riding', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1874, 893, 36, 33999, 1, 0, 0, 0, 0, 'Cenarion War Hippogryph', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1875, 894, 46, 1031, 42000, 0, 0, 0, 0, 'Exalted with Sha\'tari Skyguard ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1877, 896, 46, 1038, 42000, 0, 0, 0, 0, 'Exalted with Ogri\'la', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1878, 897, 46, 1077, 42000, 0, 0, 0, 0, 'Exalted with Shattered Sun Offensive', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1879, 898, 46, 1015, 42000, 0, 0, 0, 0, 'Exalted with Netherwing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1880, 899, 46, 978, 42000, 0, 0, 0, 0, 'Exalted with the Kurenai', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1881, 900, 46, 970, 42000, 0, 0, 0, 0, 'Exalted with the Sporeggar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1882, 901, 46, 941, 42000, 0, 0, 0, 0, 'Exalted with The Mag\'har', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1883, 902, 46, 933, 42000, 0, 0, 0, 0, 'Exalted with the Consortium', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1884, 903, 46, 934, 42000, 0, 0, 0, 0, 'Exalted with The Scryers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (1886, 905, 27, 11665, 1, 0, 0, 0, 0, 'Crocolisks in the City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1891, 906, 27, 11377, 1, 0, 0, 0, 0, 'Revenge is Tasty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1896, 907, 8, 709, 0, 0, 0, 0, 0, 'Hero of the Stormpike Guard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1902, 908, 27, 11335, 1, 0, 0, 0, 0, 'Call to Arms: Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1906, 909, 27, 11339, 1, 0, 0, 0, 0, 'Call to Arms: Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1910, 910, 27, 8676, 1, 0, 0, 0, 0, 'Elder Wildmane in Zul\'Farrak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1916, 911, 27, 8670, 1, 0, 0, 0, 0, 'Elder Runetotem in Razor Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1922, 912, 27, 8653, 1, 0, 0, 0, 0, 'Elder Goldwell in Kharanos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1934, 913, 8, 912, 0, 0, 0, 0, 0, 'Elders of Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1991, 914, 27, 8677, 1, 0, 0, 0, 0, 'Elder Darkhorn in Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (1999, 915, 27, 8718, 1, 0, 0, 0, 0, 'Elder Bladeswift in Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2002, 928, 45, 0, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 0, 0, 0, 0, 1), + (2003, 937, 27, 8868, 1, 0, 0, 0, 0, 'Complete Elune\'s Blessing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2004, 938, 27, 12614, 1, 0, 0, 0, 0, 'Post-partum Aggression', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2005, 939, 27, 9852, 1, 0, 0, 0, 0, 'The Ultimate Bloodsport', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2006, 940, 27, 338, 1, 0, 0, 0, 0, 'The Green Hills of Stranglethorn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2008, 941, 8, 940, 0, 0, 0, 0, 0, 'The Green Hills of Stranglethorn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2011, 942, 46, 576, 42000, 0, 0, 0, 0, 'Exalted with Timbermaw Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2014, 943, 46, 576, 42000, 0, 0, 0, 0, 'Exalted with Timbermaw Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2017, 944, 46, 576, 42000, 0, 0, 0, 0, 'Timbermaw Exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2020, 946, 46, 529, 42000, 0, 0, 0, 0, 'Argent Dawn exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2022, 947, 46, 1106, 42000, 0, 0, 0, 0, 'Argent Crusade exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2023, 945, 8, 946, 0, 0, 0, 0, 0, 'The Argent Dawn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2030, 948, 46, 72, 42000, 0, 0, 0, 0, 'Exalted Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2035, 949, 46, 1073, 42000, 0, 0, 0, 0, 'The Kalu\'ak exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2036, 950, 46, 1104, 42000, 0, 0, 0, 0, 'Frenzyheart Tribe exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2037, 951, 46, 1105, 42000, 0, 0, 0, 0, 'The Oracles exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2039, 952, 8, 951, 0, 0, 0, 0, 0, 'The Oracles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2041, 480, 0, 28684, 1, 0, 0, 0, 0, 'Krik\'thir the Gatewatcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2045, 953, 46, 609, 42000, 0, 0, 0, 0, 'Exalted with Cenarion Circle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2048, 955, 46, 749, 42000, 0, 0, 0, 0, 'Exalted with the Hydraxian Waterlords', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2049, 956, 46, 910, 42000, 0, 0, 0, 0, 'Exalted with the Brood of Nozdormu', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2050, 957, 46, 270, 42000, 0, 0, 0, 0, 'Exalted with the Zandalar Tribe', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2051, 958, 46, 1012, 42000, 0, 0, 0, 0, 'Exalted with the Ashtongue Deathsworn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2052, 959, 46, 990, 42000, 0, 0, 0, 0, 'Exalted with The Scale of the Sands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2053, 960, 46, 967, 42000, 0, 0, 0, 0, 'Exalted with The Violet Eye', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2054, 961, 27, 12702, 1, 0, 0, 0, 0, 'Chicken Party!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2062, 962, 27, 12704, 1, 0, 0, 0, 0, 'Appeasing the Great Rain Stone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2070, 288, 29, 42966, 1, 0, 0, 0, 0, 'Upset Tummy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2071, 963, 27, 12345, 1, 0, 0, 0, 0, 'Ashenvale, Astranaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2072, 964, 24, 0, 6500, 0, 0, 0, 0, '65 yards without dying', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2099, 965, 27, 12396, 1, 0, 0, 0, 0, 'Barrens, Ratchet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2132, 966, 27, 12332, 1, 0, 0, 0, 0, 'Dun Morogh, Kharanos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2145, 967, 27, 12402, 1, 0, 0, 0, 0, 'Eastern Plaguelands, Light\'s Hope Chapel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2195, 969, 27, 12358, 1, 0, 0, 0, 0, 'Blade\'s Edge Mountains, Sylvanaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2217, 968, 27, 12394, 1, 0, 0, 0, 0, 'Blade\'s Edge Mountains, Mok\'Nathal Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2225, 971, 8, 965, 0, 0, 0, 0, 0, 'Tricks and Treats of Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2228, 970, 8, 963, 0, 0, 0, 0, 0, 'Tricks and Treats of Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2231, 972, 36, 37586, 1, 0, 0, 0, 0, 'Handful of Candy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2232, 973, 14, 0, 5, 0, 0, 0, 0, 'Complete 5 daily quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (2233, 974, 14, 0, 50, 0, 0, 0, 0, 'Complete 50 daily quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (2234, 975, 14, 0, 200, 0, 0, 0, 0, 'Complete 200 daily quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (2235, 976, 14, 0, 500, 0, 0, 0, 0, 'Complete 500 daily quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (2236, 977, 14, 0, 1000, 0, 0, 0, 0, 'Complete 1000 daily quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (2239, 978, 9, 0, 3000, 0, 0, 0, 0, 'Complete 3000 quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (2260, 979, 36, 34000, 1, 0, 0, 0, 0, 'Flimsy Female Blood Elf Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2281, 289, 27, 12135, 1, 0, 0, 0, 0, '"Let the Fires Come!"', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2285, 981, 41, 37604, 1, 0, 0, 0, 0, 'Use Tooth Pick', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2335, 621, 57, 20132, 1, 0, 0, 0, 0, 'Arathor Battle Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2341, 545, 48, 0, 1, 0, 0, 0, 0, 'Visit a barbershop and pay for using their services.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2342, 556, 49, 0, 1, 0, 0, 0, 0, 'Head', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2358, 558, 51, 100, 1, 0, 0, 0, 0, 'Roll greed and get exactly 100 on an item over level 185.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2359, 245, 52, 6, 1, 0, 0, 0, 0, 'Death Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2369, 246, 53, 10, 1, 0, 0, 0, 0, 'Blood Elf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2374, 1005, 53, 11, 1, 0, 0, 0, 0, 'Draenei', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2379, 247, 54, 56, 1, 0, 0, 0, 0, 'Hug a dead enemy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2400, 227, 13, 0, 300000, 3, 30, 3, 30, 'Do more than 300,000 Damage in Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 1), + (2408, 408, 37, 0, 10, 4, 0, 4, 0, 'Win 10 arenas without losing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (2412, 559, 50, 100, 1, 0, 0, 0, 0, 'roll need and get exactly 100 on an item above 185', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2415, 1007, 46, 1091, 42000, 0, 0, 0, 0, 'Exalted with Wyrmrest Accord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2416, 1008, 46, 1090, 42000, 0, 0, 0, 0, 'Exalted with Kirin Tor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2417, 1009, 46, 1098, 42000, 0, 0, 0, 0, 'Exalted with Knights of the Ebon Blade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (2418, 1010, 8, 947, 0, 0, 0, 0, 0, 'The Argent Crusade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2422, 1011, 46, 1052, 42000, 0, 0, 0, 0, 'Exalted with Horde Expedition', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2425, 1012, 46, 1037, 42000, 0, 0, 0, 0, 'Exalted with Alliance Vanguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (2428, 1014, 47, 0, 35, 0, 0, 0, 0, '35 reputations to exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (2429, 1015, 47, 0, 40, 0, 0, 0, 0, '40 reputations to exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (2430, 414, 36, 39656, 1, 0, 0, 0, 0, 'Tyrael\'s Hilt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3063, 1022, 27, 11804, 1, 0, 0, 0, 0, 'Arathi Highlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3076, 1023, 27, 11805, 1, 0, 0, 0, 0, 'Ashenvale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3089, 1024, 27, 11807, 1, 0, 0, 0, 0, 'Blade\'s Edge Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3101, 1025, 27, 11840, 1, 0, 0, 0, 0, 'Arathi Highlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3112, 1026, 27, 11841, 1, 0, 0, 0, 0, 'Ashenvale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3124, 1027, 27, 11843, 1, 0, 0, 0, 0, 'Blade\'s Edge Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3131, 1028, 27, 11764, 1, 0, 0, 0, 0, 'Arathi Highlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3142, 1029, 27, 11765, 1, 0, 0, 0, 0, 'Ashenvale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3154, 1030, 27, 11767, 1, 0, 0, 0, 0, 'Blade\'s Edge Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3161, 1031, 27, 11732, 1, 0, 0, 0, 0, 'Arathi Highlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3174, 1032, 27, 11734, 1, 0, 0, 0, 0, 'Ashenvale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3186, 1033, 27, 11736, 1, 0, 0, 0, 0, 'Blade\'s Edge Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3193, 1034, 8, 1022, 0, 0, 0, 0, 0, 'Flame Warden of Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3196, 1035, 8, 1028, 0, 0, 0, 0, 0, 'Extinguishing Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3199, 1036, 8, 1025, 0, 0, 0, 0, 0, 'Flame Keeper of Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3202, 1037, 8, 1031, 0, 0, 0, 0, 0, 'Extinguishing Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3205, 1038, 8, 1034, 0, 0, 0, 0, 0, 'The Fires of Azeroth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3207, 1039, 8, 1036, 0, 0, 0, 0, 0, 'The Fires of Azeroth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3209, 283, 28, 24733, 1, 0, 0, 0, 0, 'Transformed by Hallowed Wand - Bat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3216, 1040, 27, 1658, 1, 0, 0, 0, 0, 'Crashing the Wickerman Festival', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3218, 1041, 27, 8409, 1, 0, 0, 0, 0, 'Rotten Eggs and Ruined Kegs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3220, 249, 42, 19028, 1, 0, 0, 0, 0, 'Elegant Dress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3221, 248, 42, 6833, 1, 0, 0, 0, 0, 'White Tuxedo Shirt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3225, 389, 36, 18706, 1, 0, 0, 0, 0, 'Arena Master obtained', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3227, 396, 27, 7838, 1, 0, 0, 0, 0, 'Arena Grandmaster quest complete', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3231, 1042, 54, 56, 0, 0, 0, 0, 0, 'Number of hugs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3232, 1047, 54, 390, 0, 0, 0, 0, 0, 'Total facepalms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3233, 1045, 54, 21, 0, 0, 0, 0, 0, 'Total cheers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3236, 1065, 54, 101, 0, 0, 0, 0, 0, 'Total waves', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3237, 1067, 54, 143, 0, 0, 0, 0, 0, 'Total times playing world\'s smallest violin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3238, 1066, 54, 60, 0, 0, 0, 0, 0, 'laugh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3239, 1068, 0, 17377, 1, 0, 0, 0, 0, 'Keli\'dan the Breaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3240, 1071, 0, 17942, 1, 0, 0, 0, 0, 'Quagmirran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3241, 1069, 0, 18344, 1, 0, 0, 0, 0, 'Nexus-Prince Shaffar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3242, 1070, 0, 18096, 1, 0, 0, 0, 0, 'Epoch Hunter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3243, 1072, 0, 17882, 1, 0, 0, 0, 0, 'The Black Stalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3244, 1073, 0, 18373, 1, 0, 0, 0, 0, 'Exarch Maladaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3245, 1074, 0, 18473, 1, 0, 0, 0, 0, 'Talon King Ikiss', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3246, 1075, 0, 18708, 1, 0, 0, 0, 0, 'Murmur', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3247, 1076, 0, 17881, 1, 0, 0, 0, 0, 'Aeonus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3248, 1077, 0, 17798, 1, 0, 0, 0, 0, 'Warlord Kalithresh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3249, 1078, 0, 16808, 1, 0, 0, 0, 0, 'Warchief Kargath Bladefist', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3250, 1079, 0, 19220, 1, 0, 0, 0, 0, 'Pathaleon the Calculator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3251, 1080, 0, 17977, 1, 0, 0, 0, 0, 'Warp Splinter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3252, 1081, 0, 20912, 1, 0, 0, 0, 0, 'Harbinger Skyriss', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3253, 1082, 0, 24664, 1, 0, 0, 0, 0, 'Kael\'thas Sunstrider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3254, 1083, 0, 15690, 1, 0, 0, 0, 0, 'Prince Malchezaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3255, 1084, 0, 23863, 1, 0, 0, 0, 0, 'Zul\'jin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3256, 1085, 0, 19044, 1, 0, 0, 0, 0, 'Gruul the Dragonkiller', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3257, 1086, 0, 17257, 1, 0, 0, 0, 0, 'Magtheridon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3258, 1087, 0, 21212, 1, 0, 0, 0, 0, 'Lady Vashj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3259, 1088, 0, 19622, 1, 0, 0, 0, 0, 'Kael\'thas Sunstrider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3260, 1089, 0, 22917, 1, 0, 0, 0, 0, 'Illidan Stormrage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3261, 1090, 0, 25315, 1, 0, 0, 0, 0, 'Kil\'jaeden', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3262, 1091, 0, 639, 1, 0, 0, 0, 0, 'Edwin VanCleef', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3263, 1092, 0, 4275, 1, 0, 0, 0, 0, 'Archmage Arugal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3264, 1093, 0, 3976, 1, 0, 0, 0, 0, 'Scarlet Commander Mograine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3265, 1094, 0, 7267, 1, 0, 0, 0, 0, 'Chief Ukorz Sandscalp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3266, 1095, 0, 9019, 1, 0, 0, 0, 0, 'Emperor Dagran Thaurissan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3268, 1096, 0, 10363, 1, 0, 0, 0, 0, 'General Drakkisath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3270, 1097, 0, 10440, 1, 0, 0, 0, 0, 'Baron Rivendare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3271, 1098, 0, 10184, 1, 0, 0, 0, 0, 'Onyxia', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3272, 1099, 0, 11502, 1, 0, 0, 0, 0, 'Ragnaros', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3273, 1100, 0, 11583, 1, 0, 0, 0, 0, 'Nefarian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3274, 1101, 0, 15727, 1, 0, 0, 0, 0, 'C\'Thun', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3275, 1102, 0, 14834, 1, 0, 0, 0, 0, 'Hakkar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3276, 1106, 16, 566, 0, 0, 0, 0, 0, 'Deaths in Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3301, 344, 41, 19307, 1, 0, 0, 0, 0, 'Alterac Valley Runecloth Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3351, 1145, 27, 9365, 1, 0, 0, 0, 0, 'Alliance, A Thief\'s Reward', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3353, 216, 30, 183, 3, 3, 566, 1, 0, '3 caps and no death', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 0, 0, 0, 1), + (3354, 333, 67, 0, 0, 0, 0, 0, 0, 'Total gold looted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 32, 0, 0, 0, 1), + (3355, 326, 62, 0, 0, 0, 0, 0, 0, 'Total gold from quest rewards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 32, 0, 0, 0, 1), + (3356, 1146, 63, 0, 0, 0, 0, 0, 0, 'Gold spent on travel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 32, 0, 0, 0, 1), + (3357, 1147, 65, 0, 0, 0, 0, 0, 0, 'Gold spent at barber shops', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 32, 0, 0, 0, 1), + (3358, 1148, 66, 0, 0, 0, 0, 0, 0, 'Gold spent on postage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 32, 0, 0, 0, 1), + (3359, 1149, 61, 0, 0, 0, 0, 0, 0, 'Talent tree respecs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3360, 1150, 60, 0, 0, 0, 0, 0, 0, 'Gold spent on talent tree respecs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 32, 0, 0, 0, 1), + (3361, 921, 59, 0, 0, 0, 0, 0, 0, 'Gold from vendors', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 32, 0, 0, 0, 1), + (3362, 224, 31, 4407, 50, 0, 0, 0, 0, '50 honorable kills in the Hall of the Frostwolf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3363, 1151, 31, 4408, 50, 0, 0, 0, 0, '50 honorable kills in the Hall of the Stormpike', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3368, 231, 56, 0, 20, 3, 30, 1, 0, 'Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 1), + (3372, 1153, 30, 123, 3, 3, 529, 3, 529, 'Defend 3 Bases', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 0, 0, 0, 1), + (3381, 1159, 39, 2, 2200, 0, 0, 0, 0, '2200 rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3382, 1160, 39, 3, 2200, 0, 0, 0, 0, '2200 rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3383, 1161, 39, 5, 2200, 0, 0, 0, 0, '2200 rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3384, 1162, 37, 0, 10, 4, 0, 4, 0, 'Win 10 arenas without losing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3386, 225, 1, 30, 1, 3, 30, 3, 30, 'Kobold Cave Owned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 1), + (3388, 1164, 1, 30, 1, 3, 30, 3, 30, 'Kobold Cave Owned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 1), + (3390, 1165, 57, 38082, 1, 0, 0, 0, 0, '"Gigantique" Bag', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3391, 1166, 42, 18228, 1, 0, 0, 0, 0, 'Autographed Picture of Foror & Tigule', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3392, 1167, 8, 219, 0, 0, 0, 0, 0, 'Alterac Valley Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3404, 1168, 8, 219, 0, 0, 0, 0, 0, 'Alterac Valley Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3416, 1169, 8, 155, 0, 0, 0, 0, 0, 'Arathi Basin Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3431, 1170, 8, 155, 0, 0, 0, 0, 0, 'Arathi Basin Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3446, 1171, 8, 209, 0, 0, 0, 0, 0, 'Eye of the Storm Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3461, 1172, 8, 167, 0, 0, 0, 0, 0, 'Warsong Gulch Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3476, 1173, 8, 167, 0, 0, 0, 0, 0, 'Warsong Gulch Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3488, 1174, 8, 699, 0, 0, 0, 0, 0, 'World Wide Winner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3500, 1175, 8, 1168, 0, 0, 0, 0, 0, 'Master of Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3506, 1176, 67, 0, 1000000, 0, 0, 0, 0, 'Loot 100 gold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 33, 0, 0, 0, 1), + (3507, 1177, 67, 0, 10000000, 0, 0, 0, 0, 'Loot 1,000 gold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 33, 0, 0, 0, 1), + (3510, 1180, 67, 0, 100000000, 0, 0, 0, 0, 'Loot 10,000 gold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 33, 0, 0, 0, 1), + (3511, 1181, 67, 0, 250000000, 0, 0, 0, 0, 'Loot 25,000 gold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 33, 0, 0, 0, 1), + (3512, 1178, 67, 0, 50000000, 0, 0, 0, 0, 'Loot 5,000 gold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 33, 0, 0, 0, 1), + (3513, 1182, 62, 0, 100000000, 0, 0, 0, 0, '10,000 gold from quest rewards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 33, 0, 0, 0, 1), + (3515, 1183, 28, 42256, 1, 0, 0, 0, 0, 'Wild Winter Pilsner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3527, 1184, 41, 33030, 1, 0, 0, 0, 0, 'Barleybrew Clear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3542, 1185, 41, 34063, 1, 0, 0, 0, 0, 'Dried Sausage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3557, 1186, 27, 12020, 1, 0, 0, 0, 0, 'Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3559, 1187, 36, 30633, 1, 0, 0, 0, 0, 'Auchenai Key', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3572, 1188, 41, 22200, 10, 0, 0, 0, 0, '10x Silver Shafted Arrow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3574, 484, 0, 29304, 1, 0, 0, 0, 0, 'Slad\'ran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3578, 481, 0, 29308, 1, 0, 0, 0, 0, 'Prince Taldaram', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3582, 483, 0, 31134, 1, 0, 0, 0, 0, 'Cyanigosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3583, 1189, 11, 3483, 80, 0, 0, 0, 0, '80 Hellfire quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3584, 1190, 11, 3521, 54, 0, 0, 0, 0, '54 Zangarmarsh quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3585, 1191, 11, 3519, 63, 0, 0, 0, 0, '63 Terokkar Forest quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3586, 1192, 11, 3518, 75, 0, 0, 0, 0, '75 Nagrand quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3587, 1193, 11, 3522, 86, 0, 0, 0, 0, '86 Blade\'s Edge Mountains quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3588, 1194, 11, 3523, 120, 0, 0, 0, 0, '120 Netherstorm quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3589, 1195, 11, 3520, 90, 0, 0, 0, 0, '90 Shadowmoon Valley quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3594, 1203, 41, 34021, 1, 0, 0, 0, 0, 'Brewdoo Magic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3615, 1206, 54, 225, 1, 0, 0, 0, 0, 'Squirrel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3622, 144, 28, 54587, 1, 0, 0, 0, 0, 'Fished up Lurker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3623, 1225, 72, 182954, 1, 0, 0, 0, 0, 'Brackish Mixed School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3629, 319, 76, 0, 0, 0, 0, 0, 0, 'Duels won', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3630, 320, 77, 0, 0, 0, 0, 0, 0, 'Duels lost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3631, 98, 9, 0, 0, 0, 0, 0, 0, 'Total quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3639, 1231, 0, 26723, 1, 0, 0, 0, 0, 'Keristrasza', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3643, 1232, 0, 29120, 1, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3647, 1233, 0, 29311, 1, 0, 0, 0, 0, 'Herald Volazj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3651, 1234, 0, 26632, 1, 0, 0, 0, 0, 'The Prophet Tharon\'ja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3652, 1235, 0, 31134, 1, 0, 0, 0, 0, 'Cyanigosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3656, 1236, 0, 29306, 1, 0, 0, 0, 0, 'Gal\'darah', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3659, 1237, 0, 27978, 1, 0, 0, 0, 0, 'Sjonnir the Ironshaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3663, 1238, 0, 28923, 1, 0, 0, 0, 0, 'Kronus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3667, 1239, 0, 27656, 1, 0, 0, 0, 0, 'Ley-Guardian Eregos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3669, 1240, 0, 26861, 1, 0, 0, 0, 0, 'King Ymiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3674, 1241, 0, 26533, 1, 0, 0, 0, 0, 'Mal\'Ganis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3679, 1242, 0, 23980, 1, 0, 0, 0, 0, 'Ingvar the Plunderer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3680, 1157, 76, 0, 1, 0, 0, 0, 0, 'Win a duel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3681, 1243, 34, 43308, 0, 0, 0, 0, 0, 'Find Fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3683, 560, 41, 19974, 1, 0, 0, 0, 0, 'Mudskunk Lure', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3684, 233, 56, 0, 1, 3, 566, 3, 566, 'Berserking killing blow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3685, 213, 70, 0, 5, 3, 566, 3, 566, '5 Flag Carriers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 9, 0, 0, 0, 1), + (3686, 1017, 75, 778, 1, 0, 0, 0, 0, 'Obtain a companion pet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3689, 15, 75, 778, 15, 0, 0, 0, 0, 'Obtain 15 companion pets', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3690, 1248, 75, 778, 25, 0, 0, 0, 0, 'Obtain 25 companion pets', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3692, 1250, 75, 778, 50, 0, 0, 0, 0, 'Obtain 50 companion pets', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3693, 211, 30, 183, 1, 0, 0, 0, 0, 'Capture a flag with 4 bases held', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3698, 206, 70, 0, 100, 0, 0, 0, 0, 'Horde Flag Carriers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3699, 1252, 70, 0, 100, 0, 0, 0, 0, 'Alliance Flag Carriers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3701, 489, 0, 23953, 1, 0, 0, 0, 0, 'Prince Keleseth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3705, 667, 0, 17308, 1, 0, 0, 0, 0, 'Omor the Unscarred', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3708, 674, 0, 18473, 1, 0, 0, 0, 0, 'Talon King Ikiss', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3709, 682, 0, 24664, 1, 0, 0, 0, 0, 'Kael\'thas Sunstrider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3710, 668, 0, 17377, 1, 0, 0, 0, 0, 'Keli\'dan the Breaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3711, 669, 0, 17942, 1, 0, 0, 0, 0, 'Quagmirran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3712, 670, 0, 17882, 1, 0, 0, 0, 0, 'The Black Stalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3713, 671, 0, 18344, 1, 0, 0, 0, 0, 'Nexus-Prince Shaffar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3714, 672, 0, 18373, 1, 0, 0, 0, 0, 'Exarch Maladaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3715, 673, 0, 18096, 1, 0, 0, 0, 0, 'Epoch Hunter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3716, 675, 0, 18708, 1, 0, 0, 0, 0, 'Murmur', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3717, 676, 0, 17881, 1, 0, 0, 0, 0, 'Aeonus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3718, 677, 0, 17798, 1, 0, 0, 0, 0, 'Warlord Kalithresh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3719, 678, 0, 16808, 1, 0, 0, 0, 0, 'Warchief Kargath Bladefist', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3720, 679, 0, 19220, 1, 0, 0, 0, 0, 'Pathaleon the Calculator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3721, 680, 0, 17977, 1, 0, 0, 0, 0, 'Warp Splinter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3722, 681, 0, 20912, 1, 0, 0, 0, 0, 'Harbinger Skyriss', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3723, 557, 49, 0, 1, 0, 0, 0, 0, 'Head', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3762, 1244, 68, 175738, 1, 0, 0, 0, 0, 'Aegwynn and the Dragon Hunt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3804, 161, 1, 529, 1, 0, 0, 0, 0, 'Overcome a 500 resource disadvantage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3814, 1253, 29, 46619, 0, 0, 0, 0, 0, 'Raised as a ghoul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3815, 1229, 28, 50763, 1, 0, 0, 0, 0, 'Revive (Rank 7)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3821, 1254, 28, 25285, 1, 0, 0, 0, 0, '15 Turkeys in 3 minutes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3822, 409, 28, 26549, 1, 0, 0, 0, 0, 'Last man standing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3826, 252, 35, 0, 50, 0, 0, 0, 0, '26157', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (3834, 563, 0, 15956, 1, 0, 0, 0, 0, 'Anub\'Rekhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3837, 565, 0, 16028, 1, 0, 0, 0, 0, 'Patchwerk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3841, 567, 0, 15954, 1, 0, 0, 0, 0, 'Noth the Plaguebringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3844, 569, 0, 16061, 1, 0, 0, 0, 0, 'Instructor Razuvious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3847, 573, 0, 15989, 1, 0, 0, 0, 0, 'Sapphiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3865, 153, 72, 182954, 1, 0, 0, 0, 0, 'Brackish Mixed School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3872, 1257, 72, 182952, 1, 0, 0, 0, 0, 'Steam Pump Flotsam', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3879, 1258, 70, 0, 1, 3, 566, 3, 566, 'Killed a Berserking Player', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3880, 1259, 70, 0, 1, 3, 489, 3, 489, 'Killed a Sprinting Player', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3881, 1260, 24, 0, 6500, 0, 0, 0, 0, '65 yards without dying while sloshed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3882, 1261, 35, 0, 50, 0, 0, 0, 0, '50 Honorable Kills with the G.N.E.R.D. buff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3883, 1262, 8, 1189, 0, 0, 0, 0, 0, 'To Hellfire and Back', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3904, 45, 8, 1264, 0, 0, 0, 0, 0, 'Borean Tundra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3912, 1271, 11, 3483, 90, 0, 0, 0, 0, '90 Hellfire quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3913, 1272, 11, 3519, 68, 0, 0, 0, 0, '68 Terokkar Forest quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3914, 1273, 11, 3518, 87, 0, 0, 0, 0, '87 Nagrand quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (3915, 1274, 8, 1271, 0, 0, 0, 0, 0, 'To Hellfire and Back', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3922, 1275, 27, 11008, 1, 0, 0, 10, 0, 'Fires Over Skettis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 2, 11008, 135, 1), + (3923, 1276, 27, 11023, 1, 0, 0, 10, 0, 'Bomb Them Again!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 2, 11023, 135, 1), + (3924, 1277, 27, 12372, 1, 0, 0, 10, 0, 'Defending Wyrmrest Temple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 2, 12372, 180, 1), + (3931, 1279, 54, 58, 1, 0, 0, 0, 0, 'Kissed Sraaz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3932, 1281, 41, 21576, 10, 0, 0, 0, 0, 'Shoot off 10 Red Rocket Clusters in 25 seconds or less', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 9, 21576, 25, 1), + (3936, 1282, 27, 11023, 1, 0, 0, 0, 0, 'Summon Reindeer Flying Mount Tier 3.5 (Brown) (PVP Reward)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (3939, 1283, 8, 628, 0, 0, 0, 0, 0, 'Deadmines', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (3964, 1284, 8, 647, 0, 0, 0, 0, 0, 'Hellfire Ramparts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4009, 1285, 8, 685, 0, 0, 0, 0, 0, 'Blackwing Lair', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4014, 1286, 8, 690, 0, 0, 0, 0, 0, 'Karazhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4023, 1287, 8, 667, 0, 0, 0, 0, 0, 'Heroic Hellfire Ramparts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4040, 1288, 8, 477, 0, 0, 0, 0, 0, 'Utgarde Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4056, 1289, 8, 489, 0, 0, 0, 0, 0, 'Heroic Utgarde Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4071, 1291, 41, 22236, 1, 0, 0, 0, 0, 'Buttermilk Delight at Romantic Picnic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (4072, 1292, 36, 32912, 1, 0, 0, 0, 0, 'Yellow Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (4078, 1293, 36, 33016, 1, 0, 0, 0, 0, 'Blue Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (4090, 1295, 28, 49444, 25, 0, 0, 0, 0, 'Gain 25 crashes with your Crashin\' Thrashin\' Racer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (4091, 328, 59, 0, 0, 0, 0, 0, 0, 'Money from vendors', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 32, 0, 0, 0, 1), + (4111, 295, 0, 23872, 1, 0, 0, 0, 0, 'Coren Direbrew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (4112, 293, 54, 34, 1, 0, 0, 0, 0, '/dance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (4122, 1264, 43, 1462, 0, 0, 0, 0, 0, 'Temple City of En\'kilah', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4136, 1263, 43, 1559, 0, 0, 0, 0, 0, 'Kamagua', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4159, 1265, 43, 1501, 0, 0, 0, 0, 0, 'Galakrond\'s Rest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4178, 1266, 43, 1463, 0, 0, 0, 0, 0, 'Conquest Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4192, 1267, 43, 1530, 0, 0, 0, 0, 0, 'Gundrak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4206, 1268, 43, 1544, 0, 0, 0, 0, 0, 'River\'s Heart', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4219, 919, 80, 0, 0, 0, 0, 0, 0, 'Gold Earned from Auctions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 32, 0, 0, 0, 1), + (4220, 329, 82, 0, 0, 0, 0, 0, 0, 'Auctions Posted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4221, 330, 84, 0, 0, 0, 0, 0, 0, 'Total Auction Purchases', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4222, 331, 83, 0, 0, 0, 0, 0, 0, 'Highest Auction Bid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 32, 0, 0, 0, 1), + (4223, 332, 85, 0, 0, 0, 0, 0, 0, 'Highest sale value on an auction', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 32, 0, 0, 0, 1), + (4224, 334, 86, 0, 0, 0, 0, 0, 0, 'Most gold ever owned:', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 32, 0, 0, 0, 1), + (4227, 1280, 110, 27571, 1, 0, 0, 0, 0, 'Handful of Rose Petals on Jeremiah Payson', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4230, 277, 29, 25990, 1, 0, 0, 0, 0, 'Graccu\'s Mince Meat Fruitcake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (4240, 1296, 0, 28684, 1, 0, 0, 0, 0, 'Krik\'thir the Gatewatcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (4244, 1297, 0, 28921, 1, 0, 0, 0, 0, 'Hadronox', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (4266, 684, 27, 7495, 1, 0, 0, 0, 0, 'Victory for the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (4288, 345, 41, 32947, 0, 0, 0, 0, 0, 'Auchenai Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4308, 922, 41, 32948, 0, 0, 0, 0, 0, 'Auchenai Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4337, 923, 41, 20080, 0, 0, 0, 0, 0, 'Sheen of Zanza', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4410, 811, 41, 22861, 0, 0, 0, 0, 0, 'Flask of Blinding Light', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4439, 1307, 0, 10363, 1, 0, 0, 0, 0, 'General Drakkisath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (4501, 1308, 1, 607, 1, 0, 0, 0, 0, 'Win Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (4502, 1309, 1, 607, 100, 0, 0, 0, 0, 'Complete 100 victories in Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (4504, 1311, 0, 18695, 1, 0, 0, 0, 0, 'Ambassador Jerrikar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4654, 346, 41, 32667, 0, 0, 0, 0, 0, 'Bash Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (4719, 812, 41, 5510, 0, 0, 0, 0, 0, 'Greater Healthstone (0)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4737, 924, 46, 1106, 42000, 0, 0, 0, 0, 'Exlated with the Argent Crusade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4750, 925, 46, 1012, 42000, 0, 0, 0, 0, 'Exlated with Ashtongue Deathsworn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4768, 927, 49, 14, 1, 0, 0, 0, 0, 'Cloak is Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4787, 339, 75, 777, 0, 0, 0, 0, 0, 'Number of mounts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4788, 338, 75, 778, 0, 0, 0, 0, 0, 'Vanity pets owned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4943, 198, 55, 0, 0, 0, 0, 0, 0, 'Total healing done', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4944, 1197, 78, 0, 0, 0, 0, 0, 0, 'Total NPC kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4946, 1198, 78, 0, 0, 0, 0, 0, 0, 'Kill an NPC that yields XP', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4948, 107, 78, 0, 0, 0, 0, 0, 0, 'Beasts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4958, 108, 78, 0, 0, 0, 0, 0, 0, 'Critters killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4959, 1111, 70, 0, 0, 0, 0, 0, 0, '2v2 Arena Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4960, 1110, 70, 0, 0, 0, 0, 0, 0, '3v3 Arena Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4961, 1109, 70, 0, 0, 0, 0, 0, 0, '5v5 Arena Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4962, 1057, 17, 0, 0, 0, 0, 0, 0, '2v2 Deaths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4963, 1107, 17, 0, 0, 0, 0, 0, 0, '3v3 Deaths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4964, 1108, 17, 0, 0, 0, 0, 0, 0, '5v5 Deaths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4965, 593, 20, 11948, 0, 0, 0, 0, 0, 'Killed by Vanndar Stormpike', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4985, 97, 14, 0, 0, 0, 0, 0, 0, 'Daily quests complete', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4987, 932, 19, 5, 0, 0, 0, 0, 0, '5-man instances run', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4988, 933, 19, 10, 0, 0, 0, 0, 0, '10-man instances run', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4989, 934, 19, 25, 0, 0, 0, 0, 0, '25-man raids run', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4990, 178, 75, 333, 0, 0, 0, 0, 0, 'Enchanting formulae known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4991, 181, 29, 13262, 0, 0, 0, 0, 0, 'Disenchanted items', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (4992, 350, 68, 183384, 0, 0, 0, 0, 0, 'Portal to Shattrath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5008, 353, 29, 8690, 0, 0, 0, 0, 0, 'Hearthstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5018, 460, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5020, 388, 70, 0, 50, 0, 0, 0, 0, 'Stormwind City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (5031, 1006, 70, 0, 50, 0, 0, 0, 0, 'Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (5040, 1356, 11, 495, 105, 0, 0, 0, 0, 'Complete 105 quests in Howling Fjord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5041, 1357, 11, 394, 75, 0, 0, 0, 0, 'Complete 75 quests in Grizzly Hills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5042, 1358, 11, 3537, 150, 0, 0, 0, 0, 'Complete 140 quests in Boren Tundra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (5044, 1359, 11, 65, 130, 0, 0, 0, 0, 'Complete 130 quests in Dragonblight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5045, 1360, 8, 1358, 1, 0, 0, 0, 0, 'Nothing Boring About Borean', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5079, 284, 36, 34000, 1, 0, 0, 0, 0, 'Flimsy Female Blood Elf Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5100, 1361, 0, 15956, 1, 0, 0, 0, 0, 'Anub\'Rekhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5101, 1362, 0, 15953, 1, 0, 0, 0, 0, 'Grand Widow Faerlina', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5102, 1363, 0, 15952, 1, 0, 0, 0, 0, 'Maexxna', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5103, 1367, 0, 16028, 1, 0, 0, 0, 0, 'Patchwerk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5104, 1365, 0, 15954, 1, 0, 0, 0, 0, 'Noth the Plaguebringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5108, 1366, 0, 16060, 1, 0, 0, 0, 0, 'Gothik the Harvester', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5110, 1364, 0, 16028, 1, 0, 0, 0, 0, 'Patchwerk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5111, 1368, 0, 15956, 1, 0, 0, 0, 0, 'Anub\'Rekhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5112, 1369, 0, 15936, 1, 0, 0, 0, 0, 'Heigan the Unclean', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5113, 1370, 0, 16011, 1, 0, 0, 0, 0, 'Loatheb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5114, 1371, 0, 15931, 1, 0, 0, 0, 0, 'Grobbulus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5117, 1372, 0, 15932, 1, 0, 0, 0, 0, 'Gluth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5119, 1373, 0, 15928, 1, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5120, 1374, 0, 16061, 1, 0, 0, 0, 0, 'Instructor Razuvious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5121, 1375, 0, 16062, 1, 0, 0, 0, 0, ' Need to hook up event', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5122, 1376, 0, 15989, 1, 0, 0, 0, 0, 'Sapphiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5123, 1377, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5124, 1378, 0, 15932, 1, 0, 0, 0, 0, 'Gluth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5125, 1379, 0, 16060, 1, 0, 0, 0, 0, 'Gothik the Harvester', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5126, 1380, 0, 15953, 1, 0, 0, 0, 0, 'Grand Widow Faerlina', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5127, 1381, 0, 15931, 1, 0, 0, 0, 0, 'Grobbulus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5128, 1382, 0, 15936, 1, 0, 0, 0, 0, 'Heigan the Unclean', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5129, 1383, 0, 16062, 1, 0, 0, 0, 0, ' Need to hook up event', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5130, 1384, 0, 16061, 1, 0, 0, 0, 0, 'Instructor Razuvious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5131, 1385, 0, 16011, 1, 0, 0, 0, 0, 'Loatheb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5132, 1386, 0, 15952, 1, 0, 0, 0, 0, 'Maexxna', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5133, 1387, 0, 15954, 1, 0, 0, 0, 0, 'Noth the Plaguebringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5134, 1388, 0, 15928, 1, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5135, 1389, 0, 15989, 1, 0, 0, 0, 0, 'Sapphiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5136, 1390, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5137, 1391, 0, 28859, 1, 0, 0, 0, 0, 'Malygos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5138, 1392, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5139, 1393, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5140, 1394, 0, 28859, 1, 0, 0, 0, 0, 'Malygos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5141, 1396, 27, 13012, 1, 0, 0, 0, 0, 'Elder Sardis in Valiance Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5203, 615, 0, 29611, 1, 0, 0, 0, 0, 'King Varian Wrynn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5212, 457, 5, 0, 80, 0, 0, 0, 0, 'Level 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5213, 467, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5214, 466, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5215, 465, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5216, 464, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5217, 463, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5218, 462, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5219, 461, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5220, 459, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5221, 458, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5223, 1400, 0, 28859, 1, 0, 0, 0, 0, 'Malygos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5224, 456, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5227, 1402, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5229, 1404, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5230, 1405, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5231, 1406, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5232, 1407, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5233, 1408, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5234, 1409, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5235, 1410, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5236, 1411, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5237, 1412, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5238, 1413, 5, 0, 80, 0, 0, 0, 0, 'Level to 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5240, 1414, 7, 164, 450, 0, 0, 0, 0, 'Skill to 450', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5241, 1415, 7, 171, 450, 0, 0, 0, 0, 'Skill to 450', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5242, 1416, 7, 185, 450, 0, 0, 0, 0, 'Skill to 450', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5243, 1417, 7, 333, 450, 0, 0, 0, 0, 'Skill to 450', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5244, 1418, 7, 202, 450, 0, 0, 0, 0, 'Skill to 450', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5245, 490, 0, 26731, 1, 0, 0, 0, 0, 'Grand Magus Telestra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5249, 1419, 7, 129, 450, 0, 0, 0, 0, 'Skill to 450', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5250, 1420, 7, 356, 450, 0, 0, 0, 0, 'Skill to 450', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5251, 1421, 7, 182, 450, 0, 0, 0, 0, 'Skill to 450', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5252, 1422, 7, 773, 450, 0, 0, 0, 0, 'Skill to 450', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5253, 1423, 7, 755, 450, 0, 0, 0, 0, 'Skill to 450', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5254, 1424, 7, 165, 450, 0, 0, 0, 0, 'Skill to 450', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5255, 1425, 7, 186, 450, 0, 0, 0, 0, 'Skill to 450', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5256, 1426, 7, 393, 450, 0, 0, 0, 0, 'Skill to 450', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5257, 1427, 7, 197, 450, 0, 0, 0, 0, 'Skill to 450', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5258, 1428, 29, 57064, 1, 0, 0, 0, 0, 'Landmine Knockback', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5267, 1436, 34, 49322, 0, 0, 0, 0, 0, 'Zhevra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5272, 259, 110, 21343, 1, 0, 0, 0, 0, 'Snowball Cairne Bloodhoof', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5274, 150, 109, 3, 1, 0, 0, 0, 0, 'Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5288, 1456, 109, 3, 0, 0, 0, 0, 0, 'Fish and other things caught', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5289, 94, 107, 0, 0, 0, 0, 0, 0, 'Quests abandoned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5290, 1457, 43, 1597, 0, 0, 0, 0, 0, 'The Azure Front', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5299, 378, 87, 0, 0, 0, 0, 0, 0, 'Factions at revered', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5300, 529, 88, 0, 0, 0, 0, 0, 0, 'Factions at honored', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5301, 931, 89, 0, 0, 0, 0, 0, 0, 'Total factions encountered', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5304, 183, 109, 4, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5305, 349, 108, 0, 0, 0, 0, 0, 0, 'Flight paths taken', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5306, 1463, 8, 947, 0, 0, 0, 0, 0, 'The Argent Crusade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5310, 1462, 36, 29434, 0, 0, 0, 0, 0, 'Badges of Justice acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5311, 1464, 36, 40752, 0, 0, 0, 0, 0, 'Emblems of Heroism acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5312, 1465, 36, 40753, 0, 0, 0, 0, 0, 'Emblems of Valor acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5313, 926, 46, 530, 42000, 0, 0, 0, 0, 'Exalted with Darkspear Trolls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5328, 1466, 46, 69, 42000, 0, 0, 0, 0, 'Exalted with Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5343, 342, 36, 0, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5344, 341, 42, 0, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5345, 336, 36, 0, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5371, 527, 102, 0, 0, 0, 0, 0, 0, 'Largest hit received', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5372, 528, 103, 0, 0, 0, 0, 0, 0, 'Total damage received', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5373, 193, 101, 0, 0, 0, 0, 0, 0, 'Largest hit dealt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5374, 829, 106, 0, 0, 0, 0, 0, 0, 'Largest heal received', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5375, 830, 105, 0, 0, 0, 0, 0, 0, 'Total healing received', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5376, 189, 104, 0, 0, 0, 0, 0, 0, 'Largest heal cast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5377, 1467, 0, 23953, 1, 0, 0, 0, 0, 'Prince Keleseth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5492, 381, 35, 0, 0, 0, 0, 0, 0, 'Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5499, 382, 35, 0, 0, 0, 0, 0, 0, 'Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5507, 1113, 35, 0, 0, 0, 0, 0, 0, 'Alterac Valley Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5508, 1114, 35, 0, 0, 0, 0, 0, 0, 'Arathi Basin Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5509, 1115, 35, 0, 0, 0, 0, 0, 0, 'Warsong Gulch Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5510, 1112, 35, 0, 0, 0, 0, 0, 0, 'Eye of the Storm Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5511, 1486, 35, 0, 0, 0, 0, 0, 0, 'Strand of the Ancients Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5512, 1488, 56, 0, 0, 0, 0, 0, 0, 'Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5529, 1487, 56, 0, 0, 0, 0, 0, 0, 'Total Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5533, 1490, 56, 0, 0, 0, 0, 0, 0, 'Nagrand Arena', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5536, 1491, 56, 0, 0, 0, 0, 0, 0, 'Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5541, 1492, 56, 0, 0, 0, 0, 0, 0, '2v2 Arena Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5542, 1493, 56, 0, 0, 0, 0, 0, 0, '3v3 Arena Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5543, 1494, 56, 0, 0, 0, 0, 0, 0, '5v5 Arena Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5544, 1495, 56, 0, 0, 0, 0, 0, 0, 'Alterac Valley Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5545, 1496, 56, 0, 0, 0, 0, 0, 0, 'Arathi Basin Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5546, 1497, 56, 0, 0, 0, 0, 0, 0, 'Warsong Gulch Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5547, 1498, 56, 0, 0, 0, 0, 0, 0, 'Eye of the Storm Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5548, 1499, 56, 0, 0, 0, 0, 0, 0, 'Strand of the Ancients Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5549, 1500, 16, 607, 0, 0, 0, 0, 0, 'Deaths in Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5551, 1199, 40, 171, 1, 0, 0, 0, 0, 'Alchemy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5562, 1200, 7, 129, 450, 0, 0, 0, 0, 'First Aid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5565, 1201, 7, 171, 450, 0, 0, 0, 0, 'Alchemy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5576, 1202, 7, 43, 400, 0, 0, 0, 0, 'Swords', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5593, 318, 17, 0, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5594, 1501, 23, 0, 0, 0, 0, 0, 0, 'Total deaths from other players', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5597, 418, 74, 0, 1, 0, 0, 0, 0, 'Merciless Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5599, 419, 74, 0, 1, 0, 0, 0, 0, 'Vengeful Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5600, 420, 74, 0, 1, 0, 0, 0, 0, 'Brutal Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5601, 202, 69, 23333, 1, 0, 0, 0, 0, 'Pick up flag while it\'s at the base', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 1), + (5603, 1502, 69, 23335, 1, 0, 0, 0, 0, 'Pick up flag while it\'s at the base', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 1), + (5605, 207, 70, 0, 1, 0, 0, 0, 0, 'Carrying Horde Flag', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5608, 1504, 0, 23980, 1, 0, 0, 0, 0, 'Ingvar the Plunderer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5609, 1505, 0, 26723, 1, 0, 0, 0, 0, 'Keristrasza', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5610, 1506, 0, 29120, 1, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5611, 1507, 0, 29311, 1, 0, 0, 0, 0, 'Herald Volazj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5612, 1508, 0, 26632, 1, 0, 0, 0, 0, 'The Prophet Tharon\'ja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5613, 1509, 0, 31134, 1, 0, 0, 0, 0, 'Cyanigosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5614, 1510, 0, 29306, 1, 0, 0, 0, 0, 'Gal\'darah', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5615, 1511, 0, 27978, 1, 0, 0, 0, 0, 'Sjonnir the Ironshaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5616, 1512, 0, 28923, 1, 0, 0, 0, 0, 'Kronus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5617, 1513, 0, 27656, 1, 0, 0, 0, 0, 'Ley-Guardian Eregos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5618, 1514, 0, 26861, 1, 0, 0, 0, 0, 'King Ymiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5620, 1515, 73, 18716, 1, 0, 0, 0, 0, 'Mal\'Ganis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5621, 1103, 0, 23980, 1, 0, 0, 0, 0, 'Ingvar the Plunderer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5662, 1516, 8, 130, 0, 0, 0, 0, 0, 'Grand Master Fisherman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5680, 1517, 72, 192051, 1, 0, 0, 0, 0, 'Borean Man O\' War School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5692, 1104, 0, 28859, 1, 0, 0, 0, 0, 'Malygos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5695, 1518, 109, 3, 0, 0, 0, 0, 0, 'Fish caught', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5696, 1519, 7, 356, 450, 0, 0, 0, 0, 'Fishing skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5701, 1524, 7, 185, 450, 0, 0, 0, 0, 'Cooking skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5702, 1525, 27, 11377, 1, 0, 0, 0, 0, 'Revenge is Tasty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5706, 1526, 27, 11665, 1, 0, 0, 0, 0, 'Crocolisks in the City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5711, 1527, 7, 171, 450, 0, 0, 0, 0, 'Alchemy skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5712, 1532, 7, 164, 450, 0, 0, 0, 0, 'Blacksmithing skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5713, 1535, 7, 333, 450, 0, 0, 0, 0, 'Enchanting skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5714, 1542, 7, 197, 450, 0, 0, 0, 0, 'Tailoring skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5715, 1538, 7, 182, 450, 0, 0, 0, 0, 'Herbalism skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5716, 1539, 7, 773, 450, 0, 0, 0, 0, 'Inscription skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5717, 1540, 7, 755, 450, 0, 0, 0, 0, 'Jewelcrafting skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5718, 1536, 7, 165, 450, 0, 0, 0, 0, 'Leatherworking skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5719, 1537, 7, 186, 450, 0, 0, 0, 0, 'Mining skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5720, 1541, 7, 393, 450, 0, 0, 0, 0, 'Skinning skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5722, 1544, 7, 202, 450, 0, 0, 0, 0, 'Engineering skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5723, 363, 33, 562, 0, 0, 0, 0, 0, 'Blade\'s Edge 5v5 Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5724, 365, 33, 562, 0, 0, 0, 0, 0, 'Blade\'s Edge 3v3 Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5725, 367, 33, 562, 0, 0, 0, 0, 0, 'Blade\'s Edge 2v2 Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5726, 362, 32, 562, 0, 0, 0, 0, 0, 'Blade\'s Edge 5v5 Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5727, 364, 32, 562, 0, 0, 0, 0, 0, 'Blade\'s Edge 3v3 Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5728, 366, 32, 562, 0, 0, 0, 0, 0, 'Blade\'s Edge 2v2 Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5729, 103, 33, 562, 0, 0, 0, 0, 0, 'Circle of Blood matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5730, 101, 33, 559, 0, 0, 0, 0, 0, 'Ring of Trials matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5731, 1545, 33, 618, 0, 0, 0, 0, 0, 'Ring of Valor matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5732, 99, 33, 572, 0, 0, 0, 0, 0, 'Ruins of Lordaeron matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5733, 1547, 33, 617, 0, 0, 0, 0, 0, 'Dalaran Sewers matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5734, 104, 32, 562, 0, 0, 0, 0, 0, 'Circle of Blood victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5735, 100, 32, 559, 0, 0, 0, 0, 0, 'Ring of Trials victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5736, 102, 32, 572, 0, 0, 0, 0, 0, 'Ruins of Lordaeron victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5737, 1546, 32, 618, 0, 0, 0, 0, 0, 'Ring of Valor victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5738, 1548, 32, 617, 0, 0, 0, 0, 0, 'Dalaran Sewers victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5739, 837, 32, 562, 0, 0, 0, 0, 0, 'Blade\'s Edge Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5740, 838, 33, 562, 0, 0, 0, 0, 0, 'Blade\'s Edge Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5741, 839, 15, 30, 0, 0, 0, 0, 0, 'Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5742, 840, 1, 30, 0, 0, 0, 0, 0, 'Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5743, 1549, 15, 607, 0, 0, 0, 0, 0, 'Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5745, 50, 1, 566, 0, 0, 0, 0, 0, 'Eye of the Storm victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5746, 1550, 1, 607, 0, 0, 0, 0, 0, 'Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5747, 52, 15, 489, 0, 0, 0, 0, 0, 'Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5755, 1552, 41, 21747, 10, 0, 0, 0, 0, 'Shoot off 10 Festival Firecrackers in 30 seconds or less', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 9, 21747, 30, 1), + (5756, 1556, 109, 3, 25, 0, 0, 0, 0, 'Catch 25 fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5757, 1557, 109, 3, 50, 0, 0, 0, 0, 'Catch 50 fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5758, 1558, 109, 3, 100, 0, 0, 0, 0, 'Catch 100 fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5759, 1559, 109, 3, 250, 0, 0, 0, 0, 'Catch 250 fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5760, 1560, 109, 3, 500, 0, 0, 0, 0, 'Catch 500 fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5761, 1561, 109, 3, 1000, 0, 0, 0, 0, 'Catch 1000 fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (5763, 1563, 8, 125, 0, 0, 0, 0, 0, 'Grand Master Cook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5772, 291, 110, 44212, 1, 0, 0, 0, 0, 'Gnome', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5783, 292, 34, 42609, 0, 0, 0, 0, 0, 'Sinister Squashling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5798, 1576, 27, 9977, 1, 0, 0, 0, 0, 'The Ring of Blood: The Final Challenge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5802, 1044, 93, 0, 0, 0, 0, 0, 0, 'Need rolls for loot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5803, 1043, 94, 0, 0, 0, 0, 0, 0, 'Greed rolls on loot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5804, 1596, 27, 12238, 1, 0, 0, 0, 0, 'Cleansing Drak\'Tharon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5812, 1636, 36, 36941, 1, 0, 0, 0, 0, 'Competitor\'s Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5814, 1637, 34, 48406, 0, 0, 0, 0, 0, 'Spirit of Competition', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5815, 1638, 27, 11071, 1, 0, 0, 0, 0, 'Skyshatter Race', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (5818, 1656, 8, 972, 0, 0, 0, 0, 0, 'Trick or Treat!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5831, 1657, 8, 972, 0, 0, 0, 0, 0, 'Trick or Treat!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5843, 1269, 43, 1579, 0, 0, 0, 0, 0, 'Brunnhildar Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5859, 1270, 43, 1596, 0, 0, 0, 0, 0, 'The Bombardment', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5889, 1658, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian (10 or 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (5900, 1676, 11, 36, 700, 0, 0, 0, 0, 'Alterac Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (5952, 1677, 11, 36, 550, 0, 0, 0, 0, 'Alterac Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (6004, 1678, 11, 3428, 700, 0, 0, 0, 0, 'Ahn\'Qiraj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (6099, 1680, 11, 3428, 685, 0, 0, 0, 0, 'Ahn\'Qiraj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (6143, 1681, 8, 1676, 0, 0, 0, 0, 0, 'Loremaster of Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6147, 1682, 8, 1677, 0, 0, 0, 0, 0, 'Loremaster of Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6159, 729, 34, 17481, 0, 0, 0, 0, 0, 'Rivendare\'s Deathcharger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6160, 980, 34, 48025, 0, 0, 0, 0, 0, 'Headless Horseman\'s Mount', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6161, 880, 34, 24252, 0, 0, 0, 0, 0, 'Swift Zulian Tiger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6162, 881, 34, 24242, 0, 0, 0, 0, 0, 'Swift Razzashi Raptor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6164, 883, 34, 41252, 0, 0, 0, 0, 0, 'Raven Lord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6165, 884, 34, 46628, 0, 0, 0, 0, 0, 'Swift White Hawkstrider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6166, 885, 34, 40192, 0, 0, 0, 0, 0, 'Ashes of Al\'ar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6170, 430, 34, 43688, 0, 0, 0, 0, 0, 'Amani War Bear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6174, 1683, 8, 1185, 0, 0, 0, 0, 0, 'The Brewfest Diet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6181, 1684, 8, 1185, 0, 0, 0, 0, 0, 'The Brewfest Diet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6207, 303, 34, 50869, 0, 0, 0, 0, 0, 'Brewfest Kodo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6211, 706, 34, 23509, 0, 0, 0, 0, 0, 'Frostwolf Howler', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6212, 707, 34, 23510, 0, 0, 0, 0, 0, 'Stormpike Battle Charger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6213, 727, 34, 22719, 0, 0, 0, 0, 0, 'Black Battlestrider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6223, 279, 27, 7045, 1, 0, 0, 0, 0, 'A Smokywood Pastures\' Thank You!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6225, 1685, 110, 26004, 1, 0, 0, 0, 0, 'Brother Malach in the Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6228, 1686, 110, 26004, 1, 0, 0, 0, 0, 'Brother Nimetz in Stranglethorn Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6237, 1687, 110, 44755, 1, 0, 0, 0, 0, 'Orc Death Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6247, 1688, 29, 21143, 1, 0, 0, 0, 0, 'Gingerbread Cookie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6250, 1689, 27, 11528, 1, 0, 0, 0, 0, 'Unique Toy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6261, 1690, 54, 34, 1, 0, 0, 0, 0, '/dance in dalaran with a snowman as a snowman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6262, 1691, 8, 273, 0, 0, 0, 0, 0, 'On Metzen!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6274, 1692, 8, 273, 0, 0, 0, 0, 0, 'On Metzen!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6293, 1694, 42, 22279, 1, 0, 0, 0, 0, 'Lovely Black Dress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6294, 1695, 27, 24658, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6295, 1696, 41, 34258, 10, 0, 0, 0, 0, 'Shoot off 10 Love Rockets in 20 seconds or less', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 9, 34258, 20, 1), + (6312, 1699, 110, 27571, 1, 0, 0, 0, 0, 'Gnome Warlock', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6322, 1700, 34, 27570, 0, 0, 0, 0, 0, 'Peddlefeet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6324, 1701, 29, 70577, 1, 0, 0, 0, 0, 'Be Mine!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6332, 1702, 41, 22236, 1, 0, 0, 0, 0, 'Buttermilk Delight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6336, 1703, 36, 22206, 1, 0, 0, 0, 0, 'Bouquet of Red Roses', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6342, 1705, 27, 11528, 1, 0, 0, 0, 0, 'Clockwork Rocket Bot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6343, 1704, 54, 203, 1, 0, 0, 0, 0, 'Wintergrasp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6351, 1693, 8, 260, 0, 0, 0, 0, 0, 'Charming', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6365, 1707, 8, 260, 0, 0, 0, 0, 0, 'Charming', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6384, 1721, 0, 31125, 1, 0, 0, 0, 0, 'Archavon the Stone Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6385, 1722, 0, 31125, 1, 0, 0, 0, 0, 'Archavon the Stone Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6386, 1729, 75, 171, 0, 0, 0, 0, 0, 'Alchemy recipes known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6387, 1730, 75, 164, 0, 0, 0, 0, 0, 'Blacksmithing plans known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6388, 1734, 75, 202, 0, 0, 0, 0, 0, 'Engineering Schematics known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6389, 1735, 75, 773, 0, 0, 0, 0, 0, 'Inscriptions known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6390, 1738, 75, 755, 0, 0, 0, 0, 0, 'Jewelcrafting Designs known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6391, 1740, 75, 165, 0, 0, 0, 0, 0, 'Leatherworking Patterns known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6392, 1741, 75, 197, 0, 0, 0, 0, 0, 'Tailoring Patterns known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6393, 1745, 75, 185, 0, 0, 0, 0, 0, 'Cooking recipes known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6394, 1748, 75, 129, 0, 0, 0, 0, 0, 'First Aid Manuals learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6395, 1753, 0, 31125, 1, 0, 0, 0, 0, 'Archavon the Stone Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6396, 1754, 0, 31125, 1, 0, 0, 0, 0, 'Archavon the Stone Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6397, 1756, 0, 15932, 1, 0, 0, 0, 0, 'Gluth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6413, 1768, 0, 28859, 1, 0, 0, 0, 0, 'Malygos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6416, 1770, 0, 15932, 1, 0, 0, 0, 0, 'Gluth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6436, 1717, 28, 56902, 1, 0, 0, 0, 0, 'Win Wintergrasp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6440, 1737, 0, 27881, 1, 0, 0, 0, 0, 'Wintergrasp Catapult', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6446, 1764, 70, 0, 100, 0, 0, 0, 0, 'Kill 100 players carrying seaforium', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (6447, 1765, 29, 1843, 5, 3, 607, 3, 607, 'Disarm 5 seaforium charges in a single battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 9, 0, 0, 0, 1), + (6486, 1777, 29, 58523, 1, 0, 0, 0, 0, 'Bad Clams', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6600, 1780, 41, 43491, 1, 0, 0, 0, 0, 'Bad Clams', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6606, 1781, 41, 43004, 10, 0, 0, 0, 0, 'Get 10 critters in 3 minutes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 9, 43004, 180, 1), + (6608, 1782, 27, 13100, 1, 0, 0, 0, 0, 'Infused Mushroom Meatloaf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6613, 1783, 27, 13112, 1, 0, 0, 0, 0, 'Infused Mushroom Meatloaf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6618, 1784, 8, 125, 0, 0, 0, 0, 0, 'Grand Master Cook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6626, 1785, 41, 34753, 1, 0, 0, 0, 0, 'Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6633, 604, 70, 0, 5, 0, 0, 0, 0, 'Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6637, 603, 70, 0, 5, 0, 0, 0, 0, 'Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6641, 1786, 30, 183, 1, 0, 0, 0, 0, 'Capture the flag in Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6651, 1788, 41, 7228, 1, 0, 0, 0, 0, 'Tigule and Foror\'s Strawberry Ice Cream', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6659, 1790, 0, 26861, 1, 0, 0, 0, 0, 'King Ymiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6661, 1792, 36, 23015, 1, 0, 0, 0, 0, 'Rat Cage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6674, 1793, 8, 1791, 0, 0, 0, 0, 0, 'Home Alone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6751, 1795, 112, 185, 25, 0, 0, 0, 0, 'Learn 25 cooking recipes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (6752, 1796, 112, 185, 50, 0, 0, 0, 0, 'Learn 50 cooking recipes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (6753, 1797, 112, 185, 75, 0, 0, 0, 0, 'Learn 75 cooking recipes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (6754, 1798, 112, 185, 100, 0, 0, 0, 0, 'Learn 100 cooking recipes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (6755, 1799, 112, 185, 160, 0, 0, 0, 0, 'Learn 160 cooking recipes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (6758, 1800, 29, 43779, 1, 0, 0, 0, 0, 'Delicious Chocolate Cake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6761, 1801, 29, 45695, 1, 0, 0, 0, 0, 'Captain Rumsey\'s Lager', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6790, 870, 113, 0, 100000, 0, 0, 0, 0, 'Get 100000 honorable kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (6791, 869, 113, 0, 50000, 0, 0, 0, 0, 'Get 50000 honorable kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (6792, 239, 113, 0, 25000, 0, 0, 0, 0, 'Get 25000 honorable kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (6793, 509, 113, 0, 10000, 0, 0, 0, 0, 'Get 10000 honorable kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (6794, 512, 113, 0, 5000, 0, 0, 0, 0, 'Get 5000 honorable kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (6795, 516, 113, 0, 1000, 0, 0, 0, 0, 'Get 1000 honorable kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (6796, 515, 113, 0, 500, 0, 0, 0, 0, 'Get 500 honorable kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (6797, 513, 113, 0, 100, 0, 0, 0, 0, 'Get 100 honorable kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (6798, 238, 113, 0, 1, 0, 0, 0, 0, 'Achieve an honorable kill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6799, 141, 110, 45544, 1, 0, 0, 0, 0, 'First Aid Below 5%', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6800, 223, 70, 0, 1, 0, 0, 0, 0, 'Kill someone in the Field of Strife before they dismount', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6802, 578, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6803, 1816, 0, 31134, 1, 0, 0, 0, 0, 'Cyanigosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6804, 271, 28, 58934, 1, 0, 0, 0, 0, 'Dance at the ribbon pole for 60 seconds while wearing completed Midsummer set.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6805, 500, 0, 26529, 1, 0, 0, 0, 0, 'Meathook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6813, 493, 0, 26630, 1, 0, 0, 0, 0, 'Trollgore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6817, 3838, 42, 40752, 1, 0, 0, 0, 0, 'Emblem of Heroism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (6819, 3839, 42, 40752, 25, 0, 0, 0, 0, 'Loot 25 Emblems of Heroism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (6820, 3840, 42, 40752, 50, 0, 0, 0, 0, 'Loot 50 Emblems of Heroism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (6821, 3841, 42, 40752, 100, 0, 0, 0, 0, 'Loot 100 Emblems of Heroism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (6822, 3842, 42, 40752, 250, 0, 0, 0, 0, 'Loot 250 Emblems of Heroism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (6823, 3843, 42, 40752, 500, 0, 0, 0, 0, 'Loot 500 Emblems of Heroism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (6824, 3844, 42, 40752, 1000, 0, 0, 0, 0, 'Loot 1000 Emblems of Heroism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (6831, 497, 0, 28586, 1, 0, 0, 0, 0, 'General Bjarngrim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6835, 1834, 0, 28586, 1, 0, 0, 0, 0, 'General Bjarngrim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6839, 495, 0, 29304, 1, 0, 0, 0, 0, 'Slad\'ran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6845, 917, 18, 10, 0, 0, 0, 0, 0, '10 man raids', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6846, 916, 18, 25, 0, 0, 0, 0, 0, '25 man raids', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6847, 918, 18, 5, 0, 0, 0, 0, 0, '5 man instances', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6848, 491, 0, 28684, 1, 0, 0, 0, 0, 'Krik\'thir the Gatewatcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6851, 492, 0, 29308, 1, 0, 0, 0, 0, 'Prince Taldaram', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6855, 494, 0, 31134, 1, 0, 0, 0, 0, 'Cyanigosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6856, 496, 0, 27975, 1, 0, 0, 0, 0, 'Maiden of Grief', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6859, 498, 0, 27654, 1, 0, 0, 0, 0, 'Drakos the Interrogator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6864, 499, 0, 26668, 1, 0, 0, 0, 0, 'Svala Sorrowgrave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (6937, 272, 110, 45280, 40, 0, 0, 0, 0, '40 torches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 5, 45280, 15, 1), + (6974, 415, 36, 43599, 1, 0, 0, 0, 0, 'Big Blizzard Bear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6980, 1836, 36, 34486, 1, 0, 0, 0, 0, 'Old Crafty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (6984, 1837, 42, 34484, 1, 0, 0, 0, 0, 'Old Ironjaw', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7020, 203, 70, 0, 2, 3, 489, 3, 489, 'Kill 2 flag carriers before they leave the Silverwing Flag Room', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 9, 0, 0, 0, 1), + (7021, 1251, 70, 0, 2, 3, 489, 3, 489, 'Kill 2 flag carriers before they leave the Warsong Flag Room', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 9, 0, 0, 0, 1), + (7032, 347, 41, 27667, 0, 0, 0, 0, 0, 'Spicy Crawdad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7126, 1856, 0, 16028, 1, 0, 0, 0, 0, 'Patchwerk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 10286, 180, 1), + (7127, 1857, 0, 16028, 1, 0, 0, 0, 0, 'Patchwerk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 10286, 180, 1), + (7128, 1858, 0, 15952, 1, 0, 0, 0, 0, 'Kill Maexxna within 20 minutes of Anub\'Rekhan\'s death.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 9891, 1200, 1), + (7129, 1859, 0, 15952, 1, 0, 0, 0, 0, 'Kill Maexxna within 20 minutes of Anub\'Rekhan\'s death.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 9891, 1200, 1), + (7130, 1860, 0, 29120, 1, 0, 0, 0, 0, 'Kill Anub\'arak in 4 minutes or less.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 20381, 240, 1), + (7133, 1862, 0, 29311, 1, 0, 0, 0, 0, 'Kill Herald Volazj on Heroic Difficulty in 2 minutes or less.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 20382, 120, 1), + (7136, 1864, 0, 29306, 1, 0, 0, 0, 0, 'Kill Gal\'darah while under the effects of Eck Residue.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7137, 1865, 0, 29266, 1, 0, 0, 0, 0, 'Xevozz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7143, 1866, 0, 27975, 1, 0, 0, 0, 0, 'Kill the Maiden of Grief in 1 minute or less.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 20383, 60, 1), + (7144, 1867, 0, 28923, 1, 0, 0, 0, 0, 'Kill Loken on Heroic Difficulty in 2 minutes or less.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 20384, 120, 1), + (7145, 1868, 0, 27656, 1, 0, 0, 0, 0, 'Kill Ley-Guardian Eregos within 20 minutes of Drakos the Interrogator\'s death.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 18153, 1200, 1), + (7159, 579, 0, 15956, 1, 0, 0, 0, 0, 'Anub\'Rekhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7174, 1869, 0, 28859, 1, 0, 0, 0, 0, 'Defeat Malygos with fewer than 9', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7175, 1870, 0, 28859, 1, 0, 0, 0, 0, 'Defeat Malygos with fewer than 21', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7177, 1871, 0, 27656, 1, 0, 0, 0, 0, 'Amber Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7180, 1872, 0, 27737, 100, 0, 0, 0, 0, 'Kill 100 Risen Zombies in 1 minute', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 7, 27737, 60, 1), + (7181, 1873, 0, 26693, 1, 0, 0, 0, 0, 'Kill Skadi the Ruthless on Heroic Difficulty within 3 minutes of starting the guantlet event', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 17726, 180, 1), + (7182, 1874, 0, 28859, 1, 0, 0, 0, 0, 'Malygos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 20387, 360, 1), + (7183, 1875, 0, 28859, 1, 0, 0, 0, 0, 'Malygos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 20387, 360, 1), + (7184, 1876, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7185, 1877, 0, 30449, 1, 0, 0, 0, 0, 'Vesperon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7189, 624, 0, 30449, 1, 0, 0, 0, 0, 'Vesperon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7231, 1919, 0, 23953, 1, 0, 0, 0, 0, 'Defeat Prince Keleseth on Heroic Difficulty without shattering any Frost Tombs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7232, 1936, 36, 32233, 1, 0, 0, 0, 0, 'Wolpertinger\'s Tankard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7236, 1956, 68, 192708, 1, 0, 0, 0, 0, 'The Schools of Arcane Magic - Introduction', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7244, 1957, 36, 43641, 1, 0, 0, 0, 0, 'Anduin Wrynn\'s Gold Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7260, 1958, 36, 43698, 1, 0, 0, 0, 0, 'Giant Sewer Rat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7262, 1976, 36, 43016, 0, 0, 0, 0, 0, 'Dalaran Cooking Awards gained', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7263, 1977, 36, 41596, 0, 0, 0, 0, 0, 'Dalaran Jewelcrafter\'s Tokens gained', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7264, 1996, 0, 15936, 1, 0, 0, 0, 0, 'Defeat Heigan the Unclean without anyone in the raid dying.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7265, 1997, 0, 15953, 1, 0, 0, 0, 0, 'Defeat Grand Widow Faerlina without dispelling or preventing frenzy.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7266, 1998, 36, 43016, 1, 0, 0, 0, 0, 'Dalaran Cooking Award', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7267, 1999, 36, 43016, 10, 0, 0, 0, 0, '10 Dalaran Cooking Awards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7268, 2000, 36, 43016, 25, 0, 0, 0, 0, '25 Dalaran Cooking Awards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7269, 2001, 36, 43016, 50, 0, 0, 0, 0, '50 Dalaran Cooking Awards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7270, 2002, 36, 43016, 100, 0, 0, 0, 0, '100 Dalaran Cooking Awards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7278, 2016, 27, 12444, 1, 0, 0, 0, 0, 'Blackriver Skirmish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7287, 2017, 27, 12170, 1, 0, 0, 0, 0, 'Blackriver Brawl', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7296, 2018, 27, 13240, 1, 0, 0, 0, 0, 'Timear Foresees Centrifuge Constructs in your Future!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7300, 2019, 27, 13245, 1, 0, 0, 0, 0, 'Proof of Demise: Ingvar the Plunderer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7315, 2036, 0, 26723, 1, 13, 20542, 9, 59900, 'Keristrasza', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7316, 2037, 0, 26763, 1, 0, 0, 0, 0, 'Anomalus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7317, 2038, 0, 29309, 1, 0, 0, 0, 0, 'Elder Nadox', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7318, 2039, 0, 27483, 1, 0, 0, 0, 0, 'King Dred', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7319, 2040, 0, 29305, 1, 0, 0, 0, 0, 'Moorabi', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7320, 2041, 0, 29313, 1, 0, 0, 0, 0, 'Ichoron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7321, 2042, 0, 28587, 1, 0, 0, 0, 0, 'Volkhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7322, 2043, 0, 26555, 1, 0, 0, 0, 0, 'Scourge Hulk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7323, 2044, 0, 27656, 1, 0, 0, 0, 0, 'Ley-Guardian Eregos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7324, 2045, 0, 27656, 1, 0, 0, 0, 0, 'Ley-Guardian Eregos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7325, 2046, 0, 27656, 1, 0, 0, 0, 0, 'Ley-Guardian Eregos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7326, 2047, 0, 28860, 1, 13, 19800, 9, 57591, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7327, 2048, 0, 28860, 1, 13, 19800, 9, 57591, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7328, 2049, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7329, 2050, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7330, 2051, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7331, 2052, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7332, 2053, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7333, 2054, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7358, 1706, 36, 37710, 1, 0, 0, 0, 0, 'Crashin\' Thrashin\' Racer Controller', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7359, 2056, 0, 29310, 1, 0, 0, 0, 0, 'Jedoga Shadowseeker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7361, 2057, 0, 26631, 1, 0, 0, 0, 0, 'Novos the Summoner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7363, 2058, 0, 29304, 1, 13, 20573, 9, 55099, 'Slad\'ran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7365, 1718, 28, 56902, 100, 0, 0, 0, 0, 'Win Wintergrasp 100 times', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7368, 2076, 34, 60116, 0, 0, 0, 0, 0, 'Armored Brown Bear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7371, 2077, 34, 59793, 0, 0, 0, 0, 0, 'Wooly Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7380, 2078, 34, 61425, 0, 0, 0, 0, 0, 'Traveler\'s Tundra Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7382, 2079, 36, 28788, 1, 0, 0, 0, 0, 'Tabard of the Protector', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7387, 2080, 34, 59788, 0, 0, 0, 0, 0, 'Black War Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7391, 2081, 34, 61465, 0, 0, 0, 0, 0, 'Grand Black War Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7393, 2082, 36, 44080, 1, 0, 0, 0, 0, 'Ice Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7397, 2083, 36, 44086, 1, 0, 0, 0, 0, 'Grand Ice Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7401, 2084, 36, 40586, 1, 0, 0, 0, 0, 'Band of the Kirin Tor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7403, 2085, 42, 43228, 50, 0, 0, 0, 0, 'Loot 50 Stone Keeper\'s Shards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7404, 2086, 42, 43228, 100, 0, 0, 0, 0, 'Loot 100 Stone Keeper\'s Shards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7405, 2087, 42, 43228, 250, 0, 0, 0, 0, 'Loot 250 Stone Keeper\'s Shards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7406, 2088, 42, 43228, 500, 0, 0, 0, 0, 'Loot 500 Stone Keeper\'s Shards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7407, 2089, 42, 43228, 1000, 0, 0, 0, 0, 'Loot 1000 Stone Keeper\'s Shards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7408, 2090, 74, 0, 1, 0, 0, 0, 0, 'Challenger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7412, 2091, 74, 0, 1, 0, 0, 0, 0, 'Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7415, 2092, 74, 0, 1, 0, 0, 0, 0, 'Duelist', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7418, 2093, 74, 0, 1, 0, 0, 0, 0, 'Rival', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7441, 2094, 42, 43702, 1, 0, 0, 0, 0, 'Alonsus Faol\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7463, 2095, 42, 43687, 1, 0, 0, 0, 0, 'Aegwynn\'s Silver Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7486, 2096, 8, 2094, 0, 0, 0, 0, 0, 'A Penny For Your Thoughts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7491, 2097, 34, 55531, 0, 0, 0, 0, 0, 'Mechano-hog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7493, 2116, 36, 22999, 1, 0, 0, 0, 0, 'Tabard of the Argent Dawn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7494, 1817, 0, 32273, 1, 0, 0, 0, 0, 'Infinite Corruptor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7496, 2136, 8, 1919, 0, 0, 0, 0, 0, 'On The Rocks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7528, 2137, 8, 578, 0, 0, 0, 0, 0, 'The Dedicated Few', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7538, 2138, 8, 579, 0, 0, 0, 0, 0, 'The Dedicated Few (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7548, 2139, 0, 15936, 1, 0, 0, 0, 0, 'Defeat Heigan the Unclean without anyone in the raid dying.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7549, 2140, 0, 15953, 1, 0, 0, 0, 0, 'Defeat Grand Widow Faerlina without dispelling or preventing frenzy.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7550, 2141, 75, 777, 10, 0, 0, 0, 0, 'Obtain 10 mounts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7551, 2142, 75, 777, 25, 0, 0, 0, 0, 'Obtain 25 mounts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7552, 2143, 75, 777, 50, 0, 0, 0, 0, 'Obtain 50 mounts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7553, 2144, 8, 913, 0, 0, 0, 0, 0, 'To Honor One\'s Elders', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7560, 2145, 8, 913, 0, 0, 0, 0, 0, 'To Honor One\'s Elders', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7567, 2146, 0, 15989, 1, 0, 0, 0, 0, 'The Hundred Club', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7568, 2147, 0, 15989, 1, 0, 0, 0, 0, 'Sapphiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7573, 2148, 56, 0, 1, 0, 0, 0, 0, 'Deliver a killing blow to a Scion of Eternity while riding on a hover disk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7574, 2149, 56, 0, 1, 0, 0, 0, 0, 'Deliver a killing blow to a Scion of Eternity while riding on a hover disk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7577, 2150, 0, 26731, 1, 0, 0, 0, 0, 'Grand Magus Telestra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7579, 2151, 0, 26630, 1, 0, 0, 0, 0, 'Trollgore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7583, 2152, 0, 29306, 1, 0, 0, 0, 0, 'Gal\'darah', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7587, 2153, 0, 29314, 1, 0, 0, 0, 0, 'Zuramat the Obliterator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7590, 2154, 28, 59046, 1, 0, 0, 0, 0, 'The Tribunal of Ages', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7593, 2155, 0, 27978, 1, 0, 0, 0, 0, 'Sjonnir the Ironshaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7595, 2156, 0, 26693, 1, 0, 0, 0, 0, 'Kill Skadi the Ruthless on Heroic Difficulty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7598, 2157, 0, 26861, 1, 0, 0, 0, 0, 'King Ymiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7600, 2176, 28, 59450, 1, 0, 0, 0, 0, 'The Four Horsemen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7601, 2177, 28, 59450, 1, 0, 0, 0, 0, 'The Four Horsemen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7604, 2178, 0, 15928, 1, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7605, 2179, 0, 15928, 1, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7608, 2180, 0, 15928, 1, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7609, 2181, 0, 15928, 1, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7612, 2182, 0, 16011, 1, 0, 0, 0, 0, 'Loatheb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7613, 2183, 0, 16011, 1, 0, 0, 0, 0, 'Loatheb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7614, 2184, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7615, 2185, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7616, 2186, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7617, 2187, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7622, 2188, 0, 10161, 50, 0, 0, 0, 0, 'Kill 50 rookery whelps within 15 seconds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 7, 10161, 15, 1), + (7625, 1763, 0, 28781, 100, 0, 0, 0, 0, 'Destroy 100 vehicles using a turret', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7626, 1762, 1, 607, 1, 0, 0, 0, 0, 'Win a Strand of the Ancients battle without losing any siege vehicles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7628, 2189, 0, 28781, 5, 3, 607, 3, 607, 'Destroy 5 vehicles using a turret in a single battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 9, 0, 0, 0, 1), + (7629, 2190, 70, 0, 5, 3, 607, 3, 607, 'Kill 5 players carrying seaforium in a single battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 9, 0, 0, 0, 1), + (7630, 1766, 70, 0, 10, 3, 607, 3, 607, 'Kill 10 players in the Courtyard of the Ancients in a single battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 9, 0, 0, 0, 1), + (7631, 2191, 70, 0, 100, 0, 0, 0, 0, 'Kill 100 players in the Courtyard of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7632, 1761, 28, 60937, 100, 0, 0, 0, 0, 'Plant 100 Seaforium charges which successfully damage a wall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7634, 2192, 1, 607, 1, 0, 0, 0, 0, 'Win a Strand of the Ancients battle without losing any siege vehicles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7635, 2193, 28, 60937, 5, 3, 607, 3, 607, 'Plant 5 Seaforium charges which successfully damage a wall in a single battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 9, 0, 0, 0, 1), + (7636, 1757, 28, 52459, 1, 0, 0, 0, 0, 'Defend the beach without losing any walls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7642, 2194, 8, 1309, 0, 0, 0, 0, 0, 'Strand of the Ancients Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7654, 2195, 8, 1309, 0, 0, 0, 0, 0, 'Strand of the Ancients Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7666, 1755, 28, 56902, 1, 0, 0, 0, 0, 'Attack Wintergrasp and succeed in 10 minutes or less.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7703, 1751, 70, 0, 20, 0, 0, 0, 0, 'Kill 20 mounted players using a tower cannon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (7704, 1723, 70, 0, 100, 0, 0, 0, 0, 'Vehicle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (7709, 2199, 70, 0, 10, 0, 0, 0, 0, 'Wintergrasp Fortress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7722, 1752, 8, 1718, 0, 0, 0, 0, 0, 'Wintergrasp Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7740, 2200, 28, 52459, 1, 0, 0, 0, 0, 'Defend the beach without losing any walls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (7770, 322, 20, 26763, 0, 0, 0, 0, 0, 'Anomalus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7807, 323, 20, 15956, 0, 0, 0, 0, 0, 'Anub\'Rekhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7828, 324, 20, 15956, 0, 0, 0, 0, 0, 'Anub\'Rekhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (7849, 2219, 18, 5, 0, 0, 0, 0, 0, '5 man heroic instances', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (8100, 2256, 0, 32517, 1, 0, 0, 0, 0, 'Loque\'nahak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (8586, 2277, 114, 0, 1, 0, 0, 0, 0, 'Summons accepted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (8758, 1310, 28, 65246, 1, 0, 0, 3, 607, 'Win in 4 minutes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 23748, 240, 1), + (8778, 2316, 36, 43516, 1, 0, 0, 0, 0, 'Brutal Nether Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (8818, 2336, 46, 87, 9000, 0, 0, 0, 0, 'Honored with Bloodsail Buccaneers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (8839, 383, 70, 0, 0, 0, 0, 0, 0, 'Blade\'s Edge Arena Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (8905, 2357, 27, 7631, 1, 0, 0, 0, 0, 'Dreadsteed of Xoroth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (8906, 2358, 27, 7647, 1, 0, 0, 0, 0, 'Judgment and Redemption', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (8908, 2359, 27, 11001, 1, 0, 0, 0, 0, 'Vanquish the Raven God', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9058, 2398, 74, 0, 1, 0, 0, 0, 0, 'Logged in during 4th anniversary event', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9060, 1727, 28, 20723, 1, 0, 0, 0, 0, 'Destroy a tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9118, 2416, 29, 61718, 1, 0, 0, 0, 0, 'Lay a Noblegarden Egg in the Golakka Hot Springs.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9119, 2417, 29, 61874, 25, 0, 0, 0, 0, 'Eat 25 Noblegarden Chocolates', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (9120, 2418, 29, 61874, 100, 0, 0, 0, 0, 'Eat 100 Noblegarden Chocolates', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (9121, 2419, 29, 61875, 1, 0, 0, 0, 0, 'Azure Watch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9122, 2420, 29, 61820, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9123, 2421, 29, 61820, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9124, 2422, 110, 61815, 1, 0, 0, 0, 0, 'Blood Elf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9138, 2436, 29, 61818, 1, 0, 0, 0, 0, 'The Badlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9158, 2456, 42, 38658, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9167, 275, 34, 40634, 0, 0, 0, 0, 0, 'Peanut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9178, 2476, 0, 27881, 1, 0, 0, 0, 0, 'Wintergrasp Catapult', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9198, 2496, 27, 6824, 1, 0, 0, 0, 0, 'Complete Hyrdaxis\' Tasks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9202, 2497, 29, 61875, 1, 0, 0, 0, 0, 'Bloodhoof Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9218, 2516, 75, 778, 75, 0, 0, 0, 0, 'Obtain 75 companion pets', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (9223, 2536, 75, 777, 100, 0, 0, 0, 0, 'Obtain 100 mounts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (9224, 2537, 75, 777, 100, 0, 0, 0, 0, 'Obtain 100 mounts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (9299, 2557, 54, 225, 1, 0, 0, 0, 0, 'Arctic Hare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9358, 2556, 0, 3300, 1, 0, 0, 0, 0, 'Adder', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9420, 424, 34, 26054, 0, 0, 0, 0, 0, 'Red Qiraji Resonating Crystal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9438, 2596, 0, 16998, 1, 0, 0, 0, 0, 'Mr. Bigglesworth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9538, 2676, 42, 45072, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9598, 2716, 5, 0, 40, 0, 0, 0, 0, 'Level up to 40.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9668, 2770, 8, 2760, 0, 0, 0, 0, 0, 'Champion of Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9673, 2771, 8, 2765, 0, 0, 0, 0, 0, 'Champion of Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9678, 2760, 46, 69, 42000, 0, 0, 0, 0, 'Exalted with Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9679, 2761, 46, 930, 42000, 0, 0, 0, 0, 'Exalted with Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9680, 2762, 46, 54, 42000, 0, 0, 0, 0, 'Exalted with Gnomeregan Exiles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9681, 2763, 46, 47, 42000, 0, 0, 0, 0, 'Exalted with Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9682, 2764, 46, 72, 42000, 0, 0, 0, 0, 'Exalted with Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9683, 2765, 46, 76, 42000, 0, 0, 0, 0, 'Exalted with Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9684, 2766, 46, 530, 42000, 0, 0, 0, 0, 'Exalted with Darkspear Trolls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9685, 2767, 46, 911, 42000, 0, 0, 0, 0, 'Exalted with Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9686, 2768, 46, 81, 42000, 0, 0, 0, 0, 'Exalted with Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9687, 2769, 46, 68, 42000, 0, 0, 0, 0, 'Exalted with Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9698, 2756, 27, 13667, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9746, 2758, 27, 13691, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 1), + (9758, 2776, 8, 1718, 0, 0, 0, 0, 0, 'Wintergrasp Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9773, 2777, 27, 13725, 1, 0, 0, 0, 0, 'Champion of Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9774, 2778, 27, 13724, 1, 0, 0, 0, 0, 'Champion of the Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9775, 2779, 27, 13723, 1, 0, 0, 0, 0, 'Champion of Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9776, 2780, 27, 13713, 1, 0, 0, 0, 0, 'Champion of Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9777, 2781, 27, 13699, 1, 0, 0, 0, 0, 'Champion of Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9778, 2782, 8, 2777, 0, 0, 0, 0, 0, 'Champion of Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9783, 2783, 27, 13726, 1, 0, 0, 0, 0, 'Champion of Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9784, 2784, 27, 13727, 1, 0, 0, 0, 0, 'Champion of Sen\'jin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9785, 2785, 27, 13731, 1, 0, 0, 0, 0, 'Champion of Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9786, 2786, 27, 13728, 1, 0, 0, 0, 0, 'Champion of Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9787, 2787, 27, 13729, 1, 0, 0, 0, 0, 'Champion of the Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9788, 2788, 8, 2783, 0, 0, 0, 0, 0, 'Champion of Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9798, 2772, 76, 0, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9858, 2576, 54, 58, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9859, 2796, 27, 12420, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9863, 2797, 8, 2676, 0, 0, 0, 0, 0, 'I Found One!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9871, 2798, 8, 2676, 0, 0, 0, 0, 0, 'I Found One!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9898, 2816, 8, 947, 0, 0, 0, 0, 0, 'The Argent Crusade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9904, 2817, 8, 947, 0, 0, 0, 0, 0, 'The Argent Crusade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9918, 2836, 28, 64805, 1, 0, 0, 0, 0, 'Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9938, 2856, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9939, 2857, 0, 33186, 1, 0, 0, 0, 0, 'Razorscale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9940, 2858, 0, 33118, 1, 0, 0, 0, 0, 'Ignis the Furnace Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9941, 2859, 0, 33293, 1, 0, 0, 0, 0, 'XT-002 Deconstructor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9943, 2861, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9947, 2865, 0, 33432, 1, 0, 0, 0, 0, 'Mimiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9948, 2866, 0, 33271, 1, 0, 0, 0, 0, 'General Vezax', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9950, 2868, 0, 33515, 1, 0, 0, 0, 0, 'Auriaya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9951, 2869, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9952, 2870, 0, 33993, 1, 0, 0, 0, 0, 'Emalon the Storm Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (9954, 2872, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9955, 2873, 0, 33186, 1, 0, 0, 0, 0, 'Razorscale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9956, 2874, 0, 33118, 1, 0, 0, 0, 0, 'Ignis the Furnace Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9957, 2884, 0, 33293, 1, 0, 0, 0, 0, 'XT-002 Deconstructor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9959, 2875, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9963, 2879, 0, 33432, 1, 0, 0, 0, 0, 'Mimiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9964, 2880, 0, 33271, 1, 0, 0, 0, 0, 'General Vezax', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9966, 2882, 0, 33515, 1, 0, 0, 0, 0, 'Auriaya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9967, 2883, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (9999, 2886, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10003, 2887, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10023, 2892, 0, 33271, 1, 0, 0, 0, 0, 'General Vezax', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10025, 2893, 0, 33271, 1, 0, 0, 0, 0, 'General Vezax', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10027, 2894, 8, 2886, 0, 0, 0, 0, 0, 'The Siege of Ulduar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10031, 2895, 8, 2887, 0, 0, 0, 0, 0, 'Heroic: The Siege of Ulduar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10042, 2903, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10044, 2905, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10045, 2906, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10046, 2907, 0, 33113, 1, 0, 0, 0, 0, 'Salvaged Chopper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10049, 2908, 0, 33113, 1, 0, 0, 0, 0, 'Salvaged Chopper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10054, 2911, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10055, 2912, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10056, 2913, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10057, 2914, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10058, 2915, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10059, 2916, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10060, 2917, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10061, 2918, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10062, 2919, 0, 33186, 1, 0, 0, 0, 0, 'Razorscale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10063, 2921, 0, 33186, 1, 0, 0, 0, 0, 'Razorscale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10066, 2923, 0, 33388, 25, 0, 0, 0, 0, 'Razorscale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (10067, 2924, 0, 33388, 25, 0, 0, 0, 0, 'Razorscale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (10068, 2925, 0, 33118, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10069, 2926, 0, 33118, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10072, 2929, 0, 33118, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 20951, 240, 1), + (10073, 2930, 0, 33118, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 20951, 240, 1), + (10074, 2931, 0, 33293, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10075, 2932, 0, 33293, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10077, 2934, 0, 33293, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10079, 2936, 0, 33293, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10080, 2937, 0, 33293, 1, 0, 0, 0, 0, 'XT-002 Deconstructor dead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 21027, 205, 1), + (10081, 2938, 0, 33293, 1, 0, 0, 0, 0, 'Kill the XT-002', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 21027, 205, 1), + (10082, 2939, 0, 32927, 1, 0, 0, 0, 0, 'Runemaster Molgeim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10083, 2940, 0, 32857, 1, 0, 0, 0, 0, 'Stormcaller Brundir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10084, 2941, 0, 32867, 1, 0, 0, 0, 0, 'Steelbreaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10085, 2942, 0, 32927, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10086, 2943, 0, 32857, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10087, 2944, 0, 32867, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10088, 2945, 0, 32927, 1, 0, 0, 0, 0, 'Runemaster Molgeim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10089, 2946, 0, 32857, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10090, 2947, 0, 32857, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10091, 2948, 0, 32857, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10095, 2952, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10099, 2956, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10100, 2957, 8, 3056, 0, 0, 0, 0, 0, 'Orbit-uary', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10133, 2960, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10173, 2996, 0, 33271, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10184, 3007, 0, 33515, 1, 0, 0, 0, 0, 'Auriaya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10185, 3008, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10187, 3009, 54, 58, 1, 0, 0, 0, 0, 'Sara', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10189, 3011, 54, 58, 1, 0, 0, 0, 0, 'Sara', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10196, 3018, 36, 45624, 0, 0, 0, 0, 0, 'Emblems of Conquest acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10218, 3056, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10219, 3057, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10220, 3059, 0, 33293, 1, 0, 0, 0, 0, 'XT-002 Deconstructor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10221, 3058, 0, 33293, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10222, 2773, 27, 13664, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10223, 2969, 69, 62821, 1, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10229, 2970, 69, 62821, 1, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10243, 3077, 0, 33515, 1, 0, 0, 0, 0, 'Auriaya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10247, 2967, 69, 64899, 1, 13, 20905, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 0, 0, 0, 1), + (10248, 2968, 69, 64899, 1, 13, 20905, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 0, 0, 0, 1), + (10258, 2963, 69, 64899, 1, 13, 20905, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 0, 0, 0, 1), + (10259, 2961, 69, 64899, 1, 13, 20905, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 0, 0, 0, 1), + (10260, 2965, 69, 64899, 1, 13, 20905, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 0, 0, 0, 1), + (10261, 2962, 69, 64899, 1, 13, 20905, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 0, 0, 0, 1), + (10262, 3096, 36, 46708, 1, 0, 0, 0, 0, 'Deadly Gladiator\'s Frostwyrm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10279, 3117, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10284, 2953, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 21687, 12, 1), + (10285, 2951, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10286, 2955, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10289, 2977, 28, 64980, 1, 0, 0, 0, 0, 'Force Thorim to enter the arena while Sif is present', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10290, 2959, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10291, 3013, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 21001, 420, 1), + (10292, 3012, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 21001, 420, 1), + (10293, 3014, 0, 33136, 9, 0, 0, 0, 0, 'Kill 9 Guardians of Yogg-Saron in 12 seconds.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 7, 33136, 12, 1), + (10294, 3017, 0, 33136, 9, 0, 0, 0, 0, 'Kill 9 Guardians of Yogg-Saron in 12 seconds..', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 7, 33136, 12, 1), + (10296, 3010, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10303, 2973, 28, 64985, 1, 0, 0, 0, 0, 'Defeat Thorim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10304, 2975, 28, 64985, 1, 0, 0, 0, 0, 'Thorim: Kill Thorim while Aura of Celerity is active.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10305, 2971, 28, 64985, 1, 0, 0, 0, 0, 'Thorim: Do not by struck by Lightning Charge.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10306, 2997, 0, 33271, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 1), + (10309, 2972, 28, 64985, 1, 0, 0, 0, 0, 'Avoid Thorim\'s Lightning Charge.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10310, 2974, 28, 64985, 1, 0, 0, 0, 0, 'Defeat Thorim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10313, 2976, 28, 64985, 1, 0, 0, 0, 0, 'Defeat Thorim while buffed with Aura of Celerity.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10314, 2978, 28, 64980, 1, 0, 0, 0, 0, 'Force Thorim to enter the arena while Sif is present', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10321, 3016, 69, 63988, 1, 0, 0, 0, 0, 'The Assassination of King Llane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10324, 3015, 69, 63988, 1, 0, 0, 0, 0, 'The Assassination of King Llane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10338, 3136, 0, 33993, 1, 0, 0, 0, 0, 'Emalon the Storm Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10339, 3137, 0, 33993, 1, 0, 0, 0, 0, 'Emalon the Storm Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10352, 2904, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10365, 2958, 8, 3057, 0, 0, 0, 0, 0, 'Orbit-uary (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10388, 3141, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10391, 1791, 29, 8690, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 1), + (10394, 2984, 29, 65015, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10396, 2985, 29, 65015, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10399, 3076, 0, 33515, 1, 0, 0, 0, 0, 'Auriaya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10400, 3006, 0, 33515, 1, 0, 0, 0, 0, 'Auriaya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10401, 2933, 28, 65037, 20, 0, 0, 0, 0, 'Kill 20 XS-013 Scrapbots with an XE-321 Boombot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 6, 65037, 12, 1), + (10402, 2935, 28, 65037, 20, 0, 0, 0, 0, 'Kill 20 XS-013 Scrapbots with an XE-321 Boombot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 6, 65037, 12, 1), + (10405, 2995, 28, 65040, 1, 0, 0, 0, 0, 'Assault Bot Destroyed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10406, 3138, 28, 65040, 1, 0, 0, 0, 0, 'Assault Bot Destroyed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10408, 2890, 69, 64899, 1, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10409, 3158, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10410, 3157, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10412, 3159, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10414, 3161, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10415, 3162, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10416, 3163, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10417, 3164, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10430, 2927, 69, 62836, 1, 0, 0, 0, 0, 'Slag Pot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10431, 2928, 69, 63536, 1, 0, 0, 0, 0, 'Slag Pot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10440, 3176, 28, 64985, 1, 0, 0, 0, 0, 'Force Thorim to enter the arena while Sif is present', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10441, 1255, 110, 21343, 1, 0, 0, 0, 0, 'Snowball King Magni Bronzebeard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10445, 2982, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10446, 2980, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 1, 21597, 1200, 1), + (10447, 3177, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10448, 3178, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10449, 3179, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10450, 3180, 0, 33432, 1, 0, 0, 0, 0, 'Mimiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10451, 3181, 0, 33271, 1, 0, 0, 0, 0, 'Vezax', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10452, 3182, 69, 64899, 1, 13, 20905, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 0, 0, 0, 1), + (10453, 2891, 69, 64899, 1, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10457, 3183, 28, 64985, 1, 0, 0, 0, 0, 'Force Thorim to enter the arena while Sif is present', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10458, 3184, 69, 64899, 1, 13, 20905, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 0, 0, 0, 1), + (10459, 3185, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10460, 3186, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10461, 3187, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10462, 3188, 0, 33271, 1, 0, 0, 0, 0, 'Vezax', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10463, 3189, 0, 33432, 1, 0, 0, 0, 0, 'Mimiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10518, 3216, 75, 186, 0, 0, 0, 0, 0, 'Smelting Recipes Known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10520, 3217, 27, 13830, 1, 0, 0, 0, 0, 'The Ghostfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10525, 3218, 36, 46109, 1, 0, 0, 0, 0, 'Sea Turtle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10542, 3236, 0, 33993, 1, 0, 0, 0, 0, 'Emalon the Storm Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10543, 2989, 0, 33432, 1, 0, 0, 0, 0, 'A Proximity Mine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10546, 3237, 0, 33432, 1, 0, 0, 0, 0, 'A Proximity Mine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10558, 2863, 28, 64985, 1, 0, 0, 0, 0, 'Thorim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10559, 2864, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10560, 2862, 69, 64899, 1, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10561, 3257, 28, 64985, 1, 0, 0, 0, 0, 'Thorim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10562, 3256, 69, 64899, 1, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10563, 3258, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10565, 2867, 28, 65184, 1, 0, 0, 0, 0, 'Algalon the Observer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10566, 2881, 28, 65184, 1, 0, 0, 0, 0, 'Algalon the Observer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10567, 3036, 28, 65184, 1, 0, 0, 0, 0, 'Algalon the Observer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10568, 3004, 28, 65184, 1, 0, 0, 0, 0, 'Algalon the Observer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10569, 3037, 28, 65184, 1, 0, 0, 0, 0, 'Algalon the Observer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10570, 3005, 28, 65184, 1, 0, 0, 0, 0, 'Algalon the Observer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10578, 2888, 28, 65195, 1, 0, 0, 0, 0, 'Assembly of Iron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10579, 2889, 28, 65195, 1, 0, 0, 0, 0, 'Assembly of Iron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10580, 2860, 28, 65195, 1, 0, 0, 0, 0, 'Assembly of Iron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10581, 2885, 28, 65195, 1, 0, 0, 0, 0, 'Assembly of Iron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10619, 2909, 56, 0, 1, 0, 0, 0, 0, 'Leviathan Turret', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10620, 2910, 56, 0, 1, 0, 0, 0, 0, 'Leviathan Turret', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10638, 3296, 36, 46349, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16772094, 2, 0, 0, 0, 1), + (10678, 3316, 28, 65184, 1, 0, 0, 0, 0, 'Algalon the Observer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10698, 3259, 28, 65184, 1, 0, 0, 0, 0, 'Algalon the Observer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10718, 3336, 74, 0, 1, 0, 0, 0, 0, 'Deadly Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10720, 2979, 28, 65296, 1, 0, 0, 0, 0, 'Lumberjacked', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 1, 21686, 15, 1), + (10721, 3118, 28, 65296, 1, 0, 0, 0, 0, 'Lumberjacked', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 1, 21686, 15, 1), + (10722, 2954, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 21687, 12, 1), + (10738, 3356, 34, 17229, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16772094, 2, 0, 0, 0, 1), + (10740, 3357, 34, 64659, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16772094, 2, 0, 0, 0, 1), + (10758, 2983, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10780, 3003, 28, 65312, 3, 0, 0, 0, 0, 'Close 3 Black Holes within 10 seconds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 1, 21697, 10, 1), + (10782, 3002, 28, 65312, 3, 0, 0, 0, 0, 'Close 3 Black Holes within 10 seconds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 1, 21697, 10, 1), + (10784, 3376, 28, 65322, 1, 0, 0, 0, 0, 'Flame Leviathan + 1 (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10785, 3377, 28, 65323, 1, 0, 0, 0, 0, 'Flame Leviathan + 2 (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10786, 3378, 28, 65324, 1, 0, 0, 0, 0, 'Flame Leviathan + 3 (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10787, 3379, 28, 65325, 1, 0, 0, 0, 0, 'Flame Leviathan + 4 (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10788, 3380, 28, 65322, 1, 0, 0, 0, 0, 'Flame Leviathan + 1 (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10789, 3381, 28, 65323, 1, 0, 0, 0, 0, 'Flame Leviathan + 2 (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10790, 3382, 28, 65324, 1, 0, 0, 0, 0, 'Flame Leviathan + 3 (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10791, 3383, 28, 65325, 1, 0, 0, 0, 0, 'Flame Leviathan + 4 (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10792, 3384, 28, 65326, 1, 0, 0, 0, 0, 'Kill XT Heart (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10793, 3385, 28, 65327, 1, 0, 0, 0, 0, 'Wound XT Heart (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10794, 3386, 28, 65326, 1, 0, 0, 0, 0, 'Kill XT Heart (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10795, 3387, 28, 65327, 1, 0, 0, 0, 0, 'Wound XT Heart (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10796, 3388, 28, 65330, 1, 0, 0, 0, 0, 'Molgeim last (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10797, 3390, 28, 65331, 1, 0, 0, 0, 0, 'Steelbreaker last (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10798, 3389, 28, 65330, 1, 0, 0, 0, 0, 'Molgeim last (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10799, 3391, 28, 65331, 1, 0, 0, 0, 0, 'Steelbreaker last (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10800, 3392, 28, 64980, 1, 0, 0, 0, 0, 'Force Thorim to enter the arena while Sif is present', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10801, 3393, 28, 64980, 1, 0, 0, 0, 0, 'Force Thorim to enter the arena while Sif is present', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10802, 3394, 28, 65334, 1, 0, 0, 0, 0, 'Freya +1 (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10803, 3396, 28, 65335, 1, 0, 0, 0, 0, 'Freya +2 (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10804, 3398, 28, 65334, 1, 0, 0, 0, 0, 'Freya +3 (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10805, 3395, 28, 65334, 1, 0, 0, 0, 0, 'Freya +1 (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10806, 3397, 28, 65335, 1, 0, 0, 0, 0, 'Freya +2 (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10807, 3399, 28, 65334, 1, 0, 0, 0, 0, 'Freya +3 (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10808, 3400, 28, 65337, 1, 0, 0, 0, 0, 'Mimiron (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10809, 3401, 28, 65337, 1, 0, 0, 0, 0, 'Mimiron (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10810, 3402, 28, 65338, 1, 0, 0, 0, 0, 'General Vezax (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10811, 3403, 28, 65338, 1, 0, 0, 0, 0, 'General Vezax (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10812, 3404, 28, 65339, 1, 0, 0, 0, 0, 'Yogg + 3 (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10813, 3405, 28, 65340, 1, 0, 0, 0, 0, 'Yogg + 2 (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10814, 3406, 28, 65341, 1, 0, 0, 0, 0, 'Yogg + 1 (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10815, 3407, 28, 65342, 1, 0, 0, 0, 0, 'Yogg + 0 (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10816, 3408, 28, 65339, 1, 0, 0, 0, 0, 'Yogg + 3 (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10817, 3409, 28, 65340, 1, 0, 0, 0, 0, 'Yogg + 2 (10)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10818, 3410, 28, 65341, 1, 0, 0, 0, 0, 'Yogg + 1 (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10819, 3411, 28, 65342, 1, 0, 0, 0, 0, 'Yogg + 0 (25)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10838, 3142, 27, 13629, 1, 0, 0, 0, 0, 'Val\'anyr, Hammer of Ancient Kings', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10858, 3097, 28, 65387, 100, 0, 0, 0, 0, 'Steelforged Defenders slain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 6, 65387, 10, 1), + (10860, 3098, 28, 65387, 100, 0, 0, 0, 0, 'Steelforged Defenders slain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 6, 65387, 10, 1), + (10882, 2981, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 1, 21597, 1200, 1), + (10898, 3436, 74, 0, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775166, 2, 0, 0, 0, 1), + (10918, 3456, 69, 65386, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775166, 2, 0, 0, 0, 1), + (10919, 3457, 69, 50517, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16774142, 2, 0, 0, 0, 1), + (10940, 3478, 8, 3579, 0, 0, 0, 0, 0, '"FOOD FIGHT!"', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (10961, 3496, 34, 43900, 0, 0, 0, 0, 0, 'swift brewfest ram', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (10998, 3516, 16, 603, 0, 0, 0, 0, 0, 'Deaths in Ulduar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11038, 3536, 36, 46802, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16776702, 2, 0, 0, 0, 1), + (11078, 3556, 69, 61849, 1, 0, 0, 0, 0, 'Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11082, 3557, 69, 61849, 1, 0, 0, 0, 0, 'Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11086, 3558, 29, 66376, 1, 0, 0, 0, 0, 'Candied Sweet Potatoes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11119, 3576, 29, 62051, 1, 0, 0, 0, 0, 'Candied Sweet Potato', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11123, 3577, 29, 66034, 1, 0, 0, 0, 0, 'Candied Sweet Potato', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11128, 3578, 29, 62021, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16713726, 2, 0, 0, 0, 1), + (11134, 3580, 69, 65403, 1, 0, 0, 0, 0, 'Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11139, 3581, 69, 65403, 1, 0, 0, 0, 0, 'Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11142, 3582, 0, 18473, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16714238, 2, 0, 0, 0, 1), + (11163, 3559, 110, 61781, 1, 0, 0, 0, 0, 'Blood Elf Rogue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11168, 3579, 110, 61925, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16741886, 2, 0, 0, 0, 1), + (11201, 3596, 27, 14048, 1, 0, 0, 0, 0, 'Can\'t Get Enough Turkey', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11203, 3597, 27, 14061, 1, 0, 0, 0, 0, 'Can\'t Get Enough Turkey', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11223, 3618, 36, 46892, 1, 0, 0, 0, 0, 'Murkimus\' Tiny Spear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11238, 3636, 74, 0, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16773118, 2, 0, 0, 0, 1), + (11266, 3656, 8, 3579, 0, 0, 0, 0, 0, '"FOOD FIGHT!"', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11278, 3676, 46, 1094, 42000, 0, 0, 0, 0, 'Exalted with The Silver Covenant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11279, 3677, 46, 1124, 42000, 0, 0, 0, 0, 'Exalted with The Sunreavers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11320, 3696, 27, 13725, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775167, 2, 0, 0, 0, 1), + (11358, 3736, 29, 67056, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775167, 2, 0, 0, 0, 1), + (11398, 3756, 36, 46171, 1, 0, 0, 0, 0, 'Furious Gladiator\'s Frostwyrm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11400, 3757, 36, 47840, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11402, 3758, 74, 0, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775167, 2, 0, 0, 0, 1), + (11418, 3776, 1, 628, 1, 0, 0, 0, 0, 'Win Isle of Conquest.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11419, 3777, 1, 628, 100, 0, 0, 0, 0, 'Complete 100 victories in Isle of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (11420, 3778, 28, 68572, 1, 0, 0, 0, 0, 'Marshal Jacob Alerius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11478, 3836, 0, 35013, 1, 0, 0, 0, 0, 'Koralon the Flame Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11479, 3837, 0, 35013, 1, 0, 0, 0, 0, 'Koralon the Flame Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11492, 3847, 28, 68363, 1, 0, 0, 0, 0, 'Glaive Thrower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11497, 3856, 56, 0, 1, 0, 0, 0, 0, 'Glaive Thrower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11502, 3857, 8, 3777, 0, 0, 0, 0, 0, 'Isle of Conquest Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11542, 3812, 0, 34797, 1, 0, 0, 0, 0, 'Defeat the Beasts of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11618, 3876, 42, 40752, 1500, 0, 0, 0, 0, 'Emblem of Heroism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (11638, 3896, 34, 67527, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775167, 2, 0, 0, 0, 1), + (11679, 3916, 0, 34797, 1, 0, 0, 0, 0, 'Defeat the Beasts of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11684, 3917, 0, 34797, 1, 0, 0, 0, 0, 'Defeat the Beasts of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11689, 3918, 0, 34797, 1, 0, 0, 0, 0, 'Defeat the Beasts of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11749, 3957, 8, 3777, 0, 0, 0, 0, 0, 'Isle of Conquest Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11778, 3799, 0, 34497, 1, 0, 0, 0, 0, 'Val\'kyr Twins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 21853, 180, 1), + (11779, 3797, 0, 34797, 1, 0, 0, 0, 0, 'Icehowl', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11780, 3813, 0, 34797, 1, 0, 0, 0, 0, 'Icehowl', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11789, 3804, 28, 68663, 1, 0, 0, 0, 0, 'Ghoul Explode', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11799, 3814, 28, 68620, 1, 0, 0, 0, 0, 'Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11803, 3798, 28, 68620, 1, 0, 0, 0, 0, 'Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11818, 3815, 0, 34497, 1, 0, 0, 0, 0, 'Val\'kyr Twins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 21853, 180, 1), + (11838, 3996, 0, 34780, 1, 0, 0, 0, 0, 'Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11839, 3997, 0, 34780, 1, 0, 0, 0, 0, 'Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11858, 3803, 28, 68197, 1, 0, 0, 0, 0, 'Defeat Eadric with his own hammer.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11863, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Hogger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11882, 4056, 28, 68517, 1, 0, 0, 0, 0, 'Beasts Attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11902, 4074, 0, 35013, 1, 0, 0, 0, 0, 'Koralon the Flame Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11903, 4075, 0, 35013, 1, 0, 0, 0, 0, 'Koralon the Flame Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (11958, 4096, 15, 628, 0, 0, 0, 0, 0, 'Isle of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (11959, 4097, 1, 628, 0, 0, 0, 0, 0, 'Isle of Conquest victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12018, 4016, 28, 68308, 1, 0, 0, 0, 0, 'Earth, Wind and Fire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12019, 4017, 28, 68308, 1, 0, 0, 0, 0, 'Earth, Wind and Fire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12059, 3845, 28, 68357, 1, 3, 628, 3, 628, 'Destroy a vehicle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 1), + (12060, 3846, 1, 628, 1, 0, 0, 0, 0, 'Win Isle of Conquest.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12061, 4176, 1, 628, 1, 0, 0, 0, 0, 'Win Isle of Conquest.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12062, 3851, 1, 628, 1, 3, 628, 3, 628, 'Win Isle of Conquest.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12064, 4177, 1, 628, 1, 3, 628, 3, 628, 'Win Isle of Conquest.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12066, 3848, 29, 68366, 5, 3, 628, 3, 628, 'Bombs used on enemy gates', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 13, 0, 0, 0, 1), + (12067, 3849, 29, 68367, 5, 3, 628, 3, 628, 'Bombs used on enemy gates', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 13, 0, 0, 0, 1), + (12114, 3850, 28, 68357, 10, 0, 0, 0, 0, 'Vehicles killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (12116, 3800, 28, 68186, 40, 0, 0, 0, 0, 'Swarm Scarabs Slain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 6, 68186, 30, 1), + (12132, 3852, 29, 1843, 25, 0, 0, 0, 0, 'Bombs disarmed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (12158, 3853, 31, 4747, 1, 3, 628, 3, 628, 'Workshop', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 0, 0, 0, 1), + (12163, 3854, 28, 68502, 1, 0, 0, 0, 0, 'Courtyard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12178, 4256, 56, 0, 1, 0, 0, 0, 0, 'Glaive Thrower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12183, 3855, 35, 0, 10, 0, 0, 1, 0, 'Players killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (12198, 3816, 28, 68515, 40, 0, 0, 0, 0, 'Swarm Scarabs Slain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 6, 68515, 30, 1), + (12199, 4276, 0, 34797, 1, 0, 0, 0, 0, 'Defeat the Beasts of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12200, 4277, 0, 34780, 1, 0, 0, 0, 0, 'Defeat Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12201, 4278, 28, 68184, 1, 0, 0, 0, 0, 'Defeat the Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12202, 4279, 0, 34496, 1, 0, 0, 0, 0, 'Defeat the Twin Val\'kyr', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12203, 4280, 0, 34660, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12204, 4281, 0, 34797, 1, 0, 0, 0, 0, 'Defeat the Beasts of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12205, 4282, 0, 34780, 1, 0, 0, 0, 0, 'Defeat Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12206, 4283, 28, 68184, 1, 0, 0, 0, 0, 'Defeat the Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12207, 4284, 0, 34496, 1, 0, 0, 0, 0, 'Defeat the Twin Val\'kyr', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12208, 4285, 0, 34660, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12209, 4057, 28, 68517, 1, 0, 0, 0, 0, 'Beasts Attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12210, 4058, 28, 68517, 1, 0, 0, 0, 0, 'Beasts Attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12211, 4059, 28, 68517, 1, 0, 0, 0, 0, 'Beasts Attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12212, 4060, 28, 68518, 1, 0, 0, 0, 0, 'Jaraxxus Attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12213, 4061, 28, 68518, 1, 0, 0, 0, 0, 'Jaraxxus Attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12214, 4063, 28, 68518, 1, 0, 0, 0, 0, 'Jaraxxus Attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12215, 4062, 28, 68518, 1, 0, 0, 0, 0, 'Jaraxxus Attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12216, 4064, 28, 68519, 1, 0, 0, 0, 0, 'Faction Champions attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12217, 4065, 28, 68519, 1, 0, 0, 0, 0, 'Faction Champions attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12218, 4066, 28, 68519, 1, 0, 0, 0, 0, 'Faction Champions attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12219, 4067, 28, 68519, 1, 0, 0, 0, 0, 'Faction Champions attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12220, 4068, 28, 68520, 1, 0, 0, 0, 0, 'Val\'kyr Twins attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12221, 4070, 28, 68520, 1, 0, 0, 0, 0, 'Val\'kyr Twins attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12222, 4069, 28, 68520, 1, 0, 0, 0, 0, 'Val\'kyr Twins attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12223, 4071, 28, 68520, 1, 0, 0, 0, 0, 'Val\'kyr Twins attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12224, 4072, 28, 68521, 1, 0, 0, 0, 0, 'Anub\'arak attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12225, 4073, 28, 68521, 1, 0, 0, 0, 0, 'Anub\'arak attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12226, 4076, 28, 68521, 1, 0, 0, 0, 0, 'Anub\'arak attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12227, 4077, 28, 68521, 1, 0, 0, 0, 0, 'Anub\'arak attempt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12228, 4028, 0, 34797, 1, 0, 0, 0, 0, 'Defeat the Beasts of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12229, 4030, 0, 34797, 1, 0, 0, 0, 0, 'Defeat the Beasts of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12230, 4031, 0, 34797, 1, 0, 0, 0, 0, 'Defeat the Beasts of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12231, 4029, 0, 34797, 1, 0, 0, 0, 0, 'Defeat the Beasts of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12232, 4032, 0, 34780, 1, 0, 0, 0, 0, 'Defeat Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12233, 4033, 0, 34780, 1, 0, 0, 0, 0, 'Defeat Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12234, 4034, 0, 34780, 1, 0, 0, 0, 0, 'Defeat Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12235, 4035, 0, 34780, 1, 0, 0, 0, 0, 'Defeat Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12236, 4036, 28, 68184, 1, 0, 0, 0, 0, 'Defeat the Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12237, 4037, 28, 68184, 1, 0, 0, 0, 0, 'Defeat the Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12238, 4038, 28, 68184, 1, 0, 0, 0, 0, 'Defeat the Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12239, 4039, 28, 68184, 1, 0, 0, 0, 0, 'Defeat the Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12240, 4040, 0, 34496, 1, 0, 0, 0, 0, 'Defeat the Twin Val\'kyr', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12241, 4041, 0, 34496, 1, 0, 0, 0, 0, 'Defeat the Twin Val\'kyr', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12242, 4042, 0, 34496, 1, 0, 0, 0, 0, 'Defeat the Twin Val\'kyr', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12243, 4043, 0, 34496, 1, 0, 0, 0, 0, 'Defeat the Twin Val\'kyr', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12244, 4044, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12245, 4045, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12246, 4046, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12247, 4047, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12278, 3937, 28, 68523, 1, 0, 0, 0, 0, 'Kill Acidmaw & Dreadscale within 10sec', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12280, 3936, 28, 68523, 1, 0, 0, 0, 0, 'Kill Acidmaw & Dreadscale within 10sec', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12302, 4296, 28, 68572, 1, 0, 0, 0, 0, 'Mokra the Skullcrusher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12310, 4297, 28, 68572, 1, 0, 0, 0, 0, 'Marshal Jacob Alerius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12318, 4298, 28, 68572, 1, 0, 0, 0, 0, 'Mokra the Skullcrusher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12338, 3817, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12341, 3818, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12343, 3819, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12344, 3808, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12347, 3809, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12349, 3810, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12350, 4078, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12358, 4079, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12359, 4156, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12360, 4080, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12398, 1789, 14, 0, 5, 0, 0, 0, 0, 'Complete five daily quests with your orphan out.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 1), + (12418, 4316, 42, 40752, 2500, 0, 0, 0, 0, 'Emblem of Heroism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 1), + (12519, 4376, 28, 68663, 1, 0, 0, 0, 0, 'The Black Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12538, 4054, 28, 68572, 1, 0, 0, 0, 0, 'Marshal Jacob Alerius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12539, 4055, 28, 68572, 1, 0, 0, 0, 0, 'Marshal Jacob Alerius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12540, 4018, 28, 68572, 1, 0, 0, 0, 0, 'Marshal Jacob Alerius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12541, 4019, 28, 68572, 1, 0, 0, 0, 0, 'Marshal Jacob Alerius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12542, 4048, 28, 68572, 1, 0, 0, 0, 0, 'Marshal Jacob Alerius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12543, 4049, 28, 68572, 1, 0, 0, 0, 0, 'Marshal Jacob Alerius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12544, 4050, 28, 68572, 1, 0, 0, 0, 0, 'Marshal Jacob Alerius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12545, 4051, 28, 68572, 1, 0, 0, 0, 0, 'Marshal Jacob Alerius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12546, 4052, 28, 68572, 1, 0, 0, 0, 0, 'Marshal Jacob Alerius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12547, 4053, 28, 68572, 1, 0, 0, 0, 0, 'Marshal Jacob Alerius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12548, 4022, 28, 68574, 1, 0, 0, 0, 0, 'Argent Confessor Paletress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12549, 4023, 28, 68574, 1, 0, 0, 0, 0, 'Argent Confessor Paletress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12550, 4024, 28, 68575, 1, 0, 0, 0, 0, 'Eadric the Pure', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12551, 4025, 28, 68575, 1, 0, 0, 0, 0, 'Eadric the Pure', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12552, 4026, 28, 68663, 1, 0, 0, 0, 0, 'The Black Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12553, 4027, 28, 68663, 1, 0, 0, 0, 0, 'The Black Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12558, 4396, 0, 10184, 1, 0, 0, 0, 0, 'Onyxia', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12559, 4397, 0, 10184, 1, 0, 0, 0, 0, 'Onyxia', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12562, 4400, 74, 0, 1, 0, 0, 0, 0, 'Logged in during 5th anniversary event', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12564, 4402, 0, 10184, 1, 0, 0, 0, 0, 'Onyxia', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 6601, 300, 1), + (12565, 4403, 0, 10184, 1, 0, 0, 0, 0, 'Onyxia', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12566, 4404, 0, 10184, 1, 0, 0, 0, 0, 'Onyxia', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12567, 4405, 0, 10184, 1, 0, 0, 0, 0, 'Onyxia', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 6601, 300, 1), + (12568, 4406, 0, 10184, 1, 0, 0, 0, 0, 'Onyxia', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12569, 4407, 0, 10184, 1, 0, 0, 0, 0, 'Onyxia', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12618, 4416, 34, 10697, 0, 0, 0, 0, 0, 'Crimson Whelpling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12635, 4417, 34, 17481, 0, 0, 0, 0, 0, 'Rivendare\'s Deathcharger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12662, 4436, 110, 67531, 1, 0, 0, 0, 0, 'Cairne Bloodhoof', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12665, 4437, 110, 67531, 1, 0, 0, 0, 0, 'High Tinker Mekkatorque', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12678, 4456, 0, 23980, 1, 0, 0, 0, 0, 'Ingvar the Plunderer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12698, 4496, 115, 0, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 1), + (12738, 4516, 0, 36497, 1, 0, 0, 0, 0, 'Bronjahm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12740, 4517, 0, 36494, 1, 0, 0, 0, 0, 'Forgemaster Garfrost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12742, 4518, 0, 38112, 1, 0, 0, 0, 0, 'Falric', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12745, 4519, 0, 36497, 1, 0, 0, 0, 0, 'Bronjahm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12747, 4520, 0, 36494, 1, 0, 0, 0, 0, 'Forgemaster Garfrost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12750, 4521, 0, 38112, 1, 0, 0, 0, 0, 'Falric', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12752, 4522, 0, 36497, 1, 0, 0, 0, 0, 'Bronjahm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12756, 4526, 28, 72830, 1, 0, 0, 0, 0, 'Ghoul Explode', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 22615, 360, 1), + (12757, 4527, 28, 72706, 1, 0, 0, 0, 0, 'Rescue Valithiria Dreamwalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12759, 4528, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12762, 4529, 0, 37970, 1, 0, 0, 0, 0, 'Defeat the Blood Prince Council', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12764, 4530, 0, 36597, 1, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12765, 4532, 8, 4531, 0, 0, 0, 0, 0, 'Storming the Citadel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12770, 4531, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12775, 4534, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar slain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12776, 4535, 28, 72827, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12777, 4536, 28, 72959, 1, 0, 0, 0, 0, 'Gunship Battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12778, 4537, 28, 72928, 1, 0, 0, 0, 0, 'Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12780, 4539, 0, 37955, 1, 0, 0, 0, 0, 'Defeat Blood-Queen Lana\'thel without becoming a vampire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12798, 4556, 0, 23980, 1, 0, 0, 0, 0, 'Ingvar the Plunderer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12818, 4576, 0, 36597, 1, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12822, 4580, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12823, 4581, 0, 36597, 1, 0, 0, 0, 0, 'Vile Spirits', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12825, 4583, 0, 36597, 1, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12826, 4584, 0, 36597, 1, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12827, 4585, 0, 38433, 1, 0, 0, 0, 0, 'Toravon the Ice Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12828, 4586, 0, 38433, 1, 0, 0, 0, 0, 'Toravon the Ice Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12838, 1697, 27, 24610, 1, 0, 0, 0, 0, 'A Gift for the High Priestess of Elune', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12842, 1698, 27, 24612, 1, 0, 0, 0, 0, 'A Gift for the Warchief', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12846, 260, 29, 69531, 12, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 0, 0, 1), + (12902, 4596, 27, 24795, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 1), + (12909, 4597, 0, 36597, 1, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12911, 4598, 46, 1156, 42000, 0, 0, 0, 0, 'Ashen Verdict Exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12912, 4599, 74, 0, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 1), + (12913, 4600, 36, 50435, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 1), + (12945, 4604, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12949, 4605, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12952, 4606, 0, 37970, 1, 0, 0, 0, 0, 'Defeat the Blood Prince Council', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12954, 4607, 28, 72706, 1, 0, 0, 0, 0, 'Rescue Valithiria Dreamwalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12956, 4608, 8, 4604, 0, 0, 0, 0, 0, 'Storming the Citadel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (12962, 4610, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar slain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12966, 4614, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12967, 4615, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12968, 4616, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12969, 4617, 0, 37970, 1, 0, 0, 0, 0, 'Prince Valanar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12971, 4619, 28, 72706, 1, 0, 0, 0, 0, 'Valithria', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12972, 4620, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12975, 4623, 27, 24549, 1, 0, 0, 0, 0, 'Shadowmourne', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12976, 4523, 0, 36502, 1, 0, 0, 0, 0, 'Devourer of Souls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12977, 4577, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12978, 4579, 28, 72706, 1, 0, 0, 0, 0, 'Valithria', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12984, 4538, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12987, 4578, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (12992, 4624, 0, 36296, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 1), + (12993, 4524, 0, 36494, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 1), + (12994, 4525, 28, 72845, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 1), + (12997, 4611, 28, 72827, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13008, 4625, 34, 72286, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 1), + (13009, 4626, 34, 63796, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 1), + (13010, 4627, 34, 71342, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 1), + (13012, 4618, 0, 37955, 1, 0, 0, 0, 0, 'Defeat Blood-Queen Lana\'thel without becoming a vampire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13029, 4476, 119, 0, 10, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 0, 0, 1), + (13030, 4477, 119, 0, 50, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 0, 0, 1), + (13031, 4478, 119, 0, 100, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 0, 0, 1), + (13033, 4582, 0, 37970, 1, 0, 0, 0, 0, 'Prince Valanar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13036, 4613, 28, 72928, 1, 0, 0, 0, 0, 'Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13039, 4628, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13043, 4629, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13046, 4630, 0, 37970, 1, 0, 0, 0, 0, 'Defeat the Blood Prince Council', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13048, 4631, 28, 72706, 1, 0, 0, 0, 0, 'Rescue Valithiria Dreamwalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13050, 4632, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13054, 4633, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13057, 4634, 0, 37970, 1, 0, 0, 0, 0, 'Defeat the Blood Prince Council', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13059, 4635, 28, 72706, 1, 0, 0, 0, 0, 'Rescue Valithiria Dreamwalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13061, 4636, 8, 4628, 0, 0, 0, 0, 0, 'Storming the Citadel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13066, 4637, 8, 4632, 0, 0, 0, 0, 0, 'Storming the Citadel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13071, 4602, 8, 4628, 0, 0, 0, 0, 0, 'Heroic: Storming the Citadel (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13075, 4603, 8, 4632, 0, 0, 0, 0, 0, 'Heroic: Storming the Citadel (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13080, 4612, 28, 72959, 1, 0, 0, 0, 0, 'Gunship Battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13089, 4639, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13090, 4640, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13091, 4642, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13092, 4641, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13093, 4643, 0, 36855, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13094, 4644, 28, 72959, 1, 0, 0, 0, 0, 'Claim victory in the Gunship Battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13095, 4645, 28, 72928, 1, 0, 0, 0, 0, 'The Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13096, 4646, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13097, 4647, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13098, 4648, 0, 37970, 1, 0, 0, 0, 0, 'Defeat the Blood Prince Council', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13099, 4649, 28, 72706, 1, 0, 0, 0, 0, 'Rescue Valithiria Dreamwalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13100, 4650, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13101, 4651, 0, 37955, 1, 0, 0, 0, 0, 'Defeat Blood-Queen Lana\'thel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13102, 4652, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13103, 4653, 0, 36597, 1, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13104, 4654, 0, 36855, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13105, 4655, 0, 36855, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13106, 4656, 0, 36855, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13107, 4657, 0, 38433, 1, 0, 0, 0, 0, 'Toravon the Ice Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13108, 4658, 0, 38433, 1, 0, 0, 0, 0, 'Toravon the Ice Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13109, 4660, 28, 72959, 1, 0, 0, 0, 0, 'Claim victory in the Gunship Battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13110, 4659, 28, 72959, 1, 0, 0, 0, 0, 'Claim victory in the Gunship Battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13111, 4661, 28, 72959, 1, 0, 0, 0, 0, 'Claim victory in the Gunship Battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13112, 4663, 28, 72928, 1, 0, 0, 0, 0, 'The Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13113, 4662, 28, 72928, 1, 0, 0, 0, 0, 'The Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13114, 4664, 28, 72928, 1, 0, 0, 0, 0, 'The Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13115, 4666, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13116, 4665, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13117, 4667, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13118, 4669, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13119, 4668, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13120, 4670, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13121, 4672, 0, 37970, 1, 0, 0, 0, 0, 'Defeat the Blood Prince Council', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13122, 4671, 0, 37970, 1, 0, 0, 0, 0, 'Defeat the Blood Prince Council', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13123, 4673, 0, 37970, 1, 0, 0, 0, 0, 'Defeat the Blood Prince Council', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13124, 4675, 28, 72706, 1, 0, 0, 0, 0, 'Rescue Valithiria Dreamwalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13125, 4674, 28, 72706, 1, 0, 0, 0, 0, 'Rescue Valithiria Dreamwalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13126, 4676, 28, 72706, 1, 0, 0, 0, 0, 'Rescue Valithiria Dreamwalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13127, 4678, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13128, 4677, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13129, 4679, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13130, 4681, 0, 37955, 1, 0, 0, 0, 0, 'Defeat Blood-Queen Lana\'thel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13131, 4680, 0, 37955, 1, 0, 0, 0, 0, 'Defeat Blood-Queen Lana\'thel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13132, 4682, 0, 37955, 1, 0, 0, 0, 0, 'Defeat Blood-Queen Lana\'thel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13133, 4683, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13134, 4684, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13135, 4685, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13136, 4687, 0, 36597, 1, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13137, 4686, 0, 36597, 1, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13138, 4688, 0, 36597, 1, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13139, 4689, 28, 73045, 1, 0, 0, 0, 0, 'Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13140, 4690, 28, 73045, 1, 0, 0, 0, 0, 'Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13141, 4691, 28, 73047, 1, 0, 0, 0, 0, 'Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13142, 4692, 28, 73047, 1, 0, 0, 0, 0, 'Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13143, 4693, 28, 73048, 1, 0, 0, 0, 0, 'Gunship', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13144, 4694, 28, 73048, 1, 0, 0, 0, 0, 'Gunship', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13145, 4695, 28, 73049, 1, 0, 0, 0, 0, 'Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13146, 4696, 28, 73049, 1, 0, 0, 0, 0, 'Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13147, 4697, 28, 73050, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13148, 4698, 28, 73050, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13149, 4699, 28, 73051, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13150, 4700, 28, 73051, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13151, 4701, 28, 73052, 1, 0, 0, 0, 0, 'Blood Princes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13152, 4702, 28, 73052, 1, 0, 0, 0, 0, 'Blood Princes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13153, 4703, 28, 73053, 1, 0, 0, 0, 0, 'Valithria', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13154, 4704, 28, 73053, 1, 0, 0, 0, 0, 'Valithria', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13155, 4705, 28, 73054, 1, 0, 0, 0, 0, 'Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13156, 4706, 28, 73054, 1, 0, 0, 0, 0, 'Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13157, 4707, 28, 73055, 1, 0, 0, 0, 0, 'Blood Queen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13158, 4708, 28, 73055, 1, 0, 0, 0, 0, 'Blood Queen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13159, 4709, 28, 73056, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13160, 4712, 28, 73056, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13161, 4710, 28, 73057, 1, 0, 0, 0, 0, 'Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13162, 4711, 28, 73057, 1, 0, 0, 0, 0, 'Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13166, 4713, 0, 36497, 1, 0, 0, 0, 0, 'Bronjahm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13167, 4714, 0, 36497, 1, 0, 0, 0, 0, 'Bronjahm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13168, 4716, 0, 36502, 1, 0, 0, 0, 0, 'Devourer of Souls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13169, 4715, 0, 36502, 1, 0, 0, 0, 0, 'Devourer of Souls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13170, 4717, 0, 36494, 1, 0, 0, 0, 0, 'Forgemaster Garfrost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13172, 4718, 0, 36476, 1, 0, 0, 0, 0, 'Ick and Krick', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13173, 4719, 0, 36476, 1, 0, 0, 0, 0, 'Ick and Krick', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13174, 4720, 0, 36658, 1, 0, 0, 0, 0, 'Scourgelord Tyrannus and Rimefang', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13175, 4721, 0, 36658, 1, 0, 0, 0, 0, 'Scourgelord Tyrannus and Rimefang', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13176, 4722, 0, 38112, 1, 0, 0, 0, 0, 'Falric', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13177, 4723, 0, 38112, 1, 0, 0, 0, 0, 'Falric', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13178, 4724, 0, 38113, 1, 0, 0, 0, 0, 'Marwyn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13179, 4725, 0, 38113, 1, 0, 0, 0, 0, 'Marwyn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13180, 4726, 28, 72830, 1, 0, 0, 0, 0, 'Survive the encounter with the Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13181, 4727, 28, 72830, 1, 0, 0, 0, 0, 'Survive the encounter with the Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13182, 4728, 0, 36494, 1, 0, 0, 0, 0, 'Forgemaster Garfrost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13183, 4729, 36, 47241, 0, 0, 0, 0, 0, 'Emblems of Triumph acquired ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13184, 4730, 36, 49426, 0, 0, 0, 0, 0, 'Emblems of Frost acquired ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13185, 4731, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13186, 4732, 0, 36855, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13187, 4733, 28, 72959, 1, 0, 0, 0, 0, 'Claim victory in the Gunship Battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13188, 4734, 28, 72928, 1, 0, 0, 0, 0, 'The Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13189, 4735, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13190, 4736, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13191, 4737, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13192, 4738, 0, 37970, 1, 0, 0, 0, 0, 'Defeat the Blood Prince Council', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13193, 4739, 0, 37955, 1, 0, 0, 0, 0, 'Defeat Blood-Queen Lana\'thel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13194, 4740, 28, 72706, 1, 0, 0, 0, 0, 'Rescue Valithiria Dreamwalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13195, 4741, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13196, 4742, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13197, 4743, 0, 36855, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13198, 4744, 28, 72959, 1, 0, 0, 0, 0, 'Claim victory in the Gunship Battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13199, 4745, 28, 72928, 1, 0, 0, 0, 0, 'The Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13200, 4746, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13201, 4747, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13202, 4748, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13203, 4749, 0, 37970, 1, 0, 0, 0, 0, 'Defeat the Blood Prince Council', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13204, 4750, 0, 37955, 1, 0, 0, 0, 0, 'Defeat Blood-Queen Lana\'thel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13205, 4751, 28, 72706, 1, 0, 0, 0, 0, 'Rescue Valithiria Dreamwalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13206, 4752, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13207, 4753, 28, 73045, 1, 0, 0, 0, 0, 'Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13208, 4754, 28, 73045, 1, 0, 0, 0, 0, 'Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13209, 4755, 28, 73047, 1, 0, 0, 0, 0, 'Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13210, 4756, 28, 73047, 1, 0, 0, 0, 0, 'Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13211, 4757, 28, 73048, 1, 0, 0, 0, 0, 'Gunship', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13212, 4758, 28, 73048, 1, 0, 0, 0, 0, 'Gunship', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13213, 4759, 28, 73049, 1, 0, 0, 0, 0, 'Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13214, 4760, 28, 73049, 1, 0, 0, 0, 0, 'Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13215, 4761, 28, 73050, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13216, 4762, 28, 73050, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13217, 4763, 28, 73051, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13218, 4764, 28, 73051, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13219, 4765, 28, 73052, 1, 0, 0, 0, 0, 'Blood Princes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13220, 4766, 28, 73052, 1, 0, 0, 0, 0, 'Blood Princes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13221, 4767, 28, 73053, 1, 0, 0, 0, 0, 'Valithria', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13222, 4768, 28, 73053, 1, 0, 0, 0, 0, 'Valithria', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13223, 4769, 28, 73054, 1, 0, 0, 0, 0, 'Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13224, 4770, 28, 73054, 1, 0, 0, 0, 0, 'Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13225, 4771, 28, 73055, 1, 0, 0, 0, 0, 'Blood Queen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13226, 4772, 28, 73055, 1, 0, 0, 0, 0, 'Blood Queen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13227, 4773, 28, 73056, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13228, 4774, 28, 73056, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13229, 4775, 28, 73057, 1, 0, 0, 0, 0, 'Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13230, 4776, 28, 73057, 1, 0, 0, 0, 0, 'Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13243, 4622, 0, 36597, 1, 0, 0, 0, 0, 'Vile Spirits', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13244, 4621, 0, 36597, 1, 0, 0, 0, 0, 'Allow Necrotic Plague to stack to 30 before defeating the Lich King in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13246, 4601, 0, 36597, 1, 0, 0, 0, 0, 'Allow Necrotic Plague to stack to 30 before defeating the Lich King in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13253, 588, 113, 0, 0, 0, 0, 0, 0, 'Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13255, 4777, 56, 0, 0, 0, 0, 0, 0, 'Isle of Conquest Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13258, 4778, 117, 0, 0, 0, 0, 0, 0, 'Disenchant rolls made on loot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13261, 4779, 35, 0, 0, 0, 0, 0, 0, 'Isle of Conquest Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13306, 4780, 16, 649, 0, 0, 0, 0, 0, 'Deaths in Trial of the Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13307, 4781, 16, 631, 0, 0, 0, 0, 0, 'Deaths in Icecrown Citadel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 1), + (13372, 4782, 36, 37892, 1, 0, 0, 0, 0, 'Green Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13379, 4784, 36, 40752, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 1), + (13384, 4785, 36, 40752, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 1), + (13389, 4786, 27, 25393, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 1), + (13395, 4788, 46, 932, 42000, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 1), + (13409, 4789, 46, 934, 42000, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 1), + (13421, 4790, 27, 25445, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 1), + (13422, 4791, 118, 0, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 1), + (13423, 4792, 121, 0, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 1), + (13424, 4793, 123, 0, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 1), + (13425, 4794, 120, 0, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 1), + (13426, 4795, 122, 0, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 1), + (13427, 1205, 8, 4788, 1, 0, 0, 0, 0, 'Exalted with The Aldor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13451, 4815, 0, 39863, 1, 0, 0, 0, 0, 'Halion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13452, 4816, 0, 39863, 1, 0, 0, 0, 0, 'Halion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13453, 4817, 0, 39863, 1, 0, 0, 0, 0, 'Halion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13454, 4818, 0, 39863, 1, 0, 0, 0, 0, 'Halion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13465, 4820, 0, 39863, 1, 0, 0, 0, 0, 'Halion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13466, 4821, 0, 39863, 1, 0, 0, 0, 0, 'Halion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13467, 4823, 0, 39863, 1, 0, 0, 0, 0, 'Halion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13468, 4822, 0, 39863, 1, 0, 0, 0, 0, 'Halion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1), + (13469, 4824, 36, 56806, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 1), + (84, 41, 8, 35, 1, 0, 0, 0, 0, 'Might of Dragonblight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (95, 46, 8, 43, 1, 0, 0, 0, 0, 'Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (151, 115, 26, 3, 0, 0, 0, 0, 0, 'Deaths from fire and lava', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (170, 321, 18, 10, 0, 0, 0, 0, 0, '10 man instances', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (190, 477, 0, 24200, 1, 0, 0, 0, 0, 'Skarvald the Constructor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (196, 478, 0, 26763, 1, 0, 0, 0, 0, 'Anomalus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (200, 482, 0, 26631, 1, 0, 0, 0, 0, 'Novos the Summoner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (205, 487, 0, 27655, 1, 0, 0, 0, 0, 'Mage-Lord Urom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (207, 488, 0, 26668, 1, 0, 0, 0, 0, 'Svala Sorrowgrave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (213, 479, 0, 26532, 1, 0, 0, 0, 0, 'Chrono-Lord Epoch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (220, 486, 0, 28546, 1, 0, 0, 0, 0, 'Ionar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (227, 230, 8, 1169, 0, 0, 0, 0, 0, 'Master of Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (286, 547, 27, 12500, 1, 0, 0, 0, 0, 'Return to Angrathar - Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (326, 426, 36, 32837, 1, 0, 0, 0, 0, 'Warglaive of Azzinoth (Main Hand)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (352, 562, 0, 15953, 1, 0, 0, 0, 0, 'Grand Widow Faerlina', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (358, 564, 0, 15931, 1, 0, 0, 0, 0, 'Grobbulus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (366, 566, 0, 15936, 1, 0, 0, 0, 0, 'Heigan the Unclean', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (373, 568, 0, 16060, 1, 0, 0, 0, 0, 'Gothik the Harvester', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (384, 576, 8, 564, 0, 0, 0, 0, 0, 'The Construct Quarter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (390, 577, 8, 565, 0, 0, 0, 0, 0, 'The Construct Quarter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (422, 582, 30, 65, 1, 3, 30, 3, 30, 'Defend a graveyard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 2), + (427, 583, 30, 123, 2, 3, 529, 3, 529, 'Defend 2 bases', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 2), + (432, 584, 31, 3420, 5, 3, 529, 3, 529, 'Kill 5 people at the farm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 2), + (442, 587, 31, 3871, 5, 3, 566, 3, 566, 'Kill 5 people at the Draenei Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 2), + (479, 273, 27, 8746, 1, 0, 0, 0, 0, 'Metzen saved', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (485, 614, 8, 611, 0, 0, 0, 0, 0, 'Bleeding Bloodhoof', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (493, 619, 8, 616, 0, 0, 0, 0, 0, 'Death to the King!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (497, 626, 36, 21544, 1, 0, 0, 0, 0, 'Festive Blue Pant Suit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (503, 627, 43, 116, 1, 0, 0, 0, 0, 'Chill Breeze Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (535, 637, 0, 6487, 1, 0, 0, 0, 0, 'Arcanist Doan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (546, 644, 0, 11496, 1, 0, 0, 0, 0, 'Immol\'thar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (549, 645, 0, 1853, 1, 0, 0, 0, 0, 'Darkmaster Gandling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (551, 646, 0, 10440, 1, 0, 0, 0, 0, 'Baron Rivendare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (609, 699, 32, 559, 1, 0, 0, 0, 0, 'Nagrand Arena', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (617, 116, 40, 164, 2, 0, 0, 0, 0, 'Blacksmithing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (646, 714, 8, 710, 0, 0, 0, 0, 0, 'The Defiler', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (651, 705, 7, 45, 400, 0, 0, 0, 0, 'Bows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (745, 431, 27, 10985, 1, 0, 0, 0, 0, 'A Distraction for Akama', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (748, 425, 27, 9270, 1, 0, 0, 0, 0, 'Atiesh, Greatstaff of the Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (760, 700, 36, 18853, 1, 0, 0, 0, 0, 'Insignia of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (780, 701, 36, 18864, 1, 0, 0, 0, 0, 'Insignia of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (823, 728, 43, 244, 1, 0, 0, 0, 0, 'Sen\'jin Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (846, 730, 8, 135, 0, 0, 0, 0, 0, 'Grand Master in First Aid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (849, 731, 40, 164, 3, 0, 0, 0, 0, 'Blacksmithing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (860, 732, 40, 164, 4, 0, 0, 0, 0, 'Blacksmithing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (871, 733, 40, 164, 5, 0, 0, 0, 0, 'Blacksmithing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (882, 734, 40, 164, 6, 0, 0, 0, 0, 'Blacksmithing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (893, 735, 40, 164, 6, 0, 0, 0, 0, 'Blacksmithing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (904, 736, 43, 184, 1, 0, 0, 0, 0, 'Palemane Rock', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (918, 750, 43, 462, 1, 0, 0, 0, 0, 'The Sludge Fen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (945, 760, 43, 442, 1, 0, 0, 0, 0, 'Corrahn\'s Dagger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (963, 761, 43, 562, 1, 0, 0, 0, 0, 'Northfold Manor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (993, 762, 46, 81, 42000, 0, 0, 0, 0, 'Exalted Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1007, 763, 46, 942, 42000, 0, 0, 0, 0, 'Cenarion Expedition', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1010, 764, 46, 935, 42000, 0, 0, 0, 0, 'The Sha\'tar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1015, 765, 43, 582, 1, 0, 0, 0, 0, 'Camp Boff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1029, 766, 43, 822, 1, 0, 0, 0, 0, 'Garrison Armory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1038, 768, 43, 235, 1, 0, 0, 0, 0, 'Solliden Farmstead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1054, 769, 43, 302, 1, 0, 0, 0, 0, 'The Shining Strand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1069, 770, 43, 962, 1, 0, 0, 0, 0, 'Caer Darrow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1082, 771, 43, 893, 1, 0, 0, 0, 0, 'The Marris Stead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1104, 772, 43, 402, 1, 0, 0, 0, 0, 'Tarren Mill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1116, 773, 43, 602, 1, 0, 0, 0, 0, 'Plaguemist Ravine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1130, 774, 43, 722, 1, 0, 0, 0, 0, 'The Cauldron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1137, 775, 43, 782, 1, 0, 0, 0, 0, 'Morgan\'s Vigil', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1147, 776, 43, 122, 1, 0, 0, 0, 0, 'Goldshire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1159, 777, 43, 1061, 1, 0, 0, 0, 0, 'The Vice', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1162, 778, 43, 422, 1, 0, 0, 0, 0, 'Addle\'s Stead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1174, 779, 43, 316, 1, 0, 0, 0, 0, 'Stonewrought Dam', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1188, 780, 43, 363, 1, 0, 0, 0, 0, 'Lake Everstill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1197, 781, 43, 524, 1, 0, 0, 0, 0, 'Nesingwary\'s Expedition', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1224, 782, 43, 542, 1, 0, 0, 0, 0, 'Misty Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1249, 802, 43, 284, 1, 0, 0, 0, 0, 'Saldean\'s Farm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1263, 841, 43, 382, 1, 0, 0, 0, 0, 'Black Channel Marsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1277, 42, 8, 760, 1, 0, 0, 0, 0, 'Alterac Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1300, 842, 43, 84, 1, 0, 0, 0, 0, 'Ban\'ethil Hollow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1311, 843, 43, 1180, 1, 0, 0, 0, 0, 'Manaforge B\'naar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1315, 844, 43, 341, 1, 0, 0, 0, 0, 'Ruins of Mathystra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1324, 845, 43, 742, 1, 0, 0, 0, 0, 'Lake Falathim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1342, 846, 43, 686, 1, 0, 0, 0, 0, 'Darkcloud Pinnacle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1351, 847, 43, 930, 1, 0, 0, 0, 0, 'Grimtotem Post', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1362, 850, 43, 662, 1, 0, 0, 0, 0, 'Witch Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1366, 848, 43, 774, 1, 0, 0, 0, 0, 'Nijel\'s Point', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1395, 849, 43, 997, 1, 0, 0, 0, 0, 'Lower Wilds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1402, 853, 43, 862, 1, 0, 0, 0, 0, 'Talonbranch Glade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1406, 851, 43, 659, 1, 0, 0, 0, 0, 'Sandsorrow Watch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1410, 852, 43, 842, 1, 0, 0, 0, 0, 'The Shattered Strand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1454, 854, 43, 622, 1, 0, 0, 0, 0, 'Golakka Hot Springs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1462, 856, 43, 1023, 1, 0, 0, 0, 0, 'Valor\'s Rest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1474, 857, 43, 1002, 1, 0, 0, 0, 0, 'Timbermaw Post', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1487, 43, 8, 736, 1, 0, 0, 0, 0, 'Mulgore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1505, 858, 43, 1150, 1, 0, 0, 0, 0, 'Suncrown Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1509, 859, 43, 1128, 1, 0, 0, 0, 0, 'Ruins of Silvermoon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1553, 860, 43, 1363, 1, 0, 0, 0, 0, 'Ammen Ford', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1574, 861, 43, 1329, 1, 0, 0, 0, 0, 'Axxarien', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1606, 862, 43, 1200, 1, 0, 0, 0, 0, 'Expedition Armory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1610, 863, 43, 1125, 1, 0, 0, 0, 0, 'Ango\'rosh Grounds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1615, 864, 43, 1103, 1, 0, 0, 0, 0, 'Eclipse Point', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1619, 865, 43, 1289, 1, 0, 0, 0, 0, 'Bladed Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1623, 866, 43, 1190, 1, 0, 0, 0, 0, 'Garadar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1783, 44, 8, 863, 1, 0, 0, 0, 0, 'Zangarmarsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1791, 868, 43, 1456, 1, 0, 0, 0, 0, 'Dawnstar Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (1812, 873, 1, 30, 1, 3, 30, 3, 30, 'Tower A1 owned by the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 2), + (1821, 229, 35, 0, 30, 3, 30, 3, 30, '30 hks in av', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (1824, 204, 1, 489, 1, 3, 489, 3, 489, 'win warsong', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14, 0, 0, 0, 2), + (1825, 220, 1, 30, 1, 3, 30, 3, 30, 'win av', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 2), + (1837, 878, 42, 13917, 1, 0, 0, 0, 0, '103 Pound Mightfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1887, 905, 27, 11666, 1, 0, 0, 0, 0, 'Bait Bandits', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1892, 906, 27, 11379, 1, 0, 0, 0, 0, 'Super Hot Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1899, 907, 8, 711, 0, 0, 0, 0, 0, 'Knight of Arathor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1903, 908, 27, 11336, 1, 0, 0, 0, 0, 'Call to Arms: Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1907, 909, 27, 11340, 1, 0, 0, 0, 0, 'Call to Arms: Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1911, 910, 27, 8713, 1, 0, 0, 0, 0, 'Elder Starsong in the Sunken Temple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1917, 911, 27, 8720, 1, 0, 0, 0, 0, 'Elder Skygleam in Azshara', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1923, 912, 27, 8647, 1, 0, 0, 0, 0, 'Elder Bellowrage in Blasted Lands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1935, 913, 8, 911, 0, 0, 0, 0, 0, 'Elders of Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1992, 914, 27, 8678, 1, 0, 0, 0, 0, 'Elder Wheathoof in Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (1997, 915, 27, 8866, 1, 0, 0, 0, 0, 'Elder Bronzebeard in Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2007, 940, 27, 208, 1, 0, 0, 0, 0, 'Big Game Hunter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2009, 941, 8, 939, 0, 0, 0, 0, 0, 'Hills Like White Elekk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2013, 942, 46, 978, 42000, 0, 0, 0, 0, 'Exalted with the Kurenai', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2016, 943, 46, 941, 42000, 0, 0, 0, 0, 'Exalted with the The Mag\'har', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2024, 945, 8, 947, 0, 0, 0, 0, 0, 'The Argent Crusade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2031, 948, 46, 47, 42000, 0, 0, 0, 0, 'Exalted Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2040, 952, 8, 950, 0, 0, 0, 0, 0, 'Frenzyheart Tribe', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2042, 480, 0, 28921, 1, 0, 0, 0, 0, 'Hadronox', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2046, 953, 46, 942, 42000, 0, 0, 0, 0, 'Exalted with Cenarion Expedition', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2055, 961, 27, 12703, 1, 0, 0, 0, 0, 'Kartak\'s Rampage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2063, 962, 27, 12705, 1, 0, 0, 0, 0, 'Will of the Titans', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2073, 963, 27, 12333, 1, 0, 0, 0, 0, 'Azuremyst Isle, Azure Watch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2100, 965, 27, 12398, 1, 0, 0, 0, 0, 'Dustwallow Marsh, Mudsprocket', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2133, 966, 27, 12344, 1, 0, 0, 0, 0, 'Duskwood, Darkshire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2146, 967, 27, 12397, 1, 0, 0, 0, 0, 'Stranglethorn Vale, Booty Bay', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2196, 969, 27, 12359, 1, 0, 0, 0, 0, 'Blade\'s Edge Mountains, Toshley\'s Station', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2218, 968, 27, 12393, 1, 0, 0, 0, 0, 'Blade\'s Edge Mountains, Thunderlord Stronghold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2226, 971, 8, 967, 0, 0, 0, 0, 0, 'Tricks and Treats of Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2229, 970, 8, 966, 0, 0, 0, 0, 0, 'Tricks and Treats of Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2261, 979, 36, 34001, 1, 0, 0, 0, 0, 'Flimsy Female Draenei Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (2282, 289, 27, 12139, 1, 0, 0, 0, 0, '"Let the Fires Come!"', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (2336, 621, 57, 31776, 1, 0, 0, 0, 0, 'Consortium Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (2343, 556, 49, 1, 1, 0, 0, 0, 0, 'Neck', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2360, 245, 52, 11, 1, 0, 0, 0, 0, 'Druid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2370, 246, 53, 2, 1, 0, 0, 0, 0, 'Orc', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2375, 1005, 53, 1, 1, 0, 0, 0, 0, 'Human', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (2401, 227, 13, 0, 300000, 3, 529, 3, 529, 'Do 300,000 Damage in Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 2), + (2419, 1010, 8, 1007, 0, 0, 0, 0, 0, 'The Wyrmrest Accord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3064, 1022, 27, 11808, 1, 0, 0, 0, 0, 'Blasted Lands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3077, 1023, 27, 11806, 1, 0, 0, 0, 0, 'Azuremyst Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3090, 1024, 27, 11818, 1, 0, 0, 0, 0, 'Hellfire Peninsula', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3102, 1025, 27, 11842, 1, 0, 0, 0, 0, 'Badlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3113, 1026, 27, 11845, 1, 0, 0, 0, 0, 'Desolace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3125, 1027, 27, 11851, 1, 0, 0, 0, 0, 'Hellfire Peninsula', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3132, 1028, 27, 11766, 1, 0, 0, 0, 0, 'Badlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3143, 1029, 27, 11769, 1, 0, 0, 0, 0, 'Desolace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3155, 1030, 27, 11775, 1, 0, 0, 0, 0, 'Hellfire Peninsula', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3162, 1031, 27, 11737, 1, 0, 0, 0, 0, 'Blasted Lands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3175, 1032, 27, 11735, 1, 0, 0, 0, 0, 'Azuremyst Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3187, 1033, 27, 11747, 1, 0, 0, 0, 0, 'Hellfire Peninsula', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3194, 1034, 8, 1023, 0, 0, 0, 0, 0, 'Flame Warden of Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3197, 1035, 8, 1029, 0, 0, 0, 0, 0, 'Extinguishing Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3200, 1036, 8, 1026, 0, 0, 0, 0, 0, 'Flame Keeper of Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3203, 1037, 8, 1032, 0, 0, 0, 0, 0, 'Extinguishing Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3206, 1038, 8, 1035, 0, 0, 0, 0, 0, 'Desecration of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3208, 1039, 8, 1037, 0, 0, 0, 0, 0, 'Desecration of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3210, 283, 28, 24737, 1, 0, 0, 0, 0, 'Transformed by Hallowed Wand - Ghost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3217, 1040, 27, 8373, 1, 0, 0, 0, 0, 'The Power of Pine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3219, 1041, 27, 1657, 1, 0, 0, 0, 0, 'Stinking Up Southshore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3222, 248, 42, 6835, 1, 0, 0, 0, 0, 'Black Tuxedo Pants', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3228, 396, 36, 19024, 1, 0, 0, 0, 0, 'Arena Grand Master item gained', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (3302, 344, 41, 20065, 1, 0, 0, 0, 0, 'Arathi Basin Mageweave Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3352, 1145, 27, 9339, 1, 0, 0, 0, 0, 'Horde, A Thief\'s Reward', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (3369, 231, 56, 0, 20, 3, 529, 1, 0, 'Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 2), + (3387, 225, 1, 30, 1, 3, 30, 3, 30, 'Trogg Cave Owned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 2), + (3389, 1164, 1, 30, 1, 3, 30, 3, 30, 'Trogg Cave Owned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 2), + (3393, 1167, 8, 221, 0, 0, 0, 0, 0, 'Alterac Grave Robber', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3405, 1168, 8, 221, 0, 0, 0, 0, 0, 'Alterac Grave Robber', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3417, 1169, 8, 165, 0, 0, 0, 0, 0, 'Arathi Basin Perfection', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3432, 1170, 8, 165, 0, 0, 0, 0, 0, 'Arathi Basin Perfection', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3447, 1171, 8, 783, 0, 0, 0, 0, 0, 'The Perfect Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3462, 1172, 8, 199, 0, 0, 0, 0, 0, 'Capture the Flag', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3477, 1173, 8, 199, 0, 0, 0, 0, 0, 'Capture the Flag', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3489, 1174, 8, 876, 0, 0, 0, 0, 0, 'Brutally Dedicated', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3501, 1175, 8, 1170, 0, 0, 0, 0, 0, 'Master of Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3516, 1183, 28, 43959, 1, 0, 0, 0, 0, 'Stranglethorn Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3528, 1184, 41, 33029, 1, 0, 0, 0, 0, 'Barleybrew Dark', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3543, 1185, 41, 33024, 1, 0, 0, 0, 0, 'Pickled Sausage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3558, 1186, 27, 12192, 1, 0, 0, 0, 0, 'Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (3560, 1187, 36, 18249, 1, 0, 0, 0, 0, 'Crescent Key', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3575, 484, 0, 29305, 1, 0, 0, 0, 0, 'Moorabi', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3579, 481, 0, 29309, 1, 0, 0, 0, 0, 'Elder Nadox', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3595, 1203, 41, 33034, 1, 0, 0, 0, 0, 'Gordok Grog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3610, 903, 46, 932, 42000, 0, 0, 0, 0, 'Exalted with The Aldor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (3624, 1225, 72, 182959, 1, 0, 0, 0, 0, 'Bluefish School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3702, 489, 0, 24200, 1, 0, 0, 0, 0, 'Skarvald the Constructor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3706, 667, 0, 17536, 1, 0, 0, 0, 0, 'Nazan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3724, 557, 49, 1, 1, 0, 0, 0, 0, 'Neck', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3739, 1206, 54, 225, 1, 0, 0, 0, 0, 'Steam Frog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3763, 1244, 68, 21581, 1, 0, 0, 0, 0, 'Aftermath of the Second War', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3805, 161, 1, 529, 1, 0, 0, 0, 0, 'Overcome a 500 resource disadvantage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (3827, 252, 35, 0, 50, 0, 0, 0, 0, '26272', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (3835, 563, 0, 15953, 1, 0, 0, 0, 0, 'Grand Widow Faerlina', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3838, 565, 0, 15931, 1, 0, 0, 0, 0, 'Grobbulus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3842, 567, 0, 15936, 1, 0, 0, 0, 0, 'Heigan the Unclean', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3845, 569, 0, 16060, 1, 0, 0, 0, 0, 'Gothik the Harvester', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3853, 153, 72, 180582, 1, 0, 0, 0, 0, 'Lesser Oily Blackmouth School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (3873, 1257, 72, 180901, 1, 0, 0, 0, 0, 'Bloodsail Wreckage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3884, 1262, 8, 1190, 0, 0, 0, 0, 0, 'Mysteries of the Marsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3905, 45, 8, 1263, 0, 0, 0, 0, 0, 'Howling Fjord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3916, 1274, 8, 1190, 0, 0, 0, 0, 0, 'Mysteries of the Marsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3929, 1280, 54, 58, 1, 0, 0, 0, 0, 'Kissed Jeremiah Payson', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3937, 1282, 27, 11023, 1, 0, 0, 0, 0, 'Summon Reindeer Flying Mount Tier 3.0 (Brown)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (3940, 1283, 8, 629, 0, 0, 0, 0, 0, 'Ragefire Chasm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (3965, 1284, 8, 648, 0, 0, 0, 0, 0, 'The Blood Furnace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4010, 1285, 8, 686, 0, 0, 0, 0, 0, 'Molten Core', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4015, 1286, 8, 691, 0, 0, 0, 0, 0, 'Zul\'Aman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4024, 1287, 8, 668, 0, 0, 0, 0, 0, 'Heroic The Blood Furnace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4041, 1288, 8, 478, 0, 0, 0, 0, 0, 'The Nexus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4057, 1289, 8, 490, 0, 0, 0, 0, 0, 'Heroic The Nexus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4073, 1292, 36, 32917, 1, 0, 0, 0, 0, 'Filled Yellow Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4079, 1293, 36, 33017, 1, 0, 0, 0, 0, 'Filled Blue Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4092, 328, 62, 0, 0, 0, 0, 0, 0, 'Money from questing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 32, 0, 0, 0, 2), + (4123, 1264, 43, 1464, 0, 0, 0, 0, 0, 'Steeljaw\'s Caravan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4137, 1263, 43, 1493, 0, 0, 0, 0, 0, 'Cauldros Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4160, 1265, 43, 1497, 0, 0, 0, 0, 0, 'Lake Indu\'le', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4179, 1266, 43, 1465, 0, 0, 0, 0, 0, 'Drak\'Tharon Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4193, 1267, 43, 1531, 0, 0, 0, 0, 0, 'Drak\'Sotra Fields', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4207, 1268, 43, 1545, 0, 0, 0, 0, 0, 'The Savage Thicket', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4238, 629, 27, 5761, 1, 0, 0, 0, 0, 'Slaying the Beast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4239, 628, 27, 166, 1, 0, 0, 0, 0, 'The Defias Brotherhood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4246, 630, 27, 6981, 1, 0, 0, 0, 0, 'The Glowing Shard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4247, 631, 27, 1014, 1, 0, 0, 0, 0, 'Arugal Must Die', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4249, 633, 27, 391, 1, 0, 0, 0, 0, 'The Stockade Riots', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4250, 635, 27, 1102, 1, 0, 0, 0, 0, 'A Vengeful Fate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4252, 634, 27, 2929, 1, 0, 0, 0, 0, 'The Grand Betrayal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4254, 636, 27, 3636, 1, 0, 0, 0, 0, 'Bring the Light', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4256, 638, 27, 2278, 1, 0, 0, 0, 0, 'The Platinum Discs ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4259, 640, 27, 7065, 1, 0, 0, 0, 0, 'Corruption of Earth and Seed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4261, 641, 27, 3373, 1, 0, 0, 0, 0, 'The Essence of Eranikus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4262, 642, 27, 4362, 1, 0, 0, 0, 0, 'The Fate of the Kingdom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4264, 688, 27, 8183, 1, 0, 0, 0, 0, 'The Heart of Hakkar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4265, 689, 27, 8791, 1, 0, 0, 0, 0, 'The Fall of Ossirian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4268, 684, 27, 7635, 1, 0, 0, 0, 0, 'A Proper String', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4289, 345, 41, 32905, 0, 0, 0, 0, 0, 'Bottled Nethergon Vapor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4311, 922, 41, 33093, 0, 0, 0, 0, 0, 'Mana Potion Injector', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4411, 811, 41, 13513, 0, 0, 0, 0, 0, 'Flask of Chromatic Resistance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4440, 643, 27, 5081, 1, 0, 0, 0, 0, 'Maxwell\'s Mission', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4443, 1307, 27, 5102, 1, 0, 0, 0, 0, 'General Drakkisath\'s Demise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4447, 685, 27, 7781, 1, 0, 0, 0, 0, 'The Lord of Blackrock', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4450, 687, 27, 8656, 1, 0, 0, 0, 0, 'Striker\'s Hauberk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4461, 647, 27, 9575, 1, 0, 0, 0, 0, 'Weaken the Ramparts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4463, 650, 27, 9719, 1, 0, 0, 0, 0, 'Stalk the Stalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4464, 651, 27, 10165, 1, 0, 0, 0, 0, 'Undercutting the Competition', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4465, 666, 27, 10167, 1, 0, 0, 0, 0, 'Auchindoun...', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4467, 652, 27, 10284, 1, 0, 0, 0, 0, 'Escape from Durnholde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4468, 653, 27, 10098, 1, 0, 0, 0, 0, 'Terokk\'s Legacy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4469, 654, 27, 10095, 1, 0, 0, 0, 0, 'Into the Heart of the Labyrinth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4471, 655, 27, 9836, 1, 0, 0, 0, 0, 'The Master\'s Touch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4473, 656, 27, 9763, 1, 0, 0, 0, 0, 'The Warlord\'s Hideout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4475, 657, 27, 9492, 1, 0, 0, 0, 0, 'Turning the Tide ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4480, 658, 27, 10704, 1, 0, 0, 0, 0, 'How to Break Into the Arcatraz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4481, 659, 27, 10704, 1, 0, 0, 0, 0, 'How to Break Into the Arcatraz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4482, 660, 27, 10882, 1, 0, 0, 0, 0, 'Harbinger of Doom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4484, 661, 27, 11492, 1, 0, 0, 0, 0, 'Hard to Kill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4485, 675, 27, 10885, 1, 0, 0, 0, 0, 'Trial of the Naaru: Strength', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4486, 677, 27, 10885, 1, 0, 0, 0, 0, 'Trial of the Naaru: Strength', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4487, 678, 27, 9524, 1, 0, 0, 0, 0, 'Imprisoned in the Citadel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4490, 681, 27, 10886, 1, 0, 0, 0, 0, 'Trial of the Naaru: Tenacity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4491, 690, 27, 9844, 1, 0, 0, 0, 0, 'A Demonic Presence', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4492, 691, 27, 11178, 1, 0, 0, 0, 0, 'Blood of the Warlord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4493, 692, 27, 10901, 1, 0, 0, 0, 0, 'The Cudgel of Kar\'desh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4494, 693, 27, 10888, 1, 0, 0, 0, 0, 'Trial of the Naaru: Magtheridon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4497, 694, 27, 10445, 1, 0, 0, 0, 0, 'The Vials of Eternity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4498, 696, 27, 10445, 1, 0, 0, 0, 0, 'The Vials of Eternity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4500, 697, 27, 10959, 1, 0, 0, 0, 0, 'The Fall of the Betrayer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4505, 1311, 0, 18682, 1, 0, 0, 0, 0, 'Bog Lurker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4597, 698, 36, 34247, 1, 0, 0, 0, 0, 'Apolyon, the Soul-Render', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4618, 695, 36, 30909, 1, 0, 0, 0, 0, 'Antonidas\'s Aegis of Rapt Concentration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (4720, 812, 41, 19010, 0, 0, 0, 0, 0, 'Greater Healthstone (1)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4738, 924, 46, 1073, 42000, 0, 0, 0, 0, 'Exlated with the Kalu\'ak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4751, 925, 46, 942, 42000, 0, 0, 0, 0, 'Exlated with Cenarion Expedition', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4769, 927, 49, 3, 1, 0, 0, 0, 0, 'Body is Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4940, 867, 43, 1161, 1, 0, 0, 0, 0, 'Allerian Stronghold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4949, 107, 78, 0, 0, 0, 0, 0, 0, 'Demons', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4966, 796, 28, 25435, 0, 0, 0, 0, 0, 'Resurrection (Rank 6)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4972, 798, 28, 26994, 0, 0, 0, 0, 0, 'Rebirth (Rank 6)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4978, 1229, 28, 50764, 0, 0, 0, 0, 0, 'Revive (Rank 6)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4984, 98, 14, 0, 0, 0, 0, 0, 0, 'Daily quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (4993, 350, 68, 191164, 0, 0, 0, 0, 0, 'Portal to Dalaran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5019, 33, 11, 4024, 130, 0, 0, 0, 0, 'Complete 130 quests in Borean Tundra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (5021, 388, 70, 0, 50, 0, 0, 0, 0, 'Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (5032, 1006, 70, 0, 50, 0, 0, 0, 0, 'Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (5043, 1358, 11, 4024, 150, 0, 0, 0, 0, 'Complete 140 quests in Borean Tundra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (5046, 1360, 8, 1359, 1, 0, 0, 0, 0, 'Might of Dragonblight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5080, 284, 36, 34001, 1, 0, 0, 0, 0, 'Flimsy Female Draenei Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5142, 1396, 27, 13013, 1, 0, 0, 0, 0, 'Elder Beldak in Westfall Brigade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5246, 490, 0, 26763, 1, 0, 0, 0, 0, 'Anomalus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5268, 1436, 34, 48954, 0, 0, 0, 0, 0, 'Zhevra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (5275, 150, 109, 3, 1, 0, 0, 0, 0, 'Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5291, 1457, 43, 1598, 0, 0, 0, 0, 0, 'The Decrepit Flow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5307, 1463, 8, 1007, 0, 0, 0, 0, 0, 'The Wyrmrest Accord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5314, 926, 46, 76, 42000, 0, 0, 0, 0, 'Exalted with Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5329, 1466, 46, 54, 42000, 0, 0, 0, 0, 'Exalted with Gnomergan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5467, 1467, 0, 26529, 1, 0, 0, 0, 0, 'Meathook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5493, 381, 35, 0, 0, 0, 0, 0, 0, 'Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5500, 382, 35, 0, 0, 0, 0, 0, 0, 'Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5530, 1488, 56, 0, 0, 0, 0, 0, 0, 'Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5534, 1490, 56, 0, 0, 0, 0, 0, 0, 'Blade\'s Edge Arena', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5537, 1491, 56, 0, 0, 0, 0, 0, 0, 'Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5552, 1199, 40, 164, 1, 0, 0, 0, 0, 'Blacksmithing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5563, 1200, 7, 185, 450, 0, 0, 0, 0, 'Cooking', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5568, 1201, 7, 202, 450, 0, 0, 0, 0, 'Engineering', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5577, 1202, 7, 55, 400, 0, 0, 0, 0, 'Two-Handed Swords', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5592, 281, 7, 129, 450, 0, 0, 0, 0, 'First aid skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 2), + (5602, 202, 30, 42, 1, 0, 0, 0, 0, 'Cap in 75 seconds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 6, 61266, 75, 2), + (5606, 207, 70, 0, 1, 0, 0, 0, 0, 'Carrying Alliance Flag', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (5619, 1241, 73, 18716, 1, 0, 0, 0, 0, 'Mal\'Ganis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5631, 1103, 0, 26861, 1, 0, 0, 0, 0, 'King Ymiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5663, 1516, 8, 153, 0, 0, 0, 0, 0, 'The Old Gnome and the Sea', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5681, 1517, 72, 192053, 1, 0, 0, 0, 0, 'Deep Sea Monsterbelly School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5691, 1104, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5703, 1525, 27, 11379, 1, 0, 0, 0, 0, 'Super Hot Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5707, 1526, 27, 11666, 1, 0, 0, 0, 0, 'Bait Bandits', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5764, 1563, 8, 877, 0, 0, 0, 0, 0, 'The Cake Is Not A Lie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5774, 291, 110, 44212, 1, 0, 0, 0, 0, 'Blood Elf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5787, 1291, 69, 45123, 1, 0, 0, 0, 0, 'Romantic Picnic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (5799, 1576, 27, 12948, 1, 0, 0, 0, 0, 'The Champion of Anguish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5805, 1596, 27, 12713, 1, 0, 0, 0, 0, 'Betrayal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5819, 1656, 8, 288, 0, 0, 0, 0, 0, 'Out With It', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5820, 288, 29, 42966, 1, 0, 0, 0, 0, 'Upset Tummy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (5832, 1657, 8, 288, 0, 0, 0, 0, 0, 'Out With It', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5844, 1269, 43, 1590, 0, 0, 0, 0, 0, 'Narvir\'s Cradle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5860, 1270, 43, 1563, 0, 0, 0, 0, 0, 'Icecrown Citadel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5888, 1658, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad (10 or 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5892, 839, 15, 529, 0, 0, 0, 0, 0, 'Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5896, 840, 1, 529, 0, 0, 0, 0, 0, 'Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (5901, 1676, 11, 45, 700, 0, 0, 0, 0, 'Arathi Highlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (5953, 1677, 11, 45, 550, 0, 0, 0, 0, 'Arathi Highlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (6005, 1678, 11, 331, 700, 0, 0, 0, 0, 'Ashenvale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (6100, 1680, 11, 331, 685, 0, 0, 0, 0, 'Ashenvale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (6140, 341, 90, 0, 0, 0, 0, 0, 0, 'Epic Items Looted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6141, 336, 91, 0, 0, 0, 0, 0, 0, 'Legendary items obtained', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6142, 342, 91, 0, 0, 0, 0, 0, 0, 'Epic items obtained', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6144, 1681, 8, 1678, 0, 0, 0, 0, 0, 'Loremaster of Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6148, 1682, 8, 1680, 0, 0, 0, 0, 0, 'Loremaster of Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6152, 662, 34, 17708, 0, 0, 0, 0, 0, 'Mini Diablo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6153, 663, 34, 17707, 0, 0, 0, 0, 0, 'Panda Cub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6154, 664, 34, 17709, 0, 0, 0, 0, 0, 'Zergling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6155, 665, 34, 32298, 0, 0, 0, 0, 0, 'Netherwhelp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6156, 683, 34, 52615, 0, 0, 0, 0, 0, 'Frosty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6157, 411, 34, 24696, 0, 0, 0, 0, 0, 'Murky', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6158, 414, 34, 53082, 0, 0, 0, 0, 0, 'Tyrael', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6163, 882, 34, 36702, 0, 0, 0, 0, 0, 'Fiery Warhorse', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6167, 886, 34, 37015, 0, 0, 0, 0, 0, 'Swift Nether Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6168, 887, 34, 44744, 0, 0, 0, 0, 0, 'Merciless Nether Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6169, 888, 34, 49193, 0, 0, 0, 0, 0, 'Vengeful Nether Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6175, 1683, 8, 2796, 0, 0, 0, 0, 0, 'Brew of the Month', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6182, 1684, 8, 2796, 0, 0, 0, 0, 0, 'Brew of the Month', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6192, 879, 34, 17450, 0, 0, 0, 0, 0, 'Ivory Raptor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6206, 893, 34, 43927, 0, 0, 0, 0, 0, 'Cenarion War Hippogryph', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6208, 303, 34, 43900, 0, 0, 0, 0, 0, 'swift brewfest ram', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6214, 727, 34, 22718, 0, 0, 0, 0, 0, 'Black War Kodo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6224, 279, 27, 6984, 1, 0, 0, 0, 0, 'A Smokywood Pastures\' Thank You!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6226, 1685, 110, 26004, 1, 0, 0, 0, 0, 'Durkot Wolfbrother in Warsong Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6236, 1686, 110, 26004, 1, 0, 0, 0, 0, 'Brother Anton in Nijel\'s Point', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6238, 1687, 110, 44755, 1, 0, 0, 0, 0, 'Human Warrior', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6248, 1688, 29, 21144, 1, 0, 0, 0, 0, 'Egg Nog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6251, 1689, 27, 8744, 1, 0, 0, 0, 0, 'A Carefully Wrapped Present', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6258, 1690, 41, 17712, 1, 0, 0, 0, 0, 'Winter Veil Disguise Kit in Dalaran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6263, 1691, 8, 252, 0, 0, 0, 0, 0, 'With a Little Helper from My Friends', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6275, 1692, 8, 252, 0, 0, 0, 0, 0, 'With a Little Helper from My Friends', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6302, 1699, 110, 27571, 1, 0, 0, 0, 0, 'Orc Death Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6323, 1700, 36, 22235, 1, 0, 0, 0, 0, 'Truesilver Shafted Arrow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6325, 1701, 29, 70579, 1, 0, 0, 0, 0, 'I\'ll follow you all around Azeroth.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6333, 1702, 41, 22237, 1, 0, 0, 0, 0, 'Dark Desire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6344, 1704, 54, 203, 1, 0, 0, 0, 0, 'Battle Ring of Gurubashi Arena', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6348, 1706, 27, 13203, 1, 0, 0, 0, 0, 'Crashin\' Thrashin\' Racer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6349, 1705, 36, 34425, 1, 0, 0, 0, 0, 'Clockwork Rocket Bot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6352, 1693, 8, 1188, 0, 0, 0, 0, 0, 'Shafted!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6366, 1707, 8, 1188, 0, 0, 0, 0, 0, 'Shafted!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6382, 726, 34, 33050, 0, 0, 0, 0, 0, 'Magical Crawdad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6414, 1768, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6434, 1515, 28, 58630, 1, 0, 0, 0, 0, 'Mal\'Ganis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6441, 1737, 0, 28094, 1, 0, 0, 0, 0, 'Wintergrasp Demolisher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6487, 1777, 29, 45569, 1, 0, 0, 0, 0, 'Baked Manta Ray', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6601, 1780, 41, 43492, 1, 0, 0, 0, 0, 'Haunted Herring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6609, 1782, 27, 13101, 1, 0, 0, 0, 0, 'Convention at the Legerdemain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6614, 1783, 27, 13113, 1, 0, 0, 0, 0, 'Convention at the Legerdemain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6619, 1784, 8, 877, 0, 0, 0, 0, 0, 'The Cake Is Not A Lie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6627, 1785, 41, 34753, 1, 0, 0, 0, 0, 'Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6634, 604, 70, 0, 5, 0, 0, 0, 0, 'Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6638, 603, 70, 0, 5, 0, 0, 0, 0, 'Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6642, 1786, 30, 61, 1, 0, 0, 0, 0, 'Assault a tower in Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6652, 1788, 41, 43490, 1, 0, 0, 0, 0, 'Tasty Cupcake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6663, 1792, 34, 28740, 0, 0, 0, 0, 0, 'Whiskers the Rat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6744, 1793, 8, 1788, 0, 0, 0, 0, 0, 'Bad Example', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6759, 1800, 29, 33290, 1, 0, 0, 0, 0, 'Blackened Trout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6789, 432, 74, 0, 1, 0, 0, 0, 0, 'Champion of the Naaru', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6806, 500, 0, 26532, 1, 0, 0, 0, 0, 'Chrono-Lord Epoch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6814, 493, 0, 26631, 1, 0, 0, 0, 0, 'Novos the Summoner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6818, 3838, 42, 40753, 1, 0, 0, 0, 0, 'Emblem of Valor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (6825, 3839, 42, 40753, 25, 0, 0, 0, 0, '25 Emblems of Valor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (6826, 3840, 42, 40753, 50, 0, 0, 0, 0, '50 Emblems of Valor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (6827, 3841, 42, 40753, 100, 0, 0, 0, 0, '100 Emblems of Valor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (6828, 3842, 42, 40753, 250, 0, 0, 0, 0, '250 Emblems of Valor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (6829, 3843, 42, 40753, 500, 0, 0, 0, 0, '500 Emblems of Valor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (6830, 3844, 42, 40753, 1000, 0, 0, 0, 0, '1000 Emblems of Valor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (6832, 497, 0, 28546, 1, 0, 0, 0, 0, 'Ionar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6840, 495, 0, 29305, 1, 0, 0, 0, 0, 'Moorabi', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6849, 491, 0, 28921, 1, 0, 0, 0, 0, 'Hadronox', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6852, 492, 0, 29309, 1, 0, 0, 0, 0, 'Elder Nadox', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6858, 496, 0, 27978, 1, 0, 0, 0, 0, 'Sjonnir the Ironshaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6860, 498, 0, 27655, 1, 0, 0, 0, 0, 'Mage-Lord Urom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6865, 499, 0, 26687, 1, 0, 0, 0, 0, 'Gortok Palehoof', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6935, 485, 28, 59046, 1, 0, 0, 0, 0, 'The Tribunal of Ages', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (6975, 415, 34, 58983, 0, 0, 0, 0, 0, 'Big Blizzard Bear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6981, 1836, 42, 34486, 1, 0, 0, 0, 0, 'Old Crafty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (6982, 1837, 36, 34484, 1, 0, 0, 0, 0, 'Old Ironjaw', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (7138, 1865, 0, 29312, 1, 0, 0, 0, 0, 'Lavanthor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7157, 578, 0, 16060, 1, 0, 0, 0, 0, 'Gothik the Harvester', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7167, 579, 0, 15936, 1, 0, 0, 0, 0, 'Heigan the Unclean', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7178, 1871, 0, 27656, 1, 0, 0, 0, 0, 'Emerald Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7188, 1877, 0, 30452, 1, 0, 0, 0, 0, 'Tenebron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7190, 624, 0, 30452, 1, 0, 0, 0, 0, 'Tenebron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7195, 1066, 54, 52, 0, 0, 0, 0, 0, 'guffaw', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7221, 1745, 112, 185, 0, 0, 0, 0, 0, 'Cooking recipes known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7222, 1748, 112, 129, 0, 0, 0, 0, 0, 'First Aid Manuals learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7223, 1729, 112, 171, 0, 0, 0, 0, 0, 'Alchemy recipes known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7224, 1730, 112, 164, 0, 0, 0, 0, 0, 'Blacksmithing plans known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7225, 178, 112, 333, 0, 0, 0, 0, 0, 'Enchanting formulae known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7226, 1734, 112, 202, 0, 0, 0, 0, 0, 'Engineering Schematics known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7227, 1735, 112, 773, 0, 0, 0, 0, 0, 'Inscriptions known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7228, 1738, 112, 755, 0, 0, 0, 0, 0, 'Jewelcrafting Designs known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7229, 1740, 112, 165, 0, 0, 0, 0, 0, 'Leatherworking Patterns known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7230, 1741, 112, 197, 0, 0, 0, 0, 0, 'Tailoring Patterns known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7233, 1936, 34, 39709, 0, 0, 0, 0, 0, 'Wolpertinger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (7237, 1956, 68, 192709, 1, 0, 0, 0, 0, 'The Schools of Arcane Magic - Abjuration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7245, 1957, 36, 43640, 1, 0, 0, 0, 0, 'Archimonde\'s Gold Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7261, 1958, 34, 59250, 0, 0, 0, 0, 0, 'Giant Sewer Rat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (7279, 2016, 27, 12268, 1, 0, 0, 0, 0, 'Pieces Parts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7288, 2017, 27, 12270, 1, 0, 0, 0, 0, 'Shred the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7297, 2018, 27, 13241, 1, 0, 0, 0, 0, 'Timear Foresees Ymirjar Berserkers in your Future!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7301, 2019, 27, 13246, 1, 0, 0, 0, 0, 'Proof of Demise: Keristrasza', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7369, 2076, 34, 60114, 0, 0, 0, 0, 0, 'Armored Brown Bear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (7372, 2077, 34, 59791, 0, 0, 0, 0, 0, 'Wooly Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (7381, 2078, 34, 61447, 0, 0, 0, 0, 0, 'Traveler\'s Tundra Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (7388, 2080, 34, 59785, 0, 0, 0, 0, 0, 'Black War Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (7392, 2081, 34, 61467, 0, 0, 0, 0, 0, 'Grand Black War Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (7394, 2082, 36, 43958, 1, 0, 0, 0, 0, 'Ice Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (7398, 2083, 36, 43961, 1, 0, 0, 0, 0, 'Grand Ice Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (7402, 2084, 36, 40585, 1, 0, 0, 0, 0, 'Signet of the Kirin Tor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (7416, 2092, 74, 0, 1, 0, 0, 0, 0, 'Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (7419, 2093, 74, 0, 1, 0, 0, 0, 0, 'Duelist', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (7442, 2094, 42, 43703, 1, 0, 0, 0, 0, 'Ansirem\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7464, 2095, 42, 43686, 1, 0, 0, 0, 0, 'Alleria\'s Silver Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7487, 2096, 8, 2095, 0, 0, 0, 0, 0, 'Silver in the City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7492, 2097, 34, 60424, 0, 0, 0, 0, 0, 'Mekgineer\'s Chopper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (7529, 2137, 8, 1858, 0, 0, 0, 0, 0, 'Arachnophobia', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7539, 2138, 8, 1859, 0, 0, 0, 0, 0, 'Arachnophobia (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7554, 2144, 8, 1707, 0, 0, 0, 0, 0, 'Fool For Love', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7561, 2145, 8, 1693, 0, 0, 0, 0, 0, 'Fool For Love', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7580, 2136, 8, 2150, 0, 0, 0, 0, 0, 'Split Personality', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7643, 2194, 8, 1310, 0, 0, 0, 0, 0, 'Storm the Beach', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7655, 2195, 8, 1310, 0, 0, 0, 0, 0, 'Storm the Beach', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7705, 1723, 70, 0, 100, 0, 0, 0, 0, 'Cannon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (7710, 2199, 70, 0, 10, 0, 0, 0, 0, 'Eastspark Workshop', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7723, 1752, 8, 1755, 0, 0, 0, 0, 0, 'Within Our Grasp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7767, 389, 36, 19024, 1, 0, 0, 0, 0, 'Arena Grand Master obtained', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (7769, 1502, 30, 42, 1, 0, 0, 0, 0, 'Cap in 75 seconds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 6, 61265, 75, 2), + (7771, 322, 20, 26794, 0, 0, 0, 0, 0, 'Ormorok the Tree-Shaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7805, 1375, 28, 59450, 1, 0, 0, 0, 0, 'The Four Horsemen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7806, 1383, 28, 59450, 1, 0, 0, 0, 0, 'The Four Horsemen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7810, 323, 20, 15953, 0, 0, 0, 0, 0, 'Grand Widow Faerlina', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7830, 324, 20, 16060, 0, 0, 0, 0, 0, 'Gothik the Harvester', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7855, 799, 28, 2008, 0, 0, 0, 0, 0, 'Ancestral Spirit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (7859, 800, 28, 10324, 0, 0, 0, 0, 0, 'Redemption', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (8101, 2256, 0, 32501, 1, 0, 0, 0, 0, 'High Thane Jorfus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (8146, 686, 27, 7787, 1, 0, 0, 0, 0, 'Thunderfury, Blessed Blade of the Windseeker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (8588, 837, 32, 559, 0, 0, 0, 0, 0, 'Nagrand Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (8591, 838, 33, 617, 0, 0, 0, 0, 0, 'Dalaran Sewers Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (8596, 363, 33, 559, 0, 0, 0, 0, 0, 'Nagrand 5v5 Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (8602, 362, 32, 618, 0, 0, 0, 0, 0, 'Ring of Valor 5v5 Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (8604, 365, 33, 559, 0, 0, 0, 0, 0, 'Nagrand 3v3 Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (8608, 364, 32, 559, 0, 0, 0, 0, 0, 'Nagrand 3v3 Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (8612, 367, 33, 559, 0, 0, 0, 0, 0, 'nagrand 2v2 Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (8615, 366, 32, 617, 0, 0, 0, 0, 0, 'Dalran 2v2 Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (8648, 923, 41, 3388, 0, 0, 0, 0, 0, 'Strong Troll\'s Blood Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (8699, 347, 41, 20227, 0, 0, 0, 0, 0, 'Highlander\'s Iron Ration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (8759, 1310, 28, 65246, 1, 0, 0, 3, 607, 'Win in 4 minutes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 21702, 240, 2), + (8761, 801, 29, 20760, 0, 0, 0, 0, 0, 'Use Soulstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (8779, 2316, 34, 58615, 0, 0, 0, 0, 0, 'Brutal Nether Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (8819, 2336, 46, 21, 42000, 0, 0, 0, 0, 'Exalted with Booty Bay', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (8907, 2358, 27, 9737, 1, 0, 0, 0, 0, 'True Masters of the Light', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (9061, 1727, 28, 60676, 1, 0, 0, 0, 0, 'Destroy a tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (9082, 412, 41, 33079, 1, 0, 0, 0, 0, 'Murloc Costume', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (9139, 2436, 29, 61818, 1, 0, 0, 0, 0, 'Desolace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9143, 2422, 110, 61815, 1, 0, 0, 0, 0, 'Draenei', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9159, 2456, 34, 51851, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (9160, 1198, 113, 0, 0, 0, 0, 0, 0, 'Honroable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9161, 383, 70, 0, 0, 0, 0, 0, 0, 'Dalaran Sewers Arena Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9168, 275, 34, 40613, 0, 0, 0, 0, 0, 'Willy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9179, 2476, 0, 28094, 1, 0, 0, 0, 0, 'Wintergrasp Demolisher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9199, 2419, 29, 61875, 1, 0, 0, 0, 0, 'Dolanaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9203, 2497, 29, 61875, 1, 0, 0, 0, 0, 'Brill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9258, 1234, 28, 61863, 1, 0, 0, 0, 0, 'The Prophet Tharon\'ja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9260, 1508, 28, 61863, 1, 0, 0, 0, 0, 'The Prophet Tharon\'ja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9300, 2557, 54, 225, 1, 0, 0, 0, 0, 'Borean Marmot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9338, 1703, 36, 44731, 1, 0, 0, 0, 0, 'Bouquet of Ebon Roses', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (9619, 2716, 69, 63624, 1, 0, 0, 0, 0, 'Learn a Second Talent Specialization.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (9658, 2760, 27, 13725, 1, 0, 0, 0, 0, 'Champion of Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9659, 2761, 27, 13724, 1, 0, 0, 0, 0, 'Champion of the Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9660, 2762, 27, 13723, 1, 0, 0, 0, 0, 'Champion of Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9661, 2763, 27, 13713, 1, 0, 0, 0, 0, 'Champion of Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9662, 2764, 27, 13699, 1, 0, 0, 0, 0, 'Champion of Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9663, 2765, 27, 13726, 1, 0, 0, 0, 0, 'Champion of Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9664, 2766, 27, 13727, 1, 0, 0, 0, 0, 'Champion of Sen\'jin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9665, 2767, 27, 13731, 1, 0, 0, 0, 0, 'Champion of Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9666, 2768, 27, 13728, 1, 0, 0, 0, 0, 'Champion of Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9667, 2769, 27, 13729, 1, 0, 0, 0, 0, 'Champion of the Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9669, 2770, 8, 2761, 0, 0, 0, 0, 0, 'Champion of the Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9674, 2771, 8, 2766, 0, 0, 0, 0, 0, 'Champion of Sen\'jin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9699, 2756, 27, 13668, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (9719, 2090, 74, 0, 1, 0, 0, 0, 0, 'Rival', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (9756, 2758, 27, 13707, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 2), + (9759, 2776, 8, 1755, 0, 0, 0, 0, 0, 'Within Our Grasp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9779, 2782, 8, 2778, 0, 0, 0, 0, 0, 'Champion of the Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9789, 2788, 8, 2784, 0, 0, 0, 0, 0, 'Champion of Sen\'jin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9818, 2556, 0, 1412, 1, 0, 0, 0, 0, 'Squirrel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9819, 2596, 0, 16998, 1, 0, 0, 0, 0, 'Mr. Bigglesworth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9839, 259, 110, 25677, 1, 0, 0, 0, 0, 'Snowball Cairne Bloodhoof', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (9860, 2796, 27, 12278, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (9864, 2797, 8, 2418, 0, 0, 0, 0, 0, 'Chocoholic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9872, 2798, 8, 2418, 0, 0, 0, 0, 0, 'Chocoholic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9899, 2816, 8, 2765, 0, 0, 0, 0, 0, 'Champion of Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9905, 2817, 8, 2760, 0, 0, 0, 0, 0, 'Champion of Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9968, 1770, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (9969, 1756, 0, 33113, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10000, 2886, 0, 33186, 1, 0, 0, 0, 0, 'Razorscale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10004, 2887, 0, 33186, 1, 0, 0, 0, 0, 'Razorscale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10008, 2888, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10016, 2889, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10024, 2892, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10026, 2893, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10028, 2894, 8, 2888, 0, 0, 0, 0, 0, 'The Antechamber of Ulduar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10032, 2895, 8, 2889, 0, 0, 0, 0, 0, 'Heroic: The Antechamber of Ulduar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10047, 2907, 0, 33113, 1, 0, 0, 0, 0, 'Salvaged Siege Engine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10050, 2908, 0, 33113, 1, 0, 0, 0, 0, 'Salvaged Siege Engine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10102, 2957, 8, 2930, 0, 0, 0, 0, 0, 'Stokin\' the Furnace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10224, 2836, 28, 64808, 1, 0, 0, 0, 0, 'The Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10238, 2970, 69, 62807, 1, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (10240, 2969, 69, 62807, 1, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (10263, 3096, 34, 64927, 0, 0, 0, 0, 0, 'Deadly Gladiator\'s Frostwyrm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (10287, 2973, 0, 32872, 1, 0, 0, 0, 0, 'Participate in slaying Runic Colossus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10311, 2974, 0, 32872, 1, 0, 0, 0, 0, 'Participate in slaying Runic Colossus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10322, 3016, 69, 63988, 1, 0, 0, 0, 0, 'The Forging of the Demon Soul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10325, 3015, 69, 63988, 1, 0, 0, 0, 0, 'The Forging of the Demon Soul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10342, 2903, 0, 33118, 1, 0, 0, 0, 0, 'Ignis the Furnace Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10355, 2904, 0, 33118, 1, 0, 0, 0, 0, 'Ignis the Furnace Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10367, 2958, 8, 2929, 0, 0, 0, 0, 0, 'Stokin\' the Furnace (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10395, 2984, 28, 65015, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (10397, 2985, 28, 65015, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (10418, 2945, 0, 32857, 1, 0, 0, 0, 0, 'Stormcaller Brundir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (10420, 2946, 0, 32867, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (10422, 2947, 0, 32867, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (10424, 2948, 0, 32867, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (10438, 2890, 28, 64985, 1, 0, 0, 0, 0, 'Thorim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10442, 1255, 110, 46661, 1, 0, 0, 0, 0, 'Snowball King Magni Bronzebeard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (10454, 2891, 28, 64985, 1, 0, 0, 0, 0, 'Thorim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10519, 3216, 112, 186, 0, 0, 0, 0, 0, 'Smelting Recipes Known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10521, 3217, 27, 13832, 1, 0, 0, 0, 0, 'Jewel of the Sewers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10526, 3218, 34, 64731, 0, 0, 0, 0, 0, 'Sea Turtle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (10544, 2989, 0, 33432, 1, 0, 0, 0, 0, 'A Rocket Strike', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10547, 3237, 0, 33432, 1, 0, 0, 0, 0, 'A Rocket Strike', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (10739, 3356, 36, 13086, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16772094, 2, 0, 0, 0, 2), + (10741, 3357, 36, 46102, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16772094, 2, 0, 0, 0, 2), + (10781, 3003, 28, 65184, 1, 0, 0, 9, 65311, 'Defeat Algalon the Observer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 0, 0, 0, 2), + (10783, 3002, 28, 65184, 1, 0, 0, 9, 65311, 'Defeat Algalon the Observer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 0, 0, 0, 2), + (10881, 2091, 74, 0, 1, 0, 0, 0, 0, 'Deadly Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (10965, 3496, 34, 49379, 0, 0, 0, 0, 0, 'Great Brewfest Kodo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (11039, 3536, 34, 66030, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16776702, 2, 0, 0, 0, 2), + (11080, 3556, 69, 61849, 1, 0, 0, 0, 0, 'The Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11083, 3557, 69, 61849, 1, 0, 0, 0, 0, 'Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11118, 3576, 29, 62049, 1, 0, 0, 0, 0, 'Cranberry Chutney', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11124, 3577, 29, 66035, 1, 0, 0, 0, 0, 'Cranberry Chutney', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11135, 3580, 69, 65403, 1, 0, 0, 0, 0, 'Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11138, 3581, 69, 65403, 1, 0, 0, 0, 0, 'The Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11164, 3559, 110, 61781, 1, 0, 0, 0, 0, 'Dwarf Rogue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11167, 3558, 29, 66372, 1, 0, 0, 0, 0, 'Cranberry Chutney', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11178, 3579, 110, 61926, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16741886, 2, 0, 0, 0, 2), + (11200, 3596, 27, 14051, 1, 0, 0, 0, 0, 'Don\'t Forget The Stuffing!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11204, 3597, 27, 14062, 1, 0, 0, 0, 0, 'Don\'t Forget The Stuffing!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11225, 3618, 36, 45180, 1, 0, 0, 0, 0, 'Murkimus\' Little Spear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (11258, 3478, 8, 3576, 0, 0, 0, 0, 0, 'Now Were Cookin\'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11267, 3656, 8, 3577, 0, 0, 0, 0, 0, 'Now Were Cookin\'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11321, 3696, 27, 13724, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775167, 2, 0, 0, 0, 2), + (11330, 3676, 8, 3696, 0, 0, 0, 0, 0, 'Argent Tournament Rank: Champion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (11331, 3677, 8, 3696, 0, 0, 0, 0, 0, 'Argent Tournament Rank: Champion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (11399, 3756, 34, 65439, 0, 0, 0, 0, 0, 'Furious Gladiator\'s Frostwyrm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (11401, 3757, 34, 67336, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (11487, 3845, 30, 245, 1, 3, 628, 3, 628, 'Assault a base', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 2), + (11493, 3847, 28, 68364, 1, 0, 0, 0, 0, 'Siege Engine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11498, 3856, 56, 0, 1, 0, 0, 0, 0, 'Demolisher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11503, 3857, 8, 3851, 0, 0, 0, 0, 0, 'Mine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11546, 3812, 0, 34780, 1, 0, 0, 0, 0, 'Defeat Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11619, 3876, 42, 40753, 1500, 0, 0, 0, 0, 'Emblem of Valor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (11639, 3896, 36, 48527, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775167, 2, 0, 0, 0, 2), + (11680, 3916, 0, 34780, 1, 0, 0, 0, 0, 'Defeat Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11685, 3917, 0, 34780, 1, 0, 0, 0, 0, 'Defeat Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11690, 3918, 0, 34780, 1, 0, 0, 0, 0, 'Defeat Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11718, 263, 0, 25865, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775678, 2, 0, 0, 0, 2), + (11719, 353, 29, 39937, 0, 0, 0, 0, 0, 'Ruby Slippers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11750, 3957, 8, 4177, 0, 0, 0, 0, 0, 'Mine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (11800, 3814, 28, 68620, 1, 0, 0, 0, 0, 'Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (11801, 3813, 0, 34797, 1, 0, 0, 0, 0, 'Icehowl', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (11802, 3797, 0, 34797, 1, 0, 0, 0, 0, 'Icehowl', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (11804, 3798, 28, 68620, 1, 0, 0, 0, 0, 'Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (11860, 3815, 0, 34497, 1, 0, 0, 0, 0, 'Val\'kyr Twins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 21853, 180, 2), + (11861, 3996, 0, 34780, 1, 0, 0, 0, 0, 'Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (11862, 3997, 0, 34780, 1, 0, 0, 0, 0, 'Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (11904, 3802, 28, 68206, 1, 0, 0, 0, 0, 'VanCleef', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12038, 594, 20, 34942, 0, 0, 0, 0, 0, 'Deaths from Hogger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12063, 3851, 1, 628, 1, 3, 628, 3, 628, 'Win Isle of Conquest.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12065, 4177, 1, 628, 1, 3, 628, 3, 628, 'Win Isle of Conquest.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12068, 3850, 35, 0, 100, 0, 0, 0, 0, 'Players killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 0, 0, 2), + (12159, 3853, 31, 4750, 1, 3, 628, 3, 628, 'Hangar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 0, 0, 0, 2), + (12179, 4256, 56, 0, 1, 0, 0, 0, 0, 'Demolisher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12258, 3799, 0, 34497, 1, 0, 0, 0, 0, 'Val\'kyr Twins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 10, 1, 21853, 180, 2), + (12279, 3937, 28, 68523, 1, 0, 0, 0, 0, 'Kill Acidmaw & Dreadscale within 10sec', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12281, 3936, 28, 68523, 1, 0, 0, 0, 0, 'Kill Acidmaw & Dreadscale within 10sec', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12298, 3778, 28, 68572, 1, 0, 0, 0, 0, 'Lana Stouthammer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12303, 4296, 28, 68572, 1, 0, 0, 0, 0, 'Deathstalker Visceri', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12311, 4297, 28, 68572, 1, 0, 0, 0, 0, 'Lana Stouthammer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12319, 4298, 28, 68572, 1, 0, 0, 0, 0, 'Deathstalker Visceri', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12339, 3817, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12342, 3818, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12345, 3808, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12348, 3809, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12419, 4316, 42, 40753, 2500, 0, 0, 0, 0, 'Emblem of Valor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 2), + (12478, 429, 57, 17182, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12479, 428, 57, 19019, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12482, 725, 57, 34334, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12619, 4416, 34, 10696, 0, 0, 0, 0, 0, 'Azure Whelpling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12661, 4436, 110, 67531, 1, 0, 0, 0, 0, 'Lady Sylvanas Windrunner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12664, 4437, 110, 67531, 1, 0, 0, 0, 0, 'King Magni Bronzebeard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12679, 4456, 0, 26861, 1, 0, 0, 0, 0, 'King Ymiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12739, 4516, 0, 36502, 1, 0, 0, 0, 0, 'Devourer of Souls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12741, 4517, 0, 36476, 1, 0, 0, 0, 0, 'Ick and Krick', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12746, 4519, 0, 36502, 1, 0, 0, 0, 0, 'Devourer of Souls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12748, 4520, 0, 36476, 1, 0, 0, 0, 0, 'Ick and Krick', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12758, 4527, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12760, 4528, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12763, 4529, 0, 37955, 1, 0, 0, 0, 0, 'Defeat Blood-Queen Lana\'thel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12767, 4532, 8, 4528, 0, 0, 0, 0, 0, 'The Plagueworks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12773, 4531, 0, 36855, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12799, 4556, 0, 26861, 1, 0, 0, 0, 0, 'King Ymiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12839, 1697, 27, 24611, 1, 0, 0, 0, 0, 'A Gift for the Prophet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12843, 1698, 27, 24615, 1, 0, 0, 0, 0, 'A Gift for the Regent Lord of Quel\'Thalas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12859, 1279, 110, 27571, 1, 0, 0, 0, 0, 'Handful of Rose Petals on Sraaz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12878, 1695, 27, 24659, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 2), + (12903, 4596, 27, 24796, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 2), + (12908, 292, 42, 33292, 1, 0, 0, 0, 0, 'Hallowed Helm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12910, 306, 27, 24803, 1, 0, 0, 0, 0, 'Win the Kalu\'ak Fishing Derby', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12914, 4600, 34, 71810, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 2), + (12948, 4604, 0, 36855, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12950, 4605, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12953, 4606, 0, 37955, 1, 0, 0, 0, 0, 'Defeat Blood-Queen Lana\'thel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12955, 4607, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12959, 4608, 8, 4605, 0, 0, 0, 0, 0, 'The Plagueworks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12979, 4579, 28, 72706, 1, 0, 0, 0, 0, 'Valithria', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12980, 4619, 28, 72706, 1, 0, 0, 0, 0, 'Valithria', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12981, 4616, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12982, 4615, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12983, 4614, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12985, 4538, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12986, 4577, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12988, 4578, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12989, 4620, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12990, 4518, 0, 38113, 1, 0, 0, 0, 0, 'Marwyn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12991, 4521, 0, 38113, 1, 0, 0, 0, 0, 'Marwyn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (12995, 4535, 28, 72827, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12996, 4580, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (12998, 4611, 28, 72827, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13011, 4539, 0, 37955, 1, 0, 0, 0, 0, 'Defeat Blood-Queen Lana\'thel while a vampire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (13013, 4618, 0, 37955, 1, 0, 0, 0, 0, 'Defeat Blood-Queen Lana\'thel while a vampire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (13032, 4617, 0, 37970, 1, 0, 0, 0, 0, 'Prince Valanar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13034, 4582, 0, 37970, 1, 0, 0, 0, 0, 'Prince Valanar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13035, 4537, 28, 72928, 1, 0, 0, 0, 0, 'Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13037, 4613, 28, 72928, 1, 0, 0, 0, 0, 'Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13040, 4628, 0, 36855, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (13044, 4629, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (13047, 4630, 0, 37955, 1, 0, 0, 0, 0, 'Defeat Blood-Queen Lana\'thel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (13049, 4631, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (13051, 4632, 0, 36855, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (13055, 4633, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (13058, 4634, 0, 37955, 1, 0, 0, 0, 0, 'Defeat Blood-Queen Lana\'thel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (13060, 4635, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (13062, 4636, 8, 4629, 0, 0, 0, 0, 0, 'The Plagueworks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (13067, 4637, 8, 4633, 0, 0, 0, 0, 0, 'The Plagueworks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (13072, 4602, 8, 4629, 0, 0, 0, 0, 0, 'Heroic: The Plagueworks (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (13076, 4603, 8, 4633, 0, 0, 0, 0, 0, 'Heroic: The Plagueworks (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (13079, 4536, 28, 72959, 1, 0, 0, 0, 0, 'Gunship Battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13081, 4612, 28, 72959, 1, 0, 0, 0, 0, 'Gunship Battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13163, 4581, 0, 36597, 1, 0, 0, 0, 0, 'Vile Spirits', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13164, 4622, 0, 36597, 1, 0, 0, 0, 0, 'Vile Spirits', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13233, 2186, 28, 59450, 1, 0, 0, 0, 0, 'The Four Horsemen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13237, 2187, 28, 59450, 1, 0, 0, 0, 0, 'The Four Horsemen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13245, 4621, 0, 36597, 1, 0, 0, 0, 0, 'Allow Necrotic Plague to stack to 30 before defeating the Lich King in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13247, 4601, 0, 36597, 1, 0, 0, 0, 0, 'Allow Necrotic Plague to stack to 30 before defeating the Lich King in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13257, 346, 41, 43523, 0, 0, 0, 0, 0, 'Conjured Mana Strudel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13259, 1197, 113, 0, 0, 0, 0, 0, 0, 'Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 2), + (13373, 4782, 36, 37895, 1, 0, 0, 0, 0, 'Filled Green Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13380, 4784, 36, 40753, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 2), + (13385, 4785, 36, 40753, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 2), + (13393, 4534, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar slain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13394, 4610, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar slain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13397, 4788, 36, 31779, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 2), + (13410, 4789, 36, 31780, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 2), + (13428, 1205, 8, 4789, 1, 0, 0, 0, 0, 'Exalted with The Scryers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (13470, 4824, 34, 78381, 0, 0, 0, 0, 0, 'Frosty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2), + (85, 41, 8, 36, 1, 0, 0, 0, 0, 'The Empire of Zul\'Drak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (96, 46, 8, 44, 1, 0, 0, 0, 0, 'Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (171, 321, 18, 25, 0, 0, 0, 0, 0, '25 man instances', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (191, 477, 0, 24201, 1, 0, 0, 0, 0, 'Dalronn the Controller', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (197, 478, 0, 26794, 1, 0, 0, 0, 0, 'Ormorok the Tree-Shaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (201, 482, 0, 27483, 1, 0, 0, 0, 0, 'King Dred', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (204, 487, 0, 27447, 1, 0, 0, 0, 0, 'Varos Cloudstrider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (208, 488, 0, 26687, 1, 0, 0, 0, 0, 'Gortok Palehoof', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (212, 479, 0, 26530, 1, 0, 0, 0, 0, 'Salramm the Fleshcrafter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (216, 485, 0, 27977, 1, 0, 0, 0, 0, 'Krystallus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (219, 486, 0, 28587, 1, 0, 0, 0, 0, 'Volkhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (229, 230, 8, 1172, 0, 0, 0, 0, 0, 'Master of Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (353, 562, 0, 15952, 1, 0, 0, 0, 0, 'Maexxna', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (359, 564, 0, 15932, 1, 0, 0, 0, 0, 'Gluth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (367, 566, 0, 16011, 1, 0, 0, 0, 0, 'Loatheb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (385, 576, 8, 566, 0, 0, 0, 0, 0, 'The Plague Quarter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (391, 577, 8, 567, 0, 0, 0, 0, 0, 'The Plague Quarter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (423, 582, 30, 61, 1, 3, 30, 3, 30, 'Assault a tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 3), + (433, 584, 31, 3423, 5, 3, 529, 3, 529, 'Kill 5 people at the gold mine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 3), + (443, 587, 31, 3872, 5, 3, 566, 3, 566, 'Kill 5 people at the Fel Reaver ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 3), + (486, 614, 8, 612, 0, 0, 0, 0, 0, 'Downing the Dark Lady', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (494, 619, 8, 617, 0, 0, 0, 0, 0, 'Immortal No More', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (498, 626, 36, 21543, 1, 0, 0, 0, 0, 'Festive Teal Pant Suit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (504, 627, 43, 115, 1, 0, 0, 0, 0, 'Shimmer Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (536, 637, 0, 3975, 1, 0, 0, 0, 0, 'Herod', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (547, 644, 0, 11501, 1, 0, 0, 0, 0, 'King Gordok', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (610, 699, 32, 572, 1, 0, 0, 0, 0, 'Ruins of Lordaeron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (618, 116, 40, 333, 2, 0, 0, 0, 0, 'Enchanting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (648, 714, 8, 712, 0, 0, 0, 0, 0, 'Warsong Outrider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (652, 705, 7, 226, 400, 0, 0, 0, 0, 'Crossbows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (749, 425, 27, 9257, 1, 0, 0, 0, 0, 'Atiesh, Greatstaff of the Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (761, 700, 36, 18849, 1, 0, 0, 0, 0, 'Insignia of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (781, 701, 36, 18857, 1, 0, 0, 0, 0, 'Insignia of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (824, 728, 43, 246, 1, 0, 0, 0, 0, 'Kolkar Crag', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (847, 730, 8, 125, 0, 0, 0, 0, 0, 'Grand Master Cook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (850, 731, 40, 333, 3, 0, 0, 0, 0, 'Enchanting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (861, 732, 40, 333, 4, 0, 0, 0, 0, 'Enchanting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (872, 733, 40, 333, 5, 0, 0, 0, 0, 'Enchanting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (883, 734, 40, 333, 6, 0, 0, 0, 0, 'Enchanting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (894, 735, 40, 333, 6, 0, 0, 0, 0, 'Enchanting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (914, 736, 43, 186, 1, 0, 0, 0, 0, 'Bloodhoof Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (919, 750, 43, 463, 1, 0, 0, 0, 0, 'The Mor\'shan Rampart', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (949, 760, 43, 443, 1, 0, 0, 0, 0, 'Crushridge Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (994, 762, 46, 68, 42000, 0, 0, 0, 0, 'Exalted Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1006, 763, 46, 1011, 42000, 0, 0, 0, 0, 'Lower City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1012, 764, 46, 942, 42000, 0, 0, 0, 0, 'Cenarion Expedition', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1016, 765, 43, 583, 1, 0, 0, 0, 0, 'Agmond\'s End', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1030, 766, 43, 823, 1, 0, 0, 0, 0, 'Nethergarde Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1039, 768, 43, 234, 1, 0, 0, 0, 0, 'Agamand Mills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1055, 769, 43, 303, 1, 0, 0, 0, 0, 'The Dead Field', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1070, 770, 43, 963, 1, 0, 0, 0, 0, 'Sorrow Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1083, 771, 43, 892, 1, 0, 0, 0, 0, 'The Undercroft', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1105, 772, 43, 403, 1, 0, 0, 0, 0, 'Durnholde Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1117, 773, 43, 603, 1, 0, 0, 0, 0, 'Hiri\'watha', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1131, 774, 43, 723, 1, 0, 0, 0, 0, 'Blackchar Cave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1138, 775, 43, 783, 1, 0, 0, 0, 0, 'Terror Wing Path', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1148, 776, 43, 124, 1, 0, 0, 0, 0, 'Fargodeep Mine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1160, 777, 43, 1062, 1, 0, 0, 0, 0, 'Karazhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1163, 778, 43, 423, 1, 0, 0, 0, 0, 'Raven Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1175, 779, 43, 317, 1, 0, 0, 0, 0, 'Mo\'grosh Stronghold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1186, 780, 43, 361, 1, 0, 0, 0, 0, 'Three Corners', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1198, 781, 43, 515, 1, 0, 0, 0, 0, 'Grom\'gol Base Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1225, 782, 43, 543, 1, 0, 0, 0, 0, 'The Harborage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1250, 802, 43, 282, 1, 0, 0, 0, 0, 'Furlbrow\'s Pumpkin Farm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1264, 841, 43, 383, 1, 0, 0, 0, 0, 'Bluegill Marsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1278, 42, 8, 761, 1, 0, 0, 0, 0, 'Arathi Highlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1301, 842, 43, 86, 1, 0, 0, 0, 0, 'Dolanaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1312, 843, 43, 1181, 1, 0, 0, 0, 0, 'Manaforge Coruu', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1316, 844, 43, 342, 1, 0, 0, 0, 0, 'Tower of Althalaxx', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1325, 845, 43, 743, 1, 0, 0, 0, 0, 'Maestra\'s Post', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1343, 846, 43, 685, 1, 0, 0, 0, 0, 'The Screeching Canyon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1352, 847, 43, 929, 1, 0, 0, 0, 0, 'Malaka\'jin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1363, 850, 43, 663, 1, 0, 0, 0, 0, 'Brackenwall Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1367, 848, 43, 773, 1, 0, 0, 0, 0, 'Sargeron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1370, 849, 43, 982, 1, 0, 0, 0, 0, 'Oneiros', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1403, 853, 43, 863, 1, 0, 0, 0, 0, 'Irontree Woods', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1407, 851, 43, 656, 1, 0, 0, 0, 0, 'Noonshade Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1411, 852, 43, 843, 1, 0, 0, 0, 0, 'Jagged Reef', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1455, 854, 43, 623, 1, 0, 0, 0, 0, 'Terror Run', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1463, 856, 43, 1024, 1, 0, 0, 0, 0, 'Cenarion Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1475, 857, 43, 1003, 1, 0, 0, 0, 0, 'Lake Kel\'Theril', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1488, 43, 8, 842, 1, 0, 0, 0, 0, 'Teldrassil', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1506, 858, 43, 1151, 1, 0, 0, 0, 0, 'Goldenmist Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1510, 859, 43, 1129, 1, 0, 0, 0, 0, 'West Sanctum', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1554, 860, 43, 1365, 1, 0, 0, 0, 0, 'Azure Watch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1575, 861, 43, 1330, 1, 0, 0, 0, 0, 'Blacksilt Shore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1604, 867, 43, 1167, 1, 0, 0, 0, 0, 'Cenarion Thicket', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1607, 862, 43, 1201, 1, 0, 0, 0, 0, 'Falcon Watch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1612, 863, 43, 1133, 1, 0, 0, 0, 0, 'Feralfen Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1616, 864, 43, 1104, 1, 0, 0, 0, 0, 'Legion Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1620, 865, 43, 1290, 1, 0, 0, 0, 0, 'Bladespire Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1624, 866, 43, 1191, 1, 0, 0, 0, 0, 'Halaa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1784, 44, 8, 867, 1, 0, 0, 0, 0, 'Terokkar Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1792, 868, 43, 1457, 1, 0, 0, 0, 0, 'Sunwell Plateau', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (1803, 220, 1, 30, 1, 3, 30, 3, 30, 'Tower A1 owned by the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 3), + (1822, 229, 35, 0, 30, 3, 566, 3, 566, '30 hks in eots', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (1826, 873, 1, 30, 1, 3, 30, 3, 30, 'win av', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 3), + (1838, 878, 42, 13913, 1, 0, 0, 0, 0, '22 Pound Lobster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1848, 879, 36, 8586, 1, 0, 0, 0, 0, 'Mottled Red Raptor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (1888, 905, 27, 11669, 1, 0, 0, 0, 0, 'Felblood Fillet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1893, 906, 27, 11380, 1, 0, 0, 0, 0, 'Manalicious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1901, 907, 8, 713, 0, 0, 0, 0, 0, 'Silverwing Sentinel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1904, 908, 27, 11337, 1, 0, 0, 0, 0, 'Call to Arms: Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1908, 909, 27, 11341, 1, 0, 0, 0, 0, 'Call to Arms: Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1912, 910, 27, 8635, 1, 0, 0, 0, 0, 'Elder Splitrock in Maraudon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1918, 911, 27, 8717, 1, 0, 0, 0, 0, 'Elder Moonwarden in The Crossroads', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1924, 912, 27, 8649, 1, 0, 0, 0, 0, 'Elder Stormbrow in Goldshire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1936, 913, 8, 910, 0, 0, 0, 0, 0, 'Elders of the Dungeons', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1993, 914, 27, 8648, 1, 0, 0, 0, 0, 'Elder Darkcore in Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (1998, 915, 27, 8646, 1, 0, 0, 0, 0, 'Elder Hammershout in Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2010, 941, 8, 938, 0, 0, 0, 0, 0, 'The Snows of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2012, 942, 46, 970, 42000, 0, 0, 0, 0, 'Exalted with the Sporeggar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2015, 943, 46, 970, 42000, 0, 0, 0, 0, 'Exalted with the Sporeggar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2032, 948, 46, 69, 42000, 0, 0, 0, 0, 'Exalted Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2043, 480, 0, 29120, 1, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2044, 761, 43, 563, 1, 0, 0, 0, 0, 'Boulder\'gor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2056, 961, 27, 12759, 1, 0, 0, 0, 0, 'Tools of War', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2064, 962, 27, 12761, 1, 0, 0, 0, 0, 'Mastery of the Crystals', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2074, 963, 27, 12341, 1, 0, 0, 0, 0, 'Bloodmyst Isle, Blood Watch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2101, 965, 27, 12401, 1, 0, 0, 0, 0, 'Silithus, Cenarion Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2134, 966, 27, 12286, 1, 0, 0, 0, 0, 'Elwynn Forest, Goldshire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2147, 967, 27, 12380, 1, 0, 0, 0, 0, 'Arathi Highlands, Hammerfall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2197, 969, 27, 12352, 1, 0, 0, 0, 0, 'Hellfire Peninsula, Honor Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2219, 968, 27, 12389, 1, 0, 0, 0, 0, 'Hellfire Peninsula, Falcon Watch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2227, 971, 8, 968, 0, 0, 0, 0, 0, 'Tricks and Treats of Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2230, 970, 8, 969, 0, 0, 0, 0, 0, 'Tricks and Treats of Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2262, 979, 36, 20562, 1, 0, 0, 0, 0, 'Flimsy Female Dwarf Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (2283, 289, 27, 11131, 1, 0, 0, 0, 0, 'Stop the Fires!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (2337, 621, 57, 31405, 1, 0, 0, 0, 0, 'Tabard of the Illidari', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (2344, 556, 49, 2, 1, 0, 0, 0, 0, 'Shoulder', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2361, 245, 52, 3, 1, 0, 0, 0, 0, 'Hunter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2371, 246, 53, 6, 1, 0, 0, 0, 0, 'Tauren', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2376, 1005, 53, 7, 1, 0, 0, 0, 0, 'Gnome', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (2402, 227, 13, 0, 300000, 3, 489, 3, 489, 'Do 300,000 Damage in Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 3), + (2420, 1010, 8, 1008, 0, 0, 0, 0, 0, 'The Kirin Tor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3065, 1022, 27, 11810, 1, 0, 0, 0, 0, 'Burning Steppes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3078, 1023, 27, 11809, 1, 0, 0, 0, 0, 'Bloodmyst Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3091, 1024, 27, 11821, 1, 0, 0, 0, 0, 'Nagrand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3103, 1025, 27, 11844, 1, 0, 0, 0, 0, 'Burning Steppes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3114, 1026, 27, 11846, 1, 0, 0, 0, 0, 'Durotar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3126, 1027, 27, 11854, 1, 0, 0, 0, 0, 'Nagrand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3133, 1028, 27, 11768, 1, 0, 0, 0, 0, 'Burning Steppes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3144, 1029, 27, 11770, 1, 0, 0, 0, 0, 'Durotar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3156, 1030, 27, 11778, 1, 0, 0, 0, 0, 'Nagrand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3163, 1031, 27, 11739, 1, 0, 0, 0, 0, 'Burning Steppes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3176, 1032, 27, 11738, 1, 0, 0, 0, 0, 'Bloodmyst Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3188, 1033, 27, 11750, 1, 0, 0, 0, 0, 'Nagrand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3195, 1034, 8, 1024, 0, 0, 0, 0, 0, 'Flame Warden of Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3198, 1035, 8, 1030, 0, 0, 0, 0, 0, 'Extinguishing Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3201, 1036, 8, 1027, 0, 0, 0, 0, 0, 'Flame Keeper of Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3204, 1037, 8, 1033, 0, 0, 0, 0, 0, 'Extinguishing Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3211, 283, 28, 24719, 1, 0, 0, 0, 0, 'Transformed by Hallowed Wand - Leper Gnome', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3226, 389, 27, 7810, 1, 0, 0, 0, 0, 'Arena Master Quest Completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (3303, 344, 41, 20066, 1, 0, 0, 0, 0, 'Arathi Basin Runecloth Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3370, 231, 56, 0, 20, 3, 566, 1, 0, 'Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 3), + (3394, 1167, 8, 222, 0, 0, 0, 0, 0, 'Tower Defense', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3406, 1168, 8, 222, 0, 0, 0, 0, 0, 'Tower Defense', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3418, 1169, 8, 158, 0, 0, 0, 0, 0, 'Me and the Cappin\' Makin\' it Happen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3433, 1170, 8, 158, 0, 0, 0, 0, 0, 'Me and the Cappin\' Makin\' it Happen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3448, 1171, 8, 784, 0, 0, 0, 0, 0, 'Eye of the Storm Domination', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3463, 1172, 8, 200, 0, 0, 0, 0, 0, 'Persistent Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3478, 1173, 8, 200, 0, 0, 0, 0, 0, 'Persistent Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3490, 1174, 8, 1159, 0, 0, 0, 0, 0, 'Just the Two of Us: 2200', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3502, 1175, 8, 1173, 0, 0, 0, 0, 0, 'Master of Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3517, 1183, 28, 42263, 1, 0, 0, 0, 0, 'Springtime Stout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3529, 1184, 41, 33028, 1, 0, 0, 0, 0, 'Barleybrew Light', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3544, 1185, 41, 33023, 1, 0, 0, 0, 0, 'Savory Sausage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3562, 1187, 36, 30635, 1, 0, 0, 0, 0, 'Key of Time', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3576, 484, 0, 29307, 1, 0, 0, 0, 0, 'Drakkari Colossus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3580, 481, 0, 29310, 1, 0, 0, 0, 0, 'Jedoga Shadowseeker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3596, 1203, 41, 34020, 1, 0, 0, 0, 0, 'Jungle River Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3625, 1225, 72, 182958, 1, 0, 0, 0, 0, 'Mudfish School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3703, 489, 0, 24201, 1, 0, 0, 0, 0, 'Dalronn the Controller', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3725, 557, 49, 2, 1, 0, 0, 0, 0, 'Shoulder', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3741, 1206, 54, 225, 1, 0, 0, 0, 0, 'Borean Frog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3764, 1244, 68, 175734, 1, 0, 0, 0, 0, 'Arathor and the Troll Wars', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3806, 161, 1, 529, 1, 0, 0, 0, 0, 'Overcome a 500 resource disadvantage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (3816, 667, 0, 17537, 1, 0, 0, 0, 0, 'Vazruden the Herald', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3828, 252, 35, 0, 50, 0, 0, 0, 0, '26273', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (3836, 563, 0, 15952, 1, 0, 0, 0, 0, 'Maexxna', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3839, 565, 0, 15932, 1, 0, 0, 0, 0, 'Gluth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3843, 567, 0, 16011, 1, 0, 0, 0, 0, 'Loatheb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3849, 306, 36, 19970, 1, 0, 0, 0, 0, 'Arcanite Fishing Pole', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (3866, 153, 72, 182959, 1, 0, 0, 0, 0, 'Bluefish School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (3874, 1257, 72, 180662, 1, 0, 0, 0, 0, 'Schooner Wreckage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3885, 1262, 8, 1191, 0, 0, 0, 0, 0, 'Terror of Terokkar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3906, 45, 8, 1265, 0, 0, 0, 0, 0, 'Dragonblight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3917, 1274, 8, 1272, 0, 0, 0, 0, 0, 'Terror of Terokkar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3938, 1282, 27, 11023, 1, 0, 0, 0, 0, 'Summon Reindeer Flying Mount Tier 2.0 (Brown)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (3941, 1283, 8, 630, 0, 0, 0, 0, 0, 'Wailing Caverns', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (3966, 1284, 8, 649, 0, 0, 0, 0, 0, 'The Slave Pens', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4011, 1285, 8, 687, 0, 0, 0, 0, 0, 'Temple of Ahn\'Qiraj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4016, 1286, 8, 692, 0, 0, 0, 0, 0, 'Gruul\'s Lair', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4025, 1287, 8, 669, 0, 0, 0, 0, 0, 'Heroic The Slave Pens', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4042, 1288, 8, 479, 0, 0, 0, 0, 0, 'Caverns of Time: Stratholme', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4058, 1289, 8, 500, 0, 0, 0, 0, 0, 'Heroic Caverns of Time: Stratholme', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4074, 1292, 36, 32918, 1, 0, 0, 0, 0, 'Filled Yellow Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4080, 1293, 36, 33018, 1, 0, 0, 0, 0, 'Filled Blue Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4093, 328, 67, 0, 0, 0, 0, 0, 0, 'Money looted from creatures', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 32, 0, 0, 0, 3), + (4124, 1264, 43, 1467, 0, 0, 0, 0, 0, 'Riplash Strand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4138, 1263, 43, 1495, 0, 0, 0, 0, 0, 'Camp Winterhoof', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4161, 1265, 43, 1489, 0, 0, 0, 0, 0, 'Ruby Dragonshrine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4180, 1266, 43, 1466, 0, 0, 0, 0, 0, 'Drakil\'jin Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4194, 1267, 43, 1532, 0, 0, 0, 0, 0, 'Ampitheater of Anguish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4208, 1268, 43, 1546, 0, 0, 0, 0, 0, 'The Mosslight Pillar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4251, 635, 27, 1101, 1, 0, 0, 0, 0, 'The Crone of the Kraul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4253, 634, 27, 2841, 1, 0, 0, 0, 0, 'Rig Wars', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4255, 636, 27, 3341, 1, 0, 0, 0, 0, 'Bring the End', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4257, 638, 27, 2339, 1, 0, 0, 0, 0, 'Find the Gems and Power Source', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4260, 640, 27, 7064, 1, 0, 0, 0, 0, 'Corruption of Earth and Seed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4263, 642, 27, 4003, 1, 0, 0, 0, 0, 'The Royal Rescue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4267, 684, 27, 7490, 1, 0, 0, 0, 0, 'Victory for the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4290, 345, 41, 33934, 0, 0, 0, 0, 0, 'Crystal Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4312, 922, 41, 22832, 0, 0, 0, 0, 0, 'Super Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4338, 923, 41, 20079, 0, 0, 0, 0, 0, 'Spirit of Zanza', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4408, 628, 27, 373, 1, 0, 0, 0, 0, 'The Unsent Letter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4412, 811, 41, 33208, 0, 0, 0, 0, 0, 'Flask of Chromatic Wonder', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4437, 686, 27, 8620, 1, 0, 0, 0, 0, 'The Only Prescription', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4441, 643, 27, 4903, 1, 0, 0, 0, 0, 'Warlord\'s Command', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4444, 1307, 27, 6602, 1, 0, 0, 0, 0, 'Blood of the Black Dragon Champion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4448, 685, 27, 7783, 1, 0, 0, 0, 0, 'The Lord of Blackrock', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4451, 687, 27, 8638, 1, 0, 0, 0, 0, 'Deathdealer\'s Vest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4462, 647, 27, 9572, 1, 0, 0, 0, 0, 'Weaken the Ramparts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4466, 666, 27, 10164, 1, 0, 0, 0, 0, 'Everything Will Be Alright', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4470, 654, 27, 10885, 1, 0, 0, 0, 0, 'Trial of the Naaru: Strength', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4472, 655, 27, 10297, 1, 0, 0, 0, 0, 'The Opening of the Dark Portal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4474, 656, 27, 10885, 1, 0, 0, 0, 0, 'Trial of the Naaru: Strength', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4476, 657, 27, 9495, 1, 0, 0, 0, 0, 'The Will of the Warchief', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4483, 660, 27, 10886, 1, 0, 0, 0, 0, 'Trial of the Naaru: Tenacity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4488, 678, 27, 9525, 1, 0, 0, 0, 0, 'Imprisoned in the Citadel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4499, 696, 27, 11007, 1, 0, 0, 0, 0, 'Kael\'thas and the Verdant Sphere', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4506, 1311, 0, 18697, 1, 0, 0, 0, 0, 'Chief Engineer Lorthander', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4598, 698, 36, 34341, 1, 0, 0, 0, 0, 'Borderland Paingrips', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4619, 695, 36, 30908, 1, 0, 0, 0, 0, 'Apostle of Argus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4721, 812, 41, 19011, 0, 0, 0, 0, 0, 'Greater Healthstone (2)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4739, 924, 46, 1104, 42000, 0, 0, 0, 0, 'Exlated with the Frenzyheart Tribe', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4752, 925, 46, 946, 42000, 0, 0, 0, 0, 'Exlated with Honor Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4770, 927, 49, 4, 1, 0, 0, 0, 0, 'Chest is Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4789, 697, 36, 32838, 1, 0, 0, 0, 0, 'Warglaive of Azzinoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4849, 694, 36, 30106, 1, 0, 0, 0, 0, 'Belt of One-Hundred Deaths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4908, 692, 36, 28825, 1, 0, 0, 0, 0, 'Aldori Legacy Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4939, 693, 27, 11116, 1, 0, 0, 0, 0, 'Trial of the Naaru: Magtheridon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (4950, 107, 78, 0, 0, 0, 0, 0, 0, 'Dragonkin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4967, 796, 28, 20770, 0, 0, 0, 0, 0, 'Resurrection (Rank 5)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4973, 798, 28, 20748, 0, 0, 0, 0, 0, 'Rebirth (Rank 5)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4979, 1229, 28, 50765, 0, 0, 0, 0, 0, 'Revive (Rank 5)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (4994, 350, 68, 176498, 0, 0, 0, 0, 0, 'Portal to Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5022, 388, 70, 0, 50, 0, 0, 0, 0, 'Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (5033, 1006, 70, 0, 50, 0, 0, 0, 0, 'Shepherd\'s Gate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (5047, 1360, 8, 36, 1, 0, 0, 0, 0, 'The Empire of Zul\'Drak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5081, 284, 36, 20562, 1, 0, 0, 0, 0, 'Flimsy Female Dwarf Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5143, 1396, 27, 13014, 1, 0, 0, 0, 0, 'Elder Morthie in Star\'s Rest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5247, 490, 0, 26794, 1, 0, 0, 0, 0, 'Ormorok the Tree-Shaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5269, 1436, 36, 37719, 1, 0, 0, 0, 0, 'Zhevra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (5270, 263, 27, 11972, 1, 0, 0, 0, 0, 'Ahune Kill Quest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (5292, 1457, 43, 1599, 0, 0, 0, 0, 0, 'Sunreaver\'s Command', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5308, 1463, 8, 1008, 0, 0, 0, 0, 0, 'The Kirin Tor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5315, 926, 46, 81, 42000, 0, 0, 0, 0, 'Exalted with Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5330, 1466, 46, 47, 42000, 0, 0, 0, 0, 'Exalted with Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5459, 1467, 0, 27654, 1, 0, 0, 0, 0, 'Drakos the Interrogator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5494, 381, 35, 0, 0, 0, 0, 0, 0, 'Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5501, 382, 35, 0, 0, 0, 0, 0, 0, 'Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5531, 1488, 56, 0, 0, 0, 0, 0, 0, 'Burning Crusade Areas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5535, 1490, 56, 0, 0, 0, 0, 0, 0, 'Ruind of Lordaeron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5538, 1491, 56, 0, 0, 0, 0, 0, 0, 'Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5553, 1199, 40, 333, 1, 0, 0, 0, 0, 'Enchanting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5564, 1200, 7, 356, 450, 0, 0, 0, 0, 'Fishing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5566, 1201, 7, 164, 450, 0, 0, 0, 0, 'Blacksmithing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5578, 1202, 7, 44, 400, 0, 0, 0, 0, 'Axes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5630, 1103, 0, 27656, 1, 0, 0, 0, 0, 'Ley-Guardian Eregos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5647, 1104, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5664, 1516, 8, 1257, 0, 0, 0, 0, 0, 'The Scavenger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5682, 1517, 72, 192048, 1, 0, 0, 0, 0, 'Dragonfin Angelfish School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5704, 1525, 27, 11380, 1, 0, 0, 0, 0, 'Manalicious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5708, 1526, 27, 11669, 1, 0, 0, 0, 0, 'Felblood Fillet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5765, 1563, 8, 906, 0, 0, 0, 0, 0, 'Kickin\' It Up a Notch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5775, 291, 110, 44212, 1, 0, 0, 0, 0, 'Draenei', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5821, 1656, 8, 255, 0, 0, 0, 0, 0, 'Bring Me The Head of... Oh Wait', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5833, 1657, 8, 255, 0, 0, 0, 0, 0, 'Bring Me The Head of... Oh Wait', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5845, 1269, 43, 1576, 0, 0, 0, 0, 0, 'Dun Niffelem', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5861, 1270, 43, 1564, 0, 0, 0, 0, 0, 'Onslaught Harbor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5890, 1658, 0, 28859, 1, 0, 0, 0, 0, 'Malygos (10 or 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5893, 839, 15, 566, 0, 0, 0, 0, 0, 'Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5897, 840, 1, 566, 0, 0, 0, 0, 0, 'Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (5902, 1676, 11, 3, 700, 0, 0, 0, 0, 'Badlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (5954, 1677, 11, 3, 550, 0, 0, 0, 0, 'Badlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (6006, 1678, 11, 16, 700, 0, 0, 0, 0, 'Azshara', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (6101, 1680, 11, 16, 685, 0, 0, 0, 0, 'Azshara', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (6145, 1681, 8, 1262, 0, 0, 0, 0, 0, 'Loremaster of Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6149, 1682, 8, 1274, 0, 0, 0, 0, 0, 'Loremaster of Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6177, 1683, 8, 295, 0, 0, 0, 0, 0, 'Direbrewfest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6184, 1684, 8, 295, 0, 0, 0, 0, 0, 'Direbrewfest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6209, 303, 34, 43899, 0, 0, 0, 0, 0, 'Brewfest Ram', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (6215, 727, 34, 22720, 0, 0, 0, 0, 0, 'Black War Ram', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6229, 1686, 110, 26004, 1, 0, 0, 0, 0, 'Brother Wilhelm in Goldshire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6239, 1687, 110, 44755, 1, 0, 0, 0, 0, 'Tauren Shaman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6249, 1688, 29, 45022, 1, 0, 0, 0, 0, 'Hot Apple Cider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6252, 1689, 27, 8767, 1, 0, 0, 0, 0, 'A Gently Shaken Gift', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (6257, 1690, 41, 17712, 1, 0, 0, 0, 0, 'Winter Veil Disguise Kit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (6264, 1691, 8, 259, 0, 0, 0, 0, 0, 'Scrooge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6276, 1692, 8, 1255, 0, 0, 0, 0, 0, 'Scrooge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6291, 1038, 8, 263, 0, 0, 0, 0, 0, 'Ice the Frost Lord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6313, 1699, 110, 27571, 1, 0, 0, 0, 0, 'Human Death Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6326, 1701, 29, 70578, 1, 0, 0, 0, 0, 'All yours.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6334, 1702, 41, 22239, 1, 0, 0, 0, 0, 'Sweet Surprise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6345, 1704, 54, 203, 1, 0, 0, 0, 0, 'Arathi Basin Blacksmith', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6350, 1705, 34, 54187, 0, 0, 0, 0, 0, 'Clockwork Rocket Bot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (6353, 1693, 8, 1280, 0, 0, 0, 0, 0, 'Flirt With Disaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6367, 1707, 8, 1279, 0, 0, 0, 0, 0, 'Flirt With Disaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6415, 1768, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6435, 1241, 28, 58630, 1, 0, 0, 0, 0, 'Mal\'Ganis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6444, 1737, 0, 32627, 1, 0, 0, 0, 0, 'Wintergrasp Siege Engine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6461, 346, 41, 38698, 0, 0, 0, 0, 0, 'Bitter Plasma', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (6488, 1777, 29, 58065, 1, 0, 0, 0, 0, 'Dalaran Clam Chowder', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6602, 1780, 41, 43488, 1, 0, 0, 0, 0, 'Last Weeks Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6610, 1782, 27, 13102, 1, 0, 0, 0, 0, 'Sewer Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6615, 1783, 27, 13114, 1, 0, 0, 0, 0, 'Sewer Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6620, 1784, 8, 906, 0, 0, 0, 0, 0, 'Kickin\' It Up a Notch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6628, 1785, 41, 34753, 1, 0, 0, 0, 0, 'Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6635, 604, 70, 0, 5, 0, 0, 0, 0, 'Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6639, 603, 70, 0, 5, 0, 0, 0, 0, 'The Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6643, 1786, 30, 122, 1, 0, 0, 0, 0, 'Assault a flag in Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6653, 1788, 41, 42429, 1, 0, 0, 0, 0, 'Red Velvet Cupcake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6662, 1685, 110, 26004, 1, 0, 0, 0, 0, 'Brother Keltan in Icecrown', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6668, 1792, 34, 40634, 0, 0, 0, 0, 0, 'Peanut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (6745, 1793, 8, 1789, 0, 0, 0, 0, 0, 'Daily Chores', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6760, 1800, 29, 33279, 1, 0, 0, 0, 0, 'Buzzard Bites', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6807, 500, 0, 26530, 1, 0, 0, 0, 0, 'Salramm the Fleshcrafter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6815, 493, 0, 27483, 1, 0, 0, 0, 0, 'King Dred', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6833, 497, 0, 28587, 1, 0, 0, 0, 0, 'Volkhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6841, 495, 0, 29307, 1, 0, 0, 0, 0, 'Drakkari Colossus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6850, 491, 0, 29120, 1, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6853, 492, 0, 29310, 1, 0, 0, 0, 0, 'Jedoga Shadowseeker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6861, 498, 0, 27447, 1, 0, 0, 0, 0, 'Varos Cloudstrider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6863, 499, 0, 26693, 1, 0, 0, 0, 0, 'Skadi the Ruthless', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (6936, 496, 28, 59046, 1, 0, 0, 0, 0, 'The Tribunal of Ages', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7139, 1865, 0, 29313, 1, 0, 0, 0, 0, 'Ichoron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7146, 578, 0, 15956, 1, 0, 0, 0, 0, 'Anub\'Rekhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7163, 579, 0, 15931, 1, 0, 0, 0, 0, 'Grobbulus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7179, 1871, 0, 27656, 1, 0, 0, 0, 0, 'Ruby Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7187, 1877, 0, 30451, 1, 0, 0, 0, 0, 'Shadron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7191, 624, 0, 30451, 1, 0, 0, 0, 0, 'Shadron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7192, 568, 28, 59450, 1, 0, 0, 0, 0, 'The Four Horsemen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7193, 569, 28, 59450, 1, 0, 0, 0, 0, 'The Four Horsemen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7196, 1066, 54, 76, 0, 0, 0, 0, 0, 'rofl', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7238, 1956, 68, 192710, 1, 0, 0, 0, 0, 'The Schools of Arcane Magic - Conjuration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7246, 1957, 36, 43639, 1, 0, 0, 0, 0, 'Arthas\' Gold Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7280, 2016, 27, 12296, 1, 0, 0, 0, 0, 'Life or Death', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7289, 2017, 27, 12280, 1, 0, 0, 0, 0, 'Making Repairs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7298, 2018, 27, 13243, 1, 0, 0, 0, 0, 'Timear Foresees Infinite Agents in your Future!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7302, 2019, 27, 13247, 1, 0, 0, 0, 0, 'Proof of Demise: Ley-Guardian Eregos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7338, 1039, 8, 271, 0, 0, 0, 0, 0, 'Burning Hot Pole Dance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7395, 2082, 34, 59799, 0, 0, 0, 0, 0, 'Ice Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (7399, 2083, 34, 59804, 0, 0, 0, 0, 0, 'Grand Ice Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (7443, 2094, 42, 43704, 1, 0, 0, 0, 0, 'Attumen\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7465, 2095, 42, 43678, 1, 0, 0, 0, 0, 'Antonidas\' Silver Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7488, 2096, 8, 1957, 0, 0, 0, 0, 0, 'There\'s Gold In That There Fountain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7497, 2136, 8, 2036, 0, 0, 0, 0, 0, 'Intense Cold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7530, 2137, 8, 1856, 0, 0, 0, 0, 0, 'Make Quick Werk Of Him', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7540, 2138, 8, 1857, 0, 0, 0, 0, 0, 'Make Quick Werk Of Him (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7644, 2194, 8, 1765, 0, 0, 0, 0, 0, 'Steady Hands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7656, 2195, 8, 1765, 0, 0, 0, 0, 0, 'Steady Hands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7706, 1723, 70, 0, 100, 0, 0, 0, 0, 'Shredder', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (7714, 2199, 70, 0, 10, 0, 0, 0, 0, 'Flamewatch Tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7724, 1752, 8, 2199, 0, 0, 0, 0, 0, 'Wintergrasp Ranger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7772, 322, 20, 26731, 0, 0, 0, 0, 0, 'Grand Magus Telestra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7809, 323, 20, 16060, 0, 0, 0, 0, 0, 'Gothik the Harvester', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7832, 324, 20, 15931, 0, 0, 0, 0, 0, 'Grobbulus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7854, 799, 28, 20609, 0, 0, 0, 0, 0, 'Ancestral Spirit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7862, 800, 28, 7328, 0, 0, 0, 0, 0, 'Redemption', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (7867, 801, 28, 20758, 0, 0, 0, 0, 0, 'Use Soulstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (8102, 2256, 0, 32495, 1, 0, 0, 0, 0, 'Hildana Deathstealer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (8590, 837, 32, 618, 0, 0, 0, 0, 0, 'Ring of Valor Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (8592, 838, 33, 559, 0, 0, 0, 0, 0, 'Nagrand Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (8597, 363, 33, 572, 0, 0, 0, 0, 0, 'Ruins of Lordaeron 5v5 Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (8601, 362, 32, 572, 0, 0, 0, 0, 0, 'Ruins of Lordaeron 5v5 Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (8606, 365, 33, 618, 0, 0, 0, 0, 0, 'Ring of Valor 3v3 Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (8610, 364, 32, 618, 0, 0, 0, 0, 0, 'Ring of Valor 3v3 Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (8613, 367, 33, 572, 0, 0, 0, 0, 0, 'Ruins of Lordaeron 2v2 Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (8616, 366, 32, 559, 0, 0, 0, 0, 0, 'Nagrand 2v2 Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (8698, 347, 41, 20226, 0, 0, 0, 0, 0, 'Highlander\'s Field Ration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (8820, 2336, 46, 577, 42000, 0, 0, 0, 0, 'Exalted with Everlook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9142, 2436, 29, 61818, 1, 0, 0, 0, 0, 'Silithus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9145, 2422, 110, 61815, 1, 0, 0, 0, 0, 'Dwarf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9162, 383, 70, 0, 0, 0, 0, 0, 0, 'Nagrand Arena Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9169, 275, 34, 40614, 0, 0, 0, 0, 0, 'Egbert', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9180, 2476, 0, 28312, 1, 0, 0, 0, 0, 'Wintergrasp Siege Engine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9200, 2419, 29, 61875, 1, 0, 0, 0, 0, 'Goldshire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9204, 2497, 29, 61875, 1, 0, 0, 0, 0, 'Falconwing Square', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9259, 1234, 69, 61863, 1, 0, 0, 0, 0, 'The Prophet Tharon\'ja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9261, 1508, 69, 61863, 1, 0, 0, 0, 0, 'The Prophet Tharon\'ja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9301, 2557, 54, 225, 1, 0, 0, 0, 0, 'Fjord Penguin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9359, 2556, 0, 32261, 1, 0, 0, 0, 0, 'Crystal Spider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9418, 2084, 36, 44934, 1, 0, 0, 0, 0, 'Loop of the Kirin Tor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (9670, 2770, 8, 2762, 0, 0, 0, 0, 0, 'Champion of Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9675, 2771, 8, 2767, 0, 0, 0, 0, 0, 'Champion of Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9718, 2093, 74, 0, 1, 0, 0, 0, 0, 'Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (9720, 2090, 74, 0, 1, 0, 0, 0, 0, 'Duelist', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (9757, 2758, 27, 13693, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 3), + (9760, 2776, 8, 2199, 0, 0, 0, 0, 0, 'Wintergrasp Ranger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9780, 2782, 8, 2779, 0, 0, 0, 0, 0, 'Champion of Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9790, 2788, 8, 2785, 0, 0, 0, 0, 0, 'Champion of Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9838, 259, 110, 46661, 1, 0, 0, 0, 0, 'Snowball Cairne Bloodhoof', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (9861, 2796, 27, 12421, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (9865, 2797, 8, 2416, 0, 0, 0, 0, 0, 'Hard Boiled', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9877, 2798, 8, 2436, 0, 0, 0, 0, 0, 'Desert Rose', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9879, 2144, 8, 2797, 0, 0, 0, 0, 0, 'Noble Gardener', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9880, 2145, 8, 2798, 0, 0, 0, 0, 0, 'Noble Gardener', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9900, 2816, 8, 2766, 0, 0, 0, 0, 0, 'Champion of Sen\'jin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9906, 2817, 8, 2761, 0, 0, 0, 0, 0, 'Champion of the Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9970, 1770, 0, 33186, 1, 0, 0, 0, 0, 'Razorscale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (9971, 1756, 0, 33186, 1, 0, 0, 0, 0, 'Razorscale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10001, 2886, 0, 33293, 1, 0, 0, 0, 0, 'XT-002 Deconstructor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10005, 2887, 0, 33293, 1, 0, 0, 0, 0, 'XT-002 Deconstructor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10010, 2888, 0, 33515, 1, 0, 0, 0, 0, 'Auriaya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10018, 2889, 0, 33515, 1, 0, 0, 0, 0, 'Auriaya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10029, 2894, 8, 2890, 0, 0, 0, 0, 0, 'The Keepers of Ulduar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10033, 2895, 8, 2891, 0, 0, 0, 0, 0, 'Heroic: The Keepers of Ulduar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10035, 3838, 42, 45624, 1, 0, 0, 0, 0, 'Emblem of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (10036, 3839, 42, 45624, 25, 0, 0, 0, 0, 'Emblem of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (10037, 3840, 42, 45624, 50, 0, 0, 0, 0, 'Emblem of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (10038, 3841, 42, 45624, 100, 0, 0, 0, 0, 'Emblem of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (10039, 3842, 42, 45624, 250, 0, 0, 0, 0, 'Emblem of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (10040, 3843, 42, 45624, 500, 0, 0, 0, 0, 'Emblem of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (10041, 3844, 42, 45624, 1000, 0, 0, 0, 0, 'Emblem of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (10048, 2907, 0, 33113, 1, 0, 0, 0, 0, 'Salvaged Demolisher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10051, 2908, 0, 33113, 1, 0, 0, 0, 0, 'Salvaged Demolisher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10101, 2957, 8, 2923, 0, 0, 0, 0, 0, 'Iron Dwarf, Medium Rare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10225, 2836, 28, 64809, 1, 0, 0, 0, 0, 'Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10239, 2970, 69, 65134, 1, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (10241, 2969, 69, 63711, 1, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (10288, 2973, 0, 32873, 1, 0, 0, 0, 0, 'Participate in slaying Ancient Rune Giant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10312, 2974, 0, 32873, 1, 0, 0, 0, 0, 'Participate in slaying Ancient Rune Giant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10323, 3016, 69, 63988, 1, 0, 0, 0, 0, 'The Tortured Champion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10326, 3015, 69, 63988, 1, 0, 0, 0, 0, 'The Tortured Champion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10340, 2903, 0, 33186, 1, 0, 0, 0, 0, 'Razorscale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10353, 2904, 0, 33186, 1, 0, 0, 0, 0, 'Razorscale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10366, 2958, 8, 2924, 0, 0, 0, 0, 0, 'Iron Dwarf, Medium Rare (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10419, 2945, 0, 32867, 1, 0, 0, 0, 0, 'Steelbreaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (10421, 2946, 0, 32927, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (10423, 2947, 0, 32927, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (10425, 2948, 0, 32927, 1, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (10443, 1255, 110, 25677, 1, 0, 0, 0, 0, 'Snowball King Magni Bronzebeard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (10444, 2890, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10455, 2891, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10522, 3217, 27, 13834, 1, 0, 0, 0, 0, 'Dangerously Delicious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10545, 2989, 0, 33432, 1, 0, 0, 0, 0, 'A Bomb Bot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10548, 3237, 0, 33432, 1, 0, 0, 0, 0, 'A Bomb Bot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (10742, 3357, 28, 65302, 20, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16772606, 2, 0, 0, 0, 3), + (11079, 3556, 69, 61849, 1, 0, 0, 0, 0, 'Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11084, 3557, 69, 61849, 1, 0, 0, 0, 0, 'Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11088, 3558, 29, 66374, 1, 0, 0, 0, 0, 'Pumpkin Pie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11120, 3576, 29, 62044, 1, 0, 0, 0, 0, 'Pumpkin Pie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11125, 3577, 29, 66036, 1, 0, 0, 0, 0, 'Pumpkin Pie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11136, 3580, 69, 65403, 1, 0, 0, 0, 0, 'Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11140, 3581, 69, 65403, 1, 0, 0, 0, 0, 'Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11165, 3559, 110, 61781, 1, 0, 0, 0, 0, 'Gnome Rogue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11179, 3579, 110, 61927, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16741886, 2, 0, 0, 0, 3), + (11202, 3596, 27, 14054, 1, 0, 0, 0, 0, 'Easy As Pie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11205, 3597, 27, 14060, 1, 0, 0, 0, 0, 'Easy As Pie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11224, 3618, 34, 63318, 0, 0, 0, 0, 0, 'Murkimus the Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (11259, 3478, 8, 3556, 0, 0, 0, 0, 0, 'Pilgrim\'s Paunch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11268, 3656, 8, 3557, 0, 0, 0, 0, 0, 'Pilgrim\'s Paunch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11322, 3696, 27, 13723, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775167, 2, 0, 0, 0, 3), + (11488, 3845, 30, 246, 1, 3, 628, 3, 628, 'Defend a base', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 3), + (11494, 3847, 28, 68365, 1, 0, 0, 0, 0, 'Demolisher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11500, 3856, 56, 0, 1, 0, 0, 0, 0, 'Catapult', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11504, 3857, 8, 3847, 0, 0, 0, 0, 0, 'Four Car Garage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11620, 3876, 42, 45624, 1500, 0, 0, 0, 0, 'Emblem of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (11678, 3812, 28, 68184, 1, 0, 0, 0, 0, 'Defeat the Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11681, 3916, 28, 68184, 1, 0, 0, 0, 0, 'Defeat the Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11686, 3917, 28, 68184, 1, 0, 0, 0, 0, 'Defeat the Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11691, 3918, 28, 68184, 1, 0, 0, 0, 0, 'Defeat the Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11751, 3957, 8, 3847, 0, 0, 0, 0, 0, 'Four Car Garage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (11905, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Mutanus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12160, 3853, 31, 4749, 1, 3, 628, 3, 628, 'Docks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 0, 0, 0, 3), + (12181, 4256, 56, 0, 1, 0, 0, 0, 0, 'Catapult', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12299, 3778, 28, 68572, 1, 0, 0, 0, 0, 'Colosos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12304, 4296, 28, 68572, 1, 0, 0, 0, 0, 'Runok Wildmane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12312, 4297, 28, 68572, 1, 0, 0, 0, 0, 'Colosos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12320, 4298, 28, 68572, 1, 0, 0, 0, 0, 'Runok Wildmane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12340, 3817, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (12346, 3808, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (12420, 4316, 42, 45624, 2500, 0, 0, 0, 0, 'Emblem of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 3), + (12480, 426, 57, 32838, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (12620, 4416, 34, 10698, 0, 0, 0, 0, 0, 'Emerald Whelpling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (12660, 4436, 110, 67531, 1, 0, 0, 0, 0, 'Lor\'themar Theron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12663, 4437, 110, 67531, 1, 0, 0, 0, 0, 'King Varian Wrynn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12680, 4456, 0, 27656, 1, 0, 0, 0, 0, 'Ley-Guardian Eregos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12743, 4518, 28, 72830, 1, 0, 0, 0, 0, 'Survive the encounter with the Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12744, 4517, 0, 36658, 1, 0, 0, 0, 0, 'Scourgelord Tyrannus and Rimefang', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12749, 4520, 0, 36658, 1, 0, 0, 0, 0, 'Scourgelord Tyrannus and Rimefang', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12751, 4521, 28, 72830, 1, 0, 0, 0, 0, 'Survive the encounter with the Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12761, 4528, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12768, 4532, 8, 4529, 0, 0, 0, 0, 0, 'The Crimson Hall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12771, 4531, 28, 72959, 1, 0, 0, 0, 0, 'Claim victory in the Gunship Battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12800, 4556, 0, 27656, 1, 0, 0, 0, 0, 'Ley-Guardian Eregos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12840, 1697, 27, 24609, 1, 0, 0, 0, 0, 'A Gift for the Lord of Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12844, 1698, 27, 24614, 1, 0, 0, 0, 0, 'A Gift for the High Chieftain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12879, 1695, 27, 24660, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 3), + (12904, 4596, 27, 24798, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 3), + (12947, 4604, 28, 72959, 1, 0, 0, 0, 0, 'Claim victory in the Gunship Battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12951, 4605, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12960, 4608, 8, 4606, 0, 0, 0, 0, 0, 'The Crimson Hall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (12999, 2091, 74, 0, 1, 0, 0, 0, 0, 'Furious Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (13001, 2092, 74, 0, 1, 0, 0, 0, 0, 'Deadly Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (13041, 4628, 28, 72959, 1, 0, 0, 0, 0, 'Claim victory in the Gunship Battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (13045, 4629, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (13052, 4632, 28, 72959, 1, 0, 0, 0, 0, 'Claim victory in the Gunship Battle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (13056, 4633, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (13063, 4636, 8, 4630, 0, 0, 0, 0, 0, 'The Crimson Hall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (13068, 4637, 8, 4634, 0, 0, 0, 0, 0, 'The Crimson Hall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (13073, 4602, 8, 4630, 0, 0, 0, 0, 0, 'Heroic: The Crimson Hall (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (13077, 4603, 8, 4634, 0, 0, 0, 0, 0, 'Heroic: The Crimson Hall (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 3), + (13234, 2186, 0, 15952, 1, 0, 0, 0, 0, 'Maexxna', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (13238, 2187, 0, 15952, 1, 0, 0, 0, 0, 'Maexxna', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (13374, 4782, 36, 37897, 1, 0, 0, 0, 0, 'Filled Green Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3), + (13381, 4784, 36, 45624, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 3), + (13386, 4785, 36, 45624, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 3), + (13398, 4788, 34, 35535, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 3), + (13411, 4789, 34, 35532, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 3), + (86, 41, 8, 37, 1, 0, 0, 0, 0, 'Fo\' Grizzle My Shizzle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (97, 46, 8, 45, 1, 0, 0, 0, 0, 'Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (192, 477, 0, 23980, 1, 0, 0, 0, 0, 'Ingvar the Plunderer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (198, 478, 0, 26723, 1, 0, 0, 0, 0, 'Keristrasza', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (206, 487, 0, 27656, 1, 0, 0, 0, 0, 'Ley-Guardian Eregos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (210, 488, 0, 26861, 1, 0, 0, 0, 0, 'King Ymiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (217, 485, 0, 27978, 1, 0, 0, 0, 0, 'Sjonnir the Ironshaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (228, 230, 8, 1171, 0, 0, 0, 0, 0, 'Master of Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (360, 564, 0, 15928, 1, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (386, 576, 8, 568, 0, 0, 0, 0, 0, 'The Military Quarter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (392, 577, 8, 569, 0, 0, 0, 0, 0, 'The Military Quarter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (424, 582, 30, 64, 1, 3, 30, 3, 30, 'Defend a tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 4), + (434, 584, 31, 3422, 5, 3, 529, 3, 529, 'Kill 5 people at the lumber mill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 4), + (444, 587, 31, 3869, 5, 3, 566, 3, 566, 'Kill 5 people at the Mage Tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 4), + (487, 614, 8, 613, 0, 0, 0, 0, 0, 'Killed in Quel\'Thalas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (495, 619, 8, 618, 0, 0, 0, 0, 0, 'Putting Out the Light', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (499, 626, 36, 21157, 1, 0, 0, 0, 0, 'Festive Green Dress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (505, 627, 43, 113, 1, 0, 0, 0, 0, 'Kharanos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (522, 624, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (534, 637, 0, 3976, 1, 0, 0, 0, 0, 'Scarlet Commander Mograine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (619, 116, 40, 202, 2, 0, 0, 0, 0, 'Engineering', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (653, 705, 7, 173, 400, 0, 0, 0, 0, 'Daggers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (750, 425, 27, 9271, 1, 0, 0, 0, 0, 'Atiesh, Greatstaff of the Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (762, 700, 36, 18851, 1, 0, 0, 0, 0, 'Insignia of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (782, 701, 36, 18862, 1, 0, 0, 0, 0, 'Insignia of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (825, 728, 43, 248, 1, 0, 0, 0, 0, 'Echo Isles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (851, 731, 40, 202, 3, 0, 0, 0, 0, 'Engineering', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (862, 732, 40, 202, 4, 0, 0, 0, 0, 'Engineering', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (873, 733, 40, 202, 5, 0, 0, 0, 0, 'Engineering', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (884, 734, 40, 202, 6, 0, 0, 0, 0, 'Engineering', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (895, 735, 40, 202, 6, 0, 0, 0, 0, 'Engineering', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (905, 736, 43, 188, 1, 0, 0, 0, 0, 'Winterhoof Water Well', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (920, 750, 43, 464, 1, 0, 0, 0, 0, 'Dreadmist Peak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (950, 760, 43, 444, 1, 0, 0, 0, 0, 'Dalaran Crater', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (964, 761, 43, 564, 1, 0, 0, 0, 0, 'Thoradin\'s Wall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (995, 762, 46, 530, 42000, 0, 0, 0, 0, 'Exalted Darkspear Trolls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1008, 763, 46, 989, 42000, 0, 0, 0, 0, 'Keepers of Time', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1011, 764, 46, 1011, 42000, 0, 0, 0, 0, 'Lower City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1017, 765, 43, 584, 1, 0, 0, 0, 0, 'Mirage Flats', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1031, 766, 43, 824, 1, 0, 0, 0, 0, 'Serpent\'s Coil', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1040, 768, 43, 233, 1, 0, 0, 0, 0, 'Stillwater Pond', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1056, 769, 43, 304, 1, 0, 0, 0, 0, 'The Skittering Dark', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1071, 770, 43, 964, 1, 0, 0, 0, 0, 'Ruins of Andorhal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1084, 771, 43, 891, 1, 0, 0, 0, 0, 'Crown Guard Tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1106, 772, 43, 404, 1, 0, 0, 0, 0, 'Dun Garok', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1118, 773, 43, 604, 1, 0, 0, 0, 0, 'Quel\'Danil Lodge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1132, 774, 43, 724, 1, 0, 0, 0, 0, 'The Sea of Cinders', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1139, 775, 43, 784, 1, 0, 0, 0, 0, 'Blackrock Pass', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1149, 776, 43, 121, 1, 0, 0, 0, 0, 'Stormwind City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1164, 778, 43, 424, 1, 0, 0, 0, 0, 'Raven Hill Cemetery', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1177, 779, 43, 319, 1, 0, 0, 0, 0, 'Silver Stream Mine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1187, 780, 43, 362, 1, 0, 0, 0, 0, 'Lakeridge Highway', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1199, 781, 43, 525, 1, 0, 0, 0, 0, 'Rebel Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1226, 782, 43, 544, 1, 0, 0, 0, 0, 'Splinterspear Junction', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1251, 802, 43, 281, 1, 0, 0, 0, 0, 'The Jansen Stead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1265, 841, 43, 384, 1, 0, 0, 0, 0, 'Whelgar\'s Excavation Site', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1279, 42, 8, 765, 1, 0, 0, 0, 0, 'Badlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1302, 842, 43, 87, 1, 0, 0, 0, 0, 'Gnarlpine Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1313, 843, 43, 1182, 1, 0, 0, 0, 0, 'Manaforge Duro', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1317, 844, 43, 343, 1, 0, 0, 0, 0, 'Cliffspring River', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1326, 845, 43, 744, 1, 0, 0, 0, 0, 'Thistlefur Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1344, 846, 43, 684, 1, 0, 0, 0, 0, 'Freewind Post', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1353, 847, 43, 928, 1, 0, 0, 0, 0, 'Webwinder Path', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1364, 850, 43, 664, 1, 0, 0, 0, 0, 'The Quagmire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1368, 848, 43, 772, 1, 0, 0, 0, 0, 'Thunder Axe Fortress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1371, 849, 43, 983, 1, 0, 0, 0, 0, 'Ruins of Ravenwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1404, 853, 43, 864, 1, 0, 0, 0, 0, 'Jadefire Run', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1408, 851, 43, 655, 1, 0, 0, 0, 0, 'Steamwheedle Port', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1412, 852, 43, 844, 1, 0, 0, 0, 0, 'Bitter Reaches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1456, 854, 43, 624, 1, 0, 0, 0, 0, 'The Slithering Scar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1468, 856, 43, 1025, 1, 0, 0, 0, 0, 'Hive\'Zora', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1476, 857, 43, 1004, 1, 0, 0, 0, 0, 'Starfall Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1507, 858, 43, 1152, 1, 0, 0, 0, 0, 'Windrunner Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1511, 859, 43, 1130, 1, 0, 0, 0, 0, 'Sunsail Anchorage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1555, 860, 43, 1366, 1, 0, 0, 0, 0, 'Bristlelimb Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1576, 861, 43, 1331, 1, 0, 0, 0, 0, 'Bladewood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1600, 43, 8, 860, 1, 0, 0, 0, 0, 'Azuremyst Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1605, 867, 43, 1168, 1, 0, 0, 0, 0, 'Firewing Point', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1608, 862, 43, 1202, 1, 0, 0, 0, 0, 'Hellfire Citadel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1613, 863, 43, 1136, 1, 0, 0, 0, 0, 'Hewn Bog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1617, 864, 43, 1105, 1, 0, 0, 0, 0, 'Netherwing Ledge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1621, 865, 43, 1291, 1, 0, 0, 0, 0, 'Bloodmaul Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1625, 866, 43, 1192, 1, 0, 0, 0, 0, 'Kil\'sorrow Fortress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1785, 44, 8, 866, 1, 0, 0, 0, 0, 'Nagrand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1793, 868, 43, 1458, 1, 0, 0, 0, 0, 'Magisters\' Terrace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (1804, 220, 1, 30, 1, 3, 30, 3, 30, 'Tower A1 owned by the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 4), + (1813, 873, 1, 30, 1, 3, 30, 3, 30, 'Tower A1 owned by the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 4), + (1823, 229, 35, 0, 30, 3, 489, 3, 489, '30 hks in wsg', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (1827, 486, 0, 28923, 1, 0, 0, 0, 0, 'Loken', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1839, 878, 42, 6295, 1, 0, 0, 0, 0, '15 Pound Mud Snapper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1889, 905, 27, 11667, 1, 0, 0, 0, 0, 'The One That Got Away', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1894, 906, 27, 11381, 1, 0, 0, 0, 0, 'Soup for the Soul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1905, 908, 27, 11338, 1, 0, 0, 0, 0, 'Call to Arms: Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1909, 909, 27, 11342, 1, 0, 0, 0, 0, 'Call to Arms: Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1913, 910, 27, 8644, 1, 0, 0, 0, 0, 'Elder Stonefort in Blackrock Spire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1919, 911, 27, 8686, 1, 0, 0, 0, 0, 'Elder High Mountain in Camp Taurajo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (1925, 912, 27, 8722, 1, 0, 0, 0, 0, 'Elder Meadowrun in Western Plaguelands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (2000, 913, 8, 914, 0, 0, 0, 0, 0, 'Elders of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (2033, 948, 46, 54, 42000, 0, 0, 0, 0, 'Exalted Gnomeregan Exiles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (2057, 961, 27, 12760, 1, 0, 0, 0, 0, 'Secret Strength of the Frenzyheart', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (2065, 962, 27, 12762, 1, 0, 0, 0, 0, 'Power of the Great Ones', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (2075, 963, 27, 12338, 1, 0, 0, 0, 0, 'Darkshore, Auberdine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (2102, 965, 27, 12399, 1, 0, 0, 0, 0, 'Tanaris, Gadgetzan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (2135, 966, 27, 12346, 1, 0, 0, 0, 0, 'Hillsbrad Foothills, Southshore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (2148, 967, 27, 12385, 1, 0, 0, 0, 0, 'Badlands, Kargath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (2198, 969, 27, 12353, 1, 0, 0, 0, 0, 'Hellfire Peninsula, Temple of Telhamat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (2220, 968, 27, 12392, 1, 0, 0, 0, 0, 'Nagrand, Garadar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (2263, 979, 36, 20392, 1, 0, 0, 0, 0, 'Flimsy Female Gnome Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (2284, 289, 27, 11219, 1, 0, 0, 0, 0, 'Stop the Fires!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (2338, 621, 57, 28788, 1, 0, 0, 0, 0, 'Tabard of the Protector', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (2345, 556, 49, 4, 1, 0, 0, 0, 0, 'Chest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (2362, 245, 52, 8, 1, 0, 0, 0, 0, 'Mage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (2372, 246, 53, 5, 1, 0, 0, 0, 0, 'Undead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (2377, 1005, 53, 3, 1, 0, 0, 0, 0, 'Dwarf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (2403, 227, 13, 0, 300000, 3, 566, 3, 566, 'Do 300,000 Damage in Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 4), + (2421, 1010, 8, 1009, 0, 0, 0, 0, 0, 'Knights of the Ebon Blade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3066, 1022, 27, 11813, 1, 0, 0, 0, 0, 'Dun Morogh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3079, 1023, 27, 11811, 1, 0, 0, 0, 0, 'Darkshore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3092, 1024, 27, 11830, 1, 0, 0, 0, 0, 'Netherstorm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3104, 1025, 27, 11848, 1, 0, 0, 0, 0, 'Eversong Woods', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3115, 1026, 27, 11847, 1, 0, 0, 0, 0, 'Dustwallow Marsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3127, 1027, 27, 11835, 1, 0, 0, 0, 0, 'Netherstorm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3134, 1028, 27, 11772, 1, 0, 0, 0, 0, 'Eversong Woods', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3145, 1029, 27, 11771, 1, 0, 0, 0, 0, 'Dustwallow Marsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3157, 1030, 27, 11799, 1, 0, 0, 0, 0, 'Netherstorm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3164, 1031, 27, 11742, 1, 0, 0, 0, 0, 'Dun Morogh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3177, 1032, 27, 11740, 1, 0, 0, 0, 0, 'Darkshore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3189, 1033, 27, 11759, 1, 0, 0, 0, 0, 'Netherstorm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3212, 283, 28, 24718, 1, 0, 0, 0, 0, 'Transformed by Hallowed Wand - Ninja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3304, 344, 41, 20067, 1, 0, 0, 0, 0, 'Arathi Basin Silk Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3371, 231, 56, 0, 20, 3, 489, 1, 0, 'Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 4), + (3395, 1167, 8, 1151, 0, 0, 0, 0, 0, 'Loyal Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3407, 1168, 8, 224, 0, 0, 0, 0, 0, 'Loyal Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3419, 1169, 8, 73, 0, 0, 0, 0, 0, 'Disgracin\' The Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3434, 1170, 8, 73, 0, 0, 0, 0, 0, 'Disgracin\' The Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3449, 1171, 8, 214, 0, 0, 0, 0, 0, 'Flurry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3464, 1172, 8, 872, 0, 0, 0, 0, 0, 'Frenzied Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3479, 1173, 8, 872, 0, 0, 0, 0, 0, 'Frenzied Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3491, 1174, 8, 1160, 0, 0, 0, 0, 0, 'Three\'s Company: 2200', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3503, 1175, 8, 1171, 0, 0, 0, 0, 0, 'Master of Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3518, 1183, 28, 43961, 1, 0, 0, 0, 0, 'Metok\'s Bubble Bock', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3531, 1184, 41, 33034, 1, 0, 0, 0, 0, 'Gordok Grog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3545, 1185, 41, 34065, 1, 0, 0, 0, 0, 'Spiced Onion Cheese', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3563, 1187, 36, 12382, 1, 0, 0, 0, 0, 'Key to the City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3577, 484, 0, 29306, 1, 0, 0, 0, 0, 'Gal\'darah', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3581, 481, 0, 29311, 1, 0, 0, 0, 0, 'Herald Volazj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3597, 1203, 41, 34018, 1, 0, 0, 0, 0, 'Long Stride Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3626, 1225, 72, 182956, 1, 0, 0, 0, 0, 'School of Darter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3704, 489, 0, 23980, 1, 0, 0, 0, 0, 'Ingvar the Plunderer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3726, 557, 49, 4, 1, 0, 0, 0, 0, 'Chest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3744, 1206, 54, 225, 1, 0, 0, 0, 0, 'Cat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3765, 1244, 68, 175758, 1, 0, 0, 0, 0, 'Archimonde\'s Return and the Flight to Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3807, 161, 1, 529, 1, 0, 0, 0, 0, 'Overcome a 500 resource disadvantage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (3829, 252, 35, 0, 50, 0, 0, 0, 0, '26274', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (3840, 565, 0, 15928, 1, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3850, 306, 36, 19979, 1, 0, 0, 0, 0, 'Hook of the Master Angler', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (3856, 153, 72, 180664, 1, 0, 0, 0, 0, 'Sparse Oily Blackmouth School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (3875, 1257, 72, 180685, 1, 0, 0, 0, 0, 'Waterlogged Wreckage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3886, 1262, 8, 1192, 0, 0, 0, 0, 0, 'Nagrand Slam', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3907, 45, 8, 1266, 0, 0, 0, 0, 0, 'Grizzly Hills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3918, 1274, 8, 1273, 0, 0, 0, 0, 0, 'Nagrand Slam', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3942, 1283, 8, 631, 0, 0, 0, 0, 0, 'Shadowfang Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (3967, 1284, 8, 650, 0, 0, 0, 0, 0, 'Underbog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4012, 1285, 8, 688, 0, 0, 0, 0, 0, 'Zul\'Gurub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4017, 1286, 8, 693, 0, 0, 0, 0, 0, 'Magtheridon\'s Lair', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4026, 1287, 8, 670, 0, 0, 0, 0, 0, 'Heroic Underbog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4043, 1288, 8, 480, 0, 0, 0, 0, 0, 'Azjol-Nerub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4059, 1289, 8, 491, 0, 0, 0, 0, 0, 'Heroic Azjol-Nerub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4075, 1292, 36, 32915, 1, 0, 0, 0, 0, 'Filled Yellow Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4081, 1293, 36, 33019, 1, 0, 0, 0, 0, 'Filled Blue Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4125, 1264, 43, 1469, 0, 0, 0, 0, 0, 'Kaskala', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4139, 1263, 43, 1496, 0, 0, 0, 0, 0, 'Apothecary Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4162, 1265, 43, 1490, 0, 0, 0, 0, 0, 'Obsidian Dragonshrine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4181, 1266, 43, 1468, 0, 0, 0, 0, 0, 'Dun Argol', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4195, 1267, 43, 1533, 0, 0, 0, 0, 0, 'Altar of Sseratus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4209, 1268, 43, 1547, 0, 0, 0, 0, 0, 'Makers\' Overlook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4225, 328, 80, 0, 0, 0, 0, 0, 0, 'Money from auctions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 32, 0, 0, 0, 4), + (4258, 638, 27, 2204, 1, 0, 0, 0, 0, 'Restoring the Necklace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4269, 684, 27, 8620, 1, 0, 0, 0, 0, 'The Only Prescription', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4291, 345, 41, 4596, 0, 0, 0, 0, 0, 'Discolored Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4313, 922, 41, 32902, 0, 0, 0, 0, 0, 'Bottled Nethergon Energy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4339, 923, 41, 20081, 0, 0, 0, 0, 0, 'Swiftness of Zanza', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4409, 635, 27, 6522, 1, 0, 0, 0, 0, 'An Unholy Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4413, 811, 41, 13511, 0, 0, 0, 0, 0, 'Flask of Distilled Wisdom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4442, 643, 27, 5089, 1, 0, 0, 0, 0, ' General Drakkisath\'s Command ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4445, 1307, 27, 6502, 1, 0, 0, 0, 0, 'Drakefire Amulet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4449, 685, 27, 8730, 1, 0, 0, 0, 0, 'Nefarius\'s Corruption', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4452, 687, 27, 8562, 1, 0, 0, 0, 0, 'Conqueror\'s Breastplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4477, 657, 27, 9524, 1, 0, 0, 0, 0, 'Imprisoned in the Citadel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4489, 678, 27, 10884, 1, 0, 0, 0, 0, 'Trial of the Naaru: Mercy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4495, 693, 27, 11002, 1, 0, 0, 0, 0, 'The Fall of Magtheridon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4507, 1311, 0, 18681, 1, 0, 0, 0, 0, 'Coilfang Emissary', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4544, 686, 36, 19137, 1, 0, 0, 0, 0, 'Onslaught Girdle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4599, 698, 36, 34241, 1, 0, 0, 0, 0, 'Cloak of Unforgivable Sin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4620, 695, 36, 30906, 1, 0, 0, 0, 0, 'Bristleblitz Striker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4722, 812, 41, 5509, 0, 0, 0, 0, 0, 'Healthstone (0)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4740, 924, 46, 1105, 42000, 0, 0, 0, 0, 'Exlated with the Oracles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4753, 925, 46, 947, 42000, 0, 0, 0, 0, 'Exlated with Thrallmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4771, 927, 49, 7, 1, 0, 0, 0, 0, 'Feet are epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4790, 697, 36, 32837, 1, 0, 0, 0, 0, 'Warglaive of Azzinoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4820, 696, 36, 32458, 1, 0, 0, 0, 0, 'Ashes of Al\'ar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4850, 694, 36, 30104, 1, 0, 0, 0, 0, 'Cobra-Lash Boots', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4909, 692, 36, 28794, 1, 0, 0, 0, 0, 'Axe of the Gronn Lords', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (4951, 107, 78, 0, 0, 0, 0, 0, 0, 'Elemental', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4968, 796, 28, 10881, 0, 0, 0, 0, 0, 'Resurrection (Rank 4)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4974, 798, 28, 20747, 0, 0, 0, 0, 0, 'Rebirth (Rank 4)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4980, 1229, 28, 50766, 0, 0, 0, 0, 0, 'Revive (Rank 4)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (4995, 350, 68, 182351, 0, 0, 0, 0, 0, 'Portal to Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5023, 388, 70, 0, 50, 0, 0, 0, 0, 'Cenarion Enclave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (5034, 1006, 70, 0, 50, 0, 0, 0, 0, 'Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (5048, 1360, 8, 1357, 1, 0, 0, 0, 0, 'Fo\' Grizzle My Shizzle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5082, 284, 36, 20392, 1, 0, 0, 0, 0, 'Flimsy Female Gnome Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5144, 1396, 27, 13015, 1, 0, 0, 0, 0, 'Elder Fargal in Frosthold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5248, 490, 0, 26723, 1, 0, 0, 0, 0, 'Keristrasza', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5293, 1457, 43, 1600, 0, 0, 0, 0, 0, 'Forlorn Woods', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5309, 1463, 8, 1009, 0, 0, 0, 0, 0, 'Knights of the Ebon Blade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5316, 926, 46, 68, 42000, 0, 0, 0, 0, 'Exalted with Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5331, 1466, 46, 72, 42000, 0, 0, 0, 0, 'Exalted with Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5495, 381, 35, 0, 0, 0, 0, 0, 0, 'Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5502, 382, 35, 0, 0, 0, 0, 0, 0, 'Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5532, 1488, 56, 0, 0, 0, 0, 0, 0, 'Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5539, 1491, 56, 0, 0, 0, 0, 0, 0, 'Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5554, 1199, 40, 202, 1, 0, 0, 0, 0, 'Engineering', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5569, 1201, 7, 182, 450, 0, 0, 0, 0, 'Herbalism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5579, 1202, 7, 172, 400, 0, 0, 0, 0, 'Two-Handed Axes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5643, 1104, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5665, 1516, 8, 150, 0, 0, 0, 0, 0, 'The Fishing Diplomat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5683, 1517, 72, 192049, 1, 0, 0, 0, 0, 'Fangtooth Herring School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5705, 1525, 27, 11381, 1, 0, 0, 0, 0, 'Soup for the Soul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5709, 1526, 27, 11667, 1, 0, 0, 0, 0, 'The One That Got Away', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5776, 291, 110, 44212, 1, 0, 0, 0, 0, 'Dwarf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5809, 699, 32, 618, 1, 0, 0, 0, 0, 'The Ring of Valor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5822, 1656, 8, 289, 0, 0, 0, 0, 0, 'The Savior of Hallow\'s End', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5834, 1657, 8, 289, 0, 0, 0, 0, 0, 'The Savior of Hallow\'s End', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5846, 1269, 43, 1580, 0, 0, 0, 0, 0, 'Bor\'s Breath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5862, 1270, 43, 1568, 0, 0, 0, 0, 0, 'The Broken Front', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5878, 1658, 0, 29120, 1, 0, 0, 0, 0, 'Heroic: Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5894, 839, 15, 607, 0, 0, 0, 0, 0, 'Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5898, 840, 1, 607, 0, 0, 0, 0, 0, 'Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (5903, 1676, 11, 25, 700, 0, 0, 0, 0, 'Badlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (5955, 1677, 11, 25, 550, 0, 0, 0, 0, 'Badlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (6007, 1678, 11, 3524, 700, 0, 0, 0, 0, 'Azuremyst Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (6102, 1680, 11, 3524, 685, 0, 0, 0, 0, 'Azuremyst Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (6146, 1681, 8, 41, 0, 0, 0, 0, 0, 'Loremaster of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6150, 1682, 8, 1360, 0, 0, 0, 0, 0, 'Loremaster of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6178, 1683, 8, 1186, 0, 0, 0, 0, 0, 'Down With The Dark Iron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6185, 1684, 8, 1186, 0, 0, 0, 0, 0, 'Down With The Dark Iron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6193, 879, 34, 16084, 0, 0, 0, 0, 0, 'Mottled Red Raptor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (6210, 303, 34, 49379, 0, 0, 0, 0, 0, 'Great Brewfest Kodo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (6216, 727, 34, 22717, 0, 0, 0, 0, 0, 'Black War Steed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6231, 1686, 110, 26004, 1, 0, 0, 0, 0, 'Brother Karman in Theramore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6240, 1687, 110, 44755, 1, 0, 0, 0, 0, 'Night Elf Druid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6253, 1689, 27, 8788, 1, 0, 0, 0, 0, 'A Gently Shaken Gift', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (6265, 1691, 8, 1282, 0, 0, 0, 0, 0, 'Fa-la-la-la-Ogri\'la', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6277, 1692, 8, 1282, 0, 0, 0, 0, 0, 'Fa-la-la-la-Ogri\'la', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6314, 1699, 110, 27571, 1, 0, 0, 0, 0, 'Night Elf Priest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6327, 1701, 29, 70581, 1, 0, 0, 0, 0, 'I\'m all yours!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6335, 1702, 41, 22238, 1, 0, 0, 0, 0, 'Very Berry Cream', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6346, 1704, 54, 203, 1, 0, 0, 0, 0, 'The Culling of Stratholme', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6354, 1693, 8, 1291, 0, 0, 0, 0, 0, 'Lonely?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6368, 1707, 8, 1291, 0, 0, 0, 0, 0, 'Lonely?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6381, 479, 28, 58630, 1, 0, 0, 0, 0, 'Mal\'Ganis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6432, 1103, 28, 58630, 1, 0, 0, 0, 0, 'Mal\'Ganis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6433, 1467, 28, 58630, 1, 0, 0, 0, 0, 'Mal\'Ganis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6445, 1737, 0, 28366, 1, 0, 0, 0, 0, 'Wintergrasp Tower Cannon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6489, 1777, 29, 45561, 1, 0, 0, 0, 0, 'Grilled Bonescale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6603, 1780, 41, 43490, 1, 0, 0, 0, 0, 'Tasty Cupcake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6604, 1563, 8, 1779, 0, 0, 0, 0, 0, 'The Northrend Gourmet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6611, 1782, 27, 13103, 1, 0, 0, 0, 0, 'Cheese for Glowergold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6616, 1783, 27, 13115, 1, 0, 0, 0, 0, 'Cheese for Glowergold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6621, 1784, 8, 1779, 0, 0, 0, 0, 0, 'The Northrend Gourmet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6629, 1785, 41, 34753, 1, 0, 0, 0, 0, 'Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6636, 604, 70, 0, 5, 0, 0, 0, 0, 'Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6640, 603, 70, 0, 5, 0, 0, 0, 0, 'Stormwind City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6644, 1786, 30, 44, 1, 0, 0, 0, 0, 'Return a fallen flag in Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6654, 1788, 41, 33924, 1, 0, 0, 0, 0, 'Delicious Chocolate Cake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6664, 1792, 36, 23007, 1, 0, 0, 0, 0, 'Piglet\'s Collar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (6746, 1793, 8, 1792, 0, 0, 0, 0, 0, 'Aw, Isn\'t It Cute?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6764, 1800, 29, 36210, 1, 0, 0, 0, 0, 'Clam Bar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6808, 500, 28, 58630, 1, 0, 0, 0, 0, 'Mal\'Ganis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6834, 497, 0, 28923, 1, 0, 0, 0, 0, 'Loken', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6842, 495, 0, 29306, 1, 0, 0, 0, 0, 'Gal\'darah', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6854, 492, 0, 29311, 1, 0, 0, 0, 0, 'Herald Volazj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6857, 496, 0, 27977, 1, 0, 0, 0, 0, 'Krystallus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6862, 498, 0, 27656, 1, 0, 0, 0, 0, 'Ley-Guardian Eregos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (6866, 499, 0, 26861, 1, 0, 0, 0, 0, 'King Ymiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7140, 1865, 0, 29314, 1, 0, 0, 0, 0, 'Zuramat the Obliterator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7150, 578, 0, 15931, 1, 0, 0, 0, 0, 'Grobbulus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7170, 579, 0, 16060, 1, 0, 0, 0, 0, 'Gothik the Harvester', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7186, 1877, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7197, 1066, 54, 45, 0, 0, 0, 0, 0, 'giggle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7239, 1956, 68, 192711, 1, 0, 0, 0, 0, 'The Schools of Arcane Magic - Divination', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7247, 1957, 36, 43638, 1, 0, 0, 0, 0, 'Arugal\'s Gold Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7281, 2016, 27, 12244, 1, 0, 0, 0, 0, 'Shredder Repair', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7290, 2017, 27, 12284, 1, 0, 0, 0, 0, 'Keep \'Em on their Heels', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7299, 2018, 27, 13244, 1, 0, 0, 0, 0, 'Timear Foresees Titanium Vanguards in your Future!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7303, 2019, 27, 13248, 1, 0, 0, 0, 0, 'Proof of Demise: King Ymiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7334, 1038, 8, 271, 0, 0, 0, 0, 0, 'Burning Hot Pole Dance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7339, 1039, 8, 263, 0, 0, 0, 0, 0, 'Ice the Frost Lord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7396, 2082, 34, 59797, 0, 0, 0, 0, 0, 'Ice Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (7400, 2083, 34, 59802, 0, 0, 0, 0, 0, 'Grand Ice Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (7444, 2094, 42, 43705, 1, 0, 0, 0, 0, 'Danath\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7466, 2095, 42, 43676, 1, 0, 0, 0, 0, 'Arcanist Doan\'s Silver Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7498, 2136, 8, 2037, 0, 0, 0, 0, 0, 'Chaos Theory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7531, 2137, 8, 1996, 0, 0, 0, 0, 0, 'The Safety Dance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7541, 2138, 8, 2139, 0, 0, 0, 0, 0, 'The Safety Dance (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7555, 2144, 8, 1793, 0, 0, 0, 0, 0, 'For The Children', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7562, 2145, 8, 1793, 0, 0, 0, 0, 0, 'For The Children', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7645, 2194, 8, 1761, 0, 0, 0, 0, 0, 'The Dapper Sapper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7657, 2195, 8, 1761, 0, 0, 0, 0, 0, 'The Dapper Sapper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7707, 1723, 70, 0, 100, 0, 0, 0, 0, 'Fighter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (7711, 2199, 70, 0, 10, 0, 0, 0, 0, 'The Broken Temple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7726, 1752, 8, 2080, 0, 0, 0, 0, 0, 'Black War Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7787, 322, 20, 28586, 0, 0, 0, 0, 0, 'General Bjarngrim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7808, 323, 20, 15932, 0, 0, 0, 0, 0, 'Gluth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7848, 324, 20, 31125, 0, 0, 0, 0, 0, 'Archavon the Stone Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7853, 799, 28, 20610, 0, 0, 0, 0, 0, 'Ancestral Spirit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (7861, 800, 28, 10322, 0, 0, 0, 0, 0, 'Redemption', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (8103, 2256, 0, 32357, 1, 0, 0, 0, 0, 'Old Crystalbark', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (8158, 263, 36, 35280, 1, 0, 0, 0, 0, 'Tabard of Summer Flames', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (8587, 837, 32, 617, 0, 0, 0, 0, 0, 'Dalaran Sewers Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (8594, 838, 33, 618, 0, 0, 0, 0, 0, 'Ring of Valor Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (8595, 363, 33, 617, 0, 0, 0, 0, 0, 'Dalara 5v5 Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (8600, 362, 32, 559, 0, 0, 0, 0, 0, 'Nagrand 5v5 Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (8605, 365, 33, 572, 0, 0, 0, 0, 0, 'Ruind of Lordaeron 3v3 Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (8609, 364, 32, 572, 0, 0, 0, 0, 0, 'Ruins of Lordaeron 3v3 Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (8614, 367, 33, 618, 0, 0, 0, 0, 0, 'Ring of Valor 2v2 Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (8618, 366, 32, 618, 0, 0, 0, 0, 0, 'Ring of Valor 2v2 Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (8697, 347, 41, 20225, 0, 0, 0, 0, 0, 'Highlander\'s Enriched Ration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (8763, 801, 29, 20759, 0, 0, 0, 0, 0, 'Use Soulstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (8821, 2336, 46, 369, 42000, 0, 0, 0, 0, 'Exalted with Gadgetzan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (8918, 321, 18, 15, 0, 0, 0, 0, 0, '15 man instances', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (8987, 346, 41, 4953, 0, 0, 0, 0, 0, 'Trogg Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (9098, 482, 69, 61863, 1, 0, 0, 0, 0, 'The Prophet Tharon\'ja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9099, 493, 69, 61863, 1, 0, 0, 0, 0, 'The Prophet Tharon\'ja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9140, 2436, 29, 61818, 1, 0, 0, 0, 0, 'Tanaris', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9146, 2422, 110, 61815, 1, 0, 0, 0, 0, 'Gnome', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9163, 383, 70, 0, 0, 0, 0, 0, 0, 'Ruins of Lordaeron Arena Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9165, 1490, 56, 0, 0, 0, 0, 0, 0, 'Dalaran Sewers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9181, 2476, 0, 28366, 1, 0, 0, 0, 0, 'Wintergrasp Tower Cannon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9201, 2419, 29, 61875, 1, 0, 0, 0, 0, 'Kharanos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9205, 2497, 29, 61875, 1, 0, 0, 0, 0, 'Razor Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9302, 2557, 54, 225, 1, 0, 0, 0, 0, 'Fjord Turkey', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9360, 2556, 0, 24270, 1, 0, 0, 0, 0, 'Devouring Maggot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9419, 2084, 36, 44935, 1, 0, 0, 0, 0, 'Ring of the Kirin Tor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (9671, 2770, 8, 2764, 0, 0, 0, 0, 0, 'Champion of Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9676, 2771, 8, 2769, 0, 0, 0, 0, 0, 'Champion of the Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9754, 2758, 27, 13708, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 4), + (9761, 2776, 8, 2080, 0, 0, 0, 0, 0, 'Black War Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9781, 2782, 8, 2781, 0, 0, 0, 0, 0, 'Champion of Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9791, 2788, 8, 2787, 0, 0, 0, 0, 0, 'Champion of the Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9862, 2796, 27, 12306, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (9866, 2797, 8, 2419, 0, 0, 0, 0, 0, 'Spring Fling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9878, 2798, 8, 2576, 0, 0, 0, 0, 0, 'Blushing Bride', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9901, 2816, 8, 2767, 0, 0, 0, 0, 0, 'Champion of Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9907, 2817, 8, 2762, 0, 0, 0, 0, 0, 'Champion of Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9972, 1770, 0, 33118, 1, 0, 0, 0, 0, 'Ignis the Furnace Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9973, 1756, 0, 33118, 1, 0, 0, 0, 0, 'Ignis the Furnace Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (9998, 1768, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (10002, 2886, 0, 33118, 1, 0, 0, 0, 0, 'Ignis the Furnace Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (10006, 2887, 0, 33118, 1, 0, 0, 0, 0, 'Ignis the Furnace Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (10014, 2890, 0, 33432, 1, 0, 0, 0, 0, 'Mimiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (10030, 2894, 8, 2892, 0, 0, 0, 0, 0, 'The Descent into Madness', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (10034, 2895, 8, 2893, 0, 0, 0, 0, 0, 'Heroic: The Descent into Madness', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (10103, 2957, 8, 3058, 0, 0, 0, 0, 0, 'Heartbreaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (10226, 2836, 28, 64810, 1, 0, 0, 0, 0, 'Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (10341, 2903, 0, 33293, 1, 0, 0, 0, 0, 'XT-002 Deconstructor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (10354, 2904, 0, 33293, 1, 0, 0, 0, 0, 'XT-002 Deconstructor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (10368, 2958, 8, 3059, 0, 0, 0, 0, 0, 'Heartbreaker (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (10456, 2891, 0, 33432, 1, 0, 0, 0, 0, 'Mimiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (10523, 3217, 27, 13833, 1, 0, 0, 0, 0, 'Blood is Thicker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11081, 3556, 69, 61849, 1, 0, 0, 0, 0, 'Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11085, 3557, 69, 61849, 1, 0, 0, 0, 0, 'Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11089, 3558, 29, 66373, 1, 0, 0, 0, 0, 'Slow-Roasted Turkey', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11121, 3576, 29, 62045, 1, 0, 0, 0, 0, 'Slow-Roasted Turkey', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11126, 3577, 29, 66037, 1, 0, 0, 0, 0, 'Slow-Roasted Turkey', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11137, 3580, 69, 65403, 1, 0, 0, 0, 0, 'Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11141, 3581, 69, 65403, 1, 0, 0, 0, 0, 'Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11158, 3559, 110, 61781, 1, 0, 0, 0, 0, 'Human Rogue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11180, 3579, 110, 61929, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16741886, 2, 0, 0, 0, 4), + (11198, 3596, 27, 14055, 1, 0, 0, 0, 0, 'She Says Potato', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11206, 3597, 27, 14058, 1, 0, 0, 0, 0, 'She Says Potato', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11260, 3478, 8, 3580, 0, 0, 0, 0, 0, 'Pilgrim\'s Peril', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11269, 3656, 8, 3581, 0, 0, 0, 0, 0, 'Pilgrim\'s Peril', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11323, 3696, 27, 13713, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775167, 2, 0, 0, 0, 4), + (11491, 3845, 70, 0, 1, 3, 628, 3, 628, 'Kill a player', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 4), + (11495, 3847, 28, 68362, 1, 0, 0, 0, 0, 'Catapult', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11501, 3856, 56, 0, 1, 0, 0, 0, 0, 'Siege Engine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11505, 3857, 8, 3848, 0, 0, 0, 0, 0, 'A-bomb-inable', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11547, 3812, 0, 34496, 1, 0, 0, 0, 0, 'Defeat the Twin Val\'kyr', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11552, 3838, 42, 47241, 1, 0, 0, 0, 0, 'Emblem of Triumph', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (11556, 3839, 42, 47241, 25, 0, 0, 0, 0, 'Emblem of Triumph', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (11601, 3840, 42, 47241, 50, 0, 0, 0, 0, 'Emblem of Triumph', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (11605, 3841, 42, 47241, 100, 0, 0, 0, 0, 'Emblem of Triumph', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (11609, 3842, 42, 47241, 250, 0, 0, 0, 0, 'Emblem of Triumph', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (11613, 3843, 42, 47241, 500, 0, 0, 0, 0, 'Emblem of Triumph', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (11617, 3844, 42, 47241, 1000, 0, 0, 0, 0, 'Emblem of Triumph', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (11621, 3876, 42, 47241, 1500, 0, 0, 0, 0, 'Emblem of Triumph', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (11682, 3916, 0, 34496, 1, 0, 0, 0, 0, 'Defeat the Twin Val\'kyr', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11687, 3917, 0, 34496, 1, 0, 0, 0, 0, 'Defeat the Twin Val\'kyr', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11692, 3918, 0, 34496, 1, 0, 0, 0, 0, 'Defeat the Twin Val\'kyr', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11752, 3957, 8, 3848, 0, 0, 0, 0, 0, 'A-bomb-inable', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (11906, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Herod', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (12161, 3853, 31, 4752, 1, 3, 628, 3, 628, 'Horde Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 0, 0, 0, 4), + (12182, 4256, 56, 0, 1, 0, 0, 0, 0, 'Siege Engine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (12300, 3778, 28, 68572, 1, 0, 0, 0, 0, 'Ambrose Boltspark', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (12305, 4296, 28, 68572, 1, 0, 0, 0, 0, 'Eressea Dawnsinger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (12313, 4297, 28, 68572, 1, 0, 0, 0, 0, 'Ambrose Boltspark', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (12321, 4298, 28, 68572, 1, 0, 0, 0, 0, 'Eressea Dawnsinger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (12421, 4316, 42, 47241, 2500, 0, 0, 0, 0, 'Emblem of Triumph', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 4), + (12481, 426, 57, 32837, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (12621, 4416, 34, 67413, 0, 0, 0, 0, 0, 'Darting Hatchling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (12658, 4436, 110, 67531, 1, 0, 0, 0, 0, 'Thrall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (12667, 4437, 110, 67531, 1, 0, 0, 0, 0, 'Prophet Velen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (12681, 4456, 28, 58630, 1, 0, 0, 0, 0, 'Mal\'Ganis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (12766, 4532, 8, 4527, 0, 0, 0, 0, 0, 'The Frostwing Halls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (12772, 4531, 28, 72928, 1, 0, 0, 0, 0, 'The Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (12801, 4556, 28, 58630, 1, 0, 0, 0, 0, 'Mal\'Ganis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (12841, 1697, 27, 24597, 1, 0, 0, 0, 0, 'A Gift for the King of Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (12845, 1698, 27, 24613, 1, 0, 0, 0, 0, 'A Gift for the Banshee Queen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (12880, 1695, 27, 24662, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 4), + (12905, 4596, 27, 24799, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 4), + (12946, 4604, 28, 72928, 1, 0, 0, 0, 0, 'The Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (12958, 4608, 8, 4607, 0, 0, 0, 0, 0, 'The Frostwing Halls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (13000, 2091, 74, 0, 1, 0, 0, 0, 0, 'Relentless Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (13002, 2092, 74, 0, 1, 0, 0, 0, 0, 'Furious Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (13004, 2093, 74, 0, 1, 0, 0, 0, 0, 'Furious Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (13006, 2090, 74, 0, 1, 0, 0, 0, 0, 'Furious Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (13042, 4628, 28, 72928, 1, 0, 0, 0, 0, 'The Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (13053, 4632, 28, 72928, 1, 0, 0, 0, 0, 'The Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (13064, 4636, 8, 4631, 0, 0, 0, 0, 0, 'The Frostwing Halls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (13069, 4637, 8, 4635, 0, 0, 0, 0, 0, 'The Frostwing Halls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (13074, 4602, 8, 4631, 0, 0, 0, 0, 0, 'Heroic: The Frostwing Halls (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (13078, 4603, 8, 4635, 0, 0, 0, 0, 0, 'Heroic: The Frostwing Halls (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 4), + (13236, 2186, 0, 16011, 1, 0, 0, 0, 0, 'Loatheb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (13239, 2187, 0, 16011, 1, 0, 0, 0, 0, 'Loatheb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (13375, 4782, 36, 37896, 1, 0, 0, 0, 0, 'Filled Green Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4), + (13382, 4784, 36, 47241, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 4), + (13387, 4785, 36, 47241, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 4), + (13399, 4788, 34, 37884, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 4), + (13412, 4789, 34, 35525, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 4), + (83, 41, 8, 34, 1, 0, 0, 0, 0, 'I\'ve Toured the Fjord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (387, 576, 8, 572, 0, 0, 0, 0, 0, 'Sapphiron\'s Demise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (393, 577, 8, 573, 0, 0, 0, 0, 0, 'Sapphiron\'s Demise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (425, 582, 31, 3057, 1, 3, 30, 3, 30, 'Kill someone in the Field of Strife', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 5), + (435, 584, 31, 3424, 5, 3, 529, 3, 529, 'Kill 5 people at the stables', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 12, 0, 0, 0, 5), + (500, 626, 36, 21538, 1, 0, 0, 0, 0, 'Festive Pink Dress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (506, 627, 43, 111, 1, 0, 0, 0, 0, 'Misty Pine Refuge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (533, 637, 0, 3977, 1, 0, 0, 0, 0, 'High Inquisitor Whitemane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (620, 116, 40, 182, 2, 0, 0, 0, 0, 'Herbalism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (654, 705, 7, 46, 400, 0, 0, 0, 0, 'Guns', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (763, 700, 36, 18845, 1, 0, 0, 0, 0, 'Insignia of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (783, 701, 36, 18856, 1, 0, 0, 0, 0, 'Insignia of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (826, 728, 43, 250, 1, 0, 0, 0, 0, 'Tiragarde Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (852, 731, 40, 182, 3, 0, 0, 0, 0, 'Herbalism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (863, 732, 40, 182, 4, 0, 0, 0, 0, 'Herbalism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (874, 733, 40, 182, 5, 0, 0, 0, 0, 'Herbalism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (885, 734, 40, 182, 6, 0, 0, 0, 0, 'Herbalism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (896, 735, 40, 182, 6, 0, 0, 0, 0, 'Herbalism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (906, 736, 43, 190, 1, 0, 0, 0, 0, 'The Rolling Plains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (921, 750, 43, 465, 1, 0, 0, 0, 0, 'The Dry Hills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (951, 760, 43, 445, 1, 0, 0, 0, 0, 'Dandred\'s Fold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (965, 761, 43, 565, 1, 0, 0, 0, 0, 'Stromgarde Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (996, 762, 46, 911, 42000, 0, 0, 0, 0, 'Exalted Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1005, 763, 46, 935, 42000, 0, 0, 0, 0, 'The Sha\'tar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1013, 764, 46, 989, 42000, 0, 0, 0, 0, 'Keepers of Time', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1018, 765, 43, 585, 1, 0, 0, 0, 0, 'Camp Cagg', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1032, 766, 43, 825, 1, 0, 0, 0, 0, 'The Dark Portal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1041, 768, 43, 232, 1, 0, 0, 0, 0, 'Nightmare Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1057, 769, 43, 305, 1, 0, 0, 0, 0, 'North Tide\'s Hollow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1072, 770, 43, 965, 1, 0, 0, 0, 0, 'The Bulwark', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1085, 771, 43, 890, 1, 0, 0, 0, 0, 'The Fungal Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1107, 772, 43, 405, 1, 0, 0, 0, 0, 'Nethander Stead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1119, 773, 43, 605, 1, 0, 0, 0, 0, 'Shadra\'Alor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1133, 774, 43, 725, 1, 0, 0, 0, 0, 'Tanner Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1140, 775, 43, 785, 1, 0, 0, 0, 0, 'Ruins of Thaurissan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1150, 776, 43, 123, 1, 0, 0, 0, 0, 'Forest\'s Edge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1165, 778, 43, 425, 1, 0, 0, 0, 0, 'Vul\'Gol Ogre Mound', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1178, 779, 43, 320, 1, 0, 0, 0, 0, 'North Gate Pass', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1189, 780, 43, 365, 1, 0, 0, 0, 0, 'Redridge Canyons', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1200, 781, 43, 526, 1, 0, 0, 0, 0, 'Kurzen\'s Compound', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1227, 782, 43, 545, 1, 0, 0, 0, 0, 'The Shifting Mire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1252, 802, 43, 283, 1, 0, 0, 0, 0, 'Jangolode Mine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1266, 841, 43, 385, 1, 0, 0, 0, 0, 'Sundown Marsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1280, 42, 8, 766, 1, 0, 0, 0, 0, 'Blasted Lands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1303, 842, 43, 88, 1, 0, 0, 0, 0, 'Lake Al\'Ameth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1318, 844, 43, 344, 1, 0, 0, 0, 0, 'Bashal\'Aran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1327, 845, 43, 745, 1, 0, 0, 0, 0, 'The Shrine of Aessina', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1345, 846, 43, 683, 1, 0, 0, 0, 0, 'Splithoof Crag', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1354, 847, 43, 927, 1, 0, 0, 0, 0, 'Boulderslide Ravine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1372, 849, 43, 984, 1, 0, 0, 0, 0, 'The Twin Colossals', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1373, 848, 43, 771, 1, 0, 0, 0, 0, 'Kormek\'s Hut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1396, 850, 43, 665, 1, 0, 0, 0, 0, 'The Den of Flame', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1413, 851, 43, 654, 1, 0, 0, 0, 0, 'Zalashji\'s Den', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1429, 852, 43, 845, 1, 0, 0, 0, 0, 'Tower of Eldara', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1444, 853, 43, 865, 1, 0, 0, 0, 0, 'Shatter Scar Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1457, 854, 43, 625, 1, 0, 0, 0, 0, 'The Marshlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1469, 856, 43, 1026, 1, 0, 0, 0, 0, 'Hive\'Regal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1477, 857, 43, 1005, 1, 0, 0, 0, 0, 'Mazthoril', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1489, 43, 8, 750, 1, 0, 0, 0, 0, 'The Barrens', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1512, 859, 43, 1132, 1, 0, 0, 0, 0, 'North Sanctum', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1536, 858, 43, 1153, 1, 0, 0, 0, 0, 'Sanctum of the Moon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1556, 860, 43, 1367, 1, 0, 0, 0, 0, 'Emberglade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1577, 861, 43, 1332, 1, 0, 0, 0, 0, 'Bloodcurse Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1609, 862, 43, 1203, 1, 0, 0, 0, 0, 'Honor Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1647, 863, 43, 1139, 1, 0, 0, 0, 0, 'Marshlight Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1668, 864, 43, 1107, 1, 0, 0, 0, 0, 'Shadowmoon Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1688, 865, 43, 1292, 1, 0, 0, 0, 0, 'Bloodmaul Outpost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1713, 866, 43, 1193, 1, 0, 0, 0, 0, 'Laughing Skull Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1729, 867, 43, 1169, 1, 0, 0, 0, 0, 'Grangol\'var Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1762, 843, 43, 1183, 1, 0, 0, 0, 0, 'Manaforge Ara', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1786, 44, 8, 865, 1, 0, 0, 0, 0, 'Blade\'s Edge Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1794, 868, 43, 1459, 1, 0, 0, 0, 0, 'Greengill Coast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (1805, 220, 1, 30, 1, 3, 30, 3, 30, 'Tower A3 owned by the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 5), + (1814, 873, 1, 30, 1, 3, 30, 3, 30, 'Tower A3 owned by the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 5), + (1840, 878, 42, 13887, 1, 0, 0, 0, 0, '52 Pound Redgill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1849, 879, 36, 12354, 1, 0, 0, 0, 0, 'Palomino', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (1890, 905, 27, 11668, 1, 0, 0, 0, 0, 'Shrimpin\' Ain\'t Easy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1914, 910, 27, 8619, 1, 0, 0, 0, 0, 'Elder Morndeep in Blackrock Depths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1920, 911, 27, 8680, 1, 0, 0, 0, 0, 'Elder Windtotem in Ratchet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (1926, 912, 27, 8716, 1, 0, 0, 0, 0, 'Elder Starglade in Zul\'Gurub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (2001, 913, 8, 915, 0, 0, 0, 0, 0, 'Elders of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (2034, 948, 46, 930, 42000, 0, 0, 0, 0, 'Exalted Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (2058, 961, 27, 12732, 1, 0, 0, 0, 0, 'The Heartblood\'s Strength', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (2066, 962, 27, 12736, 1, 0, 0, 0, 0, 'Song of Reflection', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (2076, 963, 27, 12334, 1, 0, 0, 0, 0, 'Darnassus, Craftsmen\'s Terrace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (2103, 965, 27, 12400, 1, 0, 0, 0, 0, 'Winterspring, Everlook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (2136, 966, 27, 12351, 1, 0, 0, 0, 0, 'Hinterlands, Aerie Peak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (2149, 967, 27, 12365, 1, 0, 0, 0, 0, 'Eversong Woods, Fairbreeze Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (2199, 969, 27, 12357, 1, 0, 0, 0, 0, 'Nagrand, Telaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (2221, 968, 27, 12388, 1, 0, 0, 0, 0, 'Hellfire Peninsula, Thrallmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (2264, 979, 36, 20565, 1, 0, 0, 0, 0, 'Flimsy Female Human Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (2339, 621, 57, 35280, 1, 0, 0, 0, 0, 'Tabard of Summer Flames', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (2346, 556, 49, 5, 1, 0, 0, 0, 0, 'Waist', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (2363, 245, 52, 2, 1, 0, 0, 0, 0, 'Paladin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (2373, 246, 53, 8, 1, 0, 0, 0, 0, 'Troll', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (2378, 1005, 53, 4, 1, 0, 0, 0, 0, 'Night Elf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3067, 1022, 27, 11814, 1, 0, 0, 0, 0, 'Duskwood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3080, 1023, 27, 11812, 1, 0, 0, 0, 0, 'Desolace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3093, 1024, 27, 11823, 1, 0, 0, 0, 0, 'Shadowmoon Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3105, 1025, 27, 11850, 1, 0, 0, 0, 0, 'Ghostlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3116, 1026, 27, 11849, 1, 0, 0, 0, 0, 'Feralas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3128, 1027, 27, 11855, 1, 0, 0, 0, 0, 'Shadowmoon Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3135, 1028, 27, 11774, 1, 0, 0, 0, 0, 'Ghostlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3146, 1029, 27, 11773, 1, 0, 0, 0, 0, 'Feralas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3158, 1030, 27, 11779, 1, 0, 0, 0, 0, 'Shadowmoon Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3165, 1031, 27, 11743, 1, 0, 0, 0, 0, 'Duskwood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3178, 1032, 27, 11741, 1, 0, 0, 0, 0, 'Desolace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3190, 1033, 27, 11752, 1, 0, 0, 0, 0, 'Shadowmoon Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3213, 283, 28, 24717, 1, 0, 0, 0, 0, 'Transformed by Hallowed Wand - Pirate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3305, 344, 41, 20232, 1, 0, 0, 0, 0, 'Defiler\'s Mageweave Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3396, 1167, 8, 225, 0, 0, 0, 0, 0, 'Everything Counts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3408, 1168, 8, 1164, 0, 0, 0, 0, 0, 'Everything Counts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3420, 1169, 8, 1153, 0, 0, 0, 0, 0, 'Overly Defensive', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3435, 1170, 8, 1153, 0, 0, 0, 0, 0, 'Overly Defensive', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3450, 1171, 8, 213, 0, 0, 0, 0, 0, 'Stormtrooper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3465, 1172, 8, 168, 0, 0, 0, 0, 0, 'Warsong Gulch Perfection', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3480, 1173, 8, 168, 0, 0, 0, 0, 0, 'Warsong Gulch Perfection', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3492, 1174, 8, 1161, 0, 0, 0, 0, 0, 'High Five: 2200', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3519, 1183, 28, 42261, 1, 0, 0, 0, 0, 'Lord of Frost\'s Private Label', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3534, 1184, 41, 33036, 1, 0, 0, 0, 0, 'Mudder\'s Milk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3546, 1185, 41, 33025, 1, 0, 0, 0, 0, 'Spicy Smoked Sausage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3564, 1187, 36, 27991, 1, 0, 0, 0, 0, 'Shadow Labyrinth Key', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3598, 1203, 41, 33036, 1, 0, 0, 0, 0, 'Mudder\'s Milk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3627, 1225, 72, 182957, 1, 0, 0, 0, 0, 'Highland Mixed School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3727, 557, 49, 5, 1, 0, 0, 0, 0, 'Waist', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3745, 1206, 54, 225, 1, 0, 0, 0, 0, 'Chicken', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3766, 1244, 68, 21582, 1, 0, 0, 0, 0, 'Beyond the Dark Portal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3808, 161, 1, 529, 1, 0, 0, 0, 0, 'Overcome a 500 resource disadvantage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (3867, 153, 72, 182958, 1, 0, 0, 0, 0, 'Mudfish School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (3876, 1257, 72, 180751, 1, 0, 0, 0, 0, 'Floating Wreckage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3887, 1262, 8, 1193, 0, 0, 0, 0, 0, 'On the Blade\'s Edge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3908, 45, 8, 1267, 0, 0, 0, 0, 0, 'Zul\'Drak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3919, 1274, 8, 1193, 0, 0, 0, 0, 0, 'On the Blade\'s Edge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3943, 1283, 8, 632, 0, 0, 0, 0, 0, 'Blackfathom Deeps', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (3968, 1284, 8, 651, 0, 0, 0, 0, 0, 'Mana-Tombs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4013, 1285, 8, 689, 0, 0, 0, 0, 0, 'Ruins of Ahn\'Qiraj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4018, 1286, 8, 694, 0, 0, 0, 0, 0, 'Serpentshrine Cavern', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4027, 1287, 8, 671, 0, 0, 0, 0, 0, 'Heroic Mana-Tombs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4044, 1288, 8, 481, 0, 0, 0, 0, 0, 'Ahn\'kahet: The Old Kingdom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4060, 1289, 8, 492, 0, 0, 0, 0, 0, 'Heroic Ahn\'kahet: The Old Kingdom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4076, 1292, 36, 32920, 1, 0, 0, 0, 0, 'Filled Yellow Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (4082, 1293, 36, 33020, 1, 0, 0, 0, 0, 'Filled Blue Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (4126, 1264, 43, 1473, 0, 0, 0, 0, 0, 'Garrosh\'s Landing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4140, 1263, 43, 1498, 0, 0, 0, 0, 0, 'Vengeance Landing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4163, 1265, 43, 1491, 0, 0, 0, 0, 0, 'New Hearthglen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4182, 1266, 43, 1470, 0, 0, 0, 0, 0, 'Granite Springs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4196, 1267, 43, 1534, 0, 0, 0, 0, 0, 'Altar of Rhunok', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4210, 1268, 43, 1548, 0, 0, 0, 0, 0, 'Makers\' Perch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4270, 684, 27, 7509, 1, 0, 0, 0, 0, 'The Forging of Quel\'Serrar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (4292, 345, 41, 31676, 0, 0, 0, 0, 0, 'Fel Regeneration Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4314, 922, 41, 33935, 0, 0, 0, 0, 0, 'Crystal Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4340, 923, 41, 28103, 0, 0, 0, 0, 0, 'Adept\'s Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4415, 811, 41, 22851, 0, 0, 0, 0, 0, 'Flask of Fortification', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4446, 643, 27, 4742, 1, 0, 0, 0, 0, 'Seal of Ascension', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (4454, 687, 27, 8666, 1, 0, 0, 0, 0, 'Genesis Vest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (4478, 657, 27, 9525, 1, 0, 0, 0, 0, 'Imprisoned in the Citadel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (4496, 693, 27, 11003, 1, 0, 0, 0, 0, 'The Fall of Magtheridon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (4508, 1311, 0, 18694, 1, 0, 0, 0, 0, 'Collidus the Warp-Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4564, 685, 36, 19380, 1, 0, 0, 0, 0, 'Therazane\'s Link', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (4600, 698, 36, 34333, 1, 0, 0, 0, 0, 'Coif of Alleria', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (4621, 695, 36, 30902, 1, 0, 0, 0, 0, 'Cataclysm\'s Edge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (4723, 812, 41, 19008, 0, 0, 0, 0, 0, 'Healthstone (1)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4741, 924, 46, 1091, 42000, 0, 0, 0, 0, 'Exlated with the Wyrmrest Accord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4754, 925, 46, 978, 42000, 0, 0, 0, 0, 'Exlated with the Kurenai', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4772, 927, 49, 11, 1, 0, 0, 0, 0, 'Ring is Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4791, 697, 36, 32336, 1, 0, 0, 0, 0, 'Black Bow of the Betrayer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (4821, 696, 36, 29997, 1, 0, 0, 0, 0, 'Band of the Ranger-General', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (4851, 694, 36, 33482, 1, 0, 0, 0, 0, 'Cobra-Lash Boots', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (4910, 692, 36, 28802, 1, 0, 0, 0, 0, 'Bloodmaw Magus-Blade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (4952, 107, 78, 0, 0, 0, 0, 0, 0, 'Giant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4969, 796, 28, 10880, 0, 0, 0, 0, 0, 'Resurrection (Rank 3)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4975, 798, 28, 20742, 0, 0, 0, 0, 0, 'Rebirth (Rank 3)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4981, 1229, 28, 50767, 0, 0, 0, 0, 0, 'Revive (Rank 3)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (4996, 350, 68, 184594, 0, 0, 0, 0, 0, 'Portal to Shattrath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5024, 388, 70, 0, 50, 0, 0, 0, 0, 'Craftsmen\'s Terrace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (5035, 1006, 70, 0, 50, 0, 0, 0, 0, 'Elder Rise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (5049, 1360, 8, 1356, 1, 0, 0, 0, 0, 'I\'ve Toured the Fjord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5053, 495, 0, 29932, 1, 0, 0, 0, 0, 'Eck the Ferocious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5054, 492, 0, 30258, 1, 0, 0, 0, 0, 'Amanitar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5057, 1307, 27, 9013, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (5076, 227, 13, 0, 300000, 3, 607, 3, 607, 'Do 300,000 Damage in Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 5), + (5083, 284, 36, 20565, 1, 0, 0, 0, 0, 'Flimsy Female Human Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5145, 1396, 27, 13033, 1, 0, 0, 0, 0, 'Elder Arp in D.E.H.T.A', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5294, 1457, 43, 1601, 0, 0, 0, 0, 0, 'Windrunner\'s Overlook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5317, 926, 46, 911, 42000, 0, 0, 0, 0, 'Exalted with Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5332, 1466, 46, 930, 42000, 0, 0, 0, 0, 'Exalted with Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5447, 1467, 0, 31134, 1, 0, 0, 0, 0, 'Cyanigosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (5503, 382, 35, 0, 0, 0, 0, 0, 0, 'Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5540, 1491, 56, 0, 0, 0, 0, 0, 0, 'Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5555, 1199, 40, 182, 1, 0, 0, 0, 0, 'Herbalism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5570, 1201, 7, 773, 450, 0, 0, 0, 0, 'Inscription', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5580, 1202, 7, 54, 400, 0, 0, 0, 0, 'Maces', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5629, 1103, 0, 28923, 1, 0, 0, 0, 0, 'Kronus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5666, 1516, 8, 306, 0, 0, 0, 0, 0, 'Master Angler of Stranglethorn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5684, 1517, 72, 192050, 1, 0, 0, 0, 0, 'Glacial Salmon School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5710, 1526, 27, 11668, 1, 0, 0, 0, 0, 'Shrimpin\' Ain\'t Easy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5777, 291, 110, 44212, 1, 0, 0, 0, 0, 'Human', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5810, 699, 32, 617, 1, 0, 0, 0, 0, 'Dalaran Sewers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5824, 1656, 8, 981, 0, 0, 0, 0, 0, 'That Sparkling Smile', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5836, 1657, 8, 981, 0, 0, 0, 0, 0, 'That Sparkling Smile', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5847, 1269, 43, 1581, 0, 0, 0, 0, 0, 'Valkyrion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5863, 1270, 43, 1570, 0, 0, 0, 0, 0, 'The Fleshwerks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5883, 1658, 0, 27978, 1, 0, 0, 0, 0, 'Heroic: Sjonnir the Ironshaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5895, 839, 15, 489, 0, 0, 0, 0, 0, 'Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5899, 840, 1, 489, 0, 0, 0, 0, 0, 'Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (5904, 1676, 11, 1583, 700, 0, 0, 0, 0, 'Blackrock Spire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (5956, 1677, 11, 1583, 550, 0, 0, 0, 0, 'Blackrock Spire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (6008, 1678, 11, 719, 700, 0, 0, 0, 0, 'Blackfathom Deeps', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (6103, 1680, 11, 719, 685, 0, 0, 0, 0, 'Blackfathom Deeps', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (6190, 1683, 8, 303, 0, 0, 0, 0, 0, 'Have Keg, Will Travel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6217, 727, 34, 22724, 0, 0, 0, 0, 0, 'Black War Wolf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6230, 1686, 110, 26004, 1, 0, 0, 0, 0, 'Brother Kristoff in Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6241, 1687, 110, 44755, 1, 0, 0, 0, 0, 'Undead Rogue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6254, 1689, 27, 8803, 1, 0, 0, 0, 0, 'A Festive Gift', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (6266, 1691, 8, 277, 0, 0, 0, 0, 0, '\'Tis the Season', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6278, 1692, 8, 277, 0, 0, 0, 0, 0, '\'Tis the Season', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6315, 1699, 110, 27571, 1, 0, 0, 0, 0, 'Orc Shaman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6328, 1701, 29, 70574, 1, 0, 0, 0, 0, 'Hot Lips.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6347, 1704, 54, 203, 1, 0, 0, 0, 0, 'Naxxramas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6356, 1693, 8, 1695, 0, 0, 0, 0, 0, 'Dangerous Love', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6370, 1707, 8, 1695, 0, 0, 0, 0, 0, 'Dangerous Love', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6490, 1777, 29, 45563, 1, 0, 0, 0, 0, 'Grilled Sculpin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6605, 1563, 8, 1780, 0, 0, 0, 0, 0, 'Second That Emotion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6612, 1782, 27, 13107, 1, 0, 0, 0, 0, 'Mustard Dogs!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6617, 1783, 27, 13116, 1, 0, 0, 0, 0, 'Mustard Dogs!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6622, 1784, 8, 1780, 0, 0, 0, 0, 0, 'Second That Emotion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6630, 1785, 41, 34753, 1, 0, 0, 0, 0, 'Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6655, 1788, 41, 42434, 1, 0, 0, 0, 0, 'Lovely Cake Slice', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6665, 1792, 34, 28739, 0, 0, 0, 0, 0, 'Mr. Wiggles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (6747, 1793, 8, 1786, 0, 0, 0, 0, 0, 'School of Hard Knocks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (6765, 1800, 29, 33291, 1, 0, 0, 0, 0, 'Feltail Delight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7141, 1865, 0, 29315, 1, 0, 0, 0, 0, 'Erekem', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7154, 578, 0, 15936, 1, 0, 0, 0, 0, 'Heigan the Unclean', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7160, 579, 0, 15953, 1, 0, 0, 0, 0, 'Grand Widow Faerlina', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7194, 1066, 54, 23, 0, 0, 0, 0, 0, 'chuckle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7235, 1684, 8, 1936, 0, 0, 0, 0, 0, 'Does Your Wolpertinger Linger?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7240, 1956, 68, 192713, 1, 0, 0, 0, 0, 'The Schools of Arcane Magic - Enchantment', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7248, 1957, 36, 43637, 1, 0, 0, 0, 0, 'Brann Bronzebeard\'s Gold Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7282, 2016, 27, 12289, 1, 0, 0, 0, 0, 'Kick \'Em While They\'re Down', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7291, 2017, 27, 12288, 1, 0, 0, 0, 0, 'Overwhelmed!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7304, 2019, 27, 13249, 1, 0, 0, 0, 0, 'Proof of Demise: The Prophet Tharon\'ja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7336, 1038, 8, 1145, 0, 0, 0, 0, 0, 'King of the Fire Festival', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7340, 1039, 8, 1145, 0, 0, 0, 0, 0, 'King of the Fire Festival', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7445, 2094, 42, 43706, 1, 0, 0, 0, 0, 'Dornaa\'s Shiny Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7467, 2095, 42, 43675, 1, 0, 0, 0, 0, 'Fandral Staghelm\'s Silver Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7499, 2136, 8, 1296, 0, 0, 0, 0, 0, 'Watch Him Die', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7532, 2137, 8, 1997, 0, 0, 0, 0, 0, 'Momma Said Knock You Out', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7542, 2138, 8, 2140, 0, 0, 0, 0, 0, 'Momma Said Knock You Out (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7556, 2144, 8, 1038, 0, 0, 0, 0, 0, 'The Flame Warden', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7563, 2145, 8, 1039, 0, 0, 0, 0, 0, 'The Flame Keeper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7623, 231, 56, 0, 20, 3, 607, 1, 0, 'Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 5), + (7640, 230, 8, 2194, 0, 0, 0, 0, 0, 'Master of Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7641, 1175, 8, 2195, 0, 0, 0, 0, 0, 'Master of Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7646, 2194, 8, 2193, 0, 0, 0, 0, 0, 'Explosives Expert', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7658, 2195, 8, 2193, 0, 0, 0, 0, 0, 'Explosives Expert', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7708, 1723, 70, 0, 100, 0, 0, 0, 0, 'Bomber', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (7715, 2199, 70, 0, 10, 0, 0, 0, 0, 'Shadowsight Tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7728, 1752, 8, 2089, 0, 0, 0, 0, 0, '1000 Stone Keeper\'s Shards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7789, 322, 20, 28587, 0, 0, 0, 0, 0, 'Volkhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7811, 323, 20, 15931, 0, 0, 0, 0, 0, 'Grobbulus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7847, 324, 20, 28859, 0, 0, 0, 0, 0, 'Malygos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7852, 799, 28, 20776, 0, 0, 0, 0, 0, 'Ancestral Spirit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7860, 800, 28, 10324, 0, 0, 0, 0, 0, 'Redemption', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (7868, 801, 28, 3026, 0, 0, 0, 0, 0, 'Use Soulstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (8104, 2256, 0, 32358, 1, 0, 0, 0, 0, 'Fumblub Gearwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (8159, 263, 36, 35279, 1, 0, 0, 0, 0, 'Tabard of Summer Skies', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (8589, 837, 32, 572, 0, 0, 0, 0, 0, 'Ruins of Lordaeron Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (8593, 838, 33, 572, 0, 0, 0, 0, 0, 'Ruins of Lordaeron Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (8598, 363, 33, 618, 0, 0, 0, 0, 0, 'Ring of Valor 5v5 Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (8599, 362, 32, 617, 0, 0, 0, 0, 0, 'Dalaran 5v5 Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (8603, 365, 33, 617, 0, 0, 0, 0, 0, 'Dalaran 3v3 Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (8607, 364, 32, 617, 0, 0, 0, 0, 0, 'Dalaran 3v3 Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (8611, 367, 33, 617, 0, 0, 0, 0, 0, 'Dalaran 2v2 Matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (8617, 366, 32, 572, 0, 0, 0, 0, 0, 'Ruins of Lordaeron 2v2 Wins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (8696, 347, 41, 20224, 0, 0, 0, 0, 0, 'Defiler\'s Iron Ration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (8822, 2336, 46, 470, 42000, 0, 0, 0, 0, 'Exalted with Ratchet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (8838, 321, 18, 40, 0, 0, 0, 0, 0, '40 man instances', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (8989, 346, 41, 15723, 0, 0, 0, 0, 0, 'Tea with Sugar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (9141, 2436, 29, 61818, 1, 0, 0, 0, 0, 'Thousand Needles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9144, 2422, 110, 61815, 1, 0, 0, 0, 0, 'Human', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9164, 383, 70, 0, 0, 0, 0, 0, 0, 'The Ring of Valor Arena Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9166, 1490, 56, 0, 0, 0, 0, 0, 0, 'Ring of Valor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9303, 2557, 54, 225, 1, 0, 0, 0, 0, 'Glacier Penguin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9361, 2556, 0, 9699, 1, 0, 0, 0, 0, 'Fire Beetle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9578, 686, 36, 17182, 1, 0, 0, 0, 0, 'Sulfuras, Hand of Ragnaros', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (9672, 2770, 8, 2763, 0, 0, 0, 0, 0, 'Champion of Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9677, 2771, 8, 2768, 0, 0, 0, 0, 0, 'Champion of Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9721, 2090, 74, 0, 1, 0, 0, 0, 0, 'Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (9755, 2758, 27, 13696, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 5), + (9764, 2776, 8, 2089, 0, 0, 0, 0, 0, '1000 Stone Keeper\'s Shards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9782, 2782, 8, 2780, 0, 0, 0, 0, 0, 'Champion of Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9792, 2788, 8, 2786, 0, 0, 0, 0, 0, 'Champion of Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9867, 2797, 8, 2421, 0, 0, 0, 0, 0, 'Noble Garden', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9873, 2798, 8, 2416, 0, 0, 0, 0, 0, 'Hard Boiled', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9902, 2816, 8, 2769, 0, 0, 0, 0, 0, 'Champion of the Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9908, 2817, 8, 2764, 0, 0, 0, 0, 0, 'Champion of Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9974, 1770, 0, 33293, 1, 0, 0, 0, 0, 'XT-002 Deconstructor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (9975, 1756, 0, 33293, 1, 0, 0, 0, 0, 'XT-002 Deconstructor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (10104, 2957, 8, 2941, 0, 0, 0, 0, 0, 'I Choose You, Steelbreaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (10227, 2836, 28, 64811, 1, 0, 0, 0, 0, 'Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (10369, 2958, 8, 2944, 0, 0, 0, 0, 0, 'I Choose You, Steelbreaker (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (10524, 3217, 27, 13836, 1, 0, 0, 0, 0, 'Disarmed!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (10598, 2903, 28, 65195, 1, 0, 0, 0, 0, 'Assembly of Iron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (10599, 2904, 28, 65195, 1, 0, 0, 0, 0, 'Assembly of Iron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (10879, 2093, 74, 0, 1, 0, 0, 0, 0, 'Deadly Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (10966, 303, 41, 37750, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16774142, 2, 0, 0, 0, 5), + (11090, 3558, 29, 66375, 1, 0, 0, 0, 0, 'Spice Bread Stuffing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (11122, 3576, 29, 62050, 1, 0, 0, 0, 0, 'Spice Bread Stuffing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (11127, 3577, 29, 66038, 1, 0, 0, 0, 0, 'Spice Bread Stuffing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (11159, 3559, 110, 61781, 1, 0, 0, 0, 0, 'Night Elf Rogue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (11181, 3579, 110, 61928, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16741886, 2, 0, 0, 0, 5), + (11199, 3596, 27, 14053, 1, 0, 0, 0, 0, 'We\'re Out of Cranberry Chutney Again?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (11207, 3597, 27, 14059, 1, 0, 0, 0, 0, 'We\'re Out of Cranberry Chutney Again?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (11261, 3478, 8, 3596, 0, 0, 0, 0, 0, 'Pilgrim\'s Progress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (11270, 3656, 8, 3597, 0, 0, 0, 0, 0, 'Pilgrim\'s Progress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (11324, 3696, 27, 13699, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775167, 2, 0, 0, 0, 5), + (11506, 3857, 8, 3849, 0, 0, 0, 0, 0, 'A-bomb-ination', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (11549, 3812, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (11683, 3916, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (11688, 3917, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (11693, 3918, 0, 34564, 1, 0, 0, 0, 0, 'Complete the Trial of the Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (11753, 3957, 8, 3849, 0, 0, 0, 0, 0, 'A-bomb-ination', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (11907, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Lucifron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (11960, 1525, 27, 13100, 1, 0, 0, 0, 0, 'Infused Mushroom Meatloaf - Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (12162, 3853, 31, 4753, 1, 3, 628, 3, 628, 'Alliance Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 4, 0, 0, 0, 5), + (12301, 3778, 28, 68572, 1, 0, 0, 0, 0, 'Jaelyne Evensong', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (12306, 4296, 28, 68572, 1, 0, 0, 0, 0, 'Zul\'tore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (12314, 4297, 28, 68572, 1, 0, 0, 0, 0, 'Jaelyne Evensong', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (12322, 4298, 28, 68572, 1, 0, 0, 0, 0, 'Zul\'tore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (12498, 3838, 42, 49426, 1, 0, 0, 0, 0, 'Emblem of Frost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (12499, 3839, 42, 49426, 25, 0, 0, 0, 0, 'Emblem of Frost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (12500, 3840, 42, 49426, 50, 0, 0, 0, 0, 'Emblem of Frost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (12501, 3841, 42, 49426, 100, 0, 0, 0, 0, 'Emblem of Frost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (12502, 3842, 42, 49426, 250, 0, 0, 0, 0, 'Emblem of Frost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (12503, 3843, 42, 49426, 500, 0, 0, 0, 0, 'Emblem of Frost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (12504, 3844, 42, 49426, 1000, 0, 0, 0, 0, 'Emblem of Frost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (12505, 3876, 42, 49426, 1500, 0, 0, 0, 0, 'Emblem of Frost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (12506, 4316, 42, 49426, 2500, 0, 0, 0, 0, 'Emblem of Frost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 5), + (12579, 229, 35, 0, 30, 3, 628, 3, 628, '30 hks in ioc', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (12622, 4416, 34, 67415, 0, 0, 0, 0, 0, 'Gundrak Hatchling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (12659, 4436, 110, 67531, 1, 0, 0, 0, 0, 'Vol\'jin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (12666, 4437, 110, 67531, 1, 0, 0, 0, 0, 'Tyrande Whisperwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (12682, 4456, 0, 28923, 1, 0, 0, 0, 0, 'Kronus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (12769, 4532, 8, 4530, 0, 0, 0, 0, 0, 'The Frozen Throne', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (12802, 4556, 0, 28923, 1, 0, 0, 0, 0, 'Kronus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (12881, 1695, 27, 24663, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 5), + (12906, 4596, 27, 24800, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 5), + (12917, 4602, 8, 4534, 0, 0, 0, 0, 0, 'Boned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (12957, 4608, 8, 4597, 0, 0, 0, 0, 0, 'The Frozen Throne', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (13003, 2092, 74, 0, 1, 0, 0, 0, 0, 'Relentless Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (13016, 4603, 8, 4610, 0, 0, 0, 0, 0, 'Boned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (13065, 4636, 8, 4583, 0, 0, 0, 0, 0, 'The Frozen Throne', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (13070, 4637, 8, 4584, 0, 0, 0, 0, 0, 'The Frozen Throne', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (13235, 2186, 0, 15928, 1, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (13240, 2187, 0, 15928, 1, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (13308, 1104, 0, 34564, 1, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (13310, 1768, 0, 34564, 1, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 5), + (13376, 4782, 36, 37894, 1, 0, 0, 0, 0, 'Filled Green Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5), + (13383, 4784, 36, 49426, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 5), + (13388, 4785, 36, 49426, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 5), + (13400, 4788, 34, 35529, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 5), + (13413, 4789, 34, 31432, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 5), + (88, 41, 8, 39, 1, 0, 0, 0, 0, 'Into the Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (388, 576, 8, 574, 0, 0, 0, 0, 0, 'Kel\'Thuzad\'s Defeat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (394, 577, 8, 575, 0, 0, 0, 0, 0, 'Kel\'Thuzad\'s Defeat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (501, 626, 36, 21539, 1, 0, 0, 0, 0, 'Festive Purple Dress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (507, 627, 43, 110, 1, 0, 0, 0, 0, 'The Tundrid Hills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (621, 116, 40, 773, 2, 0, 0, 0, 0, 'Inscription', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (655, 705, 7, 54, 400, 0, 0, 0, 0, 'Maces', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (764, 700, 36, 29592, 1, 0, 0, 0, 0, 'Insignia of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (784, 701, 36, 18858, 1, 0, 0, 0, 0, 'Insignia of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (827, 728, 43, 252, 1, 0, 0, 0, 0, 'Razor Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (853, 731, 40, 773, 3, 0, 0, 0, 0, 'Inscription', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (864, 732, 40, 773, 4, 0, 0, 0, 0, 'Inscription', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (875, 733, 40, 773, 5, 0, 0, 0, 0, 'Inscription', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (886, 734, 40, 773, 6, 0, 0, 0, 0, 'Inscription', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (897, 735, 40, 773, 6, 0, 0, 0, 0, 'Inscription', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (907, 736, 43, 192, 1, 0, 0, 0, 0, 'The Venture Co. Mine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (922, 750, 43, 466, 1, 0, 0, 0, 0, 'The Forgotten Pools', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (952, 760, 43, 446, 1, 0, 0, 0, 0, 'Gallows\' Corner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (966, 761, 43, 566, 1, 0, 0, 0, 0, 'Faldir\'s Cove', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1019, 765, 43, 586, 1, 0, 0, 0, 0, 'Apocryphan\'s Rest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1033, 766, 43, 826, 1, 0, 0, 0, 0, 'Altar of Storms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1042, 768, 43, 231, 1, 0, 0, 0, 0, 'Cold Hearth Manor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1058, 769, 43, 306, 1, 0, 0, 0, 0, 'Fenris Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1073, 770, 43, 966, 1, 0, 0, 0, 0, 'Felstone Field', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1086, 771, 43, 889, 1, 0, 0, 0, 0, 'Darrowshire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1108, 772, 43, 406, 1, 0, 0, 0, 0, 'Eastern Strand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1120, 773, 43, 606, 1, 0, 0, 0, 0, 'Valorwind Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1134, 774, 43, 726, 1, 0, 0, 0, 0, 'Grimesilt Dig Site', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1141, 775, 43, 786, 1, 0, 0, 0, 0, 'The Pillar of Ash', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1151, 776, 43, 126, 1, 0, 0, 0, 0, 'Jerod\'s Landing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1166, 778, 43, 426, 1, 0, 0, 0, 0, 'Twilight Grove', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1179, 779, 43, 321, 1, 0, 0, 0, 0, 'The Farstrider Lodge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1191, 780, 43, 367, 1, 0, 0, 0, 0, 'Alther\'s Mill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1201, 781, 43, 502, 1, 0, 0, 0, 0, 'Wild Shore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1228, 782, 43, 546, 1, 0, 0, 0, 0, 'Stonard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1253, 802, 43, 285, 1, 0, 0, 0, 0, 'The Molsen Farm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1267, 841, 43, 386, 1, 0, 0, 0, 0, 'Saltspray Glen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1281, 42, 8, 775, 1, 0, 0, 0, 0, 'Burning Steppes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1304, 842, 43, 89, 1, 0, 0, 0, 0, 'Pools of Arlithrien', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1319, 844, 43, 346, 1, 0, 0, 0, 0, 'Ameth\'Aran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1328, 845, 43, 746, 1, 0, 0, 0, 0, 'Fire Scar Shrine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1346, 846, 43, 682, 1, 0, 0, 0, 0, 'Windbreak Canyon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1355, 847, 43, 926, 1, 0, 0, 0, 0, 'Sishir Canyon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1374, 848, 43, 770, 1, 0, 0, 0, 0, 'Kolkar Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1384, 849, 43, 985, 1, 0, 0, 0, 0, 'The Forgotten Coast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1397, 850, 43, 666, 1, 0, 0, 0, 0, 'Wyrmbog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1414, 851, 43, 653, 1, 0, 0, 0, 0, 'Lost Rigger Cove', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1430, 852, 43, 846, 1, 0, 0, 0, 0, 'Temple of Arkkoran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1445, 853, 43, 866, 1, 0, 0, 0, 0, 'Bloodvenom Falls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1458, 854, 43, 626, 1, 0, 0, 0, 0, 'Ironstone Plateau', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1470, 856, 43, 1027, 1, 0, 0, 0, 0, 'The Scarab Wall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1478, 857, 43, 1010, 1, 0, 0, 0, 0, 'Everlook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1490, 43, 8, 844, 1, 0, 0, 0, 0, 'Darkshore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1513, 859, 43, 1134, 1, 0, 0, 0, 0, 'East Sanctum', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1537, 858, 43, 1155, 1, 0, 0, 0, 0, 'Sanctum of the Sun', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1557, 860, 43, 1368, 1, 0, 0, 0, 0, 'Fairbridge Strand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1578, 861, 43, 1333, 1, 0, 0, 0, 0, 'Blood Watch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1626, 862, 43, 1208, 1, 0, 0, 0, 0, 'Mag\'har Post', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1648, 863, 43, 1141, 1, 0, 0, 0, 0, 'Quagg Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1669, 864, 43, 1110, 1, 0, 0, 0, 0, 'The Black Temple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1689, 865, 43, 1293, 1, 0, 0, 0, 0, 'Broken Wilds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1714, 866, 43, 1194, 1, 0, 0, 0, 0, 'Spirit Fields', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1731, 867, 43, 1171, 1, 0, 0, 0, 0, 'Stonebreaker Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1763, 843, 43, 1184, 1, 0, 0, 0, 0, 'Manaforge Ultris', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1787, 44, 8, 843, 1, 0, 0, 0, 0, 'Netherstorm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1795, 868, 43, 1460, 1, 0, 0, 0, 0, 'The Dead Scar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (1806, 220, 1, 30, 1, 3, 30, 3, 30, 'Tower A4 owned by the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 6), + (1815, 873, 1, 30, 1, 3, 30, 3, 30, 'Tower A4 owned by the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 6), + (1841, 878, 42, 13905, 1, 0, 0, 0, 0, '29 Pound Salmon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1915, 910, 27, 8727, 1, 0, 0, 0, 0, 'Elder Farwhisper in Stratholme', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1927, 912, 27, 8674, 1, 0, 0, 0, 0, 'Elder Winterhoof in Booty Bay', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (1951, 911, 27, 8715, 1, 0, 0, 0, 0, 'Elder Bladeleaf in Dolanaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (2059, 961, 27, 12741, 1, 0, 0, 0, 0, 'Strength of the Tempest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (2067, 962, 27, 12726, 1, 0, 0, 0, 0, 'Song of Wind and Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (2077, 963, 27, 12348, 1, 0, 0, 0, 0, 'Desolace, Nijel\'s Point', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (2105, 965, 27, 12377, 1, 0, 0, 0, 0, 'Ashenvale, Splintertree Post', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (2137, 966, 27, 12335, 1, 0, 0, 0, 0, 'Ironforge, The Commons', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (2150, 967, 27, 12364, 1, 0, 0, 0, 0, 'Eversong Woods, Falconwing Square', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (2200, 969, 27, 12360, 1, 0, 0, 0, 0, 'Shadowmoon Valley, Wildhammer Stronghold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (2222, 968, 27, 12395, 1, 0, 0, 0, 0, 'Shadowmoon Valley, Shadowmoon Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (2265, 979, 36, 20563, 1, 0, 0, 0, 0, 'Flimsy Female Nightelf Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (2340, 621, 57, 5976, 1, 0, 0, 0, 0, 'Guild Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (2347, 556, 49, 6, 1, 0, 0, 0, 0, 'Legs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (2364, 245, 52, 5, 1, 0, 0, 0, 0, 'Priest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3068, 1022, 27, 11816, 1, 0, 0, 0, 0, 'Elwynn Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3081, 1023, 27, 11815, 1, 0, 0, 0, 0, 'Dustwallow Marsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3094, 1024, 27, 11825, 1, 0, 0, 0, 0, 'Terokkar Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3106, 1025, 27, 11853, 1, 0, 0, 0, 0, 'Hillsbrad Foothills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3117, 1026, 27, 11852, 1, 0, 0, 0, 0, 'Mulgore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3129, 1027, 27, 11858, 1, 0, 0, 0, 0, 'Terokkar Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3136, 1028, 27, 11776, 1, 0, 0, 0, 0, 'Hillsbrad Foothills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3147, 1029, 27, 11777, 1, 0, 0, 0, 0, 'Mulgore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3159, 1030, 27, 11782, 1, 0, 0, 0, 0, 'Terokkar Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3166, 1031, 27, 11745, 1, 0, 0, 0, 0, 'Elwynn Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3179, 1032, 27, 11744, 1, 0, 0, 0, 0, 'Dustwallow Marsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3191, 1033, 27, 11754, 1, 0, 0, 0, 0, 'Terokkar Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3214, 283, 28, 24724, 1, 0, 0, 0, 0, 'Transformed by Hallowed Wand - Skeleton', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3306, 344, 41, 20234, 1, 0, 0, 0, 0, 'Defiler\'s Runecloth Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3397, 1167, 8, 226, 0, 0, 0, 0, 0, 'The Alterac Blitz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3409, 1168, 8, 226, 0, 0, 0, 0, 0, 'The Alterac Blitz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3421, 1169, 8, 157, 0, 0, 0, 0, 0, 'To The Rescue!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3436, 1170, 8, 157, 0, 0, 0, 0, 0, 'To The Rescue!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3451, 1171, 8, 212, 0, 0, 0, 0, 0, 'Storm Capper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3466, 1172, 8, 201, 0, 0, 0, 0, 0, 'Warsong Expedience', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3481, 1173, 8, 201, 0, 0, 0, 0, 0, 'Warsong Expedience', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3493, 1174, 8, 408, 0, 0, 0, 0, 0, 'Hot Streak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3520, 1183, 28, 42255, 1, 0, 0, 0, 0, 'Izzard\'s Ever Flavor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3535, 1184, 41, 33035, 1, 0, 0, 0, 0, 'Ogre Mead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3547, 1185, 41, 34064, 1, 0, 0, 0, 0, 'Succulent Sausage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3565, 1187, 36, 11000, 1, 0, 0, 0, 0, 'Shadowforge Key', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3599, 1203, 41, 33035, 1, 0, 0, 0, 0, 'Ogre Mead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3628, 1225, 72, 182953, 1, 0, 0, 0, 0, 'Sporefish School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3728, 557, 49, 6, 1, 0, 0, 0, 0, 'Legs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3746, 1206, 54, 225, 1, 0, 0, 0, 0, 'Cow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3767, 1244, 68, 175726, 1, 0, 0, 0, 0, 'Charge of the Dragonflights', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3809, 161, 1, 529, 1, 0, 0, 0, 0, 'Overcome a 500 resource disadvantage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (3859, 153, 72, 180682, 1, 0, 0, 0, 0, 'Oily Blackmouth School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (3888, 1262, 8, 1194, 0, 0, 0, 0, 0, 'Into the Nether', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3909, 45, 8, 1268, 0, 0, 0, 0, 0, 'Sholazar Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3920, 1274, 8, 1194, 0, 0, 0, 0, 0, 'Into the Nether', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3944, 1283, 8, 633, 0, 0, 0, 0, 0, 'Stormwind Stockade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (3969, 1284, 8, 652, 0, 0, 0, 0, 0, 'The Escape From Durnholde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4019, 1286, 8, 695, 0, 0, 0, 0, 0, 'The Battle for Mount Hyjal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4028, 1287, 8, 673, 0, 0, 0, 0, 0, 'Heroic The Escape From Durnholde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4045, 1288, 8, 482, 0, 0, 0, 0, 0, 'Drak\'Tharon Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4061, 1289, 8, 493, 0, 0, 0, 0, 0, 'Heroic Drak\'Tharon Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4077, 1292, 36, 32919, 1, 0, 0, 0, 0, 'Filled Yellow Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (4083, 1293, 36, 33021, 1, 0, 0, 0, 0, 'Filled Blue Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (4127, 1264, 43, 1475, 0, 0, 0, 0, 0, 'Death\'s Stand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4141, 1263, 43, 1500, 0, 0, 0, 0, 0, 'Steel Gate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4164, 1265, 43, 1492, 0, 0, 0, 0, 0, 'Naxxramas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4183, 1266, 43, 1471, 0, 0, 0, 0, 0, 'Grizzlemaw', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4197, 1267, 43, 1535, 0, 0, 0, 0, 0, 'Altar of Quetz\'lun', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4211, 1268, 43, 1549, 0, 0, 0, 0, 0, 'The Suntouched Pillar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4271, 684, 36, 17966, 1, 0, 0, 0, 0, 'Onyxia Hide Backpack', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (4293, 345, 41, 1710, 0, 0, 0, 0, 0, 'Greater Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4315, 922, 41, 12190, 0, 0, 0, 0, 0, 'Dreamless Sleep Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4341, 923, 41, 9155, 0, 0, 0, 0, 0, 'Arcane Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4416, 811, 41, 22853, 0, 0, 0, 0, 0, 'Flask of Mighty Restoration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4455, 687, 27, 8622, 1, 0, 0, 0, 0, 'Stormcaller\'s Hauberk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (4479, 657, 27, 10884, 1, 0, 0, 0, 0, 'Trial of the Naaru: Mercy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (4509, 1311, 0, 18689, 1, 0, 0, 0, 0, 'Crippler', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4545, 686, 36, 19138, 1, 0, 0, 0, 0, 'Band of Sulfuras', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (4565, 685, 36, 19376, 1, 0, 0, 0, 0, 'Archimtiros\' Ring of Reckoning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (4601, 698, 36, 34245, 1, 0, 0, 0, 0, 'Cover of Ursol the Wise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (4622, 695, 36, 30912, 1, 0, 0, 0, 0, 'Leggings of Eternity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (4724, 812, 41, 19009, 0, 0, 0, 0, 0, 'Healthstone (2)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4742, 924, 46, 1090, 42000, 0, 0, 0, 0, 'Exlated with the Kirin Tor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4755, 925, 46, 1015, 42000, 0, 0, 0, 0, 'Exlated with the Netherwing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4773, 927, 49, 10, 1, 0, 0, 0, 0, 'Ring is Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4792, 697, 36, 32375, 1, 0, 0, 0, 0, 'Bulwark of Azzinoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (4822, 696, 36, 29990, 1, 0, 0, 0, 0, 'Crown of the Sun', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (4852, 694, 36, 30110, 1, 0, 0, 0, 0, 'Coral Band of the Revived', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (4879, 693, 36, 29458, 1, 0, 0, 0, 0, 'Aegis of the Vindicator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (4911, 692, 36, 28804, 1, 0, 0, 0, 0, 'Collar of Cho\'gall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (4953, 107, 78, 0, 0, 0, 0, 0, 0, 'Humanoid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4970, 796, 28, 2010, 0, 0, 0, 0, 0, 'Resurrection (Rank 2)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4976, 798, 28, 20739, 0, 0, 0, 0, 0, 'Rebirth (Rank 2)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4982, 1229, 28, 50768, 0, 0, 0, 0, 0, 'Revive (Rank 2)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (4997, 350, 68, 176497, 0, 0, 0, 0, 0, 'Portal to Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5025, 388, 70, 0, 50, 0, 0, 0, 0, 'The Temple Gardens', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 6), + (5036, 1006, 70, 0, 50, 0, 0, 0, 0, 'Hunter Rise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 6), + (5050, 1360, 8, 39, 1, 0, 0, 0, 0, 'Into the Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5058, 1307, 27, 8999, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (5084, 284, 36, 20563, 1, 0, 0, 0, 0, 'Flimsy Female Nightelf Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5146, 1396, 27, 13016, 1, 0, 0, 0, 0, 'Elder Northal in Transitus Shield', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5162, 913, 8, 1396, 0, 0, 0, 0, 0, 'Elders of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5295, 1457, 43, 1603, 0, 0, 0, 0, 0, 'The Great Tree', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5318, 926, 46, 510, 42000, 0, 0, 0, 0, 'Exalted with The Defilers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5333, 1466, 46, 509, 42000, 0, 0, 0, 0, 'Exalted with The League of Arathor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5448, 1467, 0, 29304, 1, 0, 0, 0, 0, 'Slad\'ran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5556, 1199, 40, 773, 1, 0, 0, 0, 0, 'Inscription', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5567, 1201, 7, 333, 450, 0, 0, 0, 0, 'Enchanting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5581, 1202, 7, 160, 400, 0, 0, 0, 0, 'Two-Handed Maces', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5628, 1103, 0, 27978, 1, 0, 0, 0, 0, 'Sjonnir the Ironshaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5667, 1516, 8, 726, 0, 0, 0, 0, 0, 'Mr. Pinchy\'s Magical Crawdad Box', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5685, 1517, 72, 192059, 1, 0, 0, 0, 0, 'Glassfin Minnow School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5778, 291, 110, 44212, 1, 0, 0, 0, 0, 'Night Elf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5825, 1656, 8, 1040, 0, 0, 0, 0, 0, 'Rotten Hallow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5837, 1657, 8, 1041, 0, 0, 0, 0, 0, 'Rotten Hallow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5848, 1269, 43, 1584, 0, 0, 0, 0, 0, 'Terrace of the Makers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5864, 1270, 43, 1572, 0, 0, 0, 0, 0, 'Aldur\'thar: The Desolation Gate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5877, 1658, 0, 26723, 1, 0, 0, 0, 0, 'Heroic: Keristrasza', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (5905, 1676, 11, 1584, 700, 0, 0, 0, 0, 'Blackrock Depths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 6), + (5957, 1677, 11, 1584, 550, 0, 0, 0, 0, 'Blackrock Depths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 6), + (6009, 1678, 11, 3525, 700, 0, 0, 0, 0, 'Bloodmyst Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 6), + (6104, 1680, 11, 3525, 685, 0, 0, 0, 0, 'Bloodmyst Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 6), + (6194, 879, 34, 16082, 0, 0, 0, 0, 0, 'Palomino', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (6218, 727, 34, 48027, 0, 0, 0, 0, 0, 'Black War Elekk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (6232, 1686, 110, 26004, 1, 0, 0, 0, 0, 'Brother Joshua in Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (6242, 1687, 110, 44755, 1, 0, 0, 0, 0, 'Troll Hunter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (6255, 1689, 27, 8768, 1, 0, 0, 0, 0, 'A Gaily Wrapped Present', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (6268, 1691, 8, 279, 0, 0, 0, 0, 0, 'Simply Abominable', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (6280, 1692, 8, 279, 0, 0, 0, 0, 0, 'Simply Abominable', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (6316, 1699, 110, 27571, 1, 0, 0, 0, 0, 'Tauren Druid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (6329, 1701, 29, 70575, 1, 0, 0, 0, 0, 'You\'re Mine!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (6357, 1693, 8, 1696, 0, 0, 0, 0, 0, 'The Rocket\'s Pink Glare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (6372, 1707, 8, 1697, 0, 0, 0, 0, 0, 'Nation of Adoration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (6491, 1777, 29, 58525, 1, 0, 0, 0, 0, 'Haunted Herring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (6607, 1563, 8, 1781, 0, 0, 0, 0, 0, 'Critter Gitter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (6623, 1784, 8, 1781, 0, 0, 0, 0, 0, 'Critter Gitter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (6656, 1788, 41, 42431, 1, 0, 0, 0, 0, 'Dalaran Brownie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (6666, 1792, 36, 23002, 1, 0, 0, 0, 0, 'Speedy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (6749, 1793, 8, 1790, 0, 0, 0, 0, 0, 'Hail To The King, Baby', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (6766, 1800, 29, 33284, 1, 0, 0, 0, 0, 'Ravager Dog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7142, 1865, 0, 29316, 1, 0, 0, 0, 0, 'Moragg', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7147, 578, 0, 15953, 1, 0, 0, 0, 0, 'Grand Widow Faerlina', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7172, 579, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7234, 1683, 8, 1936, 0, 0, 0, 0, 0, 'Does Your Wolpertinger Linger?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7241, 1956, 68, 192865, 1, 0, 0, 0, 0, 'The Schools of Arcane Magic - Illusion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7249, 1957, 36, 43636, 1, 0, 0, 0, 0, 'Chromie\'s Gold Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7283, 2016, 27, 12316, 1, 0, 0, 0, 0, 'Keep Them at Bay!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7292, 2017, 27, 12432, 1, 0, 0, 0, 0, 'Riding the Red Rocket', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7305, 2019, 27, 13250, 1, 0, 0, 0, 0, 'Proof of Demise: Gal\'darah', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7337, 1038, 8, 272, 0, 0, 0, 0, 0, 'Torch Juggler ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7341, 1039, 8, 272, 0, 0, 0, 0, 0, 'Torch Juggler ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7446, 2094, 42, 43707, 1, 0, 0, 0, 0, 'Eitrigg\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7468, 2095, 42, 43677, 1, 0, 0, 0, 0, 'High Tinker Mekkatorque\'s Silver Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7500, 2136, 8, 1297, 0, 0, 0, 0, 0, 'Hadronox Denied', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7557, 2144, 8, 1684, 0, 0, 0, 0, 0, 'Brewmaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7564, 2145, 8, 1683, 0, 0, 0, 0, 0, 'Brewmaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7603, 2138, 8, 2186, 0, 0, 0, 0, 0, 'The Immortal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7606, 2137, 8, 2178, 0, 0, 0, 0, 0, 'Shocking!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7647, 2194, 8, 1762, 0, 0, 0, 0, 0, 'Not Even a Scratch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7659, 2195, 8, 2192, 0, 0, 0, 0, 0, 'Not Even a Scratch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7718, 2199, 70, 0, 10, 0, 0, 0, 0, 'The Cauldron of Flames', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7729, 1752, 8, 1722, 0, 0, 0, 0, 0, 'Archavon the Stone Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7785, 322, 20, 27975, 0, 0, 0, 0, 0, 'Maiden of Grief', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7813, 323, 20, 16061, 0, 0, 0, 0, 0, 'Instructor Razuvious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7846, 324, 20, 28860, 0, 0, 0, 0, 0, 'Sartharion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7851, 799, 28, 20777, 0, 0, 0, 0, 0, 'Ancestral Spirit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (7858, 800, 28, 20772, 0, 0, 0, 0, 0, 'Redemption', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (8105, 2256, 0, 32361, 1, 0, 0, 0, 0, 'Icehorn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (8160, 1684, 8, 303, 0, 0, 0, 0, 0, 'Have Keg, Will Travel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (8695, 347, 41, 20223, 0, 0, 0, 0, 0, 'Defiler\'s Field Ration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (8765, 801, 29, 20758, 0, 0, 0, 0, 0, 'Use Soulstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (8823, 2336, 46, 909, 42000, 0, 0, 0, 0, 'Exalted with Darkmoon Faire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (8919, 321, 18, 20, 0, 0, 0, 0, 0, '20 man instances', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (8991, 346, 41, 18269, 0, 0, 0, 0, 0, 'Gordok Green Grog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (9147, 2422, 110, 61815, 1, 0, 0, 0, 0, 'Night Elf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (9304, 2557, 54, 225, 1, 0, 0, 0, 0, 'Grizzly Squirrel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (9362, 2556, 0, 24174, 1, 0, 0, 0, 0, 'Fjord Rat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (9752, 2758, 27, 13711, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 6), + (9765, 2776, 8, 1722, 0, 0, 0, 0, 0, 'Archavon the Stone Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (9868, 2797, 8, 2422, 0, 0, 0, 0, 0, 'Shake Your Bunny-Maker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (9874, 2798, 8, 2497, 0, 0, 0, 0, 0, 'Spring Fling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (9903, 2816, 8, 2768, 0, 0, 0, 0, 0, 'Champion of Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (9909, 2817, 8, 2763, 0, 0, 0, 0, 0, 'Champion of Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (9919, 2836, 28, 64812, 1, 0, 0, 0, 0, 'Sen\'jin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (9976, 1770, 0, 32867, 1, 0, 0, 0, 0, 'Assembly of Iron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (9977, 1756, 0, 32867, 1, 0, 0, 0, 0, 'Assembly of Iron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (10105, 2957, 8, 2953, 0, 0, 0, 0, 0, 'Disarmed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (10348, 2903, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (10357, 2904, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (10370, 2958, 8, 2954, 0, 0, 0, 0, 0, 'Disarmed (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (10967, 303, 41, 39477, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16774142, 2, 0, 0, 0, 6), + (11160, 3559, 110, 61781, 1, 0, 0, 0, 0, 'Orc Rogue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (11262, 3478, 8, 3558, 0, 0, 0, 0, 0, 'Sharing is Caring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (11271, 3656, 8, 3558, 0, 0, 0, 0, 0, 'Sharing is Caring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (11325, 3696, 27, 13726, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775167, 2, 0, 0, 0, 6), + (11507, 3857, 8, 3850, 0, 0, 0, 0, 0, 'Mowed Down', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (11559, 3778, 28, 68574, 1, 0, 0, 0, 0, 'Argent Confessor Paletress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (11754, 3957, 8, 3850, 0, 0, 0, 0, 0, 'Mowed Down', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (11908, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Thunderaan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (12078, 1525, 27, 13101, 1, 0, 0, 0, 0, 'Feast for the Legerddemain - Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (12307, 4296, 28, 68574, 1, 0, 0, 0, 0, 'Argent Confessor Paletress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (12315, 4297, 28, 68574, 1, 0, 0, 0, 0, 'Argent Confessor Paletress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (12323, 4298, 28, 68574, 1, 0, 0, 0, 0, 'Argent Confessor Paletress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (12379, 227, 13, 0, 300000, 3, 628, 3, 628, 'Do 300,000 Damage in Isle of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 6), + (12578, 231, 56, 0, 20, 3, 628, 1, 0, 'Isle of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 6), + (12623, 4416, 34, 67418, 0, 0, 0, 0, 0, 'Ravasaur Hatchling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (12683, 4456, 0, 27978, 1, 0, 0, 0, 0, 'Sjonnir the Ironshaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (12803, 4556, 0, 27978, 1, 0, 0, 0, 0, 'Sjonnir the Ironshaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (12882, 1695, 27, 24664, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 6), + (12907, 4596, 27, 24801, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 6), + (12918, 4602, 8, 4535, 0, 0, 0, 0, 0, 'Full House', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (13005, 2093, 74, 0, 1, 0, 0, 0, 0, 'Relentless Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (13007, 2090, 74, 0, 1, 0, 0, 0, 0, 'Relentless Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (13017, 4603, 8, 4611, 0, 0, 0, 0, 0, 'Full House', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (13254, 1491, 56, 0, 0, 0, 0, 0, 0, 'Isle of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (13260, 382, 35, 0, 0, 0, 0, 0, 0, 'Isle of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (13309, 1104, 0, 36597, 1, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (13311, 1768, 0, 36597, 1, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (13363, 1526, 27, 13830, 0, 0, 0, 0, 0, 'The Ghostfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (13368, 839, 15, 628, 0, 0, 0, 0, 0, 'Isle of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (13369, 840, 1, 628, 0, 0, 0, 0, 0, 'Isle of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 6), + (13377, 4782, 36, 37893, 1, 0, 0, 0, 0, 'Filled Green Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6), + (13401, 4788, 34, 31433, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 6), + (13414, 4789, 34, 29613, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 6), + (87, 41, 8, 38, 1, 0, 0, 0, 0, 'The Summit of Storm Peaks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (508, 627, 43, 109, 1, 0, 0, 0, 0, 'Amberstill Ranch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (622, 116, 40, 755, 2, 0, 0, 0, 0, 'Jewelcrafting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (656, 705, 7, 229, 400, 0, 0, 0, 0, 'Polearms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (765, 700, 36, 18852, 1, 0, 0, 0, 0, 'Insignia of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (785, 701, 36, 18859, 1, 0, 0, 0, 0, 'Insignia of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (828, 728, 43, 254, 1, 0, 0, 0, 0, 'Razormane Grounds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (854, 731, 40, 755, 3, 0, 0, 0, 0, 'Jewelcrafting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (865, 732, 40, 755, 4, 0, 0, 0, 0, 'Jewelcrafting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (876, 733, 40, 755, 5, 0, 0, 0, 0, 'Jewelcrafting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (887, 734, 40, 755, 6, 0, 0, 0, 0, 'Jewelcrafting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (898, 735, 40, 755, 6, 0, 0, 0, 0, 'Jewelcrafting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (908, 736, 43, 194, 1, 0, 0, 0, 0, 'Ravaged Caravan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (923, 750, 43, 467, 1, 0, 0, 0, 0, 'Honor\'s Stand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (953, 760, 43, 447, 1, 0, 0, 0, 0, 'Gavin\'s Naze', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (967, 761, 43, 567, 1, 0, 0, 0, 0, 'Circle of Inner Binding', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1020, 765, 43, 587, 1, 0, 0, 0, 0, 'Kargath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1034, 766, 43, 827, 1, 0, 0, 0, 0, 'Dreadmaul Post', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1043, 768, 43, 230, 1, 0, 0, 0, 0, 'Brill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1059, 769, 43, 307, 1, 0, 0, 0, 0, 'The Decrepit Ferry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1074, 770, 43, 967, 1, 0, 0, 0, 0, 'Dalson\'s Tears', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1087, 771, 43, 888, 1, 0, 0, 0, 0, 'Pestilent Scar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1109, 772, 43, 407, 1, 0, 0, 0, 0, 'Southshore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1121, 773, 43, 607, 1, 0, 0, 0, 0, 'Agol\'watha', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1135, 774, 43, 727, 1, 0, 0, 0, 0, 'Dustfire Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1142, 775, 43, 787, 1, 0, 0, 0, 0, 'Blackrock Stronghold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1152, 776, 43, 127, 1, 0, 0, 0, 0, 'Tower of Azora', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1167, 778, 43, 427, 1, 0, 0, 0, 0, 'The Yorgen Farmstead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1180, 779, 43, 322, 1, 0, 0, 0, 0, 'Ironband\'s Excavation Site', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1192, 780, 43, 368, 1, 0, 0, 0, 0, 'Stonewatch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1202, 781, 43, 504, 1, 0, 0, 0, 0, 'Nek\'mani Wellspring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1229, 782, 43, 547, 1, 0, 0, 0, 0, 'Pool of Tears', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1254, 802, 43, 286, 1, 0, 0, 0, 0, 'Gold Coast Quarry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1268, 841, 43, 387, 1, 0, 0, 0, 0, 'Ironbeard\'s Tomb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1283, 42, 8, 627, 1, 0, 0, 0, 0, 'Dun Morogh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1305, 842, 43, 92, 1, 0, 0, 0, 0, 'Starbreeze Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1320, 844, 43, 347, 1, 0, 0, 0, 0, 'Grove of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1329, 845, 43, 747, 1, 0, 0, 0, 0, 'Astranaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1347, 846, 43, 681, 1, 0, 0, 0, 0, 'The Shimmering Flats', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1356, 847, 43, 925, 1, 0, 0, 0, 0, 'Windshear Crag', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1375, 848, 43, 769, 1, 0, 0, 0, 0, 'Ethel Rethor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1385, 849, 43, 986, 1, 0, 0, 0, 0, 'Dire Maul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1398, 850, 43, 667, 1, 0, 0, 0, 0, 'Alcaz Island', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1415, 851, 43, 652, 1, 0, 0, 0, 0, 'Waterspring Field', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1431, 852, 43, 847, 1, 0, 0, 0, 0, 'Legash Encampment', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1446, 853, 43, 867, 1, 0, 0, 0, 0, 'Jaedenar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1459, 854, 43, 627, 1, 0, 0, 0, 0, 'Lakkari Tar Pits', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1472, 856, 43, 1022, 1, 0, 0, 0, 0, 'Staghelm Point', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1481, 857, 43, 1008, 1, 0, 0, 0, 0, 'Owl Wing Thicket', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1514, 859, 43, 1135, 1, 0, 0, 0, 0, 'Farstrider Retreat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1538, 858, 43, 1157, 1, 0, 0, 0, 0, 'Dawnstar Spire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1558, 860, 43, 1369, 1, 0, 0, 0, 0, 'Geezle\'s Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1579, 861, 43, 1334, 1, 0, 0, 0, 0, 'Bristlelimb Enclave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1601, 43, 8, 861, 1, 0, 0, 0, 0, 'Bloodmyst Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1627, 862, 43, 1215, 1, 0, 0, 0, 0, 'Pools of Aggonar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1649, 863, 43, 1146, 1, 0, 0, 0, 0, 'Telredor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1670, 864, 43, 1112, 1, 0, 0, 0, 0, 'The Deathforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1690, 865, 43, 1294, 1, 0, 0, 0, 0, 'Circle of Blood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1715, 866, 43, 1195, 1, 0, 0, 0, 0, 'Sunspring Post', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1732, 867, 43, 1173, 1, 0, 0, 0, 0, 'Tuurem', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1764, 843, 43, 1185, 1, 0, 0, 0, 0, 'Ruins of Farahlon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1788, 44, 8, 864, 1, 0, 0, 0, 0, 'Shadowmoon Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1807, 220, 1, 30, 1, 3, 30, 3, 30, 'Tower H1 owned by the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 7), + (1816, 873, 1, 30, 1, 3, 30, 3, 30, 'Tower H1 owned by the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 7), + (1842, 878, 42, 13880, 1, 0, 0, 0, 0, '68 Pound Grouper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1850, 879, 36, 12353, 1, 0, 0, 0, 0, 'White Stallion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (1937, 912, 27, 8642, 1, 0, 0, 0, 0, 'Elder Silvervein in Thelsamar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (1952, 911, 27, 8721, 1, 0, 0, 0, 0, 'Elder Starweave in Auberdine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (2060, 961, 27, 12734, 1, 0, 0, 0, 0, 'Rejek: First Blood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (2068, 962, 27, 12735, 1, 0, 0, 0, 0, 'A Cleansing Song', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (2078, 963, 27, 12349, 1, 0, 0, 0, 0, 'Dustwallow Marsh, Theramore Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (2106, 965, 27, 12375, 1, 0, 0, 0, 0, 'Barrens, Camp Taurajo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (2138, 966, 27, 12339, 1, 0, 0, 0, 0, 'Loch Modan, Thelsamar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (2151, 967, 27, 12373, 1, 0, 0, 0, 0, 'Ghostlands, Tranquillien', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (2201, 969, 27, 12356, 1, 0, 0, 0, 0, 'Terokkar Forest, Allerian Stronghold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (2223, 968, 27, 12391, 1, 0, 0, 0, 0, 'Terokkar Forest, Stonebreaker Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (2266, 979, 36, 20569, 1, 0, 0, 0, 0, 'Flimsy Female Orc Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (2348, 556, 49, 7, 1, 0, 0, 0, 0, 'Feet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (2365, 245, 52, 4, 1, 0, 0, 0, 0, 'Rogue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (2893, 621, 57, 31779, 1, 0, 0, 0, 0, 'Aldor Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (3069, 1022, 27, 11819, 1, 0, 0, 0, 0, 'Hillsbrad Foothills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3082, 1023, 27, 11817, 1, 0, 0, 0, 0, 'Feralas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3095, 1024, 27, 11829, 1, 0, 0, 0, 0, 'Zangarmarsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3107, 1025, 27, 11584, 1, 0, 0, 0, 0, 'Silverpine Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3118, 1026, 27, 11836, 1, 0, 0, 0, 0, 'Silithus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3130, 1027, 27, 11863, 1, 0, 0, 0, 0, 'Zangarmarsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3137, 1028, 27, 11580, 1, 0, 0, 0, 0, 'Silverpine Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3148, 1029, 27, 11800, 1, 0, 0, 0, 0, 'Silithus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3160, 1030, 27, 11787, 1, 0, 0, 0, 0, 'Zangarmarsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3167, 1031, 27, 11748, 1, 0, 0, 0, 0, 'Hillsbrad Foothills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3180, 1032, 27, 11746, 1, 0, 0, 0, 0, 'Feralas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3192, 1033, 27, 11758, 1, 0, 0, 0, 0, 'Zangarmarsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3215, 283, 28, 24741, 1, 0, 0, 0, 0, 'Transformed by Hallowed Wand - Wisp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3307, 344, 41, 20235, 1, 0, 0, 0, 0, 'Defiler\'s Silk Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3364, 227, 55, 0, 300000, 3, 30, 3, 30, '300,000 healing in av', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 7), + (3398, 1167, 8, 223, 0, 0, 0, 0, 0, 'The Sickly Gazelle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3410, 1168, 8, 223, 0, 0, 0, 0, 0, 'The Sickly Gazelle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3422, 1169, 8, 161, 0, 0, 0, 0, 0, 'Resilient Victory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3437, 1170, 8, 161, 0, 0, 0, 0, 0, 'Resilient Victory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3452, 1171, 8, 216, 0, 0, 0, 0, 0, 'Bound for Glory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3467, 1172, 8, 204, 0, 0, 0, 0, 0, 'Ironman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3482, 1173, 8, 204, 0, 0, 0, 0, 0, 'Ironman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3494, 1174, 8, 1162, 0, 0, 0, 0, 0, 'Hotter Streak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3521, 1183, 28, 42264, 1, 0, 0, 0, 0, 'Draenic Pale Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3539, 1184, 41, 33031, 1, 0, 0, 0, 0, 'Thunder 45', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3548, 1185, 41, 33043, 1, 0, 0, 0, 0, 'The Essential Brewfest Pretzel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3566, 1187, 36, 28395, 1, 0, 0, 0, 0, 'Shattered Halls Key', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3600, 1203, 41, 34019, 1, 0, 0, 0, 0, 'Path of Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3729, 557, 49, 7, 1, 0, 0, 0, 0, 'Feet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3747, 1206, 54, 225, 1, 0, 0, 0, 0, 'Crab', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3768, 1244, 68, 175761, 1, 0, 0, 0, 0, 'Civil War in the Plaguelands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3810, 161, 1, 529, 1, 0, 0, 0, 0, 'Overcome a 500 resource disadvantage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (3868, 153, 72, 182956, 1, 0, 0, 0, 0, 'School of Darter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (3889, 1262, 8, 1195, 0, 0, 0, 0, 0, 'Shadow of the Betrayer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3921, 1274, 8, 1195, 0, 0, 0, 0, 0, 'Shadow of the Betrayer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3945, 1283, 8, 634, 0, 0, 0, 0, 0, 'Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (3970, 1284, 8, 653, 0, 0, 0, 0, 0, 'Sethekk Halls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4020, 1286, 8, 696, 0, 0, 0, 0, 0, 'Tempest Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4029, 1287, 8, 674, 0, 0, 0, 0, 0, 'Heroic Sethekk Halls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4046, 1288, 8, 483, 0, 0, 0, 0, 0, 'The Violet Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4062, 1289, 8, 494, 0, 0, 0, 0, 0, 'Heroic The Violet Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4128, 1264, 43, 1476, 0, 0, 0, 0, 0, 'Coldarra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4142, 1263, 43, 1502, 0, 0, 0, 0, 0, 'Scalawag Point', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4165, 1265, 43, 1494, 0, 0, 0, 0, 0, 'Light\'s Trust', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4184, 1266, 43, 1472, 0, 0, 0, 0, 0, 'Rage Fang Shrine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4198, 1267, 43, 1536, 0, 0, 0, 0, 0, 'Altar of Mam\'toth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4212, 1268, 43, 1550, 0, 0, 0, 0, 0, 'Rainspeaker Canopy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4272, 684, 36, 17067, 1, 0, 0, 0, 0, 'Ancient Cornerstone Grimoire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (4294, 345, 41, 929, 0, 0, 0, 0, 0, 'Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4316, 922, 41, 20002, 0, 0, 0, 0, 0, 'Greater Dreamless Sleep Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4342, 923, 41, 34537, 0, 0, 0, 0, 0, 'Bloodberry Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4414, 811, 41, 40084, 0, 0, 0, 0, 0, 'Flask of Endless Rage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4453, 687, 27, 8627, 1, 0, 0, 0, 0, 'Avenger\'s Breastplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (4510, 1311, 0, 18686, 1, 0, 0, 0, 0, 'Doomsayer Jurim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4546, 686, 36, 18814, 1, 0, 0, 0, 0, 'Choker of the Fire Lord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (4566, 685, 36, 19364, 1, 0, 0, 0, 0, 'Ashkandi, Greatsword of the Brotherhood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (4602, 698, 36, 34332, 1, 0, 0, 0, 0, 'Cowl of Gul\'dan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (4623, 695, 36, 30903, 1, 0, 0, 0, 0, 'Legguards of Endless Rage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (4725, 812, 41, 5511, 0, 0, 0, 0, 0, 'Lesser Healthstone (0)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4743, 924, 46, 1098, 42000, 0, 0, 0, 0, 'Exlated with the Knights of the Ebon Blade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4756, 925, 46, 1038, 42000, 0, 0, 0, 0, 'Exlated with Ogri\'la', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4774, 927, 49, 9, 1, 0, 0, 0, 0, 'Gloves are Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4793, 697, 36, 32525, 1, 0, 0, 0, 0, 'Cowl of the Illidari High Lord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (4823, 696, 36, 29987, 1, 0, 0, 0, 0, 'Gauntlets of the Sun King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (4853, 694, 36, 30103, 1, 0, 0, 0, 0, 'Fang of Vashj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (4880, 693, 36, 28777, 1, 0, 0, 0, 0, 'Cloak of the Pit Stalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (4912, 692, 36, 28803, 1, 0, 0, 0, 0, 'Cowl of Nature\'s Breath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (4954, 107, 78, 0, 0, 0, 0, 0, 0, 'Mechanical', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4971, 796, 28, 2006, 0, 0, 0, 0, 0, 'Resurrection (Rank 1)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4977, 798, 28, 20484, 0, 0, 0, 0, 0, 'Rebirth (Rank 1)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4983, 1229, 28, 50769, 0, 0, 0, 0, 0, 'Revive (Rank 1)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (4998, 350, 68, 176499, 0, 0, 0, 0, 0, 'Portal to Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5026, 388, 70, 0, 50, 0, 0, 0, 0, 'Tradesmen\'s Terrace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 7), + (5037, 1006, 70, 0, 50, 0, 0, 0, 0, 'Spirit Rise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 7), + (5051, 1360, 8, 38, 1, 0, 0, 0, 0, 'The Summit of Storm Peaks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5059, 1307, 27, 9000, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (5085, 284, 36, 20569, 1, 0, 0, 0, 0, 'Flimsy Female Orc Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5147, 1396, 27, 13018, 1, 0, 0, 0, 0, 'Elder Sandrene in Lakeside Landing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5259, 910, 27, 13017, 1, 0, 0, 0, 0, 'Elder Jarten in Utgarde Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5296, 1457, 43, 1602, 0, 0, 0, 0, 0, 'Violet Stand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5298, 45, 8, 1457, 0, 0, 0, 0, 0, 'Crystalsong Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5319, 926, 46, 889, 42000, 0, 0, 0, 0, 'Exalted with Warsong Outriders', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5334, 1466, 46, 890, 42000, 0, 0, 0, 0, 'Exalted with Silverwing Sentinels', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5463, 1467, 0, 26693, 1, 0, 0, 0, 0, 'Skadi the Ruthless', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5557, 1199, 40, 755, 1, 0, 0, 0, 0, 'Jewelcrafting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5571, 1201, 7, 755, 450, 0, 0, 0, 0, 'Jewelcrafting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5582, 1202, 7, 473, 400, 0, 0, 0, 0, 'Fist Weapons', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5623, 1103, 0, 29120, 1, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5668, 1516, 8, 878, 0, 0, 0, 0, 0, 'One That Didn\'t Get Away', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5686, 1517, 72, 192052, 1, 0, 0, 0, 0, 'Imperial Manta Ray School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5779, 291, 110, 44212, 1, 0, 0, 0, 0, 'Orc', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5826, 1656, 8, 1261, 0, 0, 0, 0, 0, 'G.N.E.R.D. Rage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5838, 1657, 8, 1261, 0, 0, 0, 0, 0, 'G.N.E.R.D. Rage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5849, 1269, 43, 1587, 0, 0, 0, 0, 0, 'Sparksocket Minefield', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5865, 1270, 43, 1566, 0, 0, 0, 0, 0, 'Sindragosa\'s Fall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5879, 1658, 0, 29311, 1, 0, 0, 0, 0, 'Heroic: Herald Volazj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (5906, 1676, 11, 4, 700, 0, 0, 0, 0, 'Blasted Lands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 7), + (5958, 1677, 11, 4, 550, 0, 0, 0, 0, 'Blasted Lands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 7), + (6010, 1678, 11, 148, 700, 0, 0, 0, 0, 'Darkshore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 7), + (6105, 1680, 11, 148, 685, 0, 0, 0, 0, 'Darkshore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 7), + (6219, 727, 34, 22723, 0, 0, 0, 0, 0, 'Black War Tiger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (6233, 1686, 110, 26004, 1, 0, 0, 0, 0, 'Brother Crowley in Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (6243, 1687, 110, 44755, 1, 0, 0, 0, 0, 'Gnome Mage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (6256, 1689, 27, 8769, 1, 0, 0, 0, 0, 'A Ticking Present', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (6269, 1691, 8, 1687, 0, 0, 0, 0, 0, 'Let It Snow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (6281, 1692, 8, 1687, 0, 0, 0, 0, 0, 'Let It Snow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (6286, 913, 8, 609, 0, 0, 0, 0, 0, '50 Coins of Ancestry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (6318, 1699, 110, 27571, 1, 0, 0, 0, 0, 'Undead Warrior', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (6330, 1701, 29, 70576, 1, 0, 0, 0, 0, 'You\'re the best!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (6358, 1693, 8, 1698, 0, 0, 0, 0, 0, 'Nation of Adoration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (6371, 1707, 8, 1696, 0, 0, 0, 0, 0, 'The Rocket\'s Pink Glare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (6492, 1777, 29, 58521, 1, 0, 0, 0, 0, 'Last Week\'s Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (6624, 1563, 8, 1782, 0, 0, 0, 0, 0, 'Critter Gitter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (6625, 1784, 8, 1783, 0, 0, 0, 0, 0, 'Critter Gitter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (6657, 1788, 41, 42430, 1, 0, 0, 0, 0, 'Dalaran Doughnut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (6667, 1792, 34, 28738, 0, 0, 0, 0, 0, 'Speedy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (6767, 1800, 29, 43758, 1, 0, 0, 0, 0, 'Stormchops', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7148, 578, 0, 15952, 1, 0, 0, 0, 0, 'Maexxna', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7161, 579, 0, 15952, 1, 0, 0, 0, 0, 'Maexxna', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7242, 1956, 68, 192866, 1, 0, 0, 0, 0, 'The Schools of Arcane Magic - Necromancy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7250, 1957, 36, 43635, 1, 0, 0, 0, 0, 'Kel\'Thuzad\'s Gold Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7284, 2016, 27, 12314, 1, 0, 0, 0, 0, 'Down With Captain Zorna!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7293, 2017, 27, 12315, 1, 0, 0, 0, 0, 'Crush Captain Brightwater!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7306, 2019, 27, 13251, 1, 0, 0, 0, 0, 'Proof of Demise: Mal\'Ganis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7447, 2094, 42, 43708, 1, 0, 0, 0, 0, 'Elling Trias\' Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7469, 2095, 42, 43683, 1, 0, 0, 0, 0, 'Khadgar\'s Silver Coin ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7501, 2136, 8, 1860, 0, 0, 0, 0, 0, 'Gotta Go!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7558, 2144, 8, 1656, 0, 0, 0, 0, 0, 'Hallowed Be Thy Name', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7565, 2145, 8, 1657, 0, 0, 0, 0, 0, 'Hallowed Be Thy Name', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7607, 2138, 8, 2179, 0, 0, 0, 0, 0, 'Shocking! (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7610, 2137, 8, 2180, 0, 0, 0, 0, 0, 'Subtraction', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7648, 2194, 8, 1763, 0, 0, 0, 0, 0, 'Artillery Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7660, 2195, 8, 1763, 0, 0, 0, 0, 0, 'Artillery Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7712, 2199, 70, 0, 10, 0, 0, 0, 0, 'The Sunken Ring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7730, 1752, 8, 1721, 0, 0, 0, 0, 0, 'Heroic: Archavon the Stone Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7788, 322, 20, 28546, 0, 0, 0, 0, 0, 'Ionar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7815, 323, 20, 15952, 0, 0, 0, 0, 0, 'Maexxna', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7845, 324, 20, 16064, 0, 0, 0, 0, 0, 'Thane Korth\'azz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7850, 799, 28, 25590, 0, 0, 0, 0, 0, 'Ancestral Spirit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7856, 800, 28, 48949, 0, 0, 0, 0, 0, 'Redemption', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (7866, 801, 28, 20759, 0, 0, 0, 0, 0, 'Use Soulstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (8106, 2256, 0, 32377, 1, 0, 0, 0, 0, 'Perobas the Bloodthirster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (8694, 347, 41, 20222, 0, 0, 0, 0, 0, 'Defiler\'s Enriched Ration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (8824, 2336, 46, 349, 42000, 0, 0, 0, 0, 'Exalted with Ravenholdt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (8993, 346, 41, 19318, 0, 0, 0, 0, 0, 'Bottled Alterac Spring Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (9148, 2422, 110, 61815, 1, 0, 0, 0, 0, 'Orc', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (9305, 2557, 54, 225, 1, 0, 0, 0, 0, 'Huge Toad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (9363, 2556, 0, 32258, 1, 0, 0, 0, 0, 'Gold Beetle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (9753, 2758, 27, 13694, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 7), + (9766, 2776, 8, 1721, 0, 0, 0, 0, 0, 'Heroic: Archavon the Stone Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (9869, 2797, 8, 2436, 0, 0, 0, 0, 0, 'Desert Rose', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (9875, 2798, 8, 2420, 0, 0, 0, 0, 0, 'Noble Garden', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (9920, 2836, 28, 64813, 1, 0, 0, 0, 0, 'Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (9978, 1770, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (9979, 1756, 0, 32930, 1, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (10111, 2957, 8, 3006, 0, 0, 0, 0, 0, 'Crazy Cat Lady', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (10351, 2903, 0, 33515, 1, 0, 0, 0, 0, 'Auriaya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (10363, 2904, 0, 33515, 1, 0, 0, 0, 0, 'Auriaya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (10376, 2958, 8, 3007, 0, 0, 0, 0, 0, 'Crazy Cat Lady (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (10878, 2090, 74, 0, 1, 0, 0, 0, 0, 'Deadly Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (10968, 303, 41, 39476, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16774142, 2, 0, 0, 0, 7), + (11161, 3559, 110, 61781, 1, 0, 0, 0, 0, 'Troll Rogue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (11263, 3478, 8, 3582, 0, 0, 0, 0, 0, 'Terokkar Turkey Time', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (11272, 3656, 8, 3582, 0, 0, 0, 0, 0, 'Terokkar Turkey Time', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (11326, 3696, 27, 13727, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775167, 2, 0, 0, 0, 7), + (11508, 3857, 8, 3852, 0, 0, 0, 0, 0, 'Cut the Blue Wire... No the Red Wire!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (11560, 3778, 28, 68575, 1, 0, 0, 0, 0, 'Eadric the Pure', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (11755, 3957, 8, 3852, 0, 0, 0, 0, 0, 'Cut the Blue Wire... No the Red Wire!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (11909, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Chromaggus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (12079, 1525, 27, 13113, 1, 0, 0, 0, 0, 'Feast for the Legerdemain - Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (12308, 4296, 28, 68575, 1, 0, 0, 0, 0, 'Eadric the Pure', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (12316, 4297, 28, 68575, 1, 0, 0, 0, 0, 'Eadric the Pure', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (12324, 4298, 28, 68575, 1, 0, 0, 0, 0, 'Eadric the Pure', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (12624, 4416, 34, 67419, 0, 0, 0, 0, 0, 'Razormaw Hatchling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7), + (12684, 4456, 0, 29120, 1, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (12804, 4556, 0, 29120, 1, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (12883, 1695, 27, 24665, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 7), + (12919, 4602, 8, 4536, 0, 0, 0, 0, 0, 'I\'m on a Boat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (13018, 4603, 8, 4612, 0, 0, 0, 0, 0, 'I\'m on a Boat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (13364, 1526, 27, 13832, 0, 0, 0, 0, 0, 'The Jewel of the Sewers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 7), + (13402, 4788, 34, 29615, 0, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 7), + (13415, 4789, 36, 29125, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 7), + (89, 41, 8, 40, 1, 0, 0, 0, 0, 'Icecrown: The Final Goal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (509, 627, 43, 108, 1, 0, 0, 0, 0, 'Helm\'s Bed Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (623, 116, 40, 165, 2, 0, 0, 0, 0, 'Leatherworking', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (657, 705, 7, 136, 400, 0, 0, 0, 0, 'Staves', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (766, 700, 36, 18846, 1, 0, 0, 0, 0, 'Insignia of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (786, 701, 36, 18854, 1, 0, 0, 0, 0, 'Insignia of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (829, 728, 43, 256, 1, 0, 0, 0, 0, 'Thunder Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (855, 731, 40, 165, 3, 0, 0, 0, 0, 'Leatherworking', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (866, 732, 40, 165, 4, 0, 0, 0, 0, 'Leatherworking', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (877, 733, 40, 165, 5, 0, 0, 0, 0, 'Leatherworking', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (888, 734, 40, 165, 6, 0, 0, 0, 0, 'Leatherworking', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (899, 735, 40, 165, 6, 0, 0, 0, 0, 'Leatherworking', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (916, 736, 43, 196, 1, 0, 0, 0, 0, 'The Golden Plains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (924, 750, 43, 468, 1, 0, 0, 0, 0, 'Grol\'dom Farm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (954, 760, 43, 448, 1, 0, 0, 0, 0, 'Growless Cave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (968, 761, 43, 568, 1, 0, 0, 0, 0, 'Thandol Span', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1021, 765, 43, 588, 1, 0, 0, 0, 0, 'The Dustbowl', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1035, 766, 43, 828, 1, 0, 0, 0, 0, 'The Tainted Scar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1044, 768, 43, 229, 1, 0, 0, 0, 0, 'Garren\'s Haunt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1060, 769, 43, 308, 1, 0, 0, 0, 0, 'The Sepulcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1075, 770, 43, 968, 1, 0, 0, 0, 0, 'The Writhing Haunt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1088, 771, 43, 887, 1, 0, 0, 0, 0, 'Corin\'s Crossing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1110, 772, 43, 408, 1, 0, 0, 0, 0, 'Hillsbrad Fields', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1122, 773, 43, 608, 1, 0, 0, 0, 0, 'The Creeping Ruin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1143, 775, 43, 788, 1, 0, 0, 0, 0, 'Draco\'dar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1153, 776, 43, 128, 1, 0, 0, 0, 0, 'Brackwell Pumpkin Patch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1168, 778, 43, 428, 1, 0, 0, 0, 0, 'Brightwood Grove', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1181, 779, 43, 323, 1, 0, 0, 0, 0, 'Grizzlepaw Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1193, 780, 43, 369, 1, 0, 0, 0, 0, 'Render\'s Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1203, 781, 43, 505, 1, 0, 0, 0, 0, 'Mistvale Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1230, 782, 43, 548, 1, 0, 0, 0, 0, 'Stagalbog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1255, 802, 43, 287, 1, 0, 0, 0, 0, 'The Dead Acre', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1269, 841, 43, 388, 1, 0, 0, 0, 0, 'Dun Modr', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1284, 42, 8, 778, 1, 0, 0, 0, 0, 'Duskwood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1306, 842, 43, 93, 1, 0, 0, 0, 0, 'The Oracle Glade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1321, 844, 43, 348, 1, 0, 0, 0, 0, 'Remtravel\'s Excavation', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1330, 845, 43, 748, 1, 0, 0, 0, 0, 'Iris Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1348, 846, 43, 688, 1, 0, 0, 0, 0, 'Camp E\'thok', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1357, 847, 43, 924, 1, 0, 0, 0, 0, 'Sun Rock Retreat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1376, 848, 43, 768, 1, 0, 0, 0, 0, 'Valley of Spears', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1386, 849, 43, 987, 1, 0, 0, 0, 0, 'Feral Scar Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1416, 851, 43, 651, 1, 0, 0, 0, 0, 'Abyssal Sands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1432, 852, 43, 848, 1, 0, 0, 0, 0, 'Thalassian Base Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1447, 853, 43, 868, 1, 0, 0, 0, 0, 'Ruins of Constellas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1482, 857, 43, 1009, 1, 0, 0, 0, 0, 'Ice Thistle Hills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1491, 43, 8, 845, 1, 0, 0, 0, 0, 'Ashenvale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1515, 859, 43, 1137, 1, 0, 0, 0, 0, 'Stillwhisper Pond', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1539, 858, 43, 1158, 1, 0, 0, 0, 0, 'Farstrider Enclave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1559, 860, 43, 1370, 1, 0, 0, 0, 0, 'Moongraze Woods', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1580, 861, 43, 1335, 1, 0, 0, 0, 0, 'Kessel\'s Crossing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1628, 862, 43, 1216, 1, 0, 0, 0, 0, 'Ruins of Sha\'naar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1650, 863, 43, 1147, 1, 0, 0, 0, 0, 'The Dead Mire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1671, 864, 43, 1116, 1, 0, 0, 0, 0, 'The Hand of Gul\'dan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1691, 865, 43, 1295, 1, 0, 0, 0, 0, 'Death\'s Door', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1716, 866, 43, 1196, 1, 0, 0, 0, 0, 'Telaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1733, 867, 43, 1176, 1, 0, 0, 0, 0, 'Shattrath City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1765, 843, 43, 1186, 1, 0, 0, 0, 0, 'Tempest Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1808, 220, 1, 30, 1, 3, 30, 3, 30, 'Tower H2 owned by the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 8), + (1817, 873, 1, 30, 1, 3, 30, 3, 30, 'Tower H2 owned by the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 8), + (1846, 878, 42, 44703, 1, 0, 0, 0, 0, 'Dark Herring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1938, 912, 27, 8675, 1, 0, 0, 0, 0, 'Elder Skychaser in Sentinel Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (1953, 911, 27, 8673, 1, 0, 0, 0, 0, 'Elder Bloodhoof in Bloodhoof Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (2061, 961, 27, 12758, 1, 0, 0, 0, 0, 'A Hero\'s Headgear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (2069, 962, 27, 12737, 1, 0, 0, 0, 0, 'Song of Fecundity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (2079, 963, 27, 12337, 1, 0, 0, 0, 0, 'Exodar, Seat of the Naaru', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (2107, 965, 27, 12374, 1, 0, 0, 0, 0, 'Barrens, The Crossroads', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (2139, 966, 27, 12342, 1, 0, 0, 0, 0, 'Redridge Mountains, Lakeshire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (2152, 967, 27, 12376, 1, 0, 0, 0, 0, 'Hillsbrad Foothills, Tarren Mill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (2202, 969, 27, 12355, 1, 0, 0, 0, 0, 'Zangarmarsh, Orebor Harborage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (2224, 968, 27, 12390, 1, 0, 0, 0, 0, ' Zangarmarsh, Zabra\'jin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (2267, 979, 36, 20571, 1, 0, 0, 0, 0, 'Flimsy Female Tauren Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (2349, 556, 49, 8, 1, 0, 0, 0, 0, 'Wrist', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (2366, 245, 52, 7, 1, 0, 0, 0, 0, 'Shaman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (2894, 621, 57, 20131, 1, 0, 0, 0, 0, 'Battle Tabard of the Defilers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (3070, 1022, 27, 11820, 1, 0, 0, 0, 0, 'Loch Modan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3083, 1023, 27, 11831, 1, 0, 0, 0, 0, 'Silithus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3108, 1025, 27, 11837, 1, 0, 0, 0, 0, 'Stranglethorn Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3119, 1026, 27, 11856, 1, 0, 0, 0, 0, 'Stonetalon Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3138, 1028, 27, 11801, 1, 0, 0, 0, 0, 'Stranglethorn Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3149, 1029, 27, 11780, 1, 0, 0, 0, 0, 'Stonetalon Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3168, 1031, 27, 11749, 1, 0, 0, 0, 0, 'Loch Modan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3181, 1032, 27, 11760, 1, 0, 0, 0, 0, 'Silithus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3308, 344, 41, 38640, 1, 0, 0, 0, 0, 'Dense Frostweave Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3365, 227, 55, 0, 300000, 3, 529, 3, 529, '300,000 healing in ab', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 8), + (3399, 1167, 8, 220, 0, 0, 0, 0, 0, 'Stormpike Perfection', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3411, 1168, 8, 873, 0, 0, 0, 0, 0, 'Frostwolf Perfection', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3423, 1169, 8, 156, 0, 0, 0, 0, 0, 'Territorial Dominance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3438, 1170, 8, 156, 0, 0, 0, 0, 0, 'Territorial Dominance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3453, 1171, 8, 233, 0, 0, 0, 0, 0, 'Bloodthirsty Berserker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3469, 1172, 8, 203, 0, 0, 0, 0, 0, 'Not In My House', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3484, 1173, 8, 1251, 0, 0, 0, 0, 0, 'Not In My House', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3496, 1174, 8, 409, 0, 0, 0, 0, 0, 'Last Man Standing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3522, 1183, 28, 42257, 1, 0, 0, 0, 0, 'Blackrock Lager', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3540, 1184, 41, 33032, 1, 0, 0, 0, 0, 'Thunderbrew Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3549, 1185, 41, 33026, 1, 0, 0, 0, 0, 'The Golden Link', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3567, 1187, 36, 7146, 1, 0, 0, 0, 0, 'The Scarlet Key', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3601, 1203, 41, 34017, 1, 0, 0, 0, 0, 'Small Step Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3730, 557, 49, 8, 1, 0, 0, 0, 0, 'Wrist', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3748, 1206, 54, 225, 1, 0, 0, 0, 0, 'Deer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3769, 1244, 68, 175855, 1, 0, 0, 0, 0, 'Empires\' Fall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3811, 161, 1, 529, 1, 0, 0, 0, 0, 'Overcome a 500 resource disadvantage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (3851, 153, 72, 180900, 1, 0, 0, 0, 0, 'Abundant Oily Blackmouth School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (3910, 45, 8, 1269, 0, 0, 0, 0, 0, 'Storm Peaks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3946, 1283, 8, 635, 0, 0, 0, 0, 0, 'Razorfen Kraul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (3971, 1284, 8, 654, 0, 0, 0, 0, 0, 'Shadow Labyrinth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4021, 1286, 8, 697, 0, 0, 0, 0, 0, 'The Black Temple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4030, 1287, 8, 675, 0, 0, 0, 0, 0, 'Heroic Shadow Labyrinth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4047, 1288, 8, 484, 0, 0, 0, 0, 0, 'Gundrak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4063, 1289, 8, 495, 0, 0, 0, 0, 0, 'Heroic Gundrak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4129, 1264, 43, 1480, 0, 0, 0, 0, 0, 'Bor\'gorok Outpost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4143, 1263, 43, 1503, 0, 0, 0, 0, 0, 'Nifflevar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4166, 1265, 43, 1499, 0, 0, 0, 0, 0, 'Icemist Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4185, 1266, 43, 1474, 0, 0, 0, 0, 0, 'Thor Modan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4199, 1267, 43, 1537, 0, 0, 0, 0, 0, 'Altar of Har\'koa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4213, 1268, 43, 1551, 0, 0, 0, 0, 0, 'The Lifeblood Pillar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4282, 684, 36, 17068, 1, 0, 0, 0, 0, 'Deathbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (4295, 345, 41, 858, 0, 0, 0, 0, 0, 'Lesser Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4317, 922, 41, 22836, 0, 0, 0, 0, 0, 'Major Dreamless Sleep Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4343, 923, 41, 10592, 0, 0, 0, 0, 0, 'Catseye Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4456, 687, 27, 8661, 1, 0, 0, 0, 0, 'Doomcaller\'s Robes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (4511, 1311, 0, 18698, 1, 0, 0, 0, 0, 'Ever-Core the Punisher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4547, 686, 36, 18815, 1, 0, 0, 0, 0, 'Essence of the Pure Flame', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (4567, 685, 36, 19381, 1, 0, 0, 0, 0, 'Boots of the Shadow Flame', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (4603, 698, 36, 34339, 1, 0, 0, 0, 0, 'Cowl of Light\'s Purity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (4624, 695, 36, 30907, 1, 0, 0, 0, 0, 'Mail of Fevered Pursuit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (4726, 812, 41, 19006, 0, 0, 0, 0, 0, 'Lesser Healthstone (1)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4744, 924, 46, 1085, 42000, 0, 0, 0, 0, 'Exlated with the Warsong Offensive', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4757, 925, 46, 970, 42000, 0, 0, 0, 0, 'Exlated with the Sporeggar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4775, 927, 49, 0, 1, 0, 0, 0, 0, 'Helm is Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4794, 697, 36, 32500, 1, 0, 0, 0, 0, 'Crystal Spire of Karabor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (4824, 696, 36, 29995, 1, 0, 0, 0, 0, 'Leggings of Murderous Intent', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (4854, 694, 36, 30112, 1, 0, 0, 0, 0, 'Glorious Gauntlets of Crestfall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (4881, 693, 36, 28782, 1, 0, 0, 0, 0, 'Crystalheart Pulse-Staff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (4913, 692, 36, 28830, 1, 0, 0, 0, 0, 'Dragonspine Trophy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (4955, 107, 78, 0, 0, 0, 0, 0, 0, 'Undead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (4999, 350, 68, 182352, 0, 0, 0, 0, 0, 'Portal to Silvermoon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5027, 388, 70, 0, 50, 0, 0, 0, 0, 'Warrior\'s Terrace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 8), + (5038, 1006, 70, 0, 50, 0, 0, 0, 0, 'The Pools of Vision', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 8), + (5052, 1360, 8, 40, 1, 0, 0, 0, 0, 'Icecrown: The Final Goal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5060, 1307, 27, 9001, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (5086, 284, 36, 20571, 1, 0, 0, 0, 0, 'Flimsy Female Tauren Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5148, 1396, 27, 13024, 1, 0, 0, 0, 0, 'Elder Wanikaya in Rainspeaker Rapids', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5260, 910, 27, 13021, 1, 0, 0, 0, 0, 'Elder Igasho in The Nexus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5297, 1457, 43, 1604, 0, 0, 0, 0, 0, 'The Unbound Thicket', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5320, 926, 46, 729, 42000, 0, 0, 0, 0, 'Exalted with Frostwolf Clan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5335, 1466, 46, 730, 42000, 0, 0, 0, 0, 'Exalted with Stormpike Guard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5436, 1467, 0, 28684, 1, 0, 0, 0, 0, 'Krik\'thir the Gatewatcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5558, 1199, 40, 165, 1, 0, 0, 0, 0, 'Leatherworking', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5572, 1201, 7, 165, 450, 0, 0, 0, 0, 'Leatherworking', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5583, 1202, 7, 46, 400, 0, 0, 0, 0, 'Guns', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5624, 1103, 0, 29311, 1, 0, 0, 0, 0, 'Herald Volazj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5669, 1516, 8, 905, 0, 0, 0, 0, 0, 'Old Man Barlowned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5687, 1517, 72, 192054, 1, 0, 0, 0, 0, 'Moonglow Cuttlefish School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5780, 291, 110, 44212, 1, 0, 0, 0, 0, 'Tauren', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5827, 1656, 8, 291, 0, 0, 0, 0, 0, 'Check Your Head', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5839, 1657, 8, 291, 0, 0, 0, 0, 0, 'Check Your Head', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5850, 1269, 43, 1593, 0, 0, 0, 0, 0, 'Engine of the Makers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5866, 1270, 43, 1573, 0, 0, 0, 0, 0, 'Valhalas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5884, 1658, 0, 28923, 1, 0, 0, 0, 0, 'Heroic: Loken', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (5907, 1676, 11, 46, 700, 0, 0, 0, 0, 'Burning Steppes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 8), + (5959, 1677, 11, 46, 550, 0, 0, 0, 0, 'Burning Steppes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 8), + (6011, 1678, 11, 405, 700, 0, 0, 0, 0, 'Desolace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 8), + (6106, 1680, 11, 405, 685, 0, 0, 0, 0, 'Desolace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 8), + (6195, 879, 34, 16083, 0, 0, 0, 0, 0, 'White Stallion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (6220, 727, 34, 22721, 0, 0, 0, 0, 0, 'Black War Raptor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (6234, 1686, 110, 26004, 1, 0, 0, 0, 0, 'Brother Cassius in Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (6244, 1687, 110, 44755, 1, 0, 0, 0, 0, 'Dwarf Paladin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (6270, 1691, 8, 1685, 0, 0, 0, 0, 0, 'Bros. Before Ho Ho Ho\'s', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (6282, 1692, 8, 1686, 0, 0, 0, 0, 0, 'Bros. Before Ho Ho Ho\'s', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (6287, 913, 8, 626, 0, 0, 0, 0, 0, 'Lunar Festival Finery', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (6317, 1699, 110, 27571, 1, 0, 0, 0, 0, 'Troll Rogue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (6331, 1701, 29, 70580, 1, 0, 0, 0, 0, 'I LOVE YOU', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (6359, 1693, 8, 1699, 0, 0, 0, 0, 0, 'Fistful of Love', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (6373, 1707, 8, 1699, 0, 0, 0, 0, 0, 'Fistful of Love', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (6493, 1777, 29, 45549, 1, 0, 0, 0, 0, 'Mammoth Meal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (6631, 1563, 8, 1785, 0, 0, 0, 0, 0, 'Dinner Impossible', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (6632, 1784, 8, 1785, 0, 0, 0, 0, 0, 'Dinner Impossible', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (6669, 1792, 36, 32616, 1, 0, 0, 0, 0, 'Egbert\'s Egg', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (6768, 1800, 29, 33292, 1, 0, 0, 0, 0, 'Blackened Sporefish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7158, 578, 0, 15989, 1, 0, 0, 0, 0, 'Sapphiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7171, 579, 0, 15989, 1, 0, 0, 0, 0, 'Sapphiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7243, 1956, 68, 192867, 1, 0, 0, 0, 0, 'The Schools of Arcane Magic - Transmutation', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7251, 1957, 36, 43628, 1, 0, 0, 0, 0, 'Lady Jaina Proudmoore\'s Gold Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7285, 2016, 27, 12323, 1, 0, 0, 0, 0, 'Smoke \'Em Out', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7294, 2017, 27, 12317, 1, 0, 0, 0, 0, 'Keep Them at Bay', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7307, 2019, 27, 13252, 1, 0, 0, 0, 0, 'Proof of Demise: Sjonnir The Ironshaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7448, 2094, 42, 43709, 1, 0, 0, 0, 0, 'Falstad Wildhammer\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7470, 2095, 42, 43682, 1, 0, 0, 0, 0, 'King Anasterian Sunstrider\'s Silver Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7503, 2136, 8, 1862, 0, 0, 0, 0, 0, 'Volazj\'s Quick Demise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7533, 2137, 8, 622, 0, 0, 0, 0, 0, 'The Spellweaver\'s Downfall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7559, 2144, 8, 1692, 0, 0, 0, 0, 0, 'Merrymaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7566, 2145, 8, 1691, 0, 0, 0, 0, 0, 'Merrymaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7619, 2138, 8, 2177, 0, 0, 0, 0, 0, 'And They Would All Go Down Together (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7649, 2194, 8, 2189, 0, 0, 0, 0, 0, 'Artillery Expert', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7661, 2195, 8, 2189, 0, 0, 0, 0, 0, 'Artillery Expert', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7716, 2199, 70, 0, 10, 0, 0, 0, 0, 'Winter\'s Edge Tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7732, 1752, 8, 1737, 0, 0, 0, 0, 0, 'Destruction Derby', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7764, 322, 20, 24201, 0, 0, 0, 0, 0, 'Dalronn the Controller', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7824, 323, 20, 16064, 0, 0, 0, 0, 0, 'Thane Korth\'azz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7844, 324, 20, 16063, 0, 0, 0, 0, 0, 'Sir Zeliek', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (7857, 800, 28, 20773, 0, 0, 0, 0, 0, 'Redemption', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (8107, 2256, 0, 32386, 1, 0, 0, 0, 0, 'Vigdis the War Maiden', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (8693, 347, 41, 20064, 0, 0, 0, 0, 0, 'Arathi Basin Iron Ration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (8739, 1689, 27, 13203, 1, 0, 0, 0, 0, 'Winter Veil Gift', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (8764, 801, 29, 3026, 0, 0, 0, 0, 0, 'Use Soulstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (8825, 2336, 46, 809, 42000, 0, 0, 0, 0, 'Exalted with Shen\'dralar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (8995, 346, 41, 21241, 0, 0, 0, 0, 0, 'Winter Veil Eggnogg', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (9149, 2422, 110, 61815, 1, 0, 0, 0, 0, 'Tauren', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (9306, 2557, 54, 225, 1, 0, 0, 0, 0, 'Lava Crab', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (9364, 2556, 0, 16068, 1, 0, 0, 0, 0, 'Larva', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (9750, 2758, 27, 13709, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 8), + (9767, 2776, 8, 2476, 0, 0, 0, 0, 0, 'Destruction Derby', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (9870, 2797, 8, 2576, 0, 0, 0, 0, 0, 'Blushing Bride', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (9876, 2798, 8, 2422, 0, 0, 0, 0, 0, 'Shake Your Bunny-Maker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (9980, 1770, 0, 33411, 1, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (9981, 1756, 0, 33411, 1, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (10106, 2957, 8, 3182, 0, 0, 0, 0, 0, 'I Could Say That This Cache Was Rare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (10228, 2836, 28, 64814, 1, 0, 0, 0, 0, 'Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (10371, 2958, 8, 3184, 0, 0, 0, 0, 0, 'I Could Say That This Cache Was Rare (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (10439, 2903, 69, 64899, 1, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (10719, 2904, 69, 64899, 1, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (10969, 303, 41, 37816, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16774654, 2, 0, 0, 0, 8), + (11162, 3559, 110, 61781, 1, 0, 0, 0, 0, 'Undead Rogue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (11264, 3478, 8, 3578, 0, 0, 0, 0, 0, 'The Turkinator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (11273, 3656, 8, 3578, 0, 0, 0, 0, 0, 'The Turkinator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (11327, 3696, 27, 13731, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775167, 2, 0, 0, 0, 8), + (11509, 3857, 8, 3853, 0, 0, 0, 0, 0, 'All Over the Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (11561, 3778, 28, 68663, 1, 0, 0, 0, 0, 'The Black Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (11756, 3957, 8, 3853, 0, 0, 0, 0, 0, 'All Over the Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (11910, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Hakkar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (12080, 1525, 27, 13102, 1, 0, 0, 0, 0, 'Infused Mushroom Meatloaf - Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (12309, 4296, 28, 68663, 1, 0, 0, 0, 0, 'The Black Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (12317, 4297, 28, 68663, 1, 0, 0, 0, 0, 'The Black Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (12439, 4298, 28, 68663, 1, 0, 0, 0, 0, 'The Black Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (12625, 4416, 34, 67420, 0, 0, 0, 0, 0, 'Razzashi Hatchling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8), + (12685, 4456, 0, 29311, 1, 0, 0, 0, 0, 'Herald Volazj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (12805, 4556, 0, 29311, 1, 0, 0, 0, 0, 'Herald Volazj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (12884, 1695, 27, 24666, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 8), + (12920, 4602, 8, 4537, 0, 0, 0, 0, 0, 'I\'ve Gone and Made a Mess', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (13019, 4603, 8, 4613, 0, 0, 0, 0, 0, 'I\'ve Gone and Made a Mess', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (13248, 811, 41, 46377, 0, 0, 0, 0, 0, 'Flask of Endless Rage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (13365, 1526, 27, 13834, 0, 0, 0, 0, 0, 'Dangerously Delicious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 8), + (13403, 4788, 36, 29123, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 8), + (13416, 4789, 36, 29126, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 8), + (510, 627, 43, 107, 1, 0, 0, 0, 0, 'Gol\'Bolar Quarry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (624, 116, 40, 186, 2, 0, 0, 0, 0, 'Mining', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (753, 705, 7, 43, 400, 0, 0, 0, 0, 'Swords', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (767, 700, 36, 18850, 1, 0, 0, 0, 0, 'Insignia of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (787, 701, 36, 29593, 1, 0, 0, 0, 0, 'Insignia of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (830, 728, 43, 258, 1, 0, 0, 0, 0, 'Drygulch Ravine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (856, 731, 40, 186, 3, 0, 0, 0, 0, 'Mining', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (867, 732, 40, 186, 4, 0, 0, 0, 0, 'Mining', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (878, 733, 40, 186, 5, 0, 0, 0, 0, 'Mining', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (889, 734, 40, 186, 6, 0, 0, 0, 0, 'Mining', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (900, 735, 40, 186, 6, 0, 0, 0, 0, 'Mining', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (909, 736, 43, 198, 1, 0, 0, 0, 0, 'Thunderhorn Water Well', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (925, 750, 43, 469, 1, 0, 0, 0, 0, 'Far Watch Post', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (955, 760, 43, 449, 1, 0, 0, 0, 0, 'Lordamere Internment Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (969, 761, 43, 569, 1, 0, 0, 0, 0, 'Boulderfist Hall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1022, 765, 43, 589, 1, 0, 0, 0, 0, 'Valley of Fangs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1036, 766, 43, 829, 1, 0, 0, 0, 0, 'Rise of the Defiler', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1046, 768, 43, 227, 1, 0, 0, 0, 0, 'Brightwater Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1061, 769, 43, 309, 1, 0, 0, 0, 0, 'Deep Elem Mine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1076, 770, 43, 969, 1, 0, 0, 0, 0, 'Northridge Lumber Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1089, 771, 43, 886, 1, 0, 0, 0, 0, 'Lake Mereldar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1111, 772, 43, 409, 1, 0, 0, 0, 0, 'Western Strand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1123, 773, 43, 609, 1, 0, 0, 0, 0, 'The Altar of Zul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1144, 775, 43, 789, 1, 0, 0, 0, 0, 'Altar of Storms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1154, 776, 43, 129, 1, 0, 0, 0, 0, 'Eastvale Logging Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1169, 778, 43, 429, 1, 0, 0, 0, 0, 'The Rotting Orchard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1182, 779, 43, 324, 1, 0, 0, 0, 0, 'Thelsamar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1190, 780, 43, 366, 1, 0, 0, 0, 0, 'Render\'s Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1204, 781, 43, 506, 1, 0, 0, 0, 0, 'Bloodsail Compound', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1231, 782, 43, 549, 1, 0, 0, 0, 0, 'Sorrowmurk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1256, 802, 43, 289, 1, 0, 0, 0, 0, 'Moonbrook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1270, 841, 43, 389, 1, 0, 0, 0, 0, 'Angerfang Encampment', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1287, 42, 8, 772, 1, 0, 0, 0, 0, 'Hillsbrad Foothills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1307, 842, 43, 94, 1, 0, 0, 0, 0, 'Wellspring Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1322, 844, 43, 349, 1, 0, 0, 0, 0, 'The Master\'s Glaive', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1331, 845, 43, 749, 1, 0, 0, 0, 0, 'The Ruins of Stardust', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1349, 846, 43, 689, 1, 0, 0, 0, 0, 'Highperch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1358, 847, 43, 923, 1, 0, 0, 0, 0, 'The Charred Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1377, 848, 43, 767, 1, 0, 0, 0, 0, 'Kodo Graveyard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1387, 849, 43, 988, 1, 0, 0, 0, 0, 'Frayfeather Highlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1417, 851, 43, 650, 1, 0, 0, 0, 0, 'Broken Pillar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1433, 852, 43, 849, 1, 0, 0, 0, 0, 'Ursolan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1448, 853, 43, 869, 1, 0, 0, 0, 0, 'Jadefire Glen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1483, 857, 43, 1011, 1, 0, 0, 0, 0, 'Winterfall Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1492, 43, 8, 846, 1, 0, 0, 0, 0, 'Thousand Needles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1516, 859, 43, 1138, 1, 0, 0, 0, 0, 'Duskwither Grounds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1540, 858, 43, 1162, 1, 0, 0, 0, 0, 'Howling Ziggurat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1560, 860, 43, 1371, 1, 0, 0, 0, 0, 'Odesyus\' Landing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1581, 861, 43, 1336, 1, 0, 0, 0, 0, 'Middenvale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1629, 862, 43, 1217, 1, 0, 0, 0, 0, 'Temple of Telhamat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1651, 863, 43, 1149, 1, 0, 0, 0, 0, 'The Lagoon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1672, 864, 43, 1118, 1, 0, 0, 0, 0, 'Warden\'s Cage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1692, 865, 43, 1297, 1, 0, 0, 0, 0, 'Forge Camp: Anger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1717, 866, 43, 1197, 1, 0, 0, 0, 0, 'The Ring of Trials', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1734, 867, 43, 1276, 1, 0, 0, 0, 0, 'Raastok Glade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1766, 843, 43, 1187, 1, 0, 0, 0, 0, 'The Heap', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1809, 220, 1, 30, 1, 3, 30, 3, 30, 'Tower H3 owned by the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 9), + (1818, 873, 1, 30, 1, 3, 30, 3, 30, 'Tower H3 owned by the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 9), + (1843, 878, 42, 6364, 1, 0, 0, 0, 0, '32 Pound Catfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1851, 879, 36, 12330, 1, 0, 0, 0, 0, 'Red Wolf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (1939, 912, 27, 8636, 1, 0, 0, 0, 0, 'Elder Rumblerock in Burning Steppes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (1954, 911, 27, 8725, 1, 0, 0, 0, 0, 'Elder Riversong in Astranaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (2080, 963, 27, 12350, 1, 0, 0, 0, 0, 'Feralas, Feathermoon Stronghold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (2108, 965, 27, 12381, 1, 0, 0, 0, 0, 'Desolace, Shadowprey Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (2140, 966, 27, 12336, 1, 0, 0, 0, 0, 'Stormwind, The Trade District', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (2153, 967, 27, 12387, 1, 0, 0, 0, 0, 'Hinterlands, Revantusk Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (2203, 969, 27, 12354, 1, 0, 0, 0, 0, 'Zangarmarsh, Telredor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (2211, 968, 27, 12406, 1, 0, 0, 0, 0, 'Blade\'s Edge Mountains, Evergrove', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (2268, 979, 36, 20567, 1, 0, 0, 0, 0, 'Flimsy Female Troll Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (2350, 556, 49, 9, 1, 0, 0, 0, 0, 'Hands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (2367, 245, 52, 9, 1, 0, 0, 0, 0, 'Warlock', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (2895, 621, 57, 25549, 1, 0, 0, 0, 0, 'Blood Knight Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (3071, 1022, 27, 11822, 1, 0, 0, 0, 0, 'Redridge Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3084, 1023, 27, 11833, 1, 0, 0, 0, 0, 'Tanaris', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3109, 1025, 27, 11857, 1, 0, 0, 0, 0, 'Swamp of Sorrows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3120, 1026, 27, 11838, 1, 0, 0, 0, 0, 'Tanaris', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3139, 1028, 27, 11781, 1, 0, 0, 0, 0, 'Swamp of Sorrows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3150, 1029, 27, 11802, 1, 0, 0, 0, 0, 'Tanaris', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3169, 1031, 27, 11751, 1, 0, 0, 0, 0, 'Redridge Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3182, 1032, 27, 11762, 1, 0, 0, 0, 0, 'Tanaris', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3309, 344, 41, 34721, 1, 0, 0, 0, 0, 'Frostweave Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3366, 227, 55, 0, 300000, 3, 566, 3, 566, '300,000 healing in eots', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 9), + (3400, 1167, 8, 582, 0, 0, 0, 0, 0, 'Alterac Valley All-Star', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3412, 1168, 8, 582, 0, 0, 0, 0, 0, 'Alterac Valley All-Star', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3424, 1169, 8, 159, 0, 0, 0, 0, 0, 'Let\'s Get This Done', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3439, 1170, 8, 159, 0, 0, 0, 0, 0, 'Let\'s Get This Done', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3470, 1172, 8, 202, 0, 0, 0, 0, 0, 'Quick Cap', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3485, 1173, 8, 1502, 0, 0, 0, 0, 0, 'Quick Cap', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3523, 1183, 28, 42259, 1, 0, 0, 0, 0, 'Binary Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3541, 1184, 41, 33033, 1, 0, 0, 0, 0, 'Thunderbrew Stout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3569, 1187, 36, 13704, 1, 0, 0, 0, 0, 'Skeleton Key', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3602, 1203, 41, 34022, 1, 0, 0, 0, 0, 'Stout Shrunken Head', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3731, 557, 49, 9, 1, 0, 0, 0, 0, 'Hands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3749, 1206, 54, 225, 1, 0, 0, 0, 0, 'Ewe', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3770, 1244, 68, 175731, 1, 0, 0, 0, 0, 'Exile of the High Elves', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3812, 161, 1, 529, 1, 0, 0, 0, 0, 'Overcome a 500 resource disadvantage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (3862, 153, 72, 180750, 1, 0, 0, 0, 0, 'Teeming Oily Blackmouth School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (3911, 45, 8, 1270, 0, 0, 0, 0, 0, 'Icecrown', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3947, 1283, 8, 636, 0, 0, 0, 0, 0, 'Razorfen Downs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (3973, 1284, 8, 655, 0, 0, 0, 0, 0, 'Opening of the Dark Portal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4022, 1286, 8, 698, 0, 0, 0, 0, 0, 'Sunwell Plateau', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4032, 1287, 8, 676, 0, 0, 0, 0, 0, 'Heroic Opening of the Dark Portal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4048, 1288, 8, 485, 0, 0, 0, 0, 0, 'Halls of Stone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4064, 1289, 8, 496, 0, 0, 0, 0, 0, 'Heroic Halls of Stone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4130, 1264, 43, 1483, 0, 0, 0, 0, 0, 'Amber Ledge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4144, 1263, 43, 1505, 0, 0, 0, 0, 0, 'Gjalerbron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4167, 1265, 43, 1504, 0, 0, 0, 0, 0, 'Emerald Dragonshrine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4186, 1266, 43, 1477, 0, 0, 0, 0, 0, 'Venture Bay', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4200, 1267, 43, 1538, 0, 0, 0, 0, 0, 'Zim\'Torga', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4214, 1268, 43, 1552, 0, 0, 0, 0, 0, 'The Avalanche', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4283, 684, 36, 17075, 1, 0, 0, 0, 0, 'Vis\'kag the Bloodletter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (4296, 345, 41, 17348, 0, 0, 0, 0, 0, 'Major healing Draught', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4321, 922, 41, 31677, 0, 0, 0, 0, 0, 'Fel Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4344, 923, 41, 8423, 0, 0, 0, 0, 0, 'Cerebral Cortex Compound', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4417, 811, 41, 13506, 0, 0, 0, 0, 0, 'Flask of Petrification', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4457, 687, 27, 8633, 1, 0, 0, 0, 0, 'Enigma Robes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (4512, 1311, 0, 18678, 1, 0, 0, 0, 0, 'Fulgorge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4548, 686, 36, 18816, 1, 0, 0, 0, 0, 'Perdition\'s Blade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (4568, 685, 36, 19378, 1, 0, 0, 0, 0, 'Cloak of the Brood Lord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (4604, 698, 36, 34345, 1, 0, 0, 0, 0, 'Crown of Anasterian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (4625, 695, 36, 30905, 1, 0, 0, 0, 0, 'Midnight Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (4727, 812, 41, 19007, 0, 0, 0, 0, 0, 'Lesser Healthstone (2)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4745, 924, 46, 1067, 42000, 0, 0, 0, 0, 'Exlated with the Hand of Vengeance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4758, 925, 46, 933, 42000, 0, 0, 0, 0, 'Exlated with the Consortium', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4776, 927, 49, 6, 1, 0, 0, 0, 0, 'Legs are Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (4795, 697, 36, 32235, 1, 0, 0, 0, 0, 'Cursed Vision of Sargeras', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (4825, 696, 36, 29996, 1, 0, 0, 0, 0, 'Rod of the Sun King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (4855, 694, 36, 30102, 1, 0, 0, 0, 0, 'Krakken-Heart Breastplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (4882, 693, 36, 28783, 1, 0, 0, 0, 0, 'Eredar Wand of Obliteration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (4914, 692, 36, 28823, 1, 0, 0, 0, 0, 'Eye of Gruul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (4956, 107, 78, 0, 0, 0, 0, 0, 0, 'Unspecified', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5000, 350, 68, 189994, 0, 0, 0, 0, 0, 'Portal to Stonard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5028, 388, 70, 0, 50, 0, 0, 0, 0, 'The Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 9), + (5039, 1006, 70, 0, 50, 0, 0, 0, 0, 'Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 9), + (5061, 1307, 27, 9002, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (5087, 284, 36, 20567, 1, 0, 0, 0, 0, 'Flimsy Female Troll Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5149, 1396, 27, 13025, 1, 0, 0, 0, 0, 'Elder Lunaro in Ruins of Tethys', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5261, 910, 27, 13022, 1, 0, 0, 0, 0, 'Elder Nurgen in Azjol-Nerub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5321, 926, 46, 941, 42000, 0, 0, 0, 0, 'Exalted with The Mag\'har', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5336, 1466, 46, 946, 42000, 0, 0, 0, 0, 'Exalted with Honor Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5455, 1467, 0, 28586, 1, 0, 0, 0, 0, 'General Bjarngrim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5559, 1199, 40, 186, 1, 0, 0, 0, 0, 'Mining', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5573, 1201, 7, 186, 450, 0, 0, 0, 0, 'Mining', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5584, 1202, 7, 45, 400, 0, 0, 0, 0, 'Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5625, 1103, 0, 26632, 1, 0, 0, 0, 0, 'The Prophet Tharon\'ja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5670, 1516, 8, 560, 0, 0, 0, 0, 0, 'Deadliest Catch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5688, 1517, 72, 192046, 1, 0, 0, 0, 0, 'Musselback Sculpin School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5781, 291, 110, 44212, 1, 0, 0, 0, 0, 'Troll', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5828, 1656, 8, 283, 0, 0, 0, 0, 0, 'The Masquerade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5840, 1657, 8, 283, 0, 0, 0, 0, 0, 'The Masquerade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5851, 1269, 43, 1577, 0, 0, 0, 0, 0, 'Temple of Life', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5867, 1270, 43, 1574, 0, 0, 0, 0, 0, 'Valley of Echoes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5885, 1658, 0, 27656, 1, 0, 0, 0, 0, 'Heroic: Ley-Guardian Eregos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (5908, 1676, 11, 41, 700, 0, 0, 0, 0, 'Deadwind Pass', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 9), + (5960, 1677, 11, 41, 550, 0, 0, 0, 0, 'Deadwind Pass', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 9), + (6012, 1678, 11, 2557, 700, 0, 0, 0, 0, 'Dire Maul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 9), + (6107, 1680, 11, 2557, 685, 0, 0, 0, 0, 'Dire Maul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 9), + (6221, 727, 34, 35028, 0, 0, 0, 0, 0, 'Swift Warstrider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (6235, 1686, 110, 26004, 1, 0, 0, 0, 0, 'Brother Benjamin in Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (6245, 1687, 110, 44755, 1, 0, 0, 0, 0, 'Blood Elf Warlock', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (6271, 1691, 8, 1688, 0, 0, 0, 0, 0, 'The Winter Veil Gourmet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (6283, 1692, 8, 1688, 0, 0, 0, 0, 0, 'The Winter Veil Gourmet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (6288, 913, 8, 1281, 0, 0, 0, 0, 0, 'The Rocket\'s Red Glare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (6319, 1699, 110, 27571, 1, 0, 0, 0, 0, 'Blood Elf Mage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (6361, 1693, 8, 1702, 0, 0, 0, 0, 0, 'Sweet Tooth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (6375, 1707, 8, 1702, 0, 0, 0, 0, 0, 'Sweet Tooth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (6494, 1777, 29, 57421, 1, 0, 0, 0, 0, 'Northern Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (6670, 1792, 36, 32617, 1, 0, 0, 0, 0, 'Sleepy Willy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (6756, 1563, 8, 1798, 0, 0, 0, 0, 0, 'Sous Chef', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (6757, 1784, 8, 1798, 0, 0, 0, 0, 0, 'Sous Chef', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (6769, 1800, 29, 33285, 1, 0, 0, 0, 0, 'Sporeling Snack', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7155, 578, 0, 16011, 1, 0, 0, 0, 0, 'Loatheb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7168, 579, 0, 16011, 1, 0, 0, 0, 0, 'Loatheb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7252, 1957, 36, 43634, 1, 0, 0, 0, 0, 'Lady Katrana Prestor\'s Gold Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7286, 2016, 27, 12437, 1, 0, 0, 0, 0, 'Riding the Red Rocket', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7295, 2017, 27, 12324, 1, 0, 0, 0, 0, 'Smoke \'Em Out', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7308, 2019, 27, 13253, 1, 0, 0, 0, 0, 'Proof of Demise: Loken', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7449, 2094, 42, 43710, 1, 0, 0, 0, 0, 'Genn\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7471, 2095, 42, 43681, 1, 0, 0, 0, 0, 'King Terenas Menethil\'s Silver Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7505, 2136, 8, 2038, 0, 0, 0, 0, 0, 'Respect Your Elders', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7534, 2137, 8, 1874, 0, 0, 0, 0, 0, 'You Don\'t Have An Eternity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7611, 2138, 8, 2181, 0, 0, 0, 0, 0, 'Subtraction (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7650, 2194, 8, 1764, 0, 0, 0, 0, 0, 'Drop it!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7662, 2195, 8, 1764, 0, 0, 0, 0, 0, 'Drop it!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7713, 2199, 70, 0, 10, 0, 0, 0, 0, 'Westspark Workshop', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7734, 1752, 8, 1723, 0, 0, 0, 0, 0, 'Vehicular Gnomeslaughter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7804, 322, 20, 26533, 0, 0, 0, 0, 0, 'Mal\'Ganis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7823, 323, 20, 16063, 0, 0, 0, 0, 0, 'Sir Zeliek', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7843, 324, 20, 30549, 0, 0, 0, 0, 0, 'Baron Rivendare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (7863, 801, 28, 27240, 0, 0, 0, 0, 0, 'Use Soulstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (8108, 2256, 0, 32398, 1, 0, 0, 0, 0, 'King Ping', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (8692, 347, 41, 20062, 0, 0, 0, 0, 0, 'Arathi Basin Enriched Ration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (9004, 346, 41, 24006, 0, 0, 0, 0, 0, 'Grunt\'s Waterskin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (9150, 2422, 110, 61815, 1, 0, 0, 0, 0, 'Troll', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (9307, 2557, 54, 225, 1, 0, 0, 0, 0, 'Mountain Skunk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (9365, 2556, 0, 16030, 1, 0, 0, 0, 0, 'Maggot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (9751, 2758, 27, 13695, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 9), + (9769, 2776, 8, 1723, 0, 0, 0, 0, 0, 'Vehicular Gnomeslaughter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (9921, 2836, 28, 64815, 1, 0, 0, 0, 0, 'Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (9982, 1770, 0, 33413, 1, 0, 0, 0, 0, 'Thorim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (9983, 1756, 0, 33413, 1, 0, 0, 0, 0, 'Thorim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (10107, 2957, 8, 3176, 0, 0, 0, 0, 0, 'Lose Your Illusion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (10372, 2958, 8, 3183, 0, 0, 0, 0, 0, 'Lose Your Illusion (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (10403, 2903, 28, 64985, 1, 0, 0, 0, 0, 'Thorim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (10404, 2904, 28, 64985, 1, 0, 0, 0, 0, 'Thorim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (11265, 3478, 8, 3559, 0, 0, 0, 0, 0, 'Turkey Lurkey', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (11274, 3656, 8, 3559, 0, 0, 0, 0, 0, 'Turkey Lurkey', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (11328, 3696, 27, 13728, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775167, 2, 0, 0, 0, 9), + (11510, 3857, 8, 3854, 0, 0, 0, 0, 0, 'Back Door Job', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (11757, 3957, 8, 3854, 0, 0, 0, 0, 0, 'Back Door Job', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (11911, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Vek\'nilash', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (12081, 1525, 27, 13114, 1, 0, 0, 0, 0, 'Infused Mushroom Meatloaf - Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (12626, 4416, 34, 46426, 0, 0, 0, 0, 0, 'Chuck', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (12686, 4456, 69, 61863, 1, 0, 0, 0, 0, 'The Prophet Tharon\'ja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (12806, 4556, 69, 61863, 1, 0, 0, 0, 0, 'The Prophet Tharon\'ja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (12885, 1695, 27, 24638, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 9), + (12921, 4602, 8, 4538, 0, 0, 0, 0, 0, 'Dances with Oozes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (13020, 4603, 8, 4614, 0, 0, 0, 0, 0, 'Dances with Oozes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (13256, 1689, 27, 13966, 1, 0, 0, 0, 0, 'Winter Veil Gift', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9), + (13366, 1526, 27, 13836, 0, 0, 0, 0, 0, 'Monsterbelly Appetite', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 9), + (13404, 4788, 36, 29124, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 9), + (13417, 4789, 36, 28910, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 9), + (511, 627, 43, 105, 1, 0, 0, 0, 0, 'North Gate Outpost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (625, 116, 40, 393, 2, 0, 0, 0, 0, 'Skinning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (754, 705, 7, 172, 400, 0, 0, 0, 0, 'Two-Handed Axes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (768, 700, 36, 28239, 1, 0, 0, 0, 0, 'Medallion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (788, 701, 36, 28234, 1, 0, 0, 0, 0, 'Medallion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (831, 728, 43, 260, 1, 0, 0, 0, 0, 'Skull Rock', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (857, 731, 40, 393, 3, 0, 0, 0, 0, 'Skinning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (868, 732, 40, 393, 4, 0, 0, 0, 0, 'Skinning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (879, 733, 40, 393, 5, 0, 0, 0, 0, 'Skinning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (890, 734, 40, 393, 6, 0, 0, 0, 0, 'Skinning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (901, 735, 40, 393, 6, 0, 0, 0, 0, 'Skinning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (910, 736, 43, 200, 1, 0, 0, 0, 0, 'Bael\'Dun Digsite', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (926, 750, 43, 470, 1, 0, 0, 0, 0, 'Thorn Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (956, 760, 43, 450, 1, 0, 0, 0, 0, 'Misty Shore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (970, 761, 43, 570, 1, 0, 0, 0, 0, 'Refuge Pointe', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1023, 765, 43, 590, 1, 0, 0, 0, 0, 'Angor Fortress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1047, 768, 43, 226, 1, 0, 0, 0, 0, 'Balnir Farmstead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1062, 769, 43, 310, 1, 0, 0, 0, 0, 'Olsen\'s Farthing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1077, 770, 43, 970, 1, 0, 0, 0, 0, 'Hearthglen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1090, 771, 43, 885, 1, 0, 0, 0, 0, 'Tyr\'s Hand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1112, 772, 43, 410, 1, 0, 0, 0, 0, 'Azurelode Mine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1124, 773, 43, 610, 1, 0, 0, 0, 0, 'Seradane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1145, 775, 43, 901, 1, 0, 0, 0, 0, 'Blackrock Mountain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1155, 776, 43, 130, 1, 0, 0, 0, 0, 'Ridgepoint Tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1170, 778, 43, 430, 1, 0, 0, 0, 0, 'Tranquil Gardens Cemetery', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1183, 779, 43, 325, 1, 0, 0, 0, 0, 'Stonesplinter Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1194, 780, 43, 370, 1, 0, 0, 0, 0, 'Stonewatch Falls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1205, 781, 43, 507, 1, 0, 0, 0, 0, 'Ruins of Aboraz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1232, 782, 43, 550, 1, 0, 0, 0, 0, 'Fallow Sanctuary', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1257, 802, 43, 290, 1, 0, 0, 0, 0, 'Alexston Farmstead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1271, 841, 43, 390, 1, 0, 0, 0, 0, 'Dun Algaz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1288, 42, 8, 779, 1, 0, 0, 0, 0, 'Loch Modan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1308, 842, 43, 85, 1, 0, 0, 0, 0, 'Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1332, 845, 43, 750, 1, 0, 0, 0, 0, 'Mystral Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1359, 847, 43, 922, 1, 0, 0, 0, 0, 'Mirkfallon Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1378, 848, 43, 766, 1, 0, 0, 0, 0, 'Shadowprey Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1388, 849, 43, 989, 1, 0, 0, 0, 0, 'Ruins of Isildien', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1418, 851, 43, 649, 1, 0, 0, 0, 0, 'The Noxious Lair', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1434, 852, 43, 850, 1, 0, 0, 0, 0, 'Timbermaw Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1449, 853, 43, 870, 1, 0, 0, 0, 0, 'Emerald Sanctuary', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1484, 857, 43, 1012, 1, 0, 0, 0, 0, 'The Hidden Grove', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1493, 43, 8, 847, 1, 0, 0, 0, 0, 'Stonetalon Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1517, 859, 43, 1140, 1, 0, 0, 0, 0, 'Fairbreeze Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1541, 858, 43, 1163, 1, 0, 0, 0, 0, 'Deatholme', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1561, 860, 43, 1372, 1, 0, 0, 0, 0, 'Pod Cluster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1582, 861, 43, 1337, 1, 0, 0, 0, 0, 'Mystwood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1630, 862, 43, 1218, 1, 0, 0, 0, 0, 'The Legion Front', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1652, 863, 43, 1154, 1, 0, 0, 0, 0, 'Twin Spire Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1673, 864, 43, 1121, 1, 0, 0, 0, 0, 'Wildhammer Stronghold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1693, 865, 43, 1298, 1, 0, 0, 0, 0, 'Forge Camp: Terror', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1718, 866, 43, 1198, 1, 0, 0, 0, 0, 'Throne of the Elements', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1735, 867, 43, 1277, 1, 0, 0, 0, 0, 'The Barrier Hills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1767, 843, 43, 1260, 1, 0, 0, 0, 0, 'Arklon Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1810, 220, 1, 30, 1, 3, 30, 3, 30, 'Tower H4 owned by the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 10), + (1819, 873, 1, 30, 1, 3, 30, 3, 30, 'Tower H4 owned by the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 6, 0, 0, 0, 10), + (1844, 878, 42, 19808, 1, 0, 0, 0, 0, 'Rockhide Strongfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1940, 912, 27, 8683, 1, 0, 0, 0, 0, 'Elder Dawnstrider in Flame Crest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (1955, 911, 27, 8679, 1, 0, 0, 0, 0, 'Elder Grimtotem in Feralas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (2081, 963, 27, 12347, 1, 0, 0, 0, 0, 'Stonetalon Mountains, Stonetalon Peak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (2109, 965, 27, 12361, 1, 0, 0, 0, 0, 'Durotar, Razor Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (2141, 966, 27, 12340, 1, 0, 0, 0, 0, 'Westfall, Sentinel Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (2154, 967, 27, 12370, 1, 0, 0, 0, 0, 'Silvermoon, The Bazaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (2204, 969, 27, 12406, 1, 0, 0, 0, 0, 'Blade\'s Edge Mountains, Evergrove', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (2212, 968, 27, 12407, 1, 0, 0, 0, 0, 'Netherstorm, Area 52', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (2269, 979, 36, 20574, 1, 0, 0, 0, 0, 'Flimsy Female Undead Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (2351, 556, 49, 10, 1, 0, 0, 0, 0, 'Left Ring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (2368, 245, 52, 1, 1, 0, 0, 0, 0, 'Warrior', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (2896, 621, 57, 31804, 1, 0, 0, 0, 0, 'Cenarion Expedition Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (3072, 1022, 27, 11832, 1, 0, 0, 0, 0, 'Stranglethorn Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3085, 1023, 27, 11824, 1, 0, 0, 0, 0, 'Teldrassil', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3110, 1025, 27, 11860, 1, 0, 0, 0, 0, 'The Hinterlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3121, 1026, 27, 11859, 1, 0, 0, 0, 0, 'The Barrens', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3140, 1028, 27, 11784, 1, 0, 0, 0, 0, 'The Hinterlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3151, 1029, 27, 11783, 1, 0, 0, 0, 0, 'The Barrens', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3170, 1031, 27, 11761, 1, 0, 0, 0, 0, 'Stranglethorn Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3183, 1032, 27, 11753, 1, 0, 0, 0, 0, 'Teldrassil', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3310, 344, 41, 34722, 1, 0, 0, 0, 0, 'Heavy Frostweave Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3367, 227, 55, 0, 300000, 3, 489, 3, 489, '300,000 healing in wsg', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 10), + (3401, 1167, 8, 707, 0, 0, 0, 0, 0, 'Stormpike Battle Charger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3413, 1168, 8, 706, 0, 0, 0, 0, 0, 'Frostwolf Howler', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3427, 1169, 8, 162, 0, 0, 0, 0, 0, 'We Had It All Along *cough*', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3442, 1170, 8, 162, 0, 0, 0, 0, 0, 'We Had It All Along *cough*', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3471, 1172, 8, 206, 0, 0, 0, 0, 0, 'Supreme Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3486, 1173, 8, 1252, 0, 0, 0, 0, 0, 'Supreme Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3524, 1183, 28, 42258, 1, 0, 0, 0, 0, 'Bartlett\'s Bitter Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3568, 1187, 36, 6893, 1, 0, 0, 0, 0, 'Workshop Key', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3732, 557, 49, 10, 1, 0, 0, 0, 0, 'Left Ring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3750, 1206, 54, 225, 1, 0, 0, 0, 0, 'Fawn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3771, 1244, 68, 175749, 1, 0, 0, 0, 0, 'Icecrown and the Frozen Throne', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3813, 161, 1, 529, 1, 0, 0, 0, 0, 'Overcome a 500 resource disadvantage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (3869, 153, 72, 182957, 1, 0, 0, 0, 0, 'Highland Mixed School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (3948, 1283, 8, 637, 0, 0, 0, 0, 0, 'Scarlet Monastery', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (3974, 1284, 8, 656, 0, 0, 0, 0, 0, 'The Steamvault', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4033, 1287, 8, 677, 0, 0, 0, 0, 0, 'Heroic The Steamvault', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4049, 1288, 8, 486, 0, 0, 0, 0, 0, 'Halls of Lightning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4065, 1289, 8, 497, 0, 0, 0, 0, 0, 'Heroic Halls of Lightning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4131, 1264, 43, 1484, 0, 0, 0, 0, 0, 'Warsong Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4146, 1263, 43, 1508, 0, 0, 0, 0, 0, 'Ember Clutch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4168, 1265, 43, 1506, 0, 0, 0, 0, 0, 'Coldwind Heights', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4187, 1266, 43, 1478, 0, 0, 0, 0, 0, 'Voldrune', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4201, 1267, 43, 1539, 0, 0, 0, 0, 0, 'Zeramas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4215, 1268, 43, 1553, 0, 0, 0, 0, 0, 'The Glimmering Pillar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4284, 684, 36, 18813, 1, 0, 0, 0, 0, 'Ring of Binding', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (4297, 345, 41, 13446, 0, 0, 0, 0, 0, 'Major Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4322, 922, 41, 6149, 0, 0, 0, 0, 0, 'Greater Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4345, 923, 41, 32063, 0, 0, 0, 0, 0, 'Earthen Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4458, 687, 27, 8603, 1, 0, 0, 0, 0, 'Vestments of the Oracle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (4513, 1311, 0, 17144, 1, 0, 0, 0, 0, 'Goretooth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4549, 686, 36, 18817, 1, 0, 0, 0, 0, 'Crown of Destruction', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (4569, 685, 36, 19363, 1, 0, 0, 0, 0, 'Crul\'shorukh, Edge of Chaos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (4605, 698, 36, 34329, 1, 0, 0, 0, 0, 'Crux of the Apocalypse', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (4626, 695, 36, 30913, 1, 0, 0, 0, 0, 'Robes of Rhonin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (4728, 812, 41, 9421, 0, 0, 0, 0, 0, 'Major Healthstone (0)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4746, 924, 46, 1064, 42000, 0, 0, 0, 0, 'Exlated with the Taunka', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4759, 925, 46, 1011, 42000, 0, 0, 0, 0, 'Exlated with Lower City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4777, 927, 49, 15, 1, 0, 0, 0, 0, 'Weapon is Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (4796, 697, 36, 32521, 1, 0, 0, 0, 0, 'Faceplate of the Impenetrable', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (4826, 696, 36, 29992, 1, 0, 0, 0, 0, 'Royal Cloak of the Sunstriders', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (4856, 694, 36, 30108, 1, 0, 0, 0, 0, 'Lightfathom Scepter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (4883, 693, 36, 28789, 1, 0, 0, 0, 0, 'Eye of Magtheridon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (4915, 692, 36, 28824, 1, 0, 0, 0, 0, 'Gauntlets of Martial Perfection', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (4957, 107, 78, 0, 0, 0, 0, 0, 0, 'Totems', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5001, 350, 68, 176296, 0, 0, 0, 0, 0, 'Portal to Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5029, 388, 70, 0, 50, 0, 0, 0, 0, 'Valley of Heroes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 10), + (5062, 1307, 27, 9003, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (5088, 284, 36, 20574, 1, 0, 0, 0, 0, 'Flimsy Female Undead Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5150, 1396, 27, 13026, 1, 0, 0, 0, 0, 'Elder Bluewolf in Wintergrasp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5262, 910, 27, 13023, 1, 0, 0, 0, 0, 'Elder Kilias in Drak\'Tharon Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5322, 926, 46, 947, 42000, 0, 0, 0, 0, 'Exalted with Thrallmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5337, 1466, 46, 978, 42000, 0, 0, 0, 0, 'Exalted with Kurenai', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5443, 1467, 0, 26630, 1, 0, 0, 0, 0, 'Trollgore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5560, 1199, 40, 393, 1, 0, 0, 0, 0, 'Skinning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5574, 1201, 7, 393, 450, 0, 0, 0, 0, 'Skinning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5585, 1202, 7, 173, 400, 0, 0, 0, 0, 'Daggers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5627, 1103, 0, 29306, 1, 0, 0, 0, 0, 'Gal\'darah', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5671, 1516, 8, 144, 0, 0, 0, 0, 0, 'The Lurker Above', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5689, 1517, 72, 192057, 1, 0, 0, 0, 0, 'Nettlefish School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5782, 291, 110, 44212, 1, 0, 0, 0, 0, 'Undead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5829, 1656, 8, 292, 0, 0, 0, 0, 0, 'Sinister Calling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5841, 1657, 8, 292, 0, 0, 0, 0, 0, 'Sinister Calling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5852, 1269, 43, 1582, 0, 0, 0, 0, 0, 'Ulduar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5868, 1270, 43, 1575, 0, 0, 0, 0, 0, 'Ymirheim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5876, 1658, 0, 23980, 1, 0, 0, 0, 0, 'Heroic: Ingvar the Plunderer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (5909, 1676, 11, 2257, 700, 0, 0, 0, 0, 'Deeprun Tram', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 10), + (5961, 1677, 11, 2257, 550, 0, 0, 0, 0, 'Deeprun Tram', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 10), + (6013, 1678, 11, 14, 700, 0, 0, 0, 0, 'Durotar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 10), + (6108, 1680, 11, 14, 685, 0, 0, 0, 0, 'Durotar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 10), + (6196, 879, 34, 16080, 0, 0, 0, 0, 0, 'Red Wolf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (6222, 727, 34, 22722, 0, 0, 0, 0, 0, 'Red Skeletal Warhorse', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (6246, 1687, 110, 44755, 1, 0, 0, 0, 0, 'Draenei Priest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (6272, 1691, 8, 1689, 0, 0, 0, 0, 0, 'He Knows If You\'ve Been Naughty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (6284, 1692, 8, 1689, 0, 0, 0, 0, 0, 'He Knows If You\'ve Been Naughty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (6289, 913, 8, 1552, 0, 0, 0, 0, 0, 'Frenzied Firecracker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (6320, 1699, 110, 27571, 1, 0, 0, 0, 0, 'Draenei Paladin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (6362, 1693, 8, 1701, 0, 0, 0, 0, 0, 'Be Mine!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (6376, 1707, 8, 1701, 0, 0, 0, 0, 0, 'Be Mine!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (6495, 1777, 29, 45566, 1, 0, 0, 0, 0, 'Pickled Fangtooth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (6671, 1792, 36, 32622, 1, 0, 0, 0, 0, 'Elekk Training Collar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (6762, 1563, 8, 1801, 0, 0, 0, 0, 0, 'Captain Rumsey\'s Lager', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (6763, 1784, 8, 1801, 0, 0, 0, 0, 0, 'Captain Rumsey\'s Lager', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (6770, 1800, 29, 33286, 1, 0, 0, 0, 0, 'Blackened Basilisk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7151, 578, 0, 15932, 1, 0, 0, 0, 0, 'Gluth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7164, 579, 0, 15932, 1, 0, 0, 0, 0, 'Gluth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7253, 1957, 36, 43633, 1, 0, 0, 0, 0, 'Prince Kael\'thas Sunstrider\'s Gold Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7309, 2019, 27, 13254, 1, 0, 0, 0, 0, 'Proof of Demise: Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7450, 2094, 42, 43711, 1, 0, 0, 0, 0, 'Inigo\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7472, 2095, 42, 43680, 1, 0, 0, 0, 0, 'King Varian Wrynn\'s Silver Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7506, 2136, 8, 2056, 0, 0, 0, 0, 0, 'Volunteer Work', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7535, 2137, 8, 1869, 0, 0, 0, 0, 0, 'A Poke In The Eye', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7543, 2138, 8, 623, 0, 0, 0, 0, 0, 'The Spellweaver\'s Downfall (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7651, 2194, 8, 2190, 0, 0, 0, 0, 0, 'Drop it now!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7663, 2195, 8, 2190, 0, 0, 0, 0, 0, 'Drop it now!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7719, 2199, 70, 0, 10, 0, 0, 0, 0, 'The Chilled Quagmire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7735, 1752, 8, 1727, 0, 0, 0, 0, 0, 'Leaning Tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7803, 322, 20, 26530, 0, 0, 0, 0, 0, 'Salramm the Fleshcrafter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7822, 323, 20, 30549, 0, 0, 0, 0, 0, 'Baron Rivendare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (7842, 324, 20, 16065, 0, 0, 0, 0, 0, 'Lady Blaymeux', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (8109, 2256, 0, 32400, 1, 0, 0, 0, 0, 'Tukemuth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (8691, 347, 41, 20063, 0, 0, 0, 0, 0, 'Arathi Basin Field Ration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (8762, 801, 29, 27240, 0, 0, 0, 0, 0, 'Use Soulstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (9003, 346, 41, 23585, 0, 0, 0, 0, 0, 'Stouthammer Lite', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (9151, 2422, 110, 61815, 1, 0, 0, 0, 0, 'Undead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (9308, 2557, 54, 225, 1, 0, 0, 0, 0, 'Scalawag Frog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (9366, 2556, 0, 4953, 1, 0, 0, 0, 0, 'Moccasin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (9748, 2758, 27, 13710, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 10), + (9770, 2776, 8, 1727, 0, 0, 0, 0, 0, 'Leaning Tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (9922, 2836, 28, 64816, 1, 0, 0, 0, 0, 'The Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (9984, 1770, 0, 33410, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (9985, 1756, 0, 33410, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (10108, 2957, 8, 3179, 0, 0, 0, 0, 0, 'Knock, Knock, Knock on Wood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (10373, 2958, 8, 3187, 0, 0, 0, 0, 0, 'Knock, Knock, Knock on Wood (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (10582, 2903, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (10583, 2904, 28, 65074, 1, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (11329, 3696, 27, 13729, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775167, 2, 0, 0, 0, 10), + (11511, 3857, 8, 3856, 0, 0, 0, 0, 0, 'Demolition Derby', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (11758, 3957, 8, 4256, 0, 0, 0, 0, 0, 'Demolition Derby', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (11912, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Kalithresh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (12082, 1525, 27, 13103, 1, 0, 0, 0, 0, 'Infused Mushroom Meatloaf - Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (12627, 4416, 34, 67414, 0, 0, 0, 0, 0, 'Deviate Hatchling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 10), + (12687, 4456, 0, 29306, 1, 0, 0, 0, 0, 'Gal\'darah', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (12807, 4556, 0, 29306, 1, 0, 0, 0, 0, 'Gal\'darah', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (12886, 1695, 27, 24645, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 10), + (12922, 4602, 8, 4577, 0, 0, 0, 0, 0, 'Flu Shot Shortage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (13021, 4603, 8, 4615, 0, 0, 0, 0, 0, 'Flu Shot Shortage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (13249, 811, 41, 46378, 0, 0, 0, 0, 0, 'Flask of Pure Mojo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (13367, 1526, 27, 13833, 0, 0, 0, 0, 0, 'Blood is Thicker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 10), + (13405, 4788, 36, 28886, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 10), + (13418, 4789, 36, 28911, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 10), + (512, 627, 43, 104, 1, 0, 0, 0, 0, 'Frostmane Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (626, 116, 40, 197, 2, 0, 0, 0, 0, 'Tailoring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (755, 705, 7, 55, 400, 0, 0, 0, 0, 'Two-Handed Swords', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (769, 700, 36, 38588, 1, 0, 0, 0, 0, 'Medallion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (789, 701, 36, 28235, 1, 0, 0, 0, 0, 'Medallion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (832, 728, 43, 262, 1, 0, 0, 0, 0, 'Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (858, 731, 40, 197, 3, 0, 0, 0, 0, 'Tailoring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (869, 732, 40, 197, 4, 0, 0, 0, 0, 'Tailoring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (880, 733, 40, 197, 5, 0, 0, 0, 0, 'Tailoring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (891, 734, 40, 197, 6, 0, 0, 0, 0, 'Tailoring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (902, 735, 40, 197, 6, 0, 0, 0, 0, 'Tailoring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (912, 736, 43, 206, 1, 0, 0, 0, 0, 'Red Rocks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (927, 750, 43, 471, 1, 0, 0, 0, 0, 'The Crossroads', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (957, 760, 43, 451, 1, 0, 0, 0, 0, 'Ruins of Alterac', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (971, 761, 43, 571, 1, 0, 0, 0, 0, 'Circle of Outer Binding', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1024, 765, 43, 591, 1, 0, 0, 0, 0, 'Dustwind Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1048, 768, 43, 225, 1, 0, 0, 0, 0, 'Crusader Outpost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1063, 769, 43, 311, 1, 0, 0, 0, 0, 'Ambermill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1078, 770, 43, 971, 1, 0, 0, 0, 0, 'Gahrron\'s Withering', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1091, 771, 43, 884, 1, 0, 0, 0, 0, 'Light\'s Hope Chapel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1113, 772, 43, 411, 1, 0, 0, 0, 0, 'Southpoint Tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1125, 773, 43, 611, 1, 0, 0, 0, 0, 'Skulk Rock', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1156, 776, 43, 131, 1, 0, 0, 0, 0, 'Crystal Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1171, 778, 43, 431, 1, 0, 0, 0, 0, 'Darkshire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1184, 779, 43, 326, 1, 0, 0, 0, 0, 'Valley of Kings', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1195, 780, 43, 371, 1, 0, 0, 0, 0, 'Galardell Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1206, 781, 43, 508, 1, 0, 0, 0, 0, 'Ruins of Jubuwal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1233, 782, 43, 551, 1, 0, 0, 0, 0, 'Misty Reed Strand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1258, 802, 43, 291, 1, 0, 0, 0, 0, 'Demont\'s Place', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1272, 841, 43, 391, 1, 0, 0, 0, 0, 'The Green Belt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1289, 42, 8, 780, 1, 0, 0, 0, 0, 'Redridge Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1309, 842, 43, 90, 1, 0, 0, 0, 0, 'Rut\'theran Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1333, 845, 43, 751, 1, 0, 0, 0, 0, 'The Howling Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1360, 847, 43, 921, 1, 0, 0, 0, 0, 'Stonetalon Peak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1379, 848, 43, 765, 1, 0, 0, 0, 0, 'Gelkis Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1389, 849, 43, 990, 1, 0, 0, 0, 0, 'The Writhing Deep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1419, 851, 43, 648, 1, 0, 0, 0, 0, 'Dunemaul Compound', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1435, 852, 43, 851, 1, 0, 0, 0, 0, 'Valormok', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1450, 853, 43, 871, 1, 0, 0, 0, 0, 'Deadwood Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1485, 857, 43, 1013, 1, 0, 0, 0, 0, 'Frostsaber Rock', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1494, 43, 8, 848, 1, 0, 0, 0, 0, 'Desolace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1518, 859, 43, 1142, 1, 0, 0, 0, 0, 'The Living Wood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1542, 858, 43, 1164, 1, 0, 0, 0, 0, 'Zeb\'Nowa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1562, 860, 43, 1373, 1, 0, 0, 0, 0, 'Pod Wreckage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1583, 861, 43, 1338, 1, 0, 0, 0, 0, 'Nazzivian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1632, 862, 43, 1220, 1, 0, 0, 0, 0, 'Thrallmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1653, 863, 43, 1156, 1, 0, 0, 0, 0, 'Umbrafen Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1674, 864, 43, 1273, 1, 0, 0, 0, 0, 'Altar of Sha\'tar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1694, 865, 43, 1299, 1, 0, 0, 0, 0, 'Forge Camp: Wrath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1719, 866, 43, 1199, 1, 0, 0, 0, 0, 'Warmaul Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1736, 867, 43, 1280, 1, 0, 0, 0, 0, 'Razorthorn Shelf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1768, 843, 43, 1261, 1, 0, 0, 0, 0, 'Celestial Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1852, 879, 36, 12351, 1, 0, 0, 0, 0, 'Arctic Wolf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (1941, 912, 27, 8643, 1, 0, 0, 0, 0, 'Elder Highpeak in The Hinterlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (1956, 911, 27, 8685, 1, 0, 0, 0, 0, 'Elder Mistwalker in Dire Maul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (2082, 963, 27, 12331, 1, 0, 0, 0, 0, 'Teldrassil, Dolanaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (2110, 965, 27, 12383, 1, 0, 0, 0, 0, 'Dustwallow Marsh, Brackenwall Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (2142, 966, 27, 12343, 1, 0, 0, 0, 0, 'Wetlands, Menethil Harbor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (2155, 967, 27, 12369, 1, 0, 0, 0, 0, 'Silvermoon, The Royal Exchange', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (2205, 969, 27, 12407, 1, 0, 0, 0, 0, 'Netherstorm, Area 52', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (2213, 968, 27, 12408, 1, 0, 0, 0, 0, 'Netherstorm, The Stormspire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (2270, 979, 36, 34002, 1, 0, 0, 0, 0, 'Flimsy Male Blood Elf Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (2897, 621, 57, 36941, 1, 0, 0, 0, 0, 'Competitor\'s Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (3073, 1022, 27, 11826, 1, 0, 0, 0, 0, 'The Hinterlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3087, 1023, 27, 11834, 1, 0, 0, 0, 0, 'Winterspring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3111, 1025, 27, 11862, 1, 0, 0, 0, 0, 'Tirisfal Glades', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3122, 1026, 27, 11861, 1, 0, 0, 0, 0, 'Thousand Needles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3141, 1028, 27, 11786, 1, 0, 0, 0, 0, 'Tirisfal Glades', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3152, 1029, 27, 11785, 1, 0, 0, 0, 0, 'Thousand Needles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3171, 1031, 27, 11755, 1, 0, 0, 0, 0, 'The Hinterlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3185, 1032, 27, 11763, 1, 0, 0, 0, 0, 'Winterspring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3311, 344, 41, 2581, 1, 0, 0, 0, 0, 'Heavy Linen Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3403, 1167, 8, 1166, 0, 0, 0, 0, 0, 'To the Looter Go The Spoils', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3415, 1168, 8, 1166, 0, 0, 0, 0, 0, 'To the Looter Go the Spoils', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3429, 1169, 8, 583, 0, 0, 0, 0, 0, 'Arathi Basin All-Star', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3444, 1170, 8, 583, 0, 0, 0, 0, 0, 'Arathi Basin All-Star', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3472, 1172, 8, 207, 0, 0, 0, 0, 0, 'Save The Day', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3487, 1173, 8, 207, 0, 0, 0, 0, 0, 'Save The Day', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3525, 1183, 28, 42260, 1, 0, 0, 0, 0, 'Autumnal Acorn Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3733, 557, 49, 11, 1, 0, 0, 0, 0, 'Right Ring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3751, 1206, 54, 225, 1, 0, 0, 0, 0, 'Frog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3772, 1244, 68, 175736, 1, 0, 0, 0, 0, 'Ironforge - the Awakening of the Dwarves', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3870, 153, 72, 182953, 1, 0, 0, 0, 0, 'Sporefish School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (3949, 1283, 8, 638, 0, 0, 0, 0, 0, 'Uldaman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (3975, 1284, 8, 657, 0, 0, 0, 0, 0, 'The Shattered Halls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4034, 1287, 8, 678, 0, 0, 0, 0, 0, 'Heroic The Shattered Halls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4050, 1288, 8, 487, 0, 0, 0, 0, 0, 'The Oculus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4066, 1289, 8, 498, 0, 0, 0, 0, 0, 'Heroic The Oculus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4132, 1264, 43, 1485, 0, 0, 0, 0, 0, 'Valiance Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4147, 1263, 43, 1509, 0, 0, 0, 0, 0, 'Giant\'s Run', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4170, 1265, 43, 1514, 0, 0, 0, 0, 0, 'Angrathar the Wrath Gate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4188, 1266, 43, 1479, 0, 0, 0, 0, 0, 'Amberpine Lodge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4202, 1267, 43, 1540, 0, 0, 0, 0, 0, 'Voltarus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4217, 1268, 43, 1555, 0, 0, 0, 0, 0, 'Kartak\'s Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4285, 684, 36, 17078, 1, 0, 0, 0, 0, 'Sapphiron Drape', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (4298, 345, 41, 18253, 0, 0, 0, 0, 0, 'Major Rejuvenation Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4323, 922, 41, 3385, 0, 0, 0, 0, 0, 'Lesser Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4346, 923, 41, 8949, 0, 0, 0, 0, 0, 'Elixir of Agility', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4459, 687, 27, 8801, 1, 0, 0, 0, 0, 'C\'Thun\'s Legacy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (4514, 1311, 0, 18692, 1, 0, 0, 0, 0, 'Hemathion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4550, 686, 36, 16922, 1, 0, 0, 0, 0, 'Leggings of Transcendence', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (4570, 685, 36, 19360, 1, 0, 0, 0, 0, 'Lok\'amir il Romathis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (4606, 698, 36, 34340, 1, 0, 0, 0, 0, 'Dark Conjuror\'s Collar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (4627, 695, 36, 30904, 1, 0, 0, 0, 0, 'Savior\'s Grasp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (4729, 812, 41, 19012, 0, 0, 0, 0, 0, 'Major Healthstone (1)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4747, 924, 46, 1050, 42000, 0, 0, 0, 0, 'Exlated with Valiance Expedition', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4760, 925, 46, 1031, 42000, 0, 0, 0, 0, 'Exlated with the Sha\'tari Skyguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4778, 927, 49, 1, 1, 0, 0, 0, 0, 'Necklace is Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (4797, 697, 36, 32496, 1, 0, 0, 0, 0, 'Memento of Tyrande', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (4827, 696, 36, 29998, 1, 0, 0, 0, 0, 'Royal Gauntlets of Silvermoon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (4857, 694, 36, 30621, 1, 0, 0, 0, 0, 'Prism of Inner Calm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (4884, 693, 36, 28774, 1, 0, 0, 0, 0, 'Glaive of the Pit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (4916, 692, 36, 28827, 1, 0, 0, 0, 0, 'Gauntlets of the Dragonslayer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (5002, 350, 68, 189993, 0, 0, 0, 0, 0, 'Portal to Theramore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5030, 388, 70, 0, 50, 0, 0, 0, 0, 'Stormwind Harbor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 11), + (5063, 1307, 27, 9004, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (5077, 227, 55, 0, 300000, 3, 607, 3, 607, '300,000 healing in sota', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 11), + (5089, 284, 36, 34002, 1, 0, 0, 0, 0, 'Flimsy Male Blood Elf Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5099, 1187, 36, 42482, 1, 0, 0, 0, 0, 'The Violet Hold Key', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5151, 1396, 27, 13027, 1, 0, 0, 0, 0, 'Elder Tauros in Zim\'Torga', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5263, 910, 27, 13065, 1, 0, 0, 0, 0, 'Elder Ohanzee in Gundrak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5323, 926, 46, 922, 42000, 0, 0, 0, 0, 'Exalted with Tranquillen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5338, 1466, 46, 589, 42000, 0, 0, 0, 0, 'Exalted with Wintersaber Trainers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5452, 1467, 0, 27975, 1, 0, 0, 0, 0, 'Maiden of Grief', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5561, 1199, 40, 197, 1, 0, 0, 0, 0, 'Tailoring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5575, 1201, 7, 197, 450, 0, 0, 0, 0, 'Tailoring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5586, 1202, 7, 228, 400, 0, 0, 0, 0, 'Wands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5626, 1103, 0, 31134, 1, 0, 0, 0, 0, 'Cyanigosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5672, 1516, 8, 1225, 0, 0, 0, 0, 0, 'Outland Angler', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5816, 556, 49, 11, 1, 0, 0, 0, 0, 'Right Ring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5830, 1656, 8, 970, 0, 0, 0, 0, 0, 'Tricks and Treats of Azeroth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5842, 1657, 8, 971, 0, 0, 0, 0, 0, 'Tricks and Treats of Azeroth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5853, 1269, 43, 1583, 0, 0, 0, 0, 0, 'Thunderfall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5869, 1270, 43, 1594, 0, 0, 0, 0, 0, 'The Conflagration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5886, 1658, 0, 26861, 1, 0, 0, 0, 0, 'Heroic: King Ymiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (5910, 1676, 11, 269, 700, 0, 0, 0, 0, 'Dun Algaz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 11), + (5962, 1677, 11, 269, 550, 0, 0, 0, 0, 'Dun Algaz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 11), + (6014, 1678, 11, 15, 700, 0, 0, 0, 0, 'Dustwallow Marsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 11), + (6109, 1680, 11, 15, 685, 0, 0, 0, 0, 'Dustwallow Marsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 11), + (6273, 1691, 8, 1690, 0, 0, 0, 0, 0, 'A Frosty Shake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (6285, 1692, 8, 1690, 0, 0, 0, 0, 0, 'A Frosty Shake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (6290, 913, 8, 937, 0, 0, 0, 0, 0, 'Elune\'s Blessing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (6321, 1699, 110, 27571, 1, 0, 0, 0, 0, 'Dwarf Hunter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (6363, 1693, 8, 1703, 0, 0, 0, 0, 0, 'My Love is Like a Red, Red Rose', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (6377, 1707, 8, 1703, 0, 0, 0, 0, 0, 'My Love is Like a Red, Red Rose', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (6496, 1777, 29, 45565, 1, 0, 0, 0, 0, 'Poached Nettlefish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (6672, 1792, 34, 40614, 0, 0, 0, 0, 0, 'Egbert', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (6771, 1800, 29, 33293, 1, 0, 0, 0, 0, 'Grilled Mudfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (6787, 1784, 8, 1800, 0, 0, 0, 0, 0, 'The Outland Gourmet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (6788, 1563, 8, 1800, 0, 0, 0, 0, 0, 'The Outland Gourmet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7152, 578, 0, 15928, 1, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7162, 579, 0, 16028, 1, 0, 0, 0, 0, 'Patchwerk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7254, 1957, 36, 43632, 1, 0, 0, 0, 0, 'Sylvanas Windrunner\'s Gold Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7310, 2019, 27, 13255, 1, 0, 0, 0, 0, 'Proof of Demise: Herald Volazj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7451, 2094, 42, 43712, 1, 0, 0, 0, 0, 'Krasus\' Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7473, 2095, 42, 43685, 1, 0, 0, 0, 0, 'Maiev Shadowsong\'s Silver Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7536, 2137, 8, 2047, 0, 0, 0, 0, 0, 'Gonna Go When the Volcano Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7544, 2138, 8, 1875, 0, 0, 0, 0, 0, 'You Don\'t Have An Eternity (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7581, 2136, 8, 2151, 0, 0, 0, 0, 0, 'Consumption Junction', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7652, 2194, 8, 1766, 0, 0, 0, 0, 0, 'Ancient Protector', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7664, 2195, 8, 1766, 0, 0, 0, 0, 0, 'Ancient Protector', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7736, 1752, 8, 1751, 0, 0, 0, 0, 0, 'Didn\'t Stand a Chance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7802, 322, 20, 26532, 0, 0, 0, 0, 0, 'Chrono-Lord Epoch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7821, 323, 20, 16065, 0, 0, 0, 0, 0, 'Lady Blaymeux', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7841, 324, 20, 15990, 0, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (7865, 801, 28, 20760, 0, 0, 0, 0, 0, 'Use Soulstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (8110, 2256, 0, 32409, 1, 0, 0, 0, 0, 'Crazed Indu\'le Survivor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (8707, 347, 41, 22238, 0, 0, 0, 0, 0, 'Very Berry Cream', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (9002, 346, 41, 23584, 0, 0, 0, 0, 0, 'Loch Modan Lager', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (9309, 2557, 54, 225, 1, 0, 0, 0, 0, 'Sholazar Tickbird', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (9367, 2556, 0, 6271, 1, 0, 0, 0, 0, 'Mouse', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (9749, 2758, 27, 13689, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 11), + (9771, 2776, 8, 1751, 0, 0, 0, 0, 0, 'Didn\'t Stand a Chance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (9986, 1770, 0, 33412, 1, 0, 0, 0, 0, 'Mimiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (9987, 1756, 0, 33412, 1, 0, 0, 0, 0, 'Mimiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (10347, 2903, 0, 33432, 1, 0, 0, 0, 0, 'Mimiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (10361, 2904, 0, 33432, 1, 0, 0, 0, 0, 'Mimiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (10464, 2957, 8, 3180, 0, 0, 0, 0, 0, 'Firefighter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (10465, 2958, 8, 3189, 0, 0, 0, 0, 0, 'Firefighter (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (11512, 3857, 8, 3855, 0, 0, 0, 0, 0, 'Glaive Grave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (11759, 3957, 8, 3855, 0, 0, 0, 0, 0, 'Glaive Grave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (11913, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Malchezaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (12083, 1525, 27, 13115, 1, 0, 0, 0, 0, 'Infused Mushroom Meatloaf - Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (12628, 4416, 34, 25162, 0, 0, 0, 0, 0, 'Disgusting Oozeling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 11), + (12688, 4456, 0, 31134, 1, 0, 0, 0, 0, 'Cyanigosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (12808, 4556, 0, 31134, 1, 0, 0, 0, 0, 'Cyanigosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (12887, 1695, 27, 24647, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 11), + (12923, 4602, 8, 4578, 0, 0, 0, 0, 0, 'Nausea, Heartburn, Indigestion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (13022, 4603, 8, 4616, 0, 0, 0, 0, 0, 'Nausea, Heartburn, Indigestion...', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (13250, 811, 41, 46379, 0, 0, 0, 0, 0, 'Flask of Stoneblood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 11), + (13406, 4788, 36, 28887, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 11), + (13419, 4789, 36, 28912, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 11), + (513, 627, 43, 103, 1, 0, 0, 0, 0, 'Brewnall Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (770, 700, 36, 37865, 1, 0, 0, 0, 0, 'Medallion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (790, 701, 36, 28236, 1, 0, 0, 0, 0, 'Medallion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (834, 705, 7, 160, 400, 0, 0, 0, 0, 'Two-Handed Maces', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (913, 736, 43, 208, 1, 0, 0, 0, 0, 'Windfury Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (928, 750, 43, 472, 1, 0, 0, 0, 0, 'The Stagnant Oasis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (958, 760, 43, 452, 1, 0, 0, 0, 0, 'Sofera\'s Naze', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (972, 761, 43, 572, 1, 0, 0, 0, 0, 'Witherbark Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1025, 765, 43, 592, 1, 0, 0, 0, 0, 'Hammertoe\'s Digsite', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1049, 768, 43, 224, 1, 0, 0, 0, 0, 'Scarlet Watch Post', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1064, 769, 43, 312, 1, 0, 0, 0, 0, 'Shadowfang Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1079, 770, 43, 972, 1, 0, 0, 0, 0, 'The Weeping Cave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1092, 771, 43, 883, 1, 0, 0, 0, 0, 'The Infectis Scar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1114, 772, 43, 456, 1, 0, 0, 0, 0, 'Purgation Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1126, 773, 43, 612, 1, 0, 0, 0, 0, 'Shaol\'watha', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1157, 776, 43, 132, 1, 0, 0, 0, 0, 'Stone Cairn Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1172, 778, 43, 432, 1, 0, 0, 0, 0, 'Manor Mistmantle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1207, 781, 43, 509, 1, 0, 0, 0, 0, 'Crystalvein Mine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1259, 802, 43, 292, 1, 0, 0, 0, 0, 'Westfall Lighthouse', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1273, 841, 43, 392, 1, 0, 0, 0, 0, 'Mosshide Fen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1290, 42, 8, 768, 1, 0, 0, 0, 0, 'Tirisfal Glades', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1334, 845, 43, 752, 1, 0, 0, 0, 0, 'Raynewood Retreat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1380, 848, 43, 764, 1, 0, 0, 0, 0, 'Mannoroc Coven', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1390, 849, 43, 991, 1, 0, 0, 0, 0, 'Camp Mojache', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1420, 851, 43, 647, 1, 0, 0, 0, 0, 'Southbreak Shore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1436, 852, 43, 852, 1, 0, 0, 0, 0, 'Haldarr Encampment', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1451, 853, 43, 872, 1, 0, 0, 0, 0, 'Morlos\'Aran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1479, 857, 43, 1006, 1, 0, 0, 0, 0, 'Frostwhisper Gorge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1495, 43, 8, 850, 1, 0, 0, 0, 0, 'Dustwallow Marsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1519, 859, 43, 1143, 1, 0, 0, 0, 0, 'Tor\'Watha', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1543, 858, 43, 1165, 1, 0, 0, 0, 0, 'Amani Pass', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1563, 860, 43, 1374, 1, 0, 0, 0, 0, 'Silting Shore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1584, 861, 43, 1339, 1, 0, 0, 0, 0, 'Ragefeather Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1633, 862, 43, 1221, 1, 0, 0, 0, 0, 'Throne of Kil\'jaeden', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1654, 863, 43, 1178, 1, 0, 0, 0, 0, 'Sporeggar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1675, 864, 43, 1274, 1, 0, 0, 0, 0, 'Illidari Point', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1695, 865, 43, 1300, 1, 0, 0, 0, 0, 'Grishnath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1720, 866, 43, 1226, 1, 0, 0, 0, 0, 'Burning Blade Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1737, 867, 43, 1316, 1, 0, 0, 0, 0, 'Bonechewer Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1770, 843, 43, 1263, 1, 0, 0, 0, 0, 'Kirin\'Var Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1942, 912, 27, 8651, 1, 0, 0, 0, 0, 'Elder Ironband in Searing Gorge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (1957, 911, 27, 8723, 1, 0, 0, 0, 0, 'Elder Nightwind in Felwood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (2083, 963, 27, 12396, 1, 0, 0, 0, 0, 'Barrens, Ratchet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (2111, 965, 27, 12386, 1, 0, 0, 0, 0, 'Feralas, Camp Mojache', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (2143, 966, 27, 12402, 1, 0, 0, 0, 0, 'Eastern Plaguelands, Light\'s Hope Chapel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (2156, 967, 27, 12371, 1, 0, 0, 0, 0, 'Silverpine Forest, The Sepulcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (2206, 969, 27, 12408, 1, 0, 0, 0, 0, 'Netherstorm, The Stormspire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (2214, 968, 27, 12404, 1, 0, 0, 0, 0, 'Shattrath City, Aldor Rise or Scryer\'s Tier', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (2271, 979, 36, 34003, 1, 0, 0, 0, 0, 'Flimsy Male Draenei Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (2353, 556, 49, 12, 1, 0, 0, 0, 0, 'First Trinket', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (2898, 621, 57, 19160, 1, 0, 0, 0, 0, 'Contest Winner\'s Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (3123, 1026, 27, 11839, 1, 0, 0, 0, 0, 'Winterspring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (3153, 1029, 27, 11803, 1, 0, 0, 0, 0, 'Winterspring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (3312, 344, 41, 8545, 1, 0, 0, 0, 0, 'Heavy Mageweave Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (3430, 1169, 8, 584, 0, 0, 0, 0, 0, 'Arathi Basin Assassin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (3445, 1170, 8, 584, 0, 0, 0, 0, 0, 'Arathi Basin Assassin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (3526, 1183, 28, 42254, 1, 0, 0, 0, 0, 'Aromatic Honey Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (3734, 557, 49, 12, 1, 0, 0, 0, 0, 'First Trinket', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (3752, 1206, 54, 225, 1, 0, 0, 0, 0, 'Gazelle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (3773, 1244, 68, 175754, 1, 0, 0, 0, 0, 'Kel\'Thuzad and the Forming of the Scourge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (3857, 153, 72, 180657, 1, 0, 0, 0, 0, 'Sparse Firefin Snapper School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (3950, 1283, 8, 639, 0, 0, 0, 0, 0, 'Zul\'Farrak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (3976, 1284, 8, 658, 0, 0, 0, 0, 0, 'The Mechanar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4035, 1287, 8, 679, 0, 0, 0, 0, 0, 'Heroic The Mechanar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4051, 1288, 8, 488, 0, 0, 0, 0, 0, 'Utgarde Pinnacle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4067, 1289, 8, 499, 0, 0, 0, 0, 0, 'Heroic Utgarde Pinnacle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4134, 1264, 43, 1487, 0, 0, 0, 0, 0, 'The Geyser Fields', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4148, 1263, 43, 1510, 0, 0, 0, 0, 0, 'Fort Wildervar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4171, 1265, 43, 1516, 0, 0, 0, 0, 0, 'Agmar\'s Hammer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4189, 1266, 43, 1481, 0, 0, 0, 0, 0, 'Blue Sky Logging Grounds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4203, 1267, 43, 1541, 0, 0, 0, 0, 0, 'Thrym\'s End', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4218, 1268, 43, 1556, 0, 0, 0, 0, 0, 'The Stormwright\'s Shelf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4286, 684, 36, 18205, 1, 0, 0, 0, 0, 'Eskhandar\'s Collar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (4299, 345, 41, 118, 0, 0, 0, 0, 0, 'Minor Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4324, 922, 41, 34440, 0, 0, 0, 0, 0, 'Mad Alchemist\'s Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4347, 923, 41, 13453, 0, 0, 0, 0, 0, 'Elixir of Brute Force', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4418, 811, 41, 22866, 0, 0, 0, 0, 0, 'Flask of Pure Death', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4460, 687, 27, 9251, 1, 0, 0, 0, 0, 'Atiesh, the Befouled Greatstaff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (4515, 1311, 0, 18696, 1, 0, 0, 0, 0, 'Kraator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4551, 686, 36, 16938, 1, 0, 0, 0, 0, 'Dragonstalker\'s Legguards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (4571, 685, 36, 19375, 1, 0, 0, 0, 0, 'Mish\'undare, Circlet of the Mind Flayer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (4607, 698, 36, 34244, 1, 0, 0, 0, 0, 'Duplicitous Guise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (4628, 695, 36, 30911, 1, 0, 0, 0, 0, 'Scepter of Purification', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (4730, 812, 41, 19013, 0, 0, 0, 0, 0, 'Major Healthstone (2)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4748, 924, 46, 1068, 42000, 0, 0, 0, 0, 'Exlated with the Explorer\'s League', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4761, 925, 46, 1077, 42000, 0, 0, 0, 0, 'Exlated with the Shattered Sun Offensive', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4779, 927, 49, 16, 1, 0, 0, 0, 0, 'Off-hand is Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (4798, 697, 36, 32471, 1, 0, 0, 0, 0, 'Shard of Azzinoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (4828, 696, 36, 29991, 1, 0, 0, 0, 0, 'Sunhawk Leggings', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (4858, 694, 36, 30109, 1, 0, 0, 0, 0, 'Ring of Endless Coils', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (4885, 693, 36, 28781, 1, 0, 0, 0, 0, 'Karaborian Talisman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (4917, 692, 36, 28828, 1, 0, 0, 0, 0, 'Gronn-Stitched Girdle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (5003, 350, 68, 176500, 0, 0, 0, 0, 0, 'Portal to Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (5064, 1307, 27, 9005, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (5078, 1022, 27, 11828, 1, 0, 0, 0, 0, 'Wetlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (5090, 284, 36, 34003, 1, 0, 0, 0, 0, 'Flimsy Male Draenei Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (5154, 1396, 27, 13019, 1, 0, 0, 0, 0, 'Elder Thoim in Moa\'ki Harbor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (5264, 910, 27, 13066, 1, 0, 0, 0, 0, 'Elder Yurauk in the Halls of Stone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (5266, 1031, 27, 11757, 1, 0, 0, 0, 0, 'Wetlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (5324, 926, 46, 1085, 42000, 0, 0, 0, 0, 'Exalted with Warsong Offensive', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (5339, 1466, 46, 1050, 42000, 0, 0, 0, 0, 'Exalted with Valiance Expedition', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (5439, 1467, 0, 29308, 1, 0, 0, 0, 0, 'Prince Taldaram', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (5587, 1202, 7, 176, 400, 0, 0, 0, 0, 'Thrown', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (5622, 1103, 0, 26723, 1, 0, 0, 0, 0, 'Keristrasza', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (5690, 1516, 8, 1517, 0, 0, 0, 0, 0, 'Northrend Angler', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (5854, 1269, 43, 1585, 0, 0, 0, 0, 0, 'Temple of Storms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (5871, 1270, 43, 1561, 0, 0, 0, 0, 0, 'Corp\'rethar: The Horror Gate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (5887, 1658, 28, 58630, 1, 0, 0, 0, 0, 'Heroic: Mal\'Ganis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (5911, 1676, 11, 1, 700, 0, 0, 0, 0, 'Dun Morogh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 12), + (5963, 1677, 11, 1, 550, 0, 0, 0, 0, 'Dun Morogh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 12), + (6015, 1678, 11, 361, 700, 0, 0, 0, 0, 'Felwood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 12), + (6110, 1680, 11, 361, 685, 0, 0, 0, 0, 'Felwood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 12), + (6197, 879, 34, 16081, 0, 0, 0, 0, 0, 'Arctic Wolf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (6364, 1693, 8, 1704, 0, 0, 0, 0, 0, 'I Pitied The Fool', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (6378, 1707, 8, 1704, 0, 0, 0, 0, 0, 'I Pitied The Fool', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (6497, 1777, 29, 45553, 1, 0, 0, 0, 0, 'Rhino Dogs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (6673, 1792, 34, 40613, 0, 0, 0, 0, 0, 'Willy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (6772, 1800, 29, 33294, 1, 0, 0, 0, 0, 'Poached Bluefish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (7149, 578, 0, 16028, 1, 0, 0, 0, 0, 'Patchwerk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (7165, 579, 0, 15928, 1, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (7255, 1957, 36, 43631, 1, 0, 0, 0, 0, 'Teron\'s Gold Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (7311, 2019, 27, 13256, 1, 0, 0, 0, 0, 'Proof of Demise: Cyanigosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (7452, 2094, 42, 43713, 1, 0, 0, 0, 0, 'Kryll\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (7474, 2095, 42, 43684, 1, 0, 0, 0, 0, 'Medivh\'s Silver Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (7507, 2136, 8, 2039, 0, 0, 0, 0, 0, 'Better Off Dred', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (7537, 2137, 8, 2051, 0, 0, 0, 0, 0, 'The Twilight Zone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (7545, 2138, 8, 1870, 0, 0, 0, 0, 0, 'A Poke In The Eye (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (7653, 2194, 8, 2191, 0, 0, 0, 0, 0, 'Ancient Courtyard Protector', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (7665, 2195, 8, 2191, 0, 0, 0, 0, 0, 'Ancient Courtyard Protector', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (7801, 322, 20, 26529, 0, 0, 0, 0, 0, 'Meathook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (7820, 323, 20, 15990, 0, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (7840, 324, 20, 15989, 0, 0, 0, 0, 0, 'Sapphiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (8111, 2256, 0, 32417, 1, 0, 0, 0, 0, 'Scarlet Highlord Daion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (8706, 347, 41, 22237, 0, 0, 0, 0, 0, 'Dark Desire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (8760, 801, 29, 20761, 0, 0, 0, 0, 0, 'Use Soulstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (9001, 346, 41, 23246, 0, 0, 0, 0, 0, 'Fiery Festival Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (9310, 2557, 54, 225, 1, 0, 0, 0, 0, 'Tundra Penguin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (9368, 2556, 0, 4075, 1, 0, 0, 0, 0, 'Rat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (9747, 2758, 27, 13706, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 12), + (9988, 1770, 0, 33271, 1, 0, 0, 0, 0, 'General Vezax', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (9989, 1756, 0, 33271, 1, 0, 0, 0, 0, 'General Vezax', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (10110, 2957, 8, 3181, 0, 0, 0, 0, 0, 'I Love the Smell of Saronite in the Morning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (10349, 2903, 0, 33271, 1, 0, 0, 0, 0, 'General Vezax', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (10362, 2904, 0, 33271, 1, 0, 0, 0, 0, 'General Vezax', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (10375, 2958, 8, 3188, 0, 0, 0, 0, 0, 'I Love the Smell of Saronite in the Morning (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (11914, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Gruul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (12084, 1525, 27, 13107, 1, 0, 0, 0, 0, 'Infused Mushroom Meatloaf - Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (12378, 227, 55, 0, 300000, 3, 628, 3, 628, '300,000 healing in Isle of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 11, 0, 0, 0, 12), + (12629, 4416, 34, 10682, 0, 0, 0, 0, 0, 'Hyacinth Macaw', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 12), + (12689, 4456, 0, 26723, 1, 0, 0, 0, 0, 'Keristrasza', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (12809, 4556, 0, 26723, 1, 0, 0, 0, 0, 'Keristrasza', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (12888, 1695, 27, 24648, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 12), + (12924, 4602, 8, 4582, 0, 0, 0, 0, 0, 'The Orb Whisperer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (13023, 4603, 8, 4617, 0, 0, 0, 0, 0, 'The Orb Whisperer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 12), + (13407, 4788, 36, 28888, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 12), + (13420, 4789, 36, 28909, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 12), + (514, 627, 43, 161, 1, 0, 0, 0, 0, 'Anvilmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (756, 705, 7, 162, 400, 0, 0, 0, 0, 'Unarmed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (771, 700, 36, 30346, 1, 0, 0, 0, 0, 'Medallion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (791, 701, 36, 28237, 1, 0, 0, 0, 0, 'Medallion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (915, 736, 43, 204, 1, 0, 0, 0, 0, 'Wildmane Water Well', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (929, 750, 43, 473, 1, 0, 0, 0, 0, 'Ratchet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (959, 760, 43, 453, 1, 0, 0, 0, 0, 'Strahnbrad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (973, 761, 43, 573, 1, 0, 0, 0, 0, 'Go\'Shek Farm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1026, 765, 43, 593, 1, 0, 0, 0, 0, 'The Maker\'s Terrace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1050, 768, 43, 223, 1, 0, 0, 0, 0, 'Whispering Gardens', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1065, 769, 43, 313, 1, 0, 0, 0, 0, 'Pyrewood Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1080, 770, 43, 973, 1, 0, 0, 0, 0, 'Thondroril River', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1093, 771, 43, 882, 1, 0, 0, 0, 0, 'The Noxious Glade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1127, 773, 43, 613, 1, 0, 0, 0, 0, 'Jintha\'Alor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1173, 778, 43, 433, 1, 0, 0, 0, 0, 'The Darkened Bank', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1208, 781, 43, 510, 1, 0, 0, 0, 0, 'Ziata\'jai Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1260, 802, 43, 293, 1, 0, 0, 0, 0, 'The Dagger Hills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1274, 841, 43, 393, 1, 0, 0, 0, 0, 'Direforge Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1335, 845, 43, 753, 1, 0, 0, 0, 0, 'Fallen Sky Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1381, 848, 43, 763, 1, 0, 0, 0, 0, 'Magram Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1391, 849, 43, 992, 1, 0, 0, 0, 0, 'Grimtotem Compound', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1421, 851, 43, 646, 1, 0, 0, 0, 0, 'The Gaping Chasm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1437, 852, 43, 853, 1, 0, 0, 0, 0, 'Shadowsong Shrine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1480, 857, 43, 1007, 1, 0, 0, 0, 0, 'Darkwhisper Gorge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1496, 43, 8, 849, 1, 0, 0, 0, 0, 'Feralas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1520, 859, 43, 1145, 1, 0, 0, 0, 0, 'The Scorched Grove', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1544, 858, 43, 1174, 1, 0, 0, 0, 0, 'Windrunner Spire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1550, 42, 8, 859, 1, 0, 0, 0, 0, 'Eversong Woods', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1564, 860, 43, 1375, 1, 0, 0, 0, 0, 'Silvermyst Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1585, 861, 43, 1340, 1, 0, 0, 0, 0, 'Ruins of Loreth\'Aran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1634, 862, 43, 1222, 1, 0, 0, 0, 0, 'Zeth\'Gor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1655, 863, 43, 1234, 1, 0, 0, 0, 0, 'Ango\'rosh Stronghold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1679, 864, 43, 1420, 1, 0, 0, 0, 0, 'Netherwing Fields', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1696, 865, 43, 1301, 1, 0, 0, 0, 0, 'Gruul\'s Lair', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1721, 866, 43, 1227, 1, 0, 0, 0, 0, 'Clan Watch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1738, 867, 43, 1390, 1, 0, 0, 0, 0, 'Auchenai Grounds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1771, 843, 43, 1265, 1, 0, 0, 0, 0, 'Netherstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1853, 879, 36, 12302, 1, 0, 0, 0, 0, 'Frostsaber', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (1944, 912, 27, 8652, 1, 0, 0, 0, 0, 'Elder Graveborn in Brill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (1958, 911, 27, 8682, 1, 0, 0, 0, 0, 'Elder Skyseer in Freewind Post', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (2084, 963, 27, 12398, 1, 0, 0, 0, 0, 'Dustwallow Marsh, Mudsprocket', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (2112, 965, 27, 12362, 1, 0, 0, 0, 0, 'Mulgore, Bloodhoof Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (2144, 966, 27, 12397, 1, 0, 0, 0, 0, 'Stranglethorn Vale, Booty Bay', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (2157, 967, 27, 12382, 1, 0, 0, 0, 0, 'Stranglethorn Vale, Grom\'gol Base Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (2207, 969, 27, 12404, 1, 0, 0, 0, 0, 'Shattrath City, Aldor Rise or Scryer\'s Tier', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (2215, 968, 27, 12403, 1, 0, 0, 0, 0, 'Zangarmarsh, Cenarion Refuge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (2272, 979, 36, 20561, 1, 0, 0, 0, 0, 'Flimsy Male Dwarf Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (2899, 621, 57, 19031, 1, 0, 0, 0, 0, 'Frostwolf Battle Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (3074, 1022, 27, 11827, 1, 0, 0, 0, 0, 'Western Plaguelands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (3172, 1031, 27, 11756, 1, 0, 0, 0, 0, 'Western Plaguelands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (3313, 344, 41, 21991, 1, 0, 0, 0, 0, 'Heavy Netherweave Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (3735, 557, 49, 13, 1, 0, 0, 0, 0, 'Second Trinket', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (3753, 1206, 54, 225, 1, 0, 0, 0, 0, 'Hare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (3774, 1244, 68, 175741, 1, 0, 0, 0, 0, 'Kil\'jaeden and the Shadow Pact', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (3860, 153, 72, 180683, 1, 0, 0, 0, 0, 'Firefin Snapper School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (3951, 1283, 8, 640, 0, 0, 0, 0, 0, 'Maraudon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (3977, 1284, 8, 659, 0, 0, 0, 0, 0, 'The Botanica', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4036, 1287, 8, 680, 0, 0, 0, 0, 0, 'Heroic The Botanica', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4135, 1264, 43, 1488, 0, 0, 0, 0, 0, 'The Dens of the Dying', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4149, 1263, 43, 1512, 0, 0, 0, 0, 0, 'Ivald\'s Ruin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4172, 1265, 43, 1519, 0, 0, 0, 0, 0, 'Wyrmrest Temple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4190, 1266, 43, 1482, 0, 0, 0, 0, 0, 'Camp Oneqwah', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4204, 1267, 43, 1542, 0, 0, 0, 0, 0, 'Light\'s Breach', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4287, 684, 36, 17064, 1, 0, 0, 0, 0, 'Shard of the Scale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (4300, 345, 41, 2456, 0, 0, 0, 0, 0, 'Minor Rejuvenation Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4326, 922, 41, 17351, 0, 0, 0, 0, 0, 'Major Mana Draught', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4348, 923, 41, 22823, 0, 0, 0, 0, 0, 'Elixir of Camouflage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4419, 811, 41, 40404, 0, 0, 0, 0, 0, 'Flask of Pure Mojo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4516, 1311, 0, 18680, 1, 0, 0, 0, 0, 'Marticar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4552, 686, 36, 16954, 1, 0, 0, 0, 0, 'Judgement Legplates', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (4572, 685, 36, 19379, 1, 0, 0, 0, 0, 'Neltharion\'s Tear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (4585, 687, 36, 21586, 1, 0, 0, 0, 0, 'Belt of Never-ending Agony', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (4608, 698, 36, 34337, 1, 0, 0, 0, 0, 'Golden Staff of the Sin\'dorei', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (4629, 695, 36, 30910, 1, 0, 0, 0, 0, 'Tempest of Chaos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (4731, 812, 41, 5512, 0, 0, 0, 0, 0, 'Minor Healthstone (0)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4749, 924, 46, 1094, 42000, 0, 0, 0, 0, 'Exlated with the Silver Convenant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4762, 925, 46, 932, 42000, 0, 0, 0, 0, 'Exlated with the Aldor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4780, 927, 49, 17, 1, 0, 0, 0, 0, 'Ranged/Wand/Relic is Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (4799, 697, 36, 32524, 1, 0, 0, 0, 0, 'Shroud of the Highborne', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (4829, 696, 36, 29989, 1, 0, 0, 0, 0, 'Sunshower Light Cloak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (4859, 694, 36, 30111, 1, 0, 0, 0, 0, 'Runetotem\'s Mantle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (4886, 693, 36, 28776, 1, 0, 0, 0, 0, 'Liar\'s Tongue Gloves', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (4918, 692, 36, 28826, 1, 0, 0, 0, 0, 'Shuriken of Negation', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (5004, 350, 68, 176501, 0, 0, 0, 0, 0, 'Portal to Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (5065, 1307, 27, 9006, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (5091, 284, 36, 20561, 1, 0, 0, 0, 0, 'Flimsy Male Dwarf Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (5155, 1396, 27, 13028, 1, 0, 0, 0, 0, 'Elder Graymane in K3', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (5265, 910, 27, 13067, 1, 0, 0, 0, 0, 'Elder Chogan\'gada in Utgarde Pinnacle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (5325, 926, 46, 1067, 42000, 0, 0, 0, 0, 'Exalted with The Hand of Vengeance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (5340, 1466, 46, 1094, 42000, 0, 0, 0, 0, 'Exalted with The Silver Covenant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (5381, 1467, 0, 26731, 1, 0, 0, 0, 0, 'Grand Magus Telestra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (5588, 1202, 7, 226, 400, 0, 0, 0, 0, 'Crossbows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (5632, 1103, 73, 18716, 1, 0, 0, 0, 0, 'Mal\'Ganis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (5673, 1516, 8, 1243, 0, 0, 0, 0, 0, 'Fish Don\'t Leave Footprints', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (5817, 556, 49, 13, 1, 0, 0, 0, 0, 'Second Trinket', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (5855, 1269, 43, 1588, 0, 0, 0, 0, 0, 'Snowdrift Plains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (5872, 1270, 43, 1562, 0, 0, 0, 0, 0, 'Jotunheim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (5880, 1658, 69, 61863, 1, 0, 0, 0, 0, 'Heroic: The Prophet Tharon\'ja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (5912, 1676, 11, 10, 700, 0, 0, 0, 0, 'Duskwood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 13), + (5964, 1677, 11, 10, 550, 0, 0, 0, 0, 'Duskwood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 13), + (6016, 1678, 11, 357, 700, 0, 0, 0, 0, 'Feralas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 13), + (6111, 1680, 11, 357, 685, 0, 0, 0, 0, 'Feralas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 13), + (6498, 1777, 29, 45552, 1, 0, 0, 0, 0, 'Roasted Worg', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (6773, 1800, 29, 43761, 1, 0, 0, 0, 0, 'Broiled Bloodfin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (7156, 578, 0, 16061, 1, 0, 0, 0, 0, 'Instructor Razuvious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (7169, 579, 0, 16061, 1, 0, 0, 0, 0, 'Instructor Razuvious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (7256, 1957, 36, 43627, 1, 0, 0, 0, 0, 'Thrall\'s Gold Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (7453, 2094, 42, 43714, 1, 0, 0, 0, 0, 'Landro Longshot\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (7475, 2095, 42, 43679, 1, 0, 0, 0, 0, 'Muradin Bronzebeard\'s Silver Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (7508, 2136, 8, 2057, 0, 0, 0, 0, 0, 'Oh Novos!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (7546, 2138, 8, 2048, 0, 0, 0, 0, 0, 'Gonna Go When the Volcano Blows (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (7570, 2137, 8, 2146, 0, 0, 0, 0, 0, 'The Hundred Club', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (7741, 2194, 8, 1757, 0, 0, 0, 0, 0, 'Defense of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (7742, 2195, 8, 2200, 0, 0, 0, 0, 0, 'Defense of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (7800, 322, 20, 26861, 0, 0, 0, 0, 0, 'King Ymiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (7819, 323, 20, 15989, 0, 0, 0, 0, 0, 'Sapphiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (7839, 324, 20, 15928, 0, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (7864, 801, 28, 20761, 0, 0, 0, 0, 0, 'Use Soulstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (8112, 2256, 0, 32422, 1, 0, 0, 0, 0, 'Grocklar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (8705, 347, 41, 22236, 0, 0, 0, 0, 0, 'Buttermilk Delight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (9000, 346, 41, 23176, 0, 0, 0, 0, 0, 'Fizzy Energy Drink', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (9311, 2557, 54, 225, 1, 0, 0, 0, 0, 'Hare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (9369, 2556, 0, 4076, 1, 0, 0, 0, 0, 'Roach', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (9744, 2758, 27, 13690, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 13), + (9990, 1770, 0, 32871, 1, 0, 0, 0, 0, 'Algalon the Observer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (9991, 1756, 0, 32871, 1, 0, 0, 0, 0, 'Algalon the Observer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (10112, 2957, 8, 3158, 0, 0, 0, 0, 0, 'One Light in the Darkness', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (10350, 2903, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (10364, 2904, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (10377, 2958, 8, 3163, 0, 0, 0, 0, 0, 'One Light in the Darkness (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (11915, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Vashj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (12085, 1525, 27, 13116, 1, 0, 0, 0, 0, 'Infused Mushroom Meatloaf - Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (12630, 4416, 34, 67416, 0, 0, 0, 0, 0, 'Leaping Hatchling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (12889, 1695, 27, 24649, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 13), + (12898, 1792, 36, 46545, 1, 0, 0, 0, 0, 'Curious Oracle Hatchling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 13), + (12925, 4602, 8, 4539, 0, 0, 0, 0, 0, 'Once Bitten, Twice Shy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (13024, 4603, 8, 4618, 0, 0, 0, 0, 0, 'Once Bitten, Twice Shy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 13), + (13408, 4788, 36, 28889, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0, 0, 13), + (515, 627, 43, 114, 1, 0, 0, 0, 0, 'The Grizzled Den', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (757, 705, 7, 228, 400, 0, 0, 0, 0, 'Wands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (772, 700, 36, 30345, 1, 0, 0, 0, 0, 'Medallion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (792, 701, 36, 30349, 1, 0, 0, 0, 0, 'Medallion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (911, 736, 43, 202, 1, 0, 0, 0, 0, 'Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (930, 750, 43, 474, 1, 0, 0, 0, 0, 'The Merchant Coast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (960, 760, 43, 454, 1, 0, 0, 0, 0, 'The Headland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (974, 761, 43, 574, 1, 0, 0, 0, 0, 'Dabyrie\'s Farmstead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1027, 765, 43, 594, 1, 0, 0, 0, 0, 'Camp Kosh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1051, 768, 43, 222, 1, 0, 0, 0, 0, 'Venomweb Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1066, 769, 43, 314, 1, 0, 0, 0, 0, 'The Greymane Wall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1094, 771, 43, 881, 1, 0, 0, 0, 0, 'Eastwall Tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1128, 773, 43, 614, 1, 0, 0, 0, 0, 'The Overlook Cliffs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1209, 781, 43, 511, 1, 0, 0, 0, 0, 'Gurubashi Arena', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1261, 802, 43, 294, 1, 0, 0, 0, 0, 'The Dust Plains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1275, 841, 43, 394, 1, 0, 0, 0, 0, 'Raptor Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1291, 42, 8, 774, 1, 0, 0, 0, 0, 'Searing Gorge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1336, 845, 43, 754, 1, 0, 0, 0, 0, 'Splintertree Post', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1382, 848, 43, 762, 1, 0, 0, 0, 0, 'Shadowbreak Ravine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1392, 849, 43, 993, 1, 0, 0, 0, 0, 'Gordunni Outpost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1422, 851, 43, 645, 1, 0, 0, 0, 0, 'Eastmoon Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1438, 852, 43, 854, 1, 0, 0, 0, 0, 'Ruins of Eldarath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1497, 43, 8, 851, 1, 0, 0, 0, 0, 'Tanaris Desert', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1521, 859, 43, 1175, 1, 0, 0, 0, 0, 'Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1545, 858, 43, 1177, 1, 0, 0, 0, 0, 'Bleeding Ziggurat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1565, 860, 43, 1376, 1, 0, 0, 0, 0, 'Stillpine Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1586, 861, 43, 1341, 1, 0, 0, 0, 0, 'Talon Stand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1635, 862, 43, 1281, 1, 0, 0, 0, 0, 'Den of Haal\'esh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1656, 863, 43, 1236, 1, 0, 0, 0, 0, 'Bloodscale Grounds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1697, 865, 43, 1302, 1, 0, 0, 0, 0, 'Jagged Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1722, 866, 43, 1228, 1, 0, 0, 0, 0, 'Forge Camp: Hate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1739, 867, 43, 1391, 1, 0, 0, 0, 0, 'Carrion Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1772, 843, 43, 1266, 1, 0, 0, 0, 0, 'Ruins of Enkaat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1945, 912, 27, 8645, 1, 0, 0, 0, 0, 'Elder Obsidian in The Sepulcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (1959, 911, 27, 8724, 1, 0, 0, 0, 0, 'Elder Morningdew in Mirage Raceway', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (2085, 963, 27, 12401, 1, 0, 0, 0, 0, 'Silithus, Cenarion Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (2113, 965, 27, 12366, 1, 0, 0, 0, 0, 'Orgrimmar, Valley of Strength', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (2158, 967, 27, 12384, 1, 0, 0, 0, 0, 'Swamp of Sorrows, Stonard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (2209, 969, 27, 12403, 1, 0, 0, 0, 0, 'Zangarmarsh, Cenarion Refuge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (2216, 968, 27, 12409, 1, 0, 0, 0, 0, 'Shadowmoon Valley, Altar of Sha\'tar or Sanctum of the Stars', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (2273, 979, 36, 20391, 1, 0, 0, 0, 0, 'Flimsy Male Gnome Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (2355, 556, 49, 14, 1, 0, 0, 0, 0, 'Cloak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (2900, 621, 57, 31404, 1, 0, 0, 0, 0, 'Green Trophy Tabard of the Illidari', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (3075, 1022, 27, 11583, 1, 0, 0, 0, 0, 'Westfall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (3173, 1031, 27, 11581, 1, 0, 0, 0, 0, 'Westfall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (3314, 344, 41, 14530, 1, 0, 0, 0, 0, 'Heavy Runecloth Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (3736, 557, 49, 14, 1, 0, 0, 0, 0, 'Cloak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (3754, 1206, 54, 225, 1, 0, 0, 0, 0, 'Parrot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (3775, 1244, 68, 175751, 1, 0, 0, 0, 0, 'Lethargy of the Orcs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (3852, 153, 72, 180902, 1, 0, 0, 0, 0, 'Abundant Firefin Snapper School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (3952, 1283, 8, 641, 0, 0, 0, 0, 0, 'Sunken Temple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (3978, 1284, 8, 660, 0, 0, 0, 0, 0, 'The Arcatraz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (4037, 1287, 8, 681, 0, 0, 0, 0, 0, 'Heroic The Arcatraz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (4150, 1263, 43, 1513, 0, 0, 0, 0, 0, 'Halgrind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (4173, 1265, 43, 1521, 0, 0, 0, 0, 0, 'Westwind Refugee Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (4191, 1266, 43, 1558, 0, 0, 0, 0, 0, 'Westfall Brigade Encampment', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (4205, 1267, 43, 1543, 0, 0, 0, 0, 0, 'Kolramas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (4301, 345, 41, 32763, 0, 0, 0, 0, 0, 'Rulkster\'s Secret Sauce', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (4327, 922, 41, 17352, 0, 0, 0, 0, 0, 'Superior Mana Draught', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (4349, 923, 41, 3389, 0, 0, 0, 0, 0, 'Elixir of Defense', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (4420, 811, 41, 22854, 0, 0, 0, 0, 0, 'Flask of Relentless Assault', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (4517, 1311, 0, 18677, 1, 0, 0, 0, 0, 'Mekthorg the Wild', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (4553, 686, 36, 16962, 1, 0, 0, 0, 0, 'Legplates of Wrath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (4573, 685, 36, 19377, 1, 0, 0, 0, 0, 'Prestor\'s Talisman of Connivery', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (4586, 687, 36, 21583, 1, 0, 0, 0, 0, 'Cloak of Clarity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (4609, 698, 36, 34335, 1, 0, 0, 0, 0, 'Hammer of Sanctification', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (4630, 695, 36, 31063, 1, 0, 0, 0, 0, 'Cowl of Absolution', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (4732, 812, 41, 19004, 0, 0, 0, 0, 0, 'Minor Healthstone (1)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (4763, 925, 46, 934, 42000, 0, 0, 0, 0, 'Exlated with the Scryers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (4781, 927, 49, 2, 1, 0, 0, 0, 0, 'Shoulders are Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (4800, 697, 36, 32497, 1, 0, 0, 0, 0, 'Stormrage Signet Ring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (4830, 696, 36, 29994, 1, 0, 0, 0, 0, 'Thalassian Wildercloak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (4860, 694, 36, 30105, 1, 0, 0, 0, 0, 'Serpent Spine Longbow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (4887, 693, 36, 28780, 1, 0, 0, 0, 0, 'Soul-Eater\'s Handwraps', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (4919, 692, 36, 28822, 1, 0, 0, 0, 0, 'Teeth of Gruul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (5066, 1307, 27, 9007, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (5092, 284, 36, 20391, 1, 0, 0, 0, 0, 'Flimsy Male Gnome Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (5156, 1396, 27, 13020, 1, 0, 0, 0, 0, 'Elder Stonebeard in Bouldercrag\'s Refuge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (5326, 926, 46, 1064, 42000, 0, 0, 0, 0, 'Exalted with The Taunka', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (5341, 1466, 46, 1068, 42000, 0, 0, 0, 0, 'Exalted with Explorers\' League', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (5378, 1467, 0, 24200, 1, 0, 0, 0, 0, 'Skarvald the Constructor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (5589, 1202, 7, 162, 400, 0, 0, 0, 0, 'Unarmed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (5762, 1516, 8, 1561, 0, 0, 0, 0, 0, '1000 Fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (5856, 1269, 43, 1591, 0, 0, 0, 0, 0, 'Garm\'s Bane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (5873, 1270, 43, 1565, 0, 0, 0, 0, 0, 'Scourgeholme', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (5881, 1658, 0, 31134, 1, 0, 0, 0, 0, 'Heroic: Cyanigosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (5913, 1676, 11, 139, 700, 0, 0, 0, 0, 'Eastern Plaguelands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 14), + (5965, 1677, 11, 139, 550, 0, 0, 0, 0, 'Eastern Plaguelands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 14), + (6017, 1678, 11, 3478, 700, 0, 0, 0, 0, 'Gates of Ahn\'Qiraj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 14), + (6112, 1680, 11, 3478, 685, 0, 0, 0, 0, 'Gates of Ahn\'Qiraj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 14), + (6198, 879, 34, 16056, 0, 0, 0, 0, 0, 'Ancient Frostsaber', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (6499, 1777, 29, 45562, 1, 0, 0, 0, 0, 'Sauteed Goby', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (6774, 1800, 29, 33295, 1, 0, 0, 0, 0, 'Golden Fish Sticks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (7153, 578, 0, 15954, 1, 0, 0, 0, 0, 'Noth the Plaguebringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (7166, 579, 0, 15954, 1, 0, 0, 0, 0, 'Noth the Plaguebringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (7257, 1957, 36, 43630, 1, 0, 0, 0, 0, 'Tirion Fordring\'s Gold Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (7454, 2094, 42, 43715, 1, 0, 0, 0, 0, 'Molok\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (7476, 2095, 42, 43643, 1, 0, 0, 0, 0, 'Prince Magni Bronzebeard\'s Silver Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (7509, 2136, 8, 1816, 0, 0, 0, 0, 0, 'Defenseless', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (7575, 2138, 8, 2149, 0, 0, 0, 0, 0, 'Denyin\' the Scion (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (7602, 2137, 8, 2176, 0, 0, 0, 0, 0, 'And They Would All Go Down Together', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (7799, 322, 20, 26687, 0, 0, 0, 0, 0, 'Gortok Palehoof', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (7818, 323, 20, 15928, 0, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (7838, 324, 20, 16028, 0, 0, 0, 0, 0, 'Patchwerk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (8113, 2256, 0, 32429, 1, 0, 0, 0, 0, 'Seething Hate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (8704, 347, 41, 21537, 0, 0, 0, 0, 0, 'Festival Dumplings', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (8999, 346, 41, 23164, 0, 0, 0, 0, 0, 'Bubbly Beverage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (9370, 2556, 0, 15476, 1, 0, 0, 0, 0, 'Scorpion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (9745, 2758, 27, 13705, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712191, 2, 0, 0, 0, 14), + (9992, 1770, 0, 33515, 1, 0, 0, 0, 0, 'Auriaya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (9993, 1756, 0, 33515, 1, 0, 0, 0, 0, 'Auriaya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (11916, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Archimonde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (11961, 1525, 27, 13112, 1, 0, 0, 0, 0, 'Infused Mushroom Meatloaf - Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (12631, 4416, 34, 43918, 0, 0, 0, 0, 0, 'Mojo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (12890, 1695, 27, 24650, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 14), + (12899, 1792, 34, 65381, 0, 0, 0, 0, 0, 'Curious Oracle Hatchling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 14), + (12926, 4602, 8, 4579, 0, 0, 0, 0, 0, 'Portal Jockey', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (13025, 4603, 8, 4619, 0, 0, 0, 0, 0, 'Portal Jockey', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 14), + (516, 627, 43, 106, 1, 0, 0, 0, 0, 'South Gate Outpost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (773, 700, 36, 30344, 1, 0, 0, 0, 0, 'Medallion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (793, 701, 36, 30351, 1, 0, 0, 0, 0, 'Medallion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (931, 750, 43, 475, 1, 0, 0, 0, 0, 'Northwatch Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (961, 760, 43, 455, 1, 0, 0, 0, 0, 'The Uplands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (975, 761, 43, 575, 1, 0, 0, 0, 0, 'Circle of East Binding', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1052, 768, 43, 221, 1, 0, 0, 0, 0, 'The Bulwark', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1067, 769, 43, 315, 1, 0, 0, 0, 0, 'Beren\'s Peril', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1095, 771, 43, 880, 1, 0, 0, 0, 0, 'Blackwood Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1210, 781, 43, 512, 1, 0, 0, 0, 0, 'Ruins of Zul\'Mamwe', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1276, 841, 43, 395, 1, 0, 0, 0, 0, 'Grim Batol', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1292, 42, 8, 769, 1, 0, 0, 0, 0, 'Silverpine Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1337, 845, 43, 755, 1, 0, 0, 0, 0, 'Satyrnaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1383, 848, 43, 761, 1, 0, 0, 0, 0, 'Ranazjar Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1393, 849, 43, 995, 1, 0, 0, 0, 0, 'Sardor Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1423, 851, 43, 644, 1, 0, 0, 0, 0, 'Land\'s End Beach', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1439, 852, 43, 855, 1, 0, 0, 0, 0, 'Southridge Beach', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1498, 43, 8, 852, 1, 0, 0, 0, 0, 'Azshara', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1522, 859, 43, 1356, 1, 0, 0, 0, 0, 'Azurebreeze Coast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1546, 858, 43, 1225, 1, 0, 0, 0, 0, 'Elrendar Crossing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1566, 860, 43, 1377, 1, 0, 0, 0, 0, 'The Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1587, 861, 43, 1342, 1, 0, 0, 0, 0, 'Tel\'athion\'s Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1636, 862, 43, 1282, 1, 0, 0, 0, 0, 'Fallen Sky Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1657, 863, 43, 1237, 1, 0, 0, 0, 0, 'Orebor Harborage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1698, 865, 43, 1303, 1, 0, 0, 0, 0, 'Mok\'Nathal Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1723, 866, 43, 1229, 1, 0, 0, 0, 0, 'Southwind Cleft', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1740, 867, 43, 1392, 1, 0, 0, 0, 0, 'Refugee Caravan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1773, 843, 43, 1267, 1, 0, 0, 0, 0, 'Sunfury Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1854, 879, 36, 12303, 1, 0, 0, 0, 0, 'Nightsaber', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (1946, 912, 27, 8688, 1, 0, 0, 0, 0, 'Elder Windrun in Eastern Plaguelands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (1960, 911, 27, 8671, 1, 0, 0, 0, 0, 'Elder Ragetotem in Tanaris', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (2086, 963, 27, 12399, 1, 0, 0, 0, 0, 'Tanaris, Gadgetzan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (2114, 965, 27, 12378, 1, 0, 0, 0, 0, 'Stonetalon Mountains, Sun Rock Retreat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (2159, 967, 27, 12363, 1, 0, 0, 0, 0, 'Tirisfal Glades, Brill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (2210, 969, 27, 12409, 1, 0, 0, 0, 0, 'Shadowmoon Valley, Altar of Sha\'tar or Sanctum of the Stars', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (2274, 979, 36, 20566, 1, 0, 0, 0, 0, 'Flimsy Male Human Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (2356, 556, 49, 15, 1, 0, 0, 0, 0, 'Weapon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (2901, 621, 57, 23999, 1, 0, 0, 0, 0, 'Honor Hold Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (3315, 344, 41, 6451, 1, 0, 0, 0, 0, 'Heavy Silk Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (3737, 557, 49, 15, 1, 0, 0, 0, 0, 'Weapon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (3755, 1206, 54, 225, 1, 0, 0, 0, 0, 'Rabbit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (3776, 1244, 68, 175729, 1, 0, 0, 0, 0, 'Mount Hyjal and Illidan\'s Gift', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (3863, 153, 72, 180752, 1, 0, 0, 0, 0, 'Teeming Firefin Snapper School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (3953, 1283, 8, 642, 0, 0, 0, 0, 0, 'Blackrock Depths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (3979, 1284, 8, 661, 0, 0, 0, 0, 0, 'Magister\'s Terrace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (4038, 1287, 8, 682, 0, 0, 0, 0, 0, 'Heroic Magister\'s Terrace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (4151, 1263, 43, 1515, 0, 0, 0, 0, 0, 'New Agamand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (4174, 1265, 43, 1523, 0, 0, 0, 0, 0, 'Venomspite', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (4302, 345, 41, 22829, 0, 0, 0, 0, 0, 'Super Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (4328, 922, 41, 13444, 0, 0, 0, 0, 0, 'Major Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (4350, 923, 41, 9224, 0, 0, 0, 0, 0, 'Elixir of Demonslaying', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (4421, 811, 41, 40083, 0, 0, 0, 0, 0, 'Flask of Stoneblood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (4518, 1311, 0, 18690, 1, 0, 0, 0, 0, 'Morcrush', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (4554, 686, 36, 16946, 1, 0, 0, 0, 0, 'Legplates of Ten Storms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (4574, 685, 36, 19382, 1, 0, 0, 0, 0, 'Pure Elementium Band', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (4587, 687, 36, 21134, 1, 0, 0, 0, 0, 'Dark Edge of Insanity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (4610, 698, 36, 34331, 1, 0, 0, 0, 0, 'Hand of the Deceiver', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (4631, 695, 36, 31064, 1, 0, 0, 0, 0, 'Hood of Absolution', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (4733, 812, 41, 19005, 0, 0, 0, 0, 0, 'Minor Healthstone (2)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (4764, 925, 46, 935, 42000, 0, 0, 0, 0, 'Exlated with the Sha\'tar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (4782, 927, 49, 18, 1, 0, 0, 0, 0, 'Tabard is Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (4801, 697, 36, 32483, 1, 0, 0, 0, 0, 'The Skull of Gul\'dan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (4831, 696, 36, 29988, 1, 0, 0, 0, 0, 'The Nexus Key', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (4861, 694, 36, 30107, 1, 0, 0, 0, 0, 'Vestments of the Sea-Witch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (4888, 693, 36, 28778, 1, 0, 0, 0, 0, 'Terror Pit Girdle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (4920, 692, 36, 28810, 1, 0, 0, 0, 0, 'Windshear Boots', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (5067, 1307, 27, 9008, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (5093, 284, 36, 20566, 1, 0, 0, 0, 0, 'Flimsy Male Human Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (5157, 1396, 27, 13029, 1, 0, 0, 0, 0, 'Elder Pamuya in Warsong Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (5327, 926, 46, 1124, 42000, 0, 0, 0, 0, 'Exalted with The Sunreavers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (5342, 1466, 46, 1124, 42000, 0, 0, 0, 0, 'Exalted with The Sunreavers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (5460, 1467, 0, 27655, 1, 0, 0, 0, 0, 'Mage-Lord Urom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (5590, 1202, 7, 229, 400, 0, 0, 0, 0, 'Polearms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (5857, 1269, 43, 1592, 0, 0, 0, 0, 0, 'Frosthold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (5874, 1270, 43, 1571, 0, 0, 0, 0, 0, 'The Shadow Vault', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (5882, 1658, 0, 29306, 1, 0, 0, 0, 0, 'Heroic: Gal\'darah', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (5914, 1676, 11, 12, 700, 0, 0, 0, 0, 'Elwynn Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 15), + (5966, 1677, 11, 12, 550, 0, 0, 0, 0, 'Elwynn Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 15), + (6018, 1678, 11, 2100, 700, 0, 0, 0, 0, 'Maraudon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 15), + (6113, 1680, 11, 2100, 685, 0, 0, 0, 0, 'Maraudon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 15), + (6501, 1777, 29, 45550, 1, 0, 0, 0, 0, 'Shoveltusk Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (6775, 1800, 29, 43772, 1, 0, 0, 0, 0, 'Kibler\'s Bits', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (7258, 1957, 36, 43629, 1, 0, 0, 0, 0, 'Uther Lightbringer\'s Gold Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (7455, 2094, 42, 43716, 1, 0, 0, 0, 0, 'Murky\'s Copper Coin ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (7477, 2095, 42, 43644, 1, 0, 0, 0, 0, 'A Peasant\'s Silver Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (7495, 1516, 8, 2096, 0, 0, 0, 0, 0, 'The Coin Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (7510, 2136, 8, 1865, 0, 0, 0, 0, 0, 'Lockdown!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (7547, 2138, 8, 2054, 0, 0, 0, 0, 0, 'The Twilight Zone (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (7576, 2137, 8, 2148, 0, 0, 0, 0, 0, 'Denyin\' the Scion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (7798, 322, 20, 26668, 0, 0, 0, 0, 0, 'Svala Sorrowgrave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (7817, 323, 20, 16028, 0, 0, 0, 0, 0, 'Patchwerk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (7837, 324, 20, 15954, 0, 0, 0, 0, 0, 'Noth the Plaguebringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (8114, 2256, 0, 32438, 1, 0, 0, 0, 0, 'Syreian the Bonecarver', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (8703, 347, 41, 20557, 0, 0, 0, 0, 0, 'Hallow\'s End Pumpink Treat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (8998, 346, 41, 23161, 0, 0, 0, 0, 0, 'Freshly-Squeezed Lemonade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (9371, 2556, 0, 2914, 1, 0, 0, 0, 0, 'Snake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (9378, 705, 7, 176, 400, 0, 0, 0, 0, 'Thrown', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (9740, 2758, 27, 13685, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (9994, 1770, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (9995, 1756, 0, 33288, 1, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (11917, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Illidan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (12632, 4416, 34, 45890, 0, 0, 0, 0, 0, 'Scorchling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (12891, 1695, 27, 24651, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 15), + (12900, 1792, 36, 46544, 1, 0, 0, 0, 0, 'Curious Wolvar Pup', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 15), + (12927, 4602, 8, 4580, 0, 0, 0, 0, 0, 'All You Can Eat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (13026, 4603, 8, 4620, 0, 0, 0, 0, 0, 'All You Can Eat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 15), + (517, 627, 43, 102, 1, 0, 0, 0, 0, 'Iceflow Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (774, 700, 36, 30343, 1, 0, 0, 0, 0, 'Medallion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (794, 701, 36, 38589, 1, 0, 0, 0, 0, 'Medallion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (932, 750, 43, 476, 1, 0, 0, 0, 0, 'Raptor Grounds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (976, 761, 43, 576, 1, 0, 0, 0, 0, 'Hammerfall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1045, 768, 43, 228, 1, 0, 0, 0, 0, 'Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1096, 771, 43, 879, 1, 0, 0, 0, 0, 'Northdale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1211, 781, 43, 513, 1, 0, 0, 0, 0, 'Balia\'mah Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1338, 845, 43, 756, 1, 0, 0, 0, 0, 'Bough Shadow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1394, 849, 43, 996, 1, 0, 0, 0, 0, 'Isle of Dread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1424, 851, 43, 643, 1, 0, 0, 0, 0, 'Southmoon Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1440, 852, 43, 856, 1, 0, 0, 0, 0, 'Ravencrest Monument', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1499, 43, 8, 853, 1, 0, 0, 0, 0, 'Felwood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1523, 859, 43, 1357, 1, 0, 0, 0, 0, 'Elrendar Falls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1548, 858, 43, 1241, 1, 0, 0, 0, 0, 'Thalassian Pass', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1551, 42, 8, 858, 1, 0, 0, 0, 0, 'Ghostlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1567, 860, 43, 1378, 1, 0, 0, 0, 0, 'Valaar\'s Berth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1588, 861, 43, 1343, 1, 0, 0, 0, 0, 'The Bloodcursed Reef', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1638, 862, 43, 1285, 1, 0, 0, 0, 0, 'Void Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1658, 863, 43, 1238, 1, 0, 0, 0, 0, 'The Spawning Glen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1699, 865, 43, 1304, 1, 0, 0, 0, 0, 'Raven\'s Wood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1724, 866, 43, 1230, 1, 0, 0, 0, 0, 'The Twilight Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1741, 867, 43, 1393, 1, 0, 0, 0, 0, 'Ring of Observance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1775, 843, 43, 1269, 1, 0, 0, 0, 0, 'The Stormspire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1947, 912, 27, 8650, 1, 0, 0, 0, 0, 'Elder Snowcrown in Light\'s Hope Chapel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (1961, 911, 27, 8684, 1, 0, 0, 0, 0, 'Elder Dreamseer in Gadgetzan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (2087, 963, 27, 12400, 1, 0, 0, 0, 0, 'Winterspring, Everlook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (2115, 965, 27, 12367, 1, 0, 0, 0, 0, 'Thunder Bluff, Lower Rise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (2160, 967, 27, 12368, 1, 0, 0, 0, 0, 'Undercity, The Trade Quarter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (2275, 979, 36, 20564, 1, 0, 0, 0, 0, 'Flimsy Male Nightelf Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (2357, 556, 49, 17, 1, 0, 0, 0, 0, 'Ranged', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (2902, 621, 57, 31777, 1, 0, 0, 0, 0, 'Keepers of Time Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (3316, 344, 41, 1251, 1, 0, 0, 0, 0, 'Linen Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (3738, 557, 49, 17, 1, 0, 0, 0, 0, 'Ranged', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (3756, 1206, 54, 225, 1, 0, 0, 0, 0, 'Ram', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (3777, 1244, 68, 175763, 1, 0, 0, 0, 0, 'Old Hatreds - The Colonization of Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (3854, 153, 72, 180658, 1, 0, 0, 0, 0, 'School of Deviate Fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (3954, 1283, 8, 643, 0, 0, 0, 0, 0, 'Blackrock Spire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (3980, 1284, 8, 666, 0, 0, 0, 0, 0, 'Auchenai Crypts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (4039, 1287, 8, 672, 0, 0, 0, 0, 0, 'Heroic Auchenai Crypts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (4152, 1263, 43, 1517, 0, 0, 0, 0, 0, 'Skorn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (4175, 1265, 43, 1525, 0, 0, 0, 0, 0, 'The Forgotten Shore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (4303, 345, 41, 22850, 0, 0, 0, 0, 0, 'Super Rejuvenation Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (4329, 922, 41, 18253, 0, 0, 0, 0, 0, 'Major Rejuvenation Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (4351, 923, 41, 9233, 0, 0, 0, 0, 0, 'Elixir of Detect Demon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (4422, 811, 41, 13512, 0, 0, 0, 0, 0, 'Flask of Supreme Power', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (4519, 1311, 0, 20932, 1, 0, 0, 0, 0, 'Nuramoc', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (4555, 686, 36, 16909, 1, 0, 0, 0, 0, 'Bloodfang Pants', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (4575, 685, 36, 19356, 1, 0, 0, 0, 0, 'Staff of the Shadow Flame', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (4588, 687, 36, 21585, 1, 0, 0, 0, 0, 'Dark Storm Gauntlets', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (4611, 698, 36, 34344, 1, 0, 0, 0, 0, 'Handguards of Defiled Worlds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (4632, 695, 36, 31051, 1, 0, 0, 0, 0, 'Hood of the Malefic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (4734, 812, 41, 22103, 0, 0, 0, 0, 0, 'Master Healthstone (0)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (4765, 925, 46, 989, 42000, 0, 0, 0, 0, 'Exlated with the Keepers of Time', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (4783, 927, 49, 12, 1, 0, 0, 0, 0, 'Trinket is Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (4802, 697, 36, 32374, 1, 0, 0, 0, 0, 'Zhar\'doom, Greatstaff of the Devourer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (4832, 696, 36, 29993, 1, 0, 0, 0, 0, 'Twinblade of the Phoenix', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (4862, 694, 36, 30166, 1, 0, 0, 0, 0, 'Cataclysm Headguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (4889, 693, 36, 28775, 1, 0, 0, 0, 0, 'Thundering Greathelm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (4921, 692, 36, 29030, 1, 0, 0, 0, 0, 'Cyclone Kilt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (5068, 1307, 27, 9009, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (5094, 284, 36, 20564, 1, 0, 0, 0, 0, 'Flimsy Male Nightelf Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (5158, 1396, 27, 13030, 1, 0, 0, 0, 0, 'Elder Whurain in Camp Oneqwah', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (5456, 1467, 0, 28546, 1, 0, 0, 0, 0, 'Ionar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (5591, 1202, 7, 136, 400, 0, 0, 0, 0, 'Staves', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (5858, 1269, 43, 1589, 0, 0, 0, 0, 0, 'Nidavelir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (5915, 1676, 11, 3430, 700, 0, 0, 0, 0, 'Eversong Woods', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 16), + (5967, 1677, 11, 3430, 550, 0, 0, 0, 0, 'Eversong Woods', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 16), + (6019, 1678, 11, 493, 700, 0, 0, 0, 0, 'Moonglade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 16), + (6114, 1680, 11, 493, 685, 0, 0, 0, 0, 'Moonglade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 16), + (6199, 879, 34, 16055, 0, 0, 0, 0, 0, 'Nightsaber', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (6502, 1777, 29, 45560, 1, 0, 0, 0, 0, 'Smoked Rockfin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (6776, 1800, 29, 33287, 1, 0, 0, 0, 0, 'Roasted Clefthoof', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (7456, 2094, 42, 43717, 1, 0, 0, 0, 0, 'Princess Calia Menethil\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (7511, 2136, 8, 2041, 0, 0, 0, 0, 0, 'Dehydration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (7569, 2138, 8, 2147, 0, 0, 0, 0, 0, 'The Hundred Club (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (7618, 2137, 8, 2187, 0, 0, 0, 0, 0, 'The Undying', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (7797, 322, 20, 26693, 0, 0, 0, 0, 0, 'Skadi the Ruthless', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (7816, 323, 20, 15954, 0, 0, 0, 0, 0, 'Noth the Plaguebringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (7836, 324, 20, 15952, 0, 0, 0, 0, 0, 'Maexxna', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (8115, 2256, 0, 32447, 1, 0, 0, 0, 0, 'Zul\'drak Sentinel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (8702, 347, 41, 20390, 0, 0, 0, 0, 0, 'Candy Bar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (8997, 346, 41, 22779, 0, 0, 0, 0, 0, 'Scourgebane Draught', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (9372, 2556, 0, 14881, 1, 0, 0, 0, 0, 'Spider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (9741, 2758, 27, 13703, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (9996, 1770, 0, 33993, 1, 0, 0, 0, 0, 'Emalon the Storm Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (9997, 1756, 0, 33993, 1, 0, 0, 0, 0, 'Emalon the Storm Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (11918, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Delrissa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (12633, 4416, 34, 43697, 0, 0, 0, 0, 0, 'Toothy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (12892, 1695, 27, 24652, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 2, 0, 0, 0, 16), + (12901, 1792, 34, 65382, 0, 0, 0, 0, 0, 'Curious Wolvar Pup', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 16), + (12928, 4602, 8, 4601, 0, 0, 0, 0, 0, 'Been Waiting a Long Time for This', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (13027, 4603, 8, 4621, 0, 0, 0, 0, 0, 'Been Waiting a Long Time for This', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 16), + (518, 627, 43, 101, 1, 0, 0, 0, 0, 'Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (775, 700, 36, 28241, 1, 0, 0, 0, 0, 'Medallion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (795, 701, 36, 37864, 1, 0, 0, 0, 0, 'Medallion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (933, 750, 43, 477, 1, 0, 0, 0, 0, 'Lushwater Oasis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1097, 771, 43, 878, 1, 0, 0, 0, 0, 'Zul\'Mashar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1212, 781, 43, 514, 1, 0, 0, 0, 0, 'Mizjah Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1293, 42, 8, 781, 1, 0, 0, 0, 0, 'Stranglethorn Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1339, 845, 43, 757, 1, 0, 0, 0, 0, 'Warsong Lumber Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1425, 851, 43, 642, 1, 0, 0, 0, 0, 'Valley of the Watchers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1441, 852, 43, 857, 1, 0, 0, 0, 0, 'Lake Mennar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1500, 43, 8, 854, 1, 0, 0, 0, 0, 'Un\'Goro Crater', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1524, 859, 43, 1358, 1, 0, 0, 0, 0, 'Goldenbough Pass', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1568, 860, 43, 1379, 1, 0, 0, 0, 0, 'Wrathscale Point', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1589, 861, 43, 1344, 1, 0, 0, 0, 0, 'The Bloodwash', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1639, 862, 43, 1286, 1, 0, 0, 0, 0, 'The Warp Fields', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1659, 863, 43, 1239, 1, 0, 0, 0, 0, 'Zabra\'jin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1700, 865, 43, 1305, 1, 0, 0, 0, 0, 'Razor Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1725, 866, 43, 1231, 1, 0, 0, 0, 0, 'Windyreed Pass', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1742, 867, 43, 1394, 1, 0, 0, 0, 0, 'Shadow Tomb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1776, 843, 43, 1270, 1, 0, 0, 0, 0, 'Gyro-Plank Bridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1855, 879, 36, 15292, 1, 0, 0, 0, 0, 'Green Kodo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (1950, 912, 27, 8714, 1, 0, 0, 0, 0, 'Elder Moonstrike in Scholomance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (1962, 911, 27, 8681, 1, 0, 0, 0, 0, 'Elder Thunderhorn in Un\'Goro', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (2161, 965, 27, 12379, 1, 0, 0, 0, 0, 'Thousand Needles, Freewind Post', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (2276, 979, 36, 20570, 1, 0, 0, 0, 0, 'Flimsy Male Orc Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (2903, 621, 57, 15198, 1, 0, 0, 0, 0, 'Knight\'s Colors', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (3317, 344, 41, 8544, 1, 0, 0, 0, 0, 'Mageweave Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (3757, 1206, 54, 225, 1, 0, 0, 0, 0, 'Sheep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (3778, 1244, 68, 175760, 1, 0, 0, 0, 0, 'Rise of the Blood Elves', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (3855, 153, 72, 180656, 1, 0, 0, 0, 0, 'Lesser Sagefish School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (3955, 1283, 8, 644, 0, 0, 0, 0, 0, 'King of Dire Maul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (4153, 1263, 43, 1518, 0, 0, 0, 0, 0, 'The Twisted Glade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (4176, 1265, 43, 1528, 0, 0, 0, 0, 0, 'The Crystal Vice', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (4304, 345, 41, 17349, 0, 0, 0, 0, 0, 'Superior Healing Draught', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (4330, 922, 41, 3827, 0, 0, 0, 0, 0, 'Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (4352, 923, 41, 3828, 0, 0, 0, 0, 0, 'Elixir of Detect Lesser Invisibility', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (4423, 811, 41, 40082, 0, 0, 0, 0, 0, 'Flask of the Frost Wyrm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (4520, 1311, 0, 18685, 1, 0, 0, 0, 0, 'Okrek', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (4556, 686, 36, 16930, 1, 0, 0, 0, 0, 'Nemesis Leggings', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (4576, 685, 36, 16905, 1, 0, 0, 0, 0, 'Bloodfang Chestpiece', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (4589, 687, 36, 21126, 1, 0, 0, 0, 0, 'Death\'s Sting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (4612, 698, 36, 34342, 1, 0, 0, 0, 0, 'Handguards of the Dawn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (4633, 695, 36, 30987, 1, 0, 0, 0, 0, 'Lightbringer Faceguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (4735, 812, 41, 22104, 0, 0, 0, 0, 0, 'Master Healthstone (1)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (4766, 925, 46, 990, 42000, 0, 0, 0, 0, 'Exlated with the Scale of the Sands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (4784, 927, 49, 13, 1, 0, 0, 0, 0, 'Trinket is Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (4803, 697, 36, 30990, 1, 0, 0, 0, 0, 'Lightbringer Breastplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (4833, 696, 36, 30164, 1, 0, 0, 0, 0, 'Cataclysm Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (4863, 694, 36, 30171, 1, 0, 0, 0, 0, 'Cataclysm Headpiece', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (4890, 693, 36, 29038, 1, 0, 0, 0, 0, 'Cyclone Breastplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (4922, 692, 36, 29036, 1, 0, 0, 0, 0, 'Cyclone Legguards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (5069, 1307, 27, 9010, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (5095, 284, 36, 20570, 1, 0, 0, 0, 0, 'Flimsy Male Orc Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (5159, 1396, 27, 13031, 1, 0, 0, 0, 0, 'Elder Skywarden in Agmar\'s Hammer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (5468, 1467, 0, 26532, 1, 0, 0, 0, 0, 'Chrono-Lord Epoch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (5916, 1676, 11, 3433, 700, 0, 0, 0, 0, 'Ghostlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 17), + (5968, 1677, 11, 3433, 550, 0, 0, 0, 0, 'Ghostlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 17), + (6020, 1678, 11, 215, 700, 0, 0, 0, 0, 'Mulgore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 17), + (6115, 1680, 11, 215, 685, 0, 0, 0, 0, 'Mulgore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 17), + (6503, 1777, 29, 45564, 1, 0, 0, 0, 0, 'Smoked Salmon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (6777, 1800, 29, 33289, 1, 0, 0, 0, 0, 'Talbuk Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (7457, 2094, 42, 43718, 1, 0, 0, 0, 0, 'Private Marcus Jonathan\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (7588, 2136, 8, 2153, 0, 0, 0, 0, 0, 'A Void Dance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (7620, 2137, 8, 2184, 0, 0, 0, 0, 0, 'Just Can\'t Get Enough', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (7621, 2138, 8, 2185, 0, 0, 0, 0, 0, 'Just Can\'t Get Enough (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (7796, 322, 20, 27656, 0, 0, 0, 0, 0, 'Ley-Guardian Eregos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (7827, 323, 20, 31125, 0, 0, 0, 0, 0, 'Archavon the Stone Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (7835, 324, 20, 16011, 0, 0, 0, 0, 0, 'Loatheb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (8116, 2256, 0, 32471, 1, 0, 0, 0, 0, 'Griegen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (8701, 347, 41, 20389, 0, 0, 0, 0, 0, 'Candy Corn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (8745, 1756, 0, 31125, 1, 0, 0, 0, 0, 'Archavon the Stone Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (8746, 1770, 28, 59450, 1, 0, 0, 0, 0, 'The Four Horsemen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (8996, 346, 41, 22778, 0, 0, 0, 0, 0, 'Scourgebane Infusion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (9373, 2556, 0, 32428, 1, 0, 0, 0, 0, 'Underbelly Rat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (9742, 2758, 27, 13688, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (11919, 3802, 28, 68206, 1, 0, 0, 0, 0, 'M\'uru', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (12634, 4416, 34, 43698, 0, 0, 0, 0, 0, 'Muckbreath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 17), + (13028, 4603, 8, 4622, 0, 0, 0, 0, 0, 'Neck-Deep in Vile', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 17), + (519, 627, 43, 1041, 1, 0, 0, 0, 0, 'Gates of Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (776, 700, 36, 28242, 1, 0, 0, 0, 0, 'Medallion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (796, 701, 36, 30350, 1, 0, 0, 0, 0, 'Medallion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (934, 750, 43, 478, 1, 0, 0, 0, 0, 'Agama\'gor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1098, 771, 43, 877, 1, 0, 0, 0, 0, 'Northpass Tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1213, 781, 43, 516, 1, 0, 0, 0, 0, 'Mosh\'Ogg Ogre Mound', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1294, 42, 8, 782, 1, 0, 0, 0, 0, 'Swamp of Sorrows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1340, 845, 43, 758, 1, 0, 0, 0, 0, 'Felfire Hill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1426, 851, 43, 641, 1, 0, 0, 0, 0, 'Thistleshrub Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1442, 852, 43, 858, 1, 0, 0, 0, 0, 'The Ruined Reaches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1501, 43, 8, 855, 1, 0, 0, 0, 0, 'Moonglade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1525, 859, 43, 1359, 1, 0, 0, 0, 0, 'Lake Elrendar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1590, 861, 43, 1345, 1, 0, 0, 0, 0, 'The Crimson Reach', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1641, 862, 43, 1283, 1, 0, 0, 0, 0, 'Forge Camp: Mageddon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1667, 863, 43, 1432, 1, 0, 0, 0, 0, 'Darkcrest Shore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1701, 865, 43, 1307, 1, 0, 0, 0, 0, 'Ruuan Weald', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1726, 866, 43, 1232, 1, 0, 0, 0, 0, 'Windyreed Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1743, 867, 43, 1395, 1, 0, 0, 0, 0, 'Derelict Caravan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1777, 843, 43, 1317, 1, 0, 0, 0, 0, 'Eco-Dome Farfield', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (1963, 911, 27, 8726, 1, 0, 0, 0, 0, 'Elder Brightspear in Winterspring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (2277, 979, 36, 20572, 1, 0, 0, 0, 0, 'Flimsy Male Tauren Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (2904, 621, 57, 31774, 1, 0, 0, 0, 0, 'Kurenai Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (3318, 344, 41, 21990, 1, 0, 0, 0, 0, 'Netherweave Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (3758, 1206, 54, 225, 1, 0, 0, 0, 0, 'Skunk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (3779, 1244, 68, 175742, 1, 0, 0, 0, 0, 'Rise of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (3858, 153, 72, 180663, 1, 0, 0, 0, 0, 'Sagefish School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (3956, 1283, 8, 645, 0, 0, 0, 0, 0, 'Scholomance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (4154, 1263, 43, 1520, 0, 0, 0, 0, 0, 'Utgarde Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (4177, 1265, 43, 1529, 0, 0, 0, 0, 0, 'Scarlet Point', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (4305, 345, 41, 3928, 0, 0, 0, 0, 0, 'Superior Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (4331, 922, 41, 2455, 0, 0, 0, 0, 0, 'Minor Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (4353, 923, 41, 9154, 0, 0, 0, 0, 0, 'Elixir of Detect Undead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (4424, 811, 41, 13510, 0, 0, 0, 0, 0, 'Flask of the Titans', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (4521, 1311, 0, 18693, 1, 0, 0, 0, 0, 'Speaker Mar\'grom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (4557, 686, 36, 16915, 1, 0, 0, 0, 0, 'Netherwind Pants', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (4577, 685, 36, 16950, 1, 0, 0, 0, 0, 'Breastplate of Ten Storms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (4590, 687, 36, 21581, 1, 0, 0, 0, 0, 'Gauntlets of Annihilation', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (4613, 698, 36, 34243, 1, 0, 0, 0, 0, 'Helm of Burning Righteousness', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (4634, 695, 36, 30988, 1, 0, 0, 0, 0, 'Lightbringer Greathelm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (4736, 812, 41, 22105, 0, 0, 0, 0, 0, 'Master Healthstone (2)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (4767, 925, 46, 967, 42000, 0, 0, 0, 0, 'Exlated with the Violet Eye', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (4785, 927, 49, 5, 1, 0, 0, 0, 0, 'Belt is Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (4804, 697, 36, 30991, 1, 0, 0, 0, 0, 'Lightbringer Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (4834, 696, 36, 30169, 1, 0, 0, 0, 0, 'Cataclysm Chestpiece', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (4864, 694, 36, 30190, 1, 0, 0, 0, 0, 'Cataclysm Helm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (4891, 693, 36, 29033, 1, 0, 0, 0, 0, 'Cyclone Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (4923, 692, 36, 29042, 1, 0, 0, 0, 0, 'Cyclone War-Kilt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (5070, 1307, 27, 9011, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (5096, 284, 36, 20572, 1, 0, 0, 0, 0, 'Flimsy Male Tauren Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (5160, 1396, 27, 13032, 1, 0, 0, 0, 0, 'Elder Muraco in Camp Tunka\'lo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (5464, 1467, 0, 26861, 1, 0, 0, 0, 0, 'King Ymiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (5917, 1676, 11, 721, 700, 0, 0, 0, 0, 'Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 18), + (5969, 1677, 11, 721, 550, 0, 0, 0, 0, 'Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 18), + (6021, 1678, 11, 2159, 700, 0, 0, 0, 0, 'Onyxia\'s Lair', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 18), + (6116, 1680, 11, 2159, 685, 0, 0, 0, 0, 'Onyxia\'s Lair', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 18), + (6200, 879, 34, 18991, 0, 0, 0, 0, 0, 'Green Kodo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (6505, 1777, 29, 58512, 1, 0, 0, 0, 0, 'Tasty Cupcake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (6778, 1800, 29, 33288, 1, 0, 0, 0, 0, 'Warp Burger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (7458, 2094, 42, 43719, 1, 0, 0, 0, 0, 'Salandria\'s Shiny Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (7512, 2136, 8, 1864, 0, 0, 0, 0, 0, 'What the Eck?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (7795, 322, 20, 27447, 0, 0, 0, 0, 0, 'Varos Cloudstrider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (7826, 323, 20, 28859, 0, 0, 0, 0, 0, 'Malygos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (7834, 324, 20, 16061, 0, 0, 0, 0, 0, 'Instructor Razuvious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (8117, 2256, 0, 32475, 1, 0, 0, 0, 0, 'Terror Spinner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (8700, 347, 41, 20388, 0, 0, 0, 0, 0, 'Lollipop', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (8744, 1770, 0, 31125, 1, 0, 0, 0, 0, 'Archavon the Stone Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (8747, 1756, 28, 59450, 1, 0, 0, 0, 0, 'The Four Horsemen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (9021, 346, 41, 37905, 0, 0, 0, 0, 0, 'Draenic Pale Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (9374, 2556, 0, 28202, 1, 0, 0, 0, 0, 'Zul\'Drak Rat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (9743, 2758, 27, 13704, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (11920, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Ingvar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 18), + (12636, 4416, 34, 46425, 0, 0, 0, 0, 0, 'Snarly', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 18), + (777, 700, 36, 28240, 1, 0, 0, 0, 0, 'Medallion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (797, 701, 36, 30348, 1, 0, 0, 0, 0, 'Medallion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (935, 750, 43, 479, 1, 0, 0, 0, 0, 'Bramblescar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (1099, 771, 43, 876, 1, 0, 0, 0, 0, 'Quel\'Lithien Lodge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (1214, 781, 43, 517, 1, 0, 0, 0, 0, 'Venture Co. Base Camp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (1295, 42, 8, 773, 1, 0, 0, 0, 0, 'The Hinterlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (1427, 851, 43, 660, 1, 0, 0, 0, 0, 'Zul\'Farrak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (1443, 852, 43, 859, 1, 0, 0, 0, 0, 'Forlorn Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (1502, 43, 8, 856, 1, 0, 0, 0, 0, 'Silithus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (1526, 859, 43, 1360, 1, 0, 0, 0, 0, 'Runestone Falithas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (1702, 865, 43, 1308, 1, 0, 0, 0, 0, 'Skald', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (1727, 866, 43, 1233, 1, 0, 0, 0, 0, 'Zangar Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (1745, 867, 43, 1397, 1, 0, 0, 0, 0, 'Veil Rhaze', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (1778, 843, 43, 1318, 1, 0, 0, 0, 0, 'Ethereum Staging Grounds', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (1856, 879, 36, 15293, 1, 0, 0, 0, 0, 'Teal Kodo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (1964, 911, 27, 8672, 1, 0, 0, 0, 0, 'Elder Stonespire in Everlook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (2104, 861, 43, 1346, 1, 0, 0, 0, 0, 'The Cryo-Core', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (2278, 979, 36, 20568, 1, 0, 0, 0, 0, 'Flimsy Male Troll Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (2905, 621, 57, 31778, 1, 0, 0, 0, 0, 'Lower City Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (3319, 344, 41, 14529, 1, 0, 0, 0, 0, 'Runecloth Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (3759, 1206, 54, 225, 1, 0, 0, 0, 0, 'Swine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (3780, 1244, 68, 175724, 1, 0, 0, 0, 0, 'Sargeras and the Betrayal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (3861, 153, 72, 180684, 1, 0, 0, 0, 0, 'Greater Sagefish School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (3957, 1283, 8, 646, 0, 0, 0, 0, 0, 'Stratholme', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (4155, 1263, 43, 1522, 0, 0, 0, 0, 0, 'Westguard Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (4306, 345, 41, 28100, 0, 0, 0, 0, 0, 'Volatile Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (4332, 922, 41, 32762, 0, 0, 0, 0, 0, 'Rulkster\'s Brain Juice', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (4354, 923, 41, 32067, 0, 0, 0, 0, 0, 'Elixir of Draenic Wisdom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (4425, 811, 41, 35717, 0, 0, 0, 0, 0, 'Shattrath Flask of Blinding Light', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (4522, 1311, 0, 18683, 1, 0, 0, 0, 0, 'Voidhunter Yar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (4558, 686, 36, 16901, 1, 0, 0, 0, 0, 'Stormrage Legguards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (4578, 685, 36, 16966, 1, 0, 0, 0, 0, 'Breastplate of Wrath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (4591, 687, 36, 21582, 1, 0, 0, 0, 0, 'Grasp of the Old God', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (4614, 698, 36, 34336, 1, 0, 0, 0, 0, 'Sunflare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (4635, 695, 36, 30989, 1, 0, 0, 0, 0, 'Lightbringer War-Helm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (4786, 927, 49, 8, 1, 0, 0, 0, 0, 'Bracers are Epic!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (4805, 697, 36, 30992, 1, 0, 0, 0, 0, 'Lightbringer Chestpiece', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (4835, 696, 36, 30129, 1, 0, 0, 0, 0, 'Crystalforge Breastplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (4865, 694, 36, 30125, 1, 0, 0, 0, 0, 'Crystalforge Faceguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (4892, 693, 36, 29029, 1, 0, 0, 0, 0, 'Cyclone Hauberk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (4924, 692, 36, 29074, 1, 0, 0, 0, 0, 'Justicar Greaves', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (5071, 1307, 27, 9012, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (5097, 284, 36, 20568, 1, 0, 0, 0, 0, 'Flimsy Male Troll Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (5453, 1467, 0, 27977, 1, 0, 0, 0, 0, 'Krystallus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (6022, 1678, 11, 1637, 700, 0, 0, 0, 0, 'Ogrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 19), + (6117, 1680, 11, 1637, 685, 0, 0, 0, 0, 'Ogrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 19), + (6506, 1777, 29, 45551, 1, 0, 0, 0, 0, 'Worm Delight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (6779, 1800, 29, 38868, 1, 0, 0, 0, 0, 'Crunchy Serpent', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (7459, 2094, 42, 43720, 1, 0, 0, 0, 0, 'Squire Rowe\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (7584, 2136, 8, 2152, 0, 0, 0, 0, 0, 'Share The Love', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (7792, 322, 20, 27655, 0, 0, 0, 0, 0, 'Mage-Lord Urom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (7825, 323, 20, 28860, 0, 0, 0, 0, 0, 'Sartharion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (7833, 324, 20, 15936, 0, 0, 0, 0, 0, 'Heigan the Unclean', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (8118, 2256, 0, 32481, 1, 0, 0, 0, 0, 'Aotona', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (8690, 347, 41, 19062, 0, 0, 0, 0, 0, 'Warsong Gulch Field Ration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (8742, 1770, 0, 15956, 1, 0, 0, 0, 0, 'Anub\'Rekhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (8743, 1756, 0, 15956, 1, 0, 0, 0, 0, 'Anub\'Rekhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (9020, 346, 41, 37494, 0, 0, 0, 0, 0, 'Stranglethorn Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (9039, 812, 41, 36890, 0, 0, 0, 0, 0, 'Demonic Healthstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (9424, 1676, 11, 133, 700, 0, 0, 0, 0, 'Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 19), + (9425, 1677, 11, 133, 550, 0, 0, 0, 0, 'Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 19), + (9738, 2758, 27, 13684, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 19), + (11921, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Cyanigosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 19), + (778, 700, 36, 28243, 1, 0, 0, 0, 0, 'Medallion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (798, 701, 36, 28238, 1, 0, 0, 0, 0, 'Medallion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (936, 750, 43, 480, 1, 0, 0, 0, 0, 'Camp Taurajo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (1100, 771, 43, 875, 1, 0, 0, 0, 0, 'Terrordale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (1215, 781, 43, 518, 1, 0, 0, 0, 0, 'Lake Nazferiti', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (1297, 42, 8, 802, 1, 0, 0, 0, 0, 'Westfall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (1428, 851, 43, 657, 1, 0, 0, 0, 0, 'Caverns of Time', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (1503, 43, 8, 857, 1, 0, 0, 0, 0, 'Winterspring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (1527, 859, 43, 1361, 1, 0, 0, 0, 0, 'Runestone Shan\'dor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (1591, 861, 43, 1347, 1, 0, 0, 0, 0, 'The Foul Pool', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (1703, 865, 43, 1309, 1, 0, 0, 0, 0, 'Sylvanaar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (1746, 867, 43, 1398, 1, 0, 0, 0, 0, 'Writhing Mound', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (1779, 843, 43, 1319, 1, 0, 0, 0, 0, 'Socrethar\'s Seat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (1965, 911, 27, 8654, 1, 0, 0, 0, 0, 'Elder Primestone in Silithus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (2279, 979, 36, 20573, 1, 0, 0, 0, 0, 'Flimsy Male Undead Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (2906, 621, 57, 31773, 1, 0, 0, 0, 0, 'Mag\'har Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (3320, 344, 41, 6450, 1, 0, 0, 0, 0, 'Silk Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (3760, 1206, 54, 225, 1, 0, 0, 0, 0, 'Toad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (3781, 1244, 68, 175757, 1, 0, 0, 0, 0, 'Sunwell - The Fall of Quel\'Thalas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (3864, 153, 72, 180712, 1, 0, 0, 0, 0, 'Stonescale Eel Swarm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (4157, 1263, 43, 1526, 0, 0, 0, 0, 0, 'Baelgun\'s Excavation Site', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (4307, 345, 41, 9144, 0, 0, 0, 0, 0, 'Wildvine Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (4333, 922, 41, 13443, 0, 0, 0, 0, 0, 'Superior Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (4355, 923, 41, 9197, 0, 0, 0, 0, 0, 'Elixir of Dream Vision', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (4426, 811, 41, 32898, 0, 0, 0, 0, 0, 'Shattrath Flask of Fortification', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (4523, 1311, 0, 18679, 1, 0, 0, 0, 0, 'Vorakem Doomspeaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (4559, 686, 36, 17106, 1, 0, 0, 0, 0, 'Malistar\'s Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (4579, 685, 36, 16942, 1, 0, 0, 0, 0, 'Dragonstalker\'s Breastplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (4592, 687, 36, 21596, 1, 0, 0, 0, 0, 'Ring of the Godslayer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (4615, 698, 36, 34242, 1, 0, 0, 0, 0, 'Tattered Cape of Antonidas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (4636, 695, 36, 31003, 1, 0, 0, 0, 0, 'Gronnstalker\'s Helmet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (4806, 697, 36, 31052, 1, 0, 0, 0, 0, 'Robe of the Malefic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (4836, 696, 36, 30123, 1, 0, 0, 0, 0, 'Crystalforge Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (4866, 694, 36, 30136, 1, 0, 0, 0, 0, 'Crystalforge Greathelm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (4893, 693, 36, 29071, 1, 0, 0, 0, 0, 'Justicar Breastplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (4925, 692, 36, 29063, 1, 0, 0, 0, 0, 'Justicar Leggings', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (5072, 1307, 27, 9013, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (5098, 284, 36, 20573, 1, 0, 0, 0, 0, 'Flimsy Male Undead Mask', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (5449, 1467, 0, 29305, 1, 0, 0, 0, 0, 'Moorabi', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (5918, 1676, 11, 267, 700, 0, 0, 0, 0, 'Hillsbrad Foothills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 20), + (5970, 1677, 11, 267, 550, 0, 0, 0, 0, 'Hillsbrad Foothills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 20), + (6023, 1678, 11, 2437, 700, 0, 0, 0, 0, 'Ragefire Chasm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 20), + (6118, 1680, 11, 2437, 685, 0, 0, 0, 0, 'Ragefire Chasm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 20), + (6201, 879, 34, 18992, 0, 0, 0, 0, 0, 'Teal Kodo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (6398, 1756, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (6417, 1770, 0, 28860, 1, 0, 0, 0, 0, 'Sartharion the Onyx Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (6507, 1777, 29, 45554, 1, 0, 0, 0, 0, 'Great Feast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (6780, 1800, 29, 38867, 1, 0, 0, 0, 0, 'Mok\'Nathal Shortribs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (7460, 2094, 42, 43721, 1, 0, 0, 0, 0, 'Stalvan\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (7513, 2136, 8, 2040, 0, 0, 0, 0, 0, 'Less-rabi', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (7791, 322, 20, 27654, 0, 0, 0, 0, 0, 'Drakos the Interrogator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (7814, 323, 20, 16011, 0, 0, 0, 0, 0, 'Loatheb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (7831, 324, 20, 15953, 0, 0, 0, 0, 0, 'Grand Widow Faerlina', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (8119, 2256, 0, 32485, 1, 0, 0, 0, 0, 'King Krush', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (8689, 347, 41, 19061, 0, 0, 0, 0, 0, 'Warsong Gulch Iron Ration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (9019, 346, 41, 36748, 0, 0, 0, 0, 0, 'Dark Brewmaiden\'s Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (9038, 812, 41, 36889, 0, 0, 0, 0, 0, 'Demonic Healthstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (9739, 2758, 27, 13593, 1, 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 20), + (11922, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Eck', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 20), + (937, 750, 43, 481, 1, 0, 0, 0, 0, 'Field of Giants', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (1101, 771, 43, 874, 1, 0, 0, 0, 0, 'Plaguewood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (1216, 781, 43, 519, 1, 0, 0, 0, 0, 'Kal\'ai Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (1298, 42, 8, 841, 1, 0, 0, 0, 0, 'Wetlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (1528, 859, 43, 1362, 1, 0, 0, 0, 0, 'Saltheril\'s Haven', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (1592, 861, 43, 1348, 1, 0, 0, 0, 0, 'The Hidden Reef', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (1704, 865, 43, 1310, 1, 0, 0, 0, 0, 'Crystal Spine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (1747, 867, 43, 1170, 1, 0, 0, 0, 0, 'Skettis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (1780, 843, 43, 1326, 1, 0, 0, 0, 0, 'Forge Base: Oblivion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (1857, 879, 36, 13328, 1, 0, 0, 0, 0, 'Black Ram', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (1966, 911, 27, 8719, 1, 0, 0, 0, 0, 'Elder Bladesing in Cenarion Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (2907, 621, 57, 32828, 1, 0, 0, 0, 0, 'Ogri\'la Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (3321, 344, 41, 38643, 1, 0, 0, 0, 0, 'Thick Frostweave Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (3761, 1206, 54, 225, 1, 0, 0, 0, 0, 'Prairie Dog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (3782, 1244, 68, 175746, 1, 0, 0, 0, 0, 'The Alliance of Lordaeron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (4158, 1263, 43, 1527, 0, 0, 0, 0, 0, 'Baleheim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (4309, 345, 41, 33092, 0, 0, 0, 0, 0, 'Healing Potion Injector', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (4334, 922, 41, 22850, 0, 0, 0, 0, 0, 'Super Rejuvenation Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (4356, 923, 41, 22848, 0, 0, 0, 0, 0, 'Elixir of Empowerment', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (4427, 811, 41, 32899, 0, 0, 0, 0, 0, 'Shattrath Flask of Mighty Restoration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (4560, 686, 36, 17063, 1, 0, 0, 0, 0, 'Band of Accuria', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (4580, 685, 36, 16958, 1, 0, 0, 0, 0, 'Judgement Breastplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (4593, 687, 36, 21839, 1, 0, 0, 0, 0, 'Scepter of the False Prophet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (4616, 698, 36, 34343, 1, 0, 0, 0, 0, 'Thalassian Ranger Gauntlets', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (4637, 695, 36, 30972, 1, 0, 0, 0, 0, 'Onslaught Battle-Helm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (4807, 697, 36, 31065, 1, 0, 0, 0, 0, 'Shroud of Absolution', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (4837, 696, 36, 30134, 1, 0, 0, 0, 0, 'Crystalforge Chestpiece', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (4867, 694, 36, 30131, 1, 0, 0, 0, 0, 'Crystalforge War-Helm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (4894, 693, 36, 29066, 1, 0, 0, 0, 0, 'Justicar Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (4926, 692, 36, 29069, 1, 0, 0, 0, 0, 'Justicar Legguards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (5073, 1307, 27, 9014, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (5278, 153, 72, 192051, 1, 0, 0, 0, 0, 'Borean Man O\' War School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (5444, 1467, 0, 26631, 1, 0, 0, 0, 0, 'Novos the Summoner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (5919, 1676, 11, 1537, 700, 0, 0, 0, 0, 'Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 21), + (5971, 1677, 11, 1537, 550, 0, 0, 0, 0, 'Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 21), + (6024, 1678, 11, 722, 700, 0, 0, 0, 0, 'Razorfen Downs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 21), + (6119, 1680, 11, 722, 685, 0, 0, 0, 0, 'Razorfen Downs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 21), + (6399, 1756, 0, 28859, 1, 0, 0, 0, 0, 'Malygos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (6418, 1770, 0, 28859, 1, 0, 0, 0, 0, 'Malygos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (6508, 1777, 29, 53056, 1, 0, 0, 0, 0, 'Kungaloosh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (6781, 1800, 29, 42302, 1, 0, 0, 0, 0, 'Fisherman\'s Feast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (7461, 2094, 42, 43722, 1, 0, 0, 0, 0, 'Vareesa\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (7514, 2136, 8, 2058, 0, 0, 0, 0, 0, 'Snakes. Why\'d It Have To Be Snakes?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (7790, 322, 20, 28923, 0, 0, 0, 0, 0, 'Loken', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (7812, 323, 20, 15936, 0, 0, 0, 0, 0, 'Heigan the Unclean', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (7829, 324, 20, 15932, 0, 0, 0, 0, 0, 'Gluth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (7869, 700, 36, 42122, 1, 0, 0, 0, 0, 'Medallion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (7870, 701, 36, 42123, 1, 0, 0, 0, 0, 'Medallion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (8120, 2256, 0, 32630, 1, 0, 0, 0, 0, 'Vyragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (8688, 347, 41, 19060, 0, 0, 0, 0, 0, 'Warsong Gulch Enriched Ration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (9018, 346, 41, 34412, 0, 0, 0, 0, 0, 'Sparkling Apple Cider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 21), + (9040, 812, 41, 36891, 0, 0, 0, 0, 0, 'Demonic Healthstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (11923, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Onyxia', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 21), + (938, 750, 43, 482, 1, 0, 0, 0, 0, 'Blackthorn Ridge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (1102, 771, 43, 873, 1, 0, 0, 0, 0, 'Stratholme', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (1217, 781, 43, 520, 1, 0, 0, 0, 0, 'Bal\'lal Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (1282, 42, 8, 777, 1, 0, 0, 0, 0, 'Deadwind Pass', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (1529, 859, 43, 1380, 1, 0, 0, 0, 0, 'Golden Strand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (1593, 861, 43, 1349, 1, 0, 0, 0, 0, 'The Lost Fold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (1705, 865, 43, 1311, 1, 0, 0, 0, 0, 'Thunderlord Stronghold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (1781, 843, 43, 1327, 1, 0, 0, 0, 0, 'Eco-Dome Midrealm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (2908, 621, 57, 15196, 1, 0, 0, 0, 0, 'Private\'s Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (3322, 344, 41, 19067, 1, 0, 0, 0, 0, 'Warsong Gulch Mageweave Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (3783, 1244, 68, 175750, 1, 0, 0, 0, 0, 'The Battle of Grim Batol', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (4318, 345, 41, 12190, 0, 0, 0, 0, 0, 'Dreamless Sleep Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (4335, 922, 41, 28101, 0, 0, 0, 0, 0, 'Unstable Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (4357, 923, 41, 6373, 0, 0, 0, 0, 0, 'Elixir of Firepower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (4428, 811, 41, 35716, 0, 0, 0, 0, 0, 'Shattrath Flask of Pure Death', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (4561, 686, 36, 17102, 1, 0, 0, 0, 0, 'Cloak of the Shrouded Mists', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (4581, 685, 36, 16897, 1, 0, 0, 0, 0, 'Stormrage Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (4594, 687, 36, 21579, 1, 0, 0, 0, 0, 'Vanquished Tentacle of C\'Thun', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (4617, 698, 36, 34334, 1, 0, 0, 0, 0, 'Thori\'dal, the Stars\' Fury', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (4638, 695, 36, 30974, 1, 0, 0, 0, 0, 'Onslaught Greathelm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (4808, 697, 36, 31066, 1, 0, 0, 0, 0, 'Vestments of Absolution', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (4838, 696, 36, 30144, 1, 0, 0, 0, 0, 'Deathmantle Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (4868, 694, 36, 30146, 1, 0, 0, 0, 0, 'Deathmantle Helm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (4895, 693, 36, 29062, 1, 0, 0, 0, 0, 'Justicar Chestpiece', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (4927, 692, 36, 29046, 1, 0, 0, 0, 0, 'Netherblade Breeches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (5074, 1307, 27, 10498, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (5276, 153, 72, 192056, 1, 0, 0, 0, 0, 'Barrelhead Goby School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (5440, 1467, 0, 29309, 1, 0, 0, 0, 0, 'Elder Nadox', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (5920, 1676, 11, 4080, 700, 0, 0, 0, 0, 'Isle of Quel\'Danas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 22), + (5972, 1677, 11, 4080, 550, 0, 0, 0, 0, 'Isle of Quel\'Danas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 22), + (6025, 1678, 11, 1717, 700, 0, 0, 0, 0, 'Razorfen Kraul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 22), + (6120, 1680, 11, 1717, 685, 0, 0, 0, 0, 'Razorfen Kraul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 22), + (6202, 879, 34, 17461, 0, 0, 0, 0, 0, 'Black Ram', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (6400, 1756, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (6419, 1770, 0, 15990, 1, 0, 0, 0, 0, 'Kel\'Thuzad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (6509, 1777, 29, 57441, 1, 0, 0, 0, 0, 'Blackened Dragonfin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (6782, 1800, 29, 42305, 1, 0, 0, 0, 0, 'Hot Buttered Trout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (7462, 2094, 42, 43723, 1, 0, 0, 0, 0, 'Vargoth\'s Copper Coin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (7515, 2136, 8, 1866, 0, 0, 0, 0, 0, 'Good Grief', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (7784, 322, 20, 29306, 0, 0, 0, 0, 0, 'Gal\'darah', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (8121, 2256, 0, 32500, 1, 0, 0, 0, 0, 'Dirkee', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (8687, 347, 41, 14894, 0, 0, 0, 0, 0, 'Lily Root', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (9017, 346, 41, 33956, 0, 0, 0, 0, 0, 'Harkor\'s Home Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (9043, 812, 41, 36894, 0, 0, 0, 0, 0, 'Fel Healthstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (10999, 323, 20, 33113, 0, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (11016, 324, 20, 33113, 0, 0, 0, 0, 0, 'Flame Leviathan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (11924, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Heigan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 22), + (12638, 701, 36, 42124, 1, 0, 0, 0, 0, 'Medallion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (12639, 700, 36, 42126, 1, 0, 0, 0, 0, 'Medallion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 22), + (939, 750, 43, 483, 1, 0, 0, 0, 0, 'Bael Modan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (1218, 781, 43, 521, 1, 0, 0, 0, 0, 'The Vile Reef', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (1296, 42, 8, 770, 1, 0, 0, 0, 0, 'Western Plaguelands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (1530, 859, 43, 1381, 1, 0, 0, 0, 0, 'Thuron\'s Livery', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (1594, 861, 43, 1350, 1, 0, 0, 0, 0, 'The Vector Coil', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (1706, 865, 43, 1312, 1, 0, 0, 0, 0, 'Veil Lashh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (1858, 879, 36, 13329, 1, 0, 0, 0, 0, 'Frost Ram', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (2909, 621, 57, 15197, 1, 0, 0, 0, 0, 'Scout\'s Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (3323, 344, 41, 19066, 1, 0, 0, 0, 0, 'Warsong Gulch Runecloth Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (3784, 1244, 68, 175759, 1, 0, 0, 0, 0, 'The Betrayer Ascendant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (4310, 345, 41, 22829, 0, 0, 0, 0, 0, 'Super Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (4336, 922, 41, 9144, 0, 0, 0, 0, 0, 'Wildvine Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (4358, 923, 41, 3825, 0, 0, 0, 0, 0, 'Elixir of Fortitude', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (4429, 811, 41, 32901, 0, 0, 0, 0, 0, 'Shattrath Flask of Relentless Assault', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (4562, 686, 36, 17076, 1, 0, 0, 0, 0, 'Bonereaver\'s Edge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (4582, 685, 36, 16931, 1, 0, 0, 0, 0, 'Nemesis Robes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_enGB`, `Description_Lang_koKR`, `Description_Lang_frFR`, `Description_Lang_deDE`, `Description_Lang_enCN`, `Description_Lang_zhCN`, `Description_Lang_enTW`, `Description_Lang_zhTW`, `Description_Lang_esES`, `Description_Lang_esMX`, `Description_Lang_ruRU`, `Description_Lang_ptPT`, `Description_Lang_ptBR`, `Description_Lang_itIT`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES + (4595, 687, 36, 22731, 1, 0, 0, 0, 0, 'Cloak of the Devoured', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (4639, 695, 36, 31014, 1, 0, 0, 0, 0, 'Skyshatter Headguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (4647, 698, 36, 34403, 1, 0, 0, 0, 0, 'Cover of Ursoc the Mighty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (4809, 697, 36, 31004, 1, 0, 0, 0, 0, 'Gronnstalker\'s Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (4839, 696, 36, 30118, 1, 0, 0, 0, 0, 'Destroyer Breastplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (4869, 694, 36, 30152, 1, 0, 0, 0, 0, 'Cowl of the Avatar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (4896, 693, 36, 29045, 1, 0, 0, 0, 0, 'Netherblade Chestpiece', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (4928, 692, 36, 29094, 1, 0, 0, 0, 0, 'Britches of Malorne', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (5075, 1307, 27, 10499, 1, 0, 0, 0, 0, 'Saving the Best for Last', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (5279, 153, 72, 192053, 1, 0, 0, 0, 0, 'Deep Sea Monsterbelly School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (5437, 1467, 0, 28921, 1, 0, 0, 0, 0, 'Hadronox', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (5921, 1676, 11, 3457, 700, 0, 0, 0, 0, 'Karazhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 23), + (5973, 1677, 11, 3457, 550, 0, 0, 0, 0, 'Karazhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 23), + (6026, 1678, 11, 3429, 700, 0, 0, 0, 0, 'Ruins of Ahn\'Qiraj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 23), + (6121, 1680, 11, 3429, 685, 0, 0, 0, 0, 'Ruins of Ahn\'Qiraj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 23), + (6401, 1756, 0, 15989, 1, 0, 0, 0, 0, 'Sapphiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (6420, 1770, 0, 15989, 1, 0, 0, 0, 0, 'Sapphiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (6510, 1777, 29, 57438, 1, 0, 0, 0, 0, 'Blackened Worg Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (6783, 1800, 29, 43707, 1, 0, 0, 0, 0, 'Skullfish Soup', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (7591, 2136, 8, 2154, 0, 0, 0, 0, 0, 'Brann Spankin\' New', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (7783, 322, 20, 29307, 0, 0, 0, 0, 0, 'Drakkari Colossus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (8122, 2256, 0, 32487, 1, 0, 0, 0, 0, 'Putridus the Ancient', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (8724, 347, 41, 42350, 0, 0, 0, 0, 0, 'Bag of Peanuts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (8749, 771, 43, 1557, 1, 0, 0, 0, 0, 'Ruins of the Scarlet Enclave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (9016, 346, 41, 33236, 0, 0, 0, 0, 0, 'Fizzy Faire Drink "Classic"', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (9042, 812, 41, 36893, 0, 0, 0, 0, 0, 'Fel Healthstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (11000, 323, 20, 33186, 0, 0, 0, 0, 0, 'Razorscale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (11017, 324, 20, 33186, 0, 0, 0, 0, 0, 'Razorscale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (11925, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Ignis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 23), + (13370, 700, 36, 51378, 1, 0, 0, 0, 0, 'Medallion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (13371, 701, 36, 51377, 1, 0, 0, 0, 0, 'Medallion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 23), + (940, 750, 43, 484, 1, 0, 0, 0, 0, 'Razorfen Kraul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (1219, 781, 43, 522, 1, 0, 0, 0, 0, 'Zuuldaia Ruins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (1286, 42, 8, 771, 1, 0, 0, 0, 0, 'Eastern Plaguelands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (1531, 859, 43, 1382, 1, 0, 0, 0, 0, 'Tranquil Shore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (1595, 861, 43, 1351, 1, 0, 0, 0, 0, 'The Warp Piston', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (2238, 865, 43, 1313, 1, 0, 0, 0, 0, 'Veil Ruuan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (2910, 621, 57, 31780, 1, 0, 0, 0, 0, 'Scryers Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (3324, 344, 41, 19068, 1, 0, 0, 0, 0, 'Warsong Gulch Silk Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (3785, 1244, 68, 175748, 1, 0, 0, 0, 0, 'The Birth of the Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (4319, 345, 41, 20002, 0, 0, 0, 0, 0, 'Greater Dreamless Sleep Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (4359, 923, 41, 17708, 0, 0, 0, 0, 0, 'Elixir of Frost Power', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (4430, 811, 41, 32900, 0, 0, 0, 0, 0, 'Shattrath Flask of Supreme Power', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (4563, 686, 36, 17104, 1, 0, 0, 0, 0, 'Spinal Reaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (4583, 685, 36, 16916, 1, 0, 0, 0, 0, 'Netherwind Robes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (4596, 687, 36, 22730, 1, 0, 0, 0, 0, 'Eyestalk Waist Cord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (4640, 695, 36, 31012, 1, 0, 0, 0, 0, 'Skyshatter Helmet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (4648, 698, 36, 34400, 1, 0, 0, 0, 0, 'Crown of Dath\'Remar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (4810, 697, 36, 30975, 1, 0, 0, 0, 0, 'Onslaught Breastplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (4840, 696, 36, 30113, 1, 0, 0, 0, 0, 'Destroyer Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (4870, 694, 36, 30120, 1, 0, 0, 0, 0, 'Destroyer Battle-Helm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (4897, 693, 36, 29096, 1, 0, 0, 0, 0, 'Breastplate of Malorne', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (4929, 692, 36, 29099, 1, 0, 0, 0, 0, 'Greaves of Malorne', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (5184, 922, 41, 33448, 0, 0, 0, 0, 0, 'Runic Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (5280, 153, 72, 192048, 1, 0, 0, 0, 0, 'Dragonfin Angelfish School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (5382, 1467, 0, 26763, 1, 0, 0, 0, 0, 'Anomalus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (5922, 1676, 11, 38, 700, 0, 0, 0, 0, 'Loch Modan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 24), + (5974, 1677, 11, 38, 550, 0, 0, 0, 0, 'Loch Modan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 24), + (6028, 1678, 11, 1377, 700, 0, 0, 0, 0, 'Silithus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 24), + (6123, 1680, 11, 1377, 685, 0, 0, 0, 0, 'Silithus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 24), + (6203, 879, 34, 17460, 0, 0, 0, 0, 0, 'Frost Ram', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (6402, 1756, 0, 15928, 1, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (6421, 1770, 0, 15928, 1, 0, 0, 0, 0, 'Thaddius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (6511, 1777, 29, 57435, 1, 0, 0, 0, 0, 'Critter Bites', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (6784, 1800, 29, 33296, 1, 0, 0, 0, 0, 'Spicy Crawdad', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (7594, 2136, 8, 2155, 0, 0, 0, 0, 0, 'Abuse the Ooze', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (7782, 322, 20, 29305, 0, 0, 0, 0, 0, 'Moorabi', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (8723, 347, 41, 42342, 0, 0, 0, 0, 0, 'Bag of Popcorn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (8740, 700, 36, 40477, 1, 0, 0, 0, 0, 'Insignia of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (8741, 701, 36, 40476, 1, 0, 0, 0, 0, 'Insignia of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (9015, 346, 41, 33234, 0, 0, 0, 0, 0, 'Iced Berry Slush', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 24), + (9041, 812, 41, 36892, 0, 0, 0, 0, 0, 'Fel Healthstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (11001, 323, 20, 33118, 0, 0, 0, 0, 0, 'Ignis the Furnace Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (11018, 324, 20, 33118, 0, 0, 0, 0, 0, 'Ignis the Furnace Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (11926, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Vezax', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 24), + (941, 750, 43, 485, 1, 0, 0, 0, 0, 'Razorfen Downs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (1220, 781, 43, 523, 1, 0, 0, 0, 0, 'Ruins of Zul\'Kunda', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (1532, 859, 43, 1383, 1, 0, 0, 0, 0, 'Zeb\'Watha', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (1596, 861, 43, 1352, 1, 0, 0, 0, 0, 'Veridian Point', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (1707, 865, 43, 1314, 1, 0, 0, 0, 0, 'Vekhaar Stand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (1796, 42, 8, 868, 1, 0, 0, 0, 0, 'Isle of Quel\'Danas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (1859, 879, 36, 13327, 1, 0, 0, 0, 0, 'Icy Blue Mechanostrider Mod A', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 25), + (2911, 621, 57, 31781, 1, 0, 0, 0, 0, 'Sha\'tar Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 25), + (3325, 344, 41, 3530, 1, 0, 0, 0, 0, 'Wool Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (3786, 1244, 68, 175745, 1, 0, 0, 0, 0, 'The Dark Portal and the Fall of Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (4320, 345, 41, 22836, 0, 0, 0, 0, 0, 'Major Dreamless Sleep Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (4360, 923, 41, 6662, 0, 0, 0, 0, 0, 'Elixir of Giant Growth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (4431, 811, 41, 32599, 0, 0, 0, 0, 0, 'Unstable Flask of the Bandit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (4584, 685, 36, 16923, 1, 0, 0, 0, 0, 'Robes of Transcendence', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 25), + (4641, 695, 36, 31015, 1, 0, 0, 0, 0, 'Skyshatter Cover', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 25), + (4649, 698, 36, 34406, 1, 0, 0, 0, 0, 'Gloves of Tyri\'s Power', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 25), + (4811, 697, 36, 30976, 1, 0, 0, 0, 0, 'Onslaught Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 25), + (4841, 696, 36, 30139, 1, 0, 0, 0, 0, 'Rift Stalker Hauberk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 25), + (4871, 694, 36, 30115, 1, 0, 0, 0, 0, 'Destroyer Greathelm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 25), + (4898, 693, 36, 29087, 1, 0, 0, 0, 0, 'Chestguard of Malorne', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 25), + (4930, 692, 36, 29088, 1, 0, 0, 0, 0, 'Legguards of Malorne', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 25), + (4941, 687, 36, 22732, 1, 0, 0, 0, 0, 'Mark of C\'Thun', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 25), + (5055, 686, 36, 17107, 1, 0, 0, 0, 0, 'Dragon\'s Blood Cape', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 25), + (5185, 922, 41, 31840, 0, 0, 0, 0, 0, 'Major Combat Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (5281, 153, 72, 192049, 1, 0, 0, 0, 0, 'Fangtooth Herring School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 25), + (5379, 1467, 0, 24201, 1, 0, 0, 0, 0, 'Dalronn the Controller', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (5923, 1676, 11, 170, 700, 0, 0, 0, 0, 'Lordamere Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 25), + (5975, 1677, 11, 170, 550, 0, 0, 0, 0, 'Lordamere Lake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 25), + (6030, 1678, 11, 377, 700, 0, 0, 0, 0, 'Southfury River', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 25), + (6125, 1680, 11, 377, 685, 0, 0, 0, 0, 'Southfury River', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 25), + (6403, 1756, 0, 16028, 1, 0, 0, 0, 0, 'Patchwerk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (6422, 1770, 0, 16028, 1, 0, 0, 0, 0, 'Patchwerk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (6512, 1777, 29, 57439, 1, 0, 0, 0, 0, 'Cuttlesteak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (6785, 1800, 29, 43765, 1, 0, 0, 0, 0, 'Spicy Hot Talbuk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (7516, 2136, 8, 1867, 0, 0, 0, 0, 0, 'Timely Death', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (7781, 322, 20, 29304, 0, 0, 0, 0, 0, 'Slad\'ran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (8722, 347, 41, 37585, 0, 0, 0, 0, 0, 'Chewy Fel Taffy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 25), + (9014, 346, 41, 33036, 0, 0, 0, 0, 0, 'Mudder\'s Milk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 25), + (9044, 812, 41, 36889, 0, 0, 0, 0, 0, 'Demonic Healthstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (11003, 323, 20, 33293, 0, 0, 0, 0, 0, 'XT-002 Deconstructor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (11019, 324, 20, 33293, 0, 0, 0, 0, 0, 'XT-002 Deconstructor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (11927, 3802, 28, 68206, 1, 0, 0, 0, 0, 'Algalon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 25), + (1221, 781, 43, 501, 1, 0, 0, 0, 0, 'Jaguero Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (1597, 861, 43, 1353, 1, 0, 0, 0, 0, 'Vindicator\'s Rest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (1708, 865, 43, 1315, 1, 0, 0, 0, 0, 'Vortex Pinnacle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (2912, 621, 57, 19506, 1, 0, 0, 0, 0, 'Silverwing Battle Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 26), + (3787, 1244, 68, 175733, 1, 0, 0, 0, 0, 'The Founding of Quel\'Thalas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (4325, 345, 41, 34440, 0, 0, 0, 0, 0, 'Mad Alchemist\'s Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (4361, 923, 41, 9206, 0, 0, 0, 0, 0, 'Elixir of Giants', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (4432, 811, 41, 32598, 0, 0, 0, 0, 0, 'Unstable Flask of the Beast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (4642, 695, 36, 31027, 1, 0, 0, 0, 0, 'Slayer\'s Helm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 26), + (4650, 698, 36, 34405, 1, 0, 0, 0, 0, 'Helm of Arcane Purity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 26), + (4812, 697, 36, 31017, 1, 0, 0, 0, 0, 'Skyshatter Breastplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 26), + (4842, 696, 36, 30214, 1, 0, 0, 0, 0, 'Robe of the Corruptor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 26), + (4872, 694, 36, 30161, 1, 0, 0, 0, 0, 'Hood of the Avatar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 26), + (4899, 693, 36, 29091, 1, 0, 0, 0, 0, 'Chestpiece of Malorne', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 26), + (4931, 692, 36, 29059, 1, 0, 0, 0, 0, 'Leggings of the Incarnate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 26), + (5056, 686, 36, 17082, 1, 0, 0, 0, 0, 'Shard of the Flame', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 26), + (5282, 153, 72, 192050, 1, 0, 0, 0, 0, 'Glacial Salmon School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 26), + (5450, 1467, 0, 29307, 1, 0, 0, 0, 0, 'Drakkari Colossus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (5924, 1676, 11, 4131, 700, 0, 0, 0, 0, 'Magister\'s Terrace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 26), + (5976, 1677, 11, 4131, 550, 0, 0, 0, 0, 'Magister\'s Terrace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 26), + (6031, 1678, 11, 406, 700, 0, 0, 0, 0, 'Stonetalon Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 26), + (6126, 1680, 11, 406, 685, 0, 0, 0, 0, 'Stonetalon Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 26), + (6204, 879, 34, 17459, 0, 0, 0, 0, 0, 'Icy Blue Mechanostrider Mod A', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 26), + (6404, 1756, 0, 15954, 1, 0, 0, 0, 0, 'Noth the Plaguebringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (6423, 1770, 0, 15954, 1, 0, 0, 0, 0, 'Noth the Plaguebringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (6513, 1777, 29, 57442, 1, 0, 0, 0, 0, 'Dragonfin Filet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (6786, 1800, 29, 42296, 1, 0, 0, 0, 0, 'Stewed Trout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (7517, 2136, 8, 1834, 0, 0, 0, 0, 0, 'Lightning Struck', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (7780, 322, 20, 27483, 0, 0, 0, 0, 0, 'King Dred', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (7902, 344, 41, 20237, 1, 0, 0, 0, 0, 'Highlander\'s Mageweave Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (7906, 922, 41, 43530, 1, 0, 0, 0, 0, 'Argent Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (8721, 347, 41, 37584, 0, 0, 0, 0, 0, 'Soothing Spearmint Candy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 26), + (8894, 687, 36, 21331, 1, 0, 0, 0, 0, 'Conqueror\'s Breastplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 26), + (9013, 346, 41, 32424, 0, 0, 0, 0, 0, 'Blade\'s Edge Ogre Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 26), + (9047, 812, 41, 36892, 0, 0, 0, 0, 0, 'Fel Healthstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (11004, 323, 20, 32867, 0, 0, 0, 0, 0, 'Steelbreaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (11020, 324, 20, 32867, 0, 0, 0, 0, 0, 'Steelbreaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 26), + (1222, 781, 43, 527, 1, 0, 0, 0, 0, 'Zul\'Gurub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (1598, 861, 43, 1354, 1, 0, 0, 0, 0, 'Wrathscale Lair', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (1860, 879, 36, 13326, 1, 0, 0, 0, 0, 'White Mechanostrider Mod B', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 27), + (2913, 621, 57, 32445, 1, 0, 0, 0, 0, 'Skyguard Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 27), + (3788, 1244, 68, 175735, 1, 0, 0, 0, 0, 'The Guardians of Tirisfal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (4362, 923, 41, 9187, 0, 0, 0, 0, 0, 'Elixir of Greater Agility', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (4433, 811, 41, 32596, 0, 0, 0, 0, 0, 'Unstable Flask of the Elder', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (4643, 695, 36, 31056, 1, 0, 0, 0, 0, 'Cowl of the Tempest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 27), + (4651, 698, 36, 34401, 1, 0, 0, 0, 0, 'Helm of Uther\'s Resolve', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 27), + (4813, 697, 36, 31016, 1, 0, 0, 0, 0, 'Skyshatter Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 27), + (4843, 696, 36, 30196, 1, 0, 0, 0, 0, 'Robes of Tirisfal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 27), + (4873, 694, 36, 30212, 1, 0, 0, 0, 0, 'Hood of the Corruptor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 27), + (4900, 693, 36, 29050, 1, 0, 0, 0, 0, 'Robes of the Incarnate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 27), + (4932, 692, 36, 29053, 1, 0, 0, 0, 0, 'Trousers of the Incarnate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 27), + (5283, 153, 72, 192059, 1, 0, 0, 0, 0, 'Glassfin Minnow School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 27), + (5457, 1467, 0, 28587, 1, 0, 0, 0, 0, 'Volkhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (5925, 1676, 11, 2717, 700, 0, 0, 0, 0, 'Molten Core', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 27), + (5977, 1677, 11, 2717, 550, 0, 0, 0, 0, 'Molten Core', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 27), + (6032, 1678, 11, 440, 700, 0, 0, 0, 0, 'Tanaris', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 27), + (6127, 1680, 11, 440, 685, 0, 0, 0, 0, 'Tanaris', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 27), + (6405, 1756, 0, 15952, 1, 0, 0, 0, 0, 'Maexxna', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (6424, 1770, 0, 15952, 1, 0, 0, 0, 0, 'Maexxna', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (6514, 1777, 29, 45568, 1, 0, 0, 0, 0, 'Firecracker Salmon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (7518, 2136, 8, 2042, 0, 0, 0, 0, 0, 'Shatter Resistant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (7779, 322, 20, 26631, 0, 0, 0, 0, 0, 'Novos the Summoner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (7903, 344, 41, 20243, 1, 0, 0, 0, 0, 'Highlander\'s Runecloth Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (7907, 922, 41, 43570, 1, 0, 0, 0, 0, 'Endless Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (7910, 345, 41, 43569, 1, 0, 0, 0, 0, 'Endless Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (8720, 347, 41, 37583, 0, 0, 0, 0, 0, 'G.N.E.R.D.S.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 27), + (8893, 686, 36, 19017, 1, 0, 0, 0, 0, 'Essence of the Firelord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 27), + (8895, 687, 36, 21389, 1, 0, 0, 0, 0, 'Avenger\'s Breastplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 27), + (9031, 346, 41, 43696, 0, 0, 0, 0, 0, 'Half Empty Bottle of Prison Moonshine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 27), + (9048, 812, 41, 36893, 0, 0, 0, 0, 0, 'Fel Healthstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (11005, 323, 20, 32927, 0, 0, 0, 0, 0, 'Runemaster Molgeim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (11021, 324, 20, 32927, 0, 0, 0, 0, 0, 'Runemaster Molgeim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 27), + (1599, 861, 43, 1355, 1, 0, 0, 0, 0, 'Wyrmscar Island', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (2914, 621, 57, 31775, 1, 0, 0, 0, 0, 'Sporeggar Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 28), + (3789, 1244, 68, 175747, 1, 0, 0, 0, 0, 'The Invasion of Draenor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (4363, 923, 41, 8951, 0, 0, 0, 0, 0, 'Elixir of Greater Defense', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (4434, 811, 41, 32600, 0, 0, 0, 0, 0, 'Unstable Flask of the Physician', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (4644, 695, 36, 31039, 1, 0, 0, 0, 0, 'Thunderheart Cover', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 28), + (4652, 698, 36, 34404, 1, 0, 0, 0, 0, 'Mask of the Fury Hunter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 28), + (4814, 697, 36, 31018, 1, 0, 0, 0, 0, 'Skyshatter Tunic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 28), + (4844, 696, 36, 30159, 1, 0, 0, 0, 0, 'Shroud of the Avatar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 28), + (4874, 694, 36, 30141, 1, 0, 0, 0, 0, 'Rift Stalker Helm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 28), + (4901, 693, 36, 29056, 1, 0, 0, 0, 0, 'Shroud of the Incarnate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 28), + (4933, 692, 36, 29022, 1, 0, 0, 0, 0, 'Warbringer Greaves', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 28), + (5284, 153, 72, 192052, 1, 0, 0, 0, 0, 'Imperial Manta Ray School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 28), + (5445, 1467, 0, 27483, 1, 0, 0, 0, 0, 'King Dred', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (5926, 1676, 11, 2159, 700, 0, 0, 0, 0, 'Onyxia\'s Lair', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 28), + (5979, 1677, 11, 4298, 550, 0, 0, 0, 0, 'Plaguelands: The Scarlet Enclave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 28), + (6033, 1678, 11, 141, 700, 0, 0, 0, 0, 'Teldrassil', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 28), + (6128, 1680, 11, 141, 685, 0, 0, 0, 0, 'Teldrassil', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 28), + (6205, 879, 34, 15779, 0, 0, 0, 0, 0, 'White Mechanostrider Mod B', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 28), + (6406, 1756, 0, 15931, 1, 0, 0, 0, 0, 'Grobbulus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (6425, 1770, 0, 15931, 1, 0, 0, 0, 0, 'Grobbulus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (6515, 1777, 29, 57423, 1, 0, 0, 0, 0, 'Fish Feast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (7364, 686, 36, 21110, 1, 0, 0, 0, 0, 'Draconic for Dummies', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 28), + (7519, 2136, 8, 1817, 0, 0, 0, 0, 0, 'The Culling of Time', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (7778, 322, 20, 26630, 0, 0, 0, 0, 0, 'Trollgore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (7901, 344, 41, 20244, 1, 0, 0, 0, 0, 'Highlander\'s Silk Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (7905, 922, 41, 18841, 1, 0, 0, 0, 0, 'Combat Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (7911, 345, 41, 39327, 1, 0, 0, 0, 0, 'Noth\'s Special Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (8719, 347, 41, 37582, 0, 0, 0, 0, 0, 'Pyroblast Cinnamon Ball', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 28), + (8896, 687, 36, 21364, 1, 0, 0, 0, 0, 'Deathdealer\'s Vest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 28), + (9030, 346, 41, 43695, 0, 0, 0, 0, 0, 'Half Full Bottle of Prison Moonshine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 28), + (9046, 812, 41, 36891, 0, 0, 0, 0, 0, 'Demonic Healthstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (11006, 323, 20, 32857, 0, 0, 0, 0, 0, 'Stormcaller Brundir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (11022, 324, 20, 32857, 0, 0, 0, 0, 0, 'Stormcaller Brundir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 28), + (2915, 621, 57, 15199, 1, 0, 0, 0, 0, 'Stone Guard\'s Herald', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 29), + (3790, 1244, 68, 21583, 1, 0, 0, 0, 0, 'The Kaldorei and the Well of Eternity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 29), + (4364, 923, 41, 21546, 0, 0, 0, 0, 0, 'Elixir of Greater Firepower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 29), + (4645, 695, 36, 31040, 1, 0, 0, 0, 0, 'Thunderheart Headguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 29), + (4653, 698, 36, 34402, 1, 0, 0, 0, 0, 'Shroud of Chieftain Ner\'zhul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 29), + (4815, 697, 36, 31057, 1, 0, 0, 0, 0, 'Robes of the Tempest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 29), + (4845, 696, 36, 30150, 1, 0, 0, 0, 0, 'Vestments of the Avatar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 29), + (4875, 694, 36, 30228, 1, 0, 0, 0, 0, 'Nordrassil Headdress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 29), + (4902, 693, 36, 29019, 1, 0, 0, 0, 0, 'Warbringer Breastplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 29), + (4934, 692, 36, 29015, 1, 0, 0, 0, 0, 'Warbringer Legguards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 29), + (5186, 922, 41, 31855, 0, 0, 0, 0, 0, 'Major Combat Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 29), + (5285, 153, 72, 192054, 1, 0, 0, 0, 0, 'Moonglow Cuttlefish School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 29), + (5465, 1467, 0, 26668, 1, 0, 0, 0, 0, 'Svala Sorrowgrave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 29), + (5927, 1676, 11, 4298, 700, 0, 0, 0, 0, 'Plaguelands: The Scarlet Enclave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 29), + (5978, 1677, 11, 2159, 550, 0, 0, 0, 0, 'Onyxia\'s Lair', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 29), + (6034, 1678, 11, 17, 700, 0, 0, 0, 0, 'The Barrens', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 29), + (6129, 1680, 11, 17, 685, 0, 0, 0, 0, 'The Barrens', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 29), + (6407, 1756, 0, 15936, 1, 0, 0, 0, 0, 'Heigan the Unclean', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 29), + (6426, 1770, 0, 15936, 1, 0, 0, 0, 0, 'Heigan the Unclean', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 29), + (6516, 1777, 29, 58527, 1, 0, 0, 0, 0, 'Gigantic Feast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 29), + (7520, 2136, 8, 1872, 0, 0, 0, 0, 0, 'Zombiefest!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 29), + (7777, 322, 20, 29310, 0, 0, 0, 0, 0, 'Jedoga Shadowseeker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 29), + (7900, 344, 41, 3531, 1, 0, 0, 0, 0, 'Heavy Wool Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 29), + (7908, 345, 41, 18839, 1, 0, 0, 0, 0, 'Combat Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 29), + (8718, 347, 41, 33226, 0, 0, 0, 0, 0, 'Tricky Treat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 29), + (8897, 687, 36, 21334, 1, 0, 0, 0, 0, 'Doomcaller\'s Robes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 29), + (9029, 346, 41, 42381, 0, 0, 0, 0, 0, 'Anguish Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 29), + (9045, 812, 41, 36890, 0, 0, 0, 0, 0, 'Demonic Healthstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 29), + (11007, 323, 20, 32930, 0, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 29), + (11023, 324, 20, 32930, 0, 0, 0, 0, 0, 'Kologarn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 29), + (13252, 811, 41, 46376, 0, 0, 0, 0, 0, 'Flask of the Frost Wyrm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 29), + (2916, 621, 57, 19032, 1, 0, 0, 0, 0, 'Stormpike Battle Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 30), + (3791, 1244, 68, 175740, 1, 0, 0, 0, 0, 'The Last Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 30), + (4365, 923, 41, 9179, 0, 0, 0, 0, 0, 'Elixir of Greater Intellect', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 30), + (4646, 695, 36, 31037, 1, 0, 0, 0, 0, 'Thunderheart Helmet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 30), + (4816, 697, 36, 31028, 1, 0, 0, 0, 0, 'Slayer\'s Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 30), + (4846, 696, 36, 30216, 1, 0, 0, 0, 0, 'Nordrassil Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 30), + (4876, 694, 36, 30219, 1, 0, 0, 0, 0, 'Nordrassil Headguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 30), + (4903, 693, 36, 29012, 1, 0, 0, 0, 0, 'Warbringer Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 30), + (4935, 692, 36, 29083, 1, 0, 0, 0, 0, 'Demon Stalker Greaves', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 30), + (5187, 922, 41, 31854, 0, 0, 0, 0, 0, 'Major Combat Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 30), + (5286, 153, 72, 192046, 1, 0, 0, 0, 0, 'Musselback Sculpin School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 30), + (5461, 1467, 0, 27447, 1, 0, 0, 0, 0, 'Varos Cloudstrider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 30), + (5928, 1676, 11, 2037, 700, 0, 0, 0, 0, 'Quel\'thalas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 30), + (5980, 1677, 11, 2037, 550, 0, 0, 0, 0, 'Quel\'thalas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 30), + (6035, 1678, 11, 400, 700, 0, 0, 0, 0, 'Thousand Needles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 30), + (6130, 1680, 11, 400, 685, 0, 0, 0, 0, 'Thousand Needles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 30), + (6409, 1756, 0, 16011, 1, 0, 0, 0, 0, 'Loatheb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 30), + (6428, 1770, 0, 16011, 1, 0, 0, 0, 0, 'Loatheb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 30), + (6517, 1777, 29, 57436, 1, 0, 0, 0, 0, 'Hearty Rhino', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 30), + (7521, 2136, 8, 2043, 0, 0, 0, 0, 0, 'The Incredible Hulk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 30), + (7776, 322, 20, 29309, 0, 0, 0, 0, 0, 'Elder Nadox', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 30), + (7904, 344, 41, 16991, 1, 0, 0, 0, 0, 'Triage Bandage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 30), + (7909, 345, 41, 43531, 1, 0, 0, 0, 0, 'Argent Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 30), + (8717, 347, 41, 33218, 0, 0, 0, 0, 0, 'Goblin Gumbo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 30), + (8898, 687, 36, 21343, 1, 0, 0, 0, 0, 'Enigma Robes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 30), + (9028, 346, 41, 39738, 0, 0, 0, 0, 0, 'Thunderbrew\'s Hard Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 30), + (9049, 812, 41, 36894, 0, 0, 0, 0, 0, 'Fel Healthstone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 30), + (11002, 323, 20, 33515, 0, 0, 0, 0, 0, 'Auriaya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 30), + (11024, 324, 20, 33515, 0, 0, 0, 0, 0, 'Auriaya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 30), + (13251, 811, 41, 47499, 0, 0, 0, 0, 0, 'Flask of the North', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 30), + (2917, 621, 57, 38312, 1, 0, 0, 0, 0, 'Tabard of Brilliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 31), + (3792, 1244, 68, 175762, 1, 0, 0, 0, 0, 'The Lich King Triumphant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 31), + (4366, 923, 41, 18294, 0, 0, 0, 0, 0, 'Elixir of Greater Water Breathing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 31), + (4435, 811, 41, 32597, 0, 0, 0, 0, 0, 'Unstable Flask of the Soldier', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 31), + (4817, 697, 36, 31042, 1, 0, 0, 0, 0, 'Thunderheart Chestguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 31), + (4847, 696, 36, 30231, 1, 0, 0, 0, 0, 'Nordrassil Chestpiece', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 31), + (4877, 694, 36, 30233, 1, 0, 0, 0, 0, 'Nordrassil Headpiece', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 31), + (4904, 693, 36, 29082, 1, 0, 0, 0, 0, 'Demon Stalker Harness', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 31), + (4936, 692, 36, 29078, 1, 0, 0, 0, 0, 'Legwraps of the Aldor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 31), + (5178, 345, 41, 31839, 0, 0, 0, 0, 0, 'Major Combat Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 31), + (5188, 922, 41, 31841, 0, 0, 0, 0, 0, 'Major Combat Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 31), + (5287, 153, 72, 192057, 1, 0, 0, 0, 0, 'Nettlefish School', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 31), + (5454, 1467, 0, 27978, 1, 0, 0, 0, 0, 'Sjonnir the Ironshaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 31), + (5929, 1676, 11, 44, 700, 0, 0, 0, 0, 'Redridge Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 31), + (5981, 1677, 11, 44, 550, 0, 0, 0, 0, 'Redridge Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 31), + (6036, 1678, 11, 1638, 700, 0, 0, 0, 0, 'Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 31), + (6131, 1680, 11, 1638, 685, 0, 0, 0, 0, 'Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 31), + (6410, 1756, 0, 16061, 1, 0, 0, 0, 0, 'Instructor Razuvious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 31), + (6429, 1770, 0, 16061, 1, 0, 0, 0, 0, 'Instructor Razuvious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 31), + (6518, 1777, 29, 45570, 1, 0, 0, 0, 0, 'Imperial Manta Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 31), + (7522, 2136, 8, 1873, 0, 0, 0, 0, 0, 'Lodi Dodi We Loves the Skadi', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 31), + (7775, 322, 20, 29308, 0, 0, 0, 0, 0, 'Prince Taldaram', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 31), + (8716, 347, 41, 24540, 0, 0, 0, 0, 0, 'Edible Fern', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 31), + (8899, 687, 36, 21357, 1, 0, 0, 0, 0, 'Genesis Vest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 31), + (9027, 346, 41, 38320, 0, 0, 0, 0, 0, 'Dire Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 31), + (11008, 323, 20, 33411, 0, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 31), + (11025, 324, 20, 33411, 0, 0, 0, 0, 0, 'Hodir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 31), + (2918, 621, 57, 23705, 1, 0, 0, 0, 0, 'Tabard of Flame', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 32), + (3793, 1244, 68, 175752, 1, 0, 0, 0, 0, 'The New Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 32), + (4367, 923, 41, 22825, 0, 0, 0, 0, 0, 'Elixir of Healing Power', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 32), + (4436, 811, 41, 32601, 0, 0, 0, 0, 0, 'Unstable Flask of the Sorcerer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 32), + (4818, 697, 36, 31041, 1, 0, 0, 0, 0, 'Thunderheart Tunic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 32), + (4848, 696, 36, 30222, 1, 0, 0, 0, 0, 'Nordrassil Chestplate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 32), + (4878, 694, 36, 30206, 1, 0, 0, 0, 0, 'Cowl of Tirisfal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 32), + (4905, 693, 36, 29077, 1, 0, 0, 0, 0, 'Vestments of the Aldor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 32), + (4937, 692, 36, 28966, 1, 0, 0, 0, 0, 'Voidheart Leggings', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 32), + (5179, 345, 41, 31838, 0, 0, 0, 0, 0, 'Major Combat Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 32), + (5189, 922, 41, 40067, 0, 0, 0, 0, 0, 'Icy Mana Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 32), + (5441, 1467, 0, 29310, 1, 0, 0, 0, 0, 'Jedoga Shadowseeker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 32), + (5930, 1676, 11, 796, 700, 0, 0, 0, 0, 'Scarlet Monastery', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 32), + (5982, 1677, 11, 796, 550, 0, 0, 0, 0, 'Scarlet Monastery', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 32), + (6037, 1678, 11, 490, 700, 0, 0, 0, 0, 'Un\'Goro Crater', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 32), + (6132, 1680, 11, 490, 685, 0, 0, 0, 0, 'Un\'Goro Crater', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 32), + (6411, 1756, 0, 15953, 1, 0, 0, 0, 0, 'Grand Widow Faerlina', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 32), + (6430, 1770, 0, 15953, 1, 0, 0, 0, 0, 'Grand Widow Faerlina', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 32), + (6587, 1777, 29, 45555, 1, 0, 0, 0, 0, 'Mega Mammoth Meal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 32), + (7596, 2136, 8, 2156, 0, 0, 0, 0, 0, 'My Girl Loves to Skadi All the Time', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 32), + (7774, 322, 20, 28921, 0, 0, 0, 0, 0, 'Hadronox', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 32), + (8715, 347, 41, 24421, 0, 0, 0, 0, 0, 'Nagrand Cherry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 32), + (8900, 687, 36, 21374, 1, 0, 0, 0, 0, 'Stormcaller\'s Hauberk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 32), + (9026, 346, 41, 38300, 0, 0, 0, 0, 0, 'Diluted Ethereum Essence', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 32), + (11009, 323, 20, 33413, 0, 0, 0, 0, 0, 'Thorim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 32), + (11026, 324, 20, 33413, 0, 0, 0, 0, 0, 'Thorim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 32), + (2919, 621, 57, 23709, 1, 0, 0, 0, 0, 'Tabard of Frost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 33), + (3794, 1244, 68, 175725, 1, 0, 0, 0, 0, 'The Old Gods and the Ordering of Azeroth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 33), + (4368, 923, 41, 32068, 0, 0, 0, 0, 0, 'Elixir of Ironskin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 33), + (4819, 697, 36, 31043, 1, 0, 0, 0, 0, 'Thunderheart Vest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 33), + (4906, 693, 36, 28964, 1, 0, 0, 0, 0, 'Voidheart Robe', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 33), + (5180, 345, 41, 31853, 0, 0, 0, 0, 0, 'Major Combat Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 33), + (5438, 1467, 0, 29120, 1, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 33), + (5931, 1676, 11, 2057, 700, 0, 0, 0, 0, 'Scholomance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 33), + (5983, 1677, 11, 2057, 550, 0, 0, 0, 0, 'Scholomance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 33), + (6038, 1678, 11, 718, 700, 0, 0, 0, 0, 'Wailing Caverns', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 33), + (6133, 1680, 11, 718, 685, 0, 0, 0, 0, 'Wailing Caverns', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 33), + (6379, 922, 41, 42545, 0, 0, 0, 0, 0, 'Runic Mana Injector', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 33), + (6412, 1756, 0, 16060, 1, 0, 0, 0, 0, 'Gothik the Harvester', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 33), + (6431, 1770, 0, 16060, 1, 0, 0, 0, 0, 'Gothik the Harvester', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 33), + (6588, 1777, 29, 45559, 1, 0, 0, 0, 0, 'Mighty Rhino Dogs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 33), + (7599, 2136, 8, 2157, 0, 0, 0, 0, 0, 'King\'s Bane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 33), + (7773, 322, 20, 28684, 0, 0, 0, 0, 0, 'Krik\'thir the Gatewatcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 33), + (7871, 694, 36, 29906, 1, 0, 0, 0, 0, 'Vashj\'s Vial Remnant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 33), + (8714, 347, 41, 24408, 0, 0, 0, 0, 0, 'Edible Stalks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 33), + (8901, 687, 36, 21370, 1, 0, 0, 0, 0, 'Striker\'s Hauberk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 33), + (9025, 346, 41, 38294, 0, 0, 0, 0, 0, 'Ethereal Liqeuer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 33), + (9079, 692, 36, 31750, 1, 0, 0, 0, 0, 'Earthen Signet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 33), + (11010, 323, 20, 33410, 0, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 33), + (11027, 324, 20, 33410, 0, 0, 0, 0, 0, 'Freya', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 33), + (2920, 621, 57, 38313, 1, 0, 0, 0, 0, 'Tabard of Fury', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 34), + (3795, 1244, 68, 175756, 1, 0, 0, 0, 0, 'The Scourge of Lordaeron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 34), + (4369, 923, 41, 3390, 0, 0, 0, 0, 0, 'Elixir of Lesser Agility', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 34), + (4907, 693, 36, 34845, 1, 0, 0, 0, 0, 'Pit Lord\'s Satchel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 34), + (5181, 345, 41, 31852, 0, 0, 0, 0, 0, 'Major Combat Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 34), + (5383, 1467, 0, 26794, 1, 0, 0, 0, 0, 'Ormorok the Tree-Shaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 34), + (5932, 1676, 11, 51, 700, 0, 0, 0, 0, 'Searing Gorge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 34), + (5984, 1677, 11, 51, 550, 0, 0, 0, 0, 'Searing Gorge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 34), + (6039, 1678, 11, 618, 700, 0, 0, 0, 0, 'Winterspring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 34), + (6134, 1680, 11, 618, 685, 0, 0, 0, 0, 'Winterspring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 34), + (6589, 1777, 29, 45567, 1, 0, 0, 0, 0, 'Poached Northern Sculpin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 34), + (7420, 922, 41, 2456, 0, 0, 0, 0, 0, 'Minor Rejuvenation Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 34), + (7523, 2136, 8, 1871, 0, 0, 0, 0, 0, 'Experienced Drake Rider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 34), + (7786, 322, 20, 27978, 0, 0, 0, 0, 0, 'Sjonnir The Ironshaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 34), + (8713, 347, 41, 23435, 0, 0, 0, 0, 0, 'Elderberry Pie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 34), + (8902, 687, 36, 21351, 1, 0, 0, 0, 0, 'Vestments of the Oracle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 34), + (9024, 346, 41, 37909, 0, 0, 0, 0, 0, 'Lord of Frost\'s Private Label', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 34), + (11011, 323, 20, 33412, 0, 0, 0, 0, 0, 'Mimiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 34), + (11028, 324, 20, 33412, 0, 0, 0, 0, 0, 'Mimiron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 34), + (13324, 1770, 0, 38433, 1, 0, 0, 0, 0, 'Toravon the Ice Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 34), + (13343, 1756, 0, 38433, 1, 0, 0, 0, 0, 'Toravon the Ice Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 34), + (2921, 621, 57, 38309, 1, 0, 0, 0, 0, 'Tabard of Nature', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 35), + (3796, 1244, 68, 175732, 1, 0, 0, 0, 0, 'The Sentinels and the Long Vigil', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 35), + (4370, 923, 41, 2454, 0, 0, 0, 0, 0, 'Elixir of Lion\'s Strength', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 35), + (4942, 693, 36, 28779, 1, 0, 0, 0, 0, 'Girdle of the Endless Pit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 35), + (5182, 345, 41, 39671, 0, 0, 0, 0, 0, 'Resurgent Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 35), + (5469, 1467, 0, 26530, 1, 0, 0, 0, 0, 'Salramm the Fleshcrafter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 35), + (5933, 1676, 11, 3487, 700, 0, 0, 0, 0, 'Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 35), + (5985, 1677, 11, 3487, 550, 0, 0, 0, 0, 'Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 35), + (6040, 1678, 11, 978, 700, 0, 0, 0, 0, 'Zul\'Farrak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 35), + (6135, 1680, 11, 978, 685, 0, 0, 0, 0, 'Zul\'Farrak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 35), + (6590, 1777, 29, 57434, 1, 0, 0, 0, 0, 'Rhinolicious Wormsteak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 35), + (7421, 922, 41, 40081, 0, 0, 0, 0, 0, 'Potion of Nightmares', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 35), + (7524, 2136, 8, 1868, 0, 0, 0, 0, 0, 'Make It Count', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 35), + (7765, 322, 20, 24200, 0, 0, 0, 0, 0, 'Skarvald the Constructor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 35), + (8712, 347, 41, 23327, 0, 0, 0, 0, 0, 'Fire-toasted Bun', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 35), + (8903, 687, 36, 20933, 1, 0, 0, 0, 0, 'Husk of the Old God', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 35), + (9023, 346, 41, 37908, 0, 0, 0, 0, 0, 'Bartlett\'s Bitter Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 35), + (11012, 323, 20, 33271, 0, 0, 0, 0, 0, 'General Vezax', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 35), + (11029, 324, 20, 33271, 0, 0, 0, 0, 0, 'General Vezax', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 35), + (13325, 1770, 0, 35013, 1, 0, 0, 0, 0, 'Koralon the Flame Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 35), + (13344, 1756, 0, 35013, 1, 0, 0, 0, 0, 'Koralon the Flame Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 35), + (2922, 621, 57, 11364, 1, 0, 0, 0, 0, 'Tabard of Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 36), + (3797, 1244, 68, 175737, 1, 0, 0, 0, 0, 'The Seven Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 36), + (4371, 923, 41, 22831, 0, 0, 0, 0, 0, 'Elixir of Major Agility', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 36), + (5183, 345, 41, 33447, 0, 0, 0, 0, 0, 'Runic Healing Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 36), + (5380, 1467, 0, 23980, 1, 0, 0, 0, 0, 'Ingvar the Plunderer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 36), + (5934, 1676, 11, 1519, 700, 0, 0, 0, 0, 'Stormwind City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 36), + (5986, 1677, 11, 1519, 550, 0, 0, 0, 0, 'Stormwind City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 36), + (6043, 1678, 11, 2079, 700, 0, 0, 0, 0, 'Alcaz Island', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 36), + (6136, 1680, 11, 2079, 685, 0, 0, 0, 0, 'Alcaz Island', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 36), + (6591, 1777, 29, 58528, 1, 0, 0, 0, 0, 'Small Feast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 36), + (7422, 922, 41, 40087, 0, 0, 0, 0, 0, 'Powerful Rejuvenation Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 36), + (7525, 2136, 8, 2044, 0, 0, 0, 0, 0, 'Ruby Void', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 36), + (7758, 322, 20, 23980, 0, 0, 0, 0, 0, 'Ingvar the Plunderer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 36), + (8711, 347, 41, 23326, 0, 0, 0, 0, 0, 'Midsummer Sausage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 36), + (9022, 346, 41, 37907, 0, 0, 0, 0, 0, 'Autumnal Acorn Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 36), + (9078, 687, 36, 20929, 1, 0, 0, 0, 0, 'Husk of the Old God', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 36), + (11013, 323, 20, 33552, 0, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 36), + (11030, 324, 20, 33552, 0, 0, 0, 0, 0, 'Yogg-Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 36), + (13326, 1770, 0, 34797, 1, 0, 0, 0, 0, 'Icehowl', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 36), + (13345, 1756, 0, 10184, 1, 0, 0, 0, 0, 'Onyxia', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 36), + (2923, 621, 57, 35279, 1, 0, 0, 0, 0, 'Tabard of Summer Skies', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 37), + (3798, 1244, 68, 175854, 1, 0, 0, 0, 0, 'The Twin Empires', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 37), + (4372, 923, 41, 22834, 0, 0, 0, 0, 0, 'Elixir of Major Defense', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 37), + (5451, 1467, 0, 29306, 1, 0, 0, 0, 0, 'Gal\'darah', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 37), + (5935, 1676, 11, 33, 700, 0, 0, 0, 0, 'Stranglethorn Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 37), + (5987, 1677, 11, 33, 550, 0, 0, 0, 0, 'Stranglethorn Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 37), + (6044, 1678, 11, 1769, 700, 0, 0, 0, 0, 'Timbermaw Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 37), + (6137, 1680, 11, 1769, 685, 0, 0, 0, 0, 'Timbermaw Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 37), + (6380, 345, 41, 41166, 0, 0, 0, 0, 0, 'Runic Healing Injector', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 37), + (6592, 1777, 29, 57437, 1, 0, 0, 0, 0, 'Snapper Extreme', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 37), + (7526, 2136, 8, 2045, 0, 0, 0, 0, 0, 'Emerald Void', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 37), + (7766, 322, 20, 23953, 0, 0, 0, 0, 0, 'Prince Keleseth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 37), + (8710, 347, 41, 23211, 0, 0, 0, 0, 0, 'Toasted Smorc', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 37), + (9012, 346, 41, 31451, 0, 0, 0, 0, 0, 'Pure Energy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 37), + (11014, 323, 20, 32871, 0, 0, 0, 0, 0, 'Algalon the Observer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 37), + (11031, 324, 20, 32871, 0, 0, 0, 0, 0, 'Algalon the Observer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 37), + (13327, 1770, 0, 34780, 1, 0, 0, 0, 0, 'Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 37), + (13346, 1756, 0, 34797, 1, 0, 0, 0, 0, 'Icehowl', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 37), + (2924, 621, 57, 38310, 1, 0, 0, 0, 0, 'Tabard of the Arcane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 38), + (3799, 1244, 68, 175727, 1, 0, 0, 0, 0, 'The War of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 38), + (4373, 923, 41, 22833, 0, 0, 0, 0, 0, 'Elixir of Major Firepower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 38), + (5442, 1467, 0, 29311, 1, 0, 0, 0, 0, 'Herald Volazj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 38), + (5936, 1676, 11, 2017, 700, 0, 0, 0, 0, 'Stratholme', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 38), + (5988, 1677, 11, 2017, 550, 0, 0, 0, 0, 'Stratholme', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 38), + (6045, 1678, 11, 1116, 700, 0, 0, 0, 0, 'Feathermoon Stronghold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 38), + (6138, 1680, 11, 1116, 685, 0, 0, 0, 0, 'Feathermoon Stronghold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 38), + (6593, 1777, 29, 57440, 1, 0, 0, 0, 0, 'Spiced Mammoth Treats', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 38), + (7423, 345, 41, 40087, 0, 0, 0, 0, 0, 'Powerful Rejuvenation Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 38), + (7527, 2136, 8, 2046, 0, 0, 0, 0, 0, 'Amber Void', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 38), + (7760, 322, 20, 29120, 0, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 38), + (8709, 347, 41, 23175, 0, 0, 0, 0, 0, 'Tasty Summer Treat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 38), + (9011, 346, 41, 30858, 0, 0, 0, 0, 0, 'Peon Sleep Potion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 38), + (11015, 323, 20, 33993, 0, 0, 0, 0, 0, 'Emalon the Storm Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 38), + (11032, 324, 20, 33993, 0, 0, 0, 0, 0, 'Emalon the Storm Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 38), + (13328, 1770, 28, 68184, 1, 0, 0, 0, 0, 'Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 38), + (13347, 1756, 0, 34780, 1, 0, 0, 0, 0, 'Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 38), + (2925, 621, 57, 22999, 1, 0, 0, 0, 0, 'Tabard of the Argent Dawn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 39), + (3800, 1244, 68, 175730, 1, 0, 0, 0, 0, 'The World Tree and the Emerald Dream', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 39), + (4374, 923, 41, 32062, 0, 0, 0, 0, 0, 'Elixir of Major Fortitude', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 39), + (5446, 1467, 0, 26632, 1, 0, 0, 0, 0, 'The Prophet Tharon\'ja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 39), + (5937, 1676, 11, 1417, 700, 0, 0, 0, 0, 'Sunken Temple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 39), + (5989, 1677, 11, 1417, 550, 0, 0, 0, 0, 'Sunken Temple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 39), + (6046, 1678, 11, 702, 700, 0, 0, 0, 0, 'Rut\'theran Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 39), + (6139, 1680, 11, 702, 685, 0, 0, 0, 0, 'Rut\'theran Village', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 39), + (6594, 1777, 29, 45557, 1, 0, 0, 0, 0, 'Spiced Worm Burger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 39), + (7424, 345, 41, 40081, 0, 0, 0, 0, 0, 'Potion of Nightmares', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 39), + (7762, 322, 20, 26632, 0, 0, 0, 0, 0, 'The Prophet Tharon\'ja', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 39), + (8708, 347, 41, 22239, 0, 0, 0, 0, 0, 'Sweet Surprise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 39), + (9010, 346, 41, 30615, 0, 0, 0, 0, 0, 'Halaani Whiskey', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 39), + (13274, 323, 20, 35013, 0, 0, 0, 0, 0, 'Koralon the Flame Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 39), + (13291, 324, 20, 38433, 0, 0, 0, 0, 0, 'Toravon the Ice Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 39), + (13329, 1770, 0, 34496, 1, 0, 0, 0, 0, 'Val\'kyr Twins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 39), + (13348, 1756, 28, 68184, 1, 0, 0, 0, 0, 'Faction Champions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 39), + (2926, 621, 57, 38314, 1, 0, 0, 0, 0, 'Tabard of the Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 40), + (3801, 1244, 68, 175753, 1, 0, 0, 0, 0, 'War of the Spider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 40), + (4375, 923, 41, 22827, 0, 0, 0, 0, 0, 'Elixir of Major Frost Power', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 40), + (5458, 1467, 0, 28923, 1, 0, 0, 0, 0, 'Loken', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 40), + (5938, 1676, 11, 4075, 700, 0, 0, 0, 0, 'Sunwell Plateau', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 40), + (5990, 1677, 11, 4075, 550, 0, 0, 0, 0, 'Sunwell Plateau', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 40), + (6595, 1777, 29, 45571, 1, 0, 0, 0, 0, 'Spicy Blue Nettlefish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 40), + (7763, 322, 20, 29317, 0, 0, 0, 0, 0, 'Cyanigosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 40), + (7892, 1678, 11, 363, 700, 0, 0, 0, 0, 'Valley of Trials', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 40), + (7896, 1680, 11, 363, 685, 0, 0, 0, 0, 'Valley of Trials', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 40), + (7976, 347, 41, 21071, 1, 0, 0, 0, 0, 'Raw Sagefish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 40), + (9009, 346, 41, 30499, 0, 0, 0, 0, 0, 'Brightstong Wine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 40), + (13275, 323, 20, 38433, 0, 0, 0, 0, 0, 'Toravon the Ice Watcher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 40), + (13292, 324, 20, 34797, 0, 0, 0, 0, 0, 'Icehowl', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 40), + (13330, 1770, 0, 34564, 1, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 40), + (13349, 1756, 0, 34496, 1, 0, 0, 0, 0, 'Val\'kyr Twins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 40), + (2927, 621, 57, 24344, 1, 0, 0, 0, 0, 'Tabard of the Hand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 41), + (3802, 1244, 68, 175739, 1, 0, 0, 0, 0, 'War of the Three Hammers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 41), + (4376, 923, 41, 22840, 0, 0, 0, 0, 0, 'Elixir of Major Mageblood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 41), + (5466, 1467, 0, 26687, 1, 0, 0, 0, 0, 'Gortok Palehoof', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 41), + (5939, 1676, 11, 8, 700, 0, 0, 0, 0, 'Swamp of Sorrows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 41), + (5991, 1677, 11, 8, 550, 0, 0, 0, 0, 'Swamp of Sorrows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 41), + (6596, 1777, 29, 57433, 1, 0, 0, 0, 0, 'Spicy Fried Herring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 41), + (7761, 322, 20, 29311, 0, 0, 0, 0, 0, 'Herald Volazj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 41), + (7893, 1678, 11, 220, 700, 0, 0, 0, 0, 'Red Cloud Mesa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 41), + (7897, 1680, 11, 220, 685, 0, 0, 0, 0, 'Red Cloud Mesa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 41), + (7975, 347, 41, 6362, 1, 0, 0, 0, 0, 'Raw Rockscale Cod', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 41), + (9008, 346, 41, 30309, 0, 0, 0, 0, 0, 'Stonebreaker Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 41), + (13276, 323, 20, 10184, 0, 0, 0, 0, 0, 'Onyxia', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 41), + (13293, 324, 20, 34780, 0, 0, 0, 0, 0, 'Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 41), + (13331, 1770, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 41), + (13350, 1756, 0, 34564, 1, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 41), + (2928, 621, 57, 23192, 1, 0, 0, 0, 0, 'Tabard of the Scarlet Crusade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 42), + (3803, 1244, 68, 175856, 1, 0, 0, 0, 0, 'Wrath of Soulflayer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 42), + (4377, 923, 41, 22835, 0, 0, 0, 0, 0, 'Elixir of Major Shadow Power', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 42), + (5940, 1676, 11, 330, 700, 0, 0, 0, 0, 'Thandol Span', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 42), + (5992, 1677, 11, 330, 550, 0, 0, 0, 0, 'Thandol Span', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 42), + (6597, 1777, 29, 45556, 1, 0, 0, 0, 0, 'Tender Shoveltusk Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 42), + (7759, 322, 20, 26723, 0, 0, 0, 0, 0, 'Keristrasza', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 42), + (7894, 1678, 11, 188, 700, 0, 0, 0, 0, 'Shadowglen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 42), + (7898, 1680, 11, 188, 685, 0, 0, 0, 0, 'Shadowglen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 42), + (7974, 347, 41, 13758, 1, 0, 0, 0, 0, 'Raw Redgill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 42), + (8802, 1467, 0, 29315, 1, 0, 0, 0, 0, 'Erekem', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 42), + (9007, 346, 41, 29482, 0, 0, 0, 0, 0, 'Ethereum Essence', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 42), + (13277, 323, 20, 34797, 0, 0, 0, 0, 0, 'Icehowl', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 42), + (13294, 324, 20, 34497, 0, 0, 0, 0, 0, 'Fjola Lightbane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 42), + (13332, 1770, 0, 36855, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 42), + (13351, 1756, 0, 36612, 1, 0, 0, 0, 0, 'Lord Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 42), + (2929, 621, 57, 35221, 1, 0, 0, 0, 0, 'Tabard of the Shattered Sun', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 43), + (4378, 923, 41, 22824, 0, 0, 0, 0, 0, 'Elixir of Major Strength', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 43), + (5462, 1467, 0, 27656, 1, 0, 0, 0, 0, 'Ley-Guardian Eregos', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 43), + (5941, 1676, 11, 1581, 700, 0, 0, 0, 0, 'The Deadmines', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 43), + (5993, 1677, 11, 1581, 550, 0, 0, 0, 0, 'The Deadmines', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 43), + (6598, 1777, 29, 57443, 1, 0, 0, 0, 0, 'Tracker Snacks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 43), + (7895, 1678, 11, 3527, 700, 0, 0, 0, 0, 'Crash Site', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 43), + (7899, 1680, 11, 3527, 685, 0, 0, 0, 0, 'Crash Site', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 43), + (7973, 347, 41, 6361, 1, 0, 0, 0, 0, 'Raw Raindbow Fin Albacore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 43), + (9006, 346, 41, 27553, 0, 0, 0, 0, 0, 'Crimson Steer Energy Drink', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 43), + (13262, 322, 20, 35451, 1, 0, 0, 0, 0, 'The Black Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 43), + (13278, 323, 20, 34780, 0, 0, 0, 0, 0, 'Lord Jaraxxus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 43), + (13295, 324, 20, 34496, 0, 0, 0, 0, 0, 'Eydis Darkbane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 43), + (13333, 1770, 28, 72959, 1, 0, 0, 0, 0, 'Airship Encounter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 43), + (13352, 1756, 0, 36855, 1, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 43), + (2930, 621, 57, 38311, 1, 0, 0, 0, 0, 'Tabard of the Void', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 44), + (4379, 923, 41, 28104, 0, 0, 0, 0, 0, 'Elixir of Mastery', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 44), + (5942, 1676, 11, 47, 700, 0, 0, 0, 0, 'The Hinterlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 44), + (5994, 1677, 11, 47, 550, 0, 0, 0, 0, 'The Hinterlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 44), + (6599, 1777, 29, 45558, 1, 0, 0, 0, 0, 'Very Burnt Worg', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 44), + (7972, 347, 41, 13759, 1, 0, 0, 0, 0, 'Raw Nightfin Snapper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 44), + (8098, 1678, 11, 3526, 700, 0, 0, 0, 0, 'Ammen Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 44), + (8099, 1680, 11, 3526, 685, 0, 0, 0, 0, 'Ammen Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 44), + (8803, 1467, 0, 29316, 1, 0, 0, 0, 0, 'Moragg', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 44), + (9005, 346, 41, 24007, 0, 0, 0, 0, 0, 'Footman\'s Waterskin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 44), + (13263, 322, 20, 34928, 0, 0, 0, 0, 0, 'Argent Confessor Paletress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 44), + (13279, 323, 20, 34496, 0, 0, 0, 0, 0, 'Eydis Darkbane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 44), + (13296, 324, 20, 34564, 0, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 44), + (13334, 1770, 28, 72928, 1, 0, 0, 0, 0, 'Deathbringer Saurfang', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 44), + (13353, 1756, 28, 72959, 1, 0, 0, 0, 0, 'Airship Encounter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 44), + (2931, 621, 57, 24004, 1, 0, 0, 0, 0, 'Thrallmar Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 45), + (4380, 923, 41, 39666, 0, 0, 0, 0, 0, 'Elixir of Mighty Agility', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 45), + (5384, 1467, 0, 26723, 1, 0, 0, 0, 0, 'Keristrasza', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 45), + (5943, 1676, 11, 717, 700, 0, 0, 0, 0, 'The Stockade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 45), + (5995, 1677, 11, 717, 550, 0, 0, 0, 0, 'The Stockade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 45), + (7971, 347, 41, 8365, 1, 0, 0, 0, 0, 'Raw Mithril Head Trout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 45), + (8994, 346, 41, 19997, 0, 0, 0, 0, 0, 'Harvest Nectar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 45), + (9219, 1678, 11, 1657, 700, 0, 0, 0, 0, 'Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 45), + (9221, 1680, 11, 1657, 685, 0, 0, 0, 0, 'Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 45), + (9421, 1777, 29, 62350, 1, 0, 0, 0, 0, 'Worg Tartare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 45), + (13264, 322, 20, 35119, 0, 0, 0, 0, 0, 'Eadric the Pure', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 45), + (13280, 323, 20, 34497, 0, 0, 0, 0, 0, 'Fjola Lightbane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 45), + (13297, 324, 20, 36612, 0, 0, 0, 0, 0, 'Lord Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 45), + (13335, 1770, 28, 72706, 1, 0, 0, 0, 0, 'Valithria Dreamwalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 45), + (13354, 1756, 28, 72928, 1, 0, 0, 0, 0, 'Deathbringer Saurfang', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 45), + (2932, 621, 57, 23388, 1, 0, 0, 0, 0, 'Tranquillien Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 46), + (4381, 923, 41, 40097, 0, 0, 0, 0, 0, 'Elixir of Mighty Defense', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 46), + (5944, 1676, 11, 1477, 700, 0, 0, 0, 0, 'The Temple of Atal\'Hakkar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 46), + (5996, 1677, 11, 1477, 550, 0, 0, 0, 0, 'The Temple of Atal\'Hakkar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 46), + (7970, 347, 41, 6289, 1, 0, 0, 0, 0, 'Raw Longjaw Mud Snapper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 46), + (8798, 1467, 0, 29266, 1, 0, 0, 0, 0, 'Xevozz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 46), + (8992, 346, 41, 18284, 0, 0, 0, 0, 0, 'Kreeg\'s Stout Beatdown', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 46), + (9220, 1678, 11, 3557, 700, 0, 0, 0, 0, 'Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 46), + (9222, 1680, 11, 3557, 685, 0, 0, 0, 0, 'Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 46), + (13265, 322, 20, 36497, 0, 0, 0, 0, 0, 'Bronjahm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 46), + (13281, 323, 20, 34564, 0, 0, 0, 0, 0, 'Anub\'arak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 46), + (13298, 324, 20, 36855, 0, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 46), + (13336, 1770, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 46), + (13355, 1756, 28, 72706, 1, 0, 0, 0, 0, 'Valithria Dreamwalker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 46), + (2933, 621, 57, 19505, 1, 0, 0, 0, 0, 'Warsong Battle Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 47), + (4382, 923, 41, 40078, 0, 0, 0, 0, 0, 'Elixir of Mighty Fortitude', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 47), + (5945, 1676, 11, 85, 700, 0, 0, 0, 0, 'Tirisfal Glades', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 47), + (5997, 1677, 11, 85, 550, 0, 0, 0, 0, 'Tirisfal Glades', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 47), + (7969, 347, 41, 6317, 1, 0, 0, 0, 0, 'Raw Loch Frenzy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 47), + (8799, 1467, 0, 29312, 1, 0, 0, 0, 0, 'Lavanthor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 47), + (8990, 346, 41, 17048, 0, 0, 0, 0, 0, 'Rumsey Rum', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 47), + (9242, 1678, 11, 1941, 700, 0, 0, 0, 0, 'Caverns of Time', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 47), + (9243, 1680, 11, 1941, 685, 0, 0, 0, 0, 'Caverns of Time', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 47), + (13266, 322, 20, 36502, 0, 0, 0, 0, 0, 'Devourer of Souls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 47), + (13282, 323, 20, 36612, 0, 0, 0, 0, 0, 'Lord Marrowgar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 47), + (13299, 324, 20, 37813, 0, 0, 0, 0, 0, 'Deathbringer Saurfang', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 47), + (13337, 1770, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 47), + (13356, 1756, 0, 36626, 1, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 47), + (4383, 923, 41, 40109, 0, 0, 0, 0, 0, 'Elixir of Mighty Mageblood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 48), + (5946, 1676, 11, 1497, 700, 0, 0, 0, 0, 'Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 48), + (5998, 1677, 11, 1497, 550, 0, 0, 0, 0, 'Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 48), + (6151, 621, 57, 43300, 1, 0, 0, 0, 0, 'Loremaster\'s Colors', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 48), + (7968, 347, 41, 21153, 1, 0, 0, 0, 0, 'Raw Greater Sagefish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 48), + (8800, 1467, 0, 29313, 1, 0, 0, 0, 0, 'Ichoron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 48), + (8988, 346, 41, 13813, 0, 0, 0, 0, 0, 'Blessed Sunfruit Juice', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 48), + (13267, 322, 20, 36494, 0, 0, 0, 0, 0, 'Forgemaster Garfrost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 48), + (13283, 323, 20, 36855, 0, 0, 0, 0, 0, 'Lady Deathwhisper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 48), + (13300, 324, 20, 37955, 0, 0, 0, 0, 0, 'Blood-Queen Lana\'thel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 48), + (13338, 1770, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 48), + (13357, 1756, 0, 36627, 1, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 48), + (4384, 923, 41, 40073, 0, 0, 0, 0, 0, 'Elixir of Mighty Strength', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 49), + (5947, 1676, 11, 28, 700, 0, 0, 0, 0, 'Western Plaguelands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 49), + (5999, 1677, 11, 28, 550, 0, 0, 0, 0, 'Western Plaguelands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 49), + (6171, 621, 57, 43348, 1, 0, 0, 0, 0, 'Tabard of the Explorer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 49), + (7984, 347, 41, 43647, 1, 0, 0, 0, 0, 'Shimmering Minnow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 49), + (8801, 1467, 0, 29314, 1, 0, 0, 0, 0, 'Zuramat the Obliterator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 49), + (8986, 346, 41, 4952, 0, 0, 0, 0, 0, 'Stormstout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 49), + (13268, 322, 20, 36476, 0, 0, 0, 0, 0, 'Ick', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 49), + (13284, 323, 20, 37813, 0, 0, 0, 0, 0, 'Deathbringer Saurfang', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 49), + (13301, 324, 20, 36853, 0, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 49), + (13339, 1770, 0, 37970, 1, 0, 0, 0, 0, 'Blood Princes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 49), + (13358, 1756, 0, 36678, 1, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 49), + (4385, 923, 41, 2457, 0, 0, 0, 0, 0, 'Elixir of Minor Agility', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 50), + (5948, 1676, 11, 40, 700, 0, 0, 0, 0, 'Westfall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 50), + (6000, 1677, 11, 40, 550, 0, 0, 0, 0, 'Westfall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 50), + (6172, 621, 57, 43349, 1, 0, 0, 0, 0, 'Tabard of Brute Force', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 50), + (7983, 347, 41, 44072, 1, 0, 0, 0, 0, 'Roasted Mystery Beast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 50), + (8985, 346, 41, 1322, 0, 0, 0, 0, 0, 'Fishliver Oil', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 50), + (13269, 322, 20, 36477, 0, 0, 0, 0, 0, 'Krik', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 50), + (13285, 323, 20, 36626, 0, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 50), + (13302, 324, 20, 36597, 0, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 50), + (13312, 1467, 28, 68574, 1, 0, 0, 0, 0, 'Argent Confessor Paletress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 50), + (13340, 1770, 0, 37955, 1, 0, 0, 0, 0, 'Blood-Queen Lana\'thel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 50), + (13359, 1756, 0, 37970, 1, 0, 0, 0, 0, 'Blood Princes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 50), + (4386, 923, 41, 5997, 0, 0, 0, 0, 0, 'Elixir of Minor Defense', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 51), + (5949, 1676, 11, 11, 700, 0, 0, 0, 0, 'Wetlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 51), + (6001, 1677, 11, 11, 550, 0, 0, 0, 0, 'Wetlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 51), + (6976, 621, 57, 43154, 1, 0, 0, 0, 0, 'Tabard of the Argent Crusade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 51), + (7982, 347, 41, 13889, 1, 0, 0, 0, 0, 'Raw Whitescale Salmon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 51), + (8890, 346, 41, 34022, 0, 0, 0, 0, 0, 'Stout Shrunken Head', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 51), + (13270, 322, 20, 36658, 0, 0, 0, 0, 0, 'Scourgelord Tyrannus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 51), + (13286, 323, 20, 36627, 0, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 51), + (13303, 324, 20, 36626, 0, 0, 0, 0, 0, 'Festergut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 51), + (13313, 1467, 28, 68575, 1, 0, 0, 0, 0, 'Eadric the Pure', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 51), + (13341, 1770, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 51), + (13360, 1756, 0, 37955, 1, 0, 0, 0, 0, 'Blood-Queen Lana\'thel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 51), + (4387, 923, 41, 2458, 0, 0, 0, 0, 0, 'Elixir of Minor Fortitude', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 52), + (6977, 621, 57, 43155, 1, 0, 0, 0, 0, 'Tabard of the Ebon Blade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 52), + (8004, 347, 41, 44071, 1, 0, 0, 0, 0, 'Slow-Roasted Eel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 52), + (8866, 346, 41, 41731, 0, 0, 0, 0, 0, 'Yeti Milk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 52), + (9422, 1676, 11, 19, 700, 0, 0, 0, 0, 'Zul\'Gurub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 52), + (9423, 1677, 11, 19, 550, 0, 0, 0, 0, 'Zul\'Gurub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 52), + (13271, 322, 20, 38112, 0, 0, 0, 0, 0, 'Falric', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 52), + (13287, 323, 20, 36678, 0, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 52), + (13304, 324, 20, 36627, 0, 0, 0, 0, 0, 'Rotface', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 52), + (13314, 1467, 28, 68663, 1, 0, 0, 0, 0, 'The Black Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 52), + (13342, 1770, 0, 36597, 1, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 52), + (13361, 1756, 0, 36853, 1, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 52), + (4388, 923, 41, 3391, 0, 0, 0, 0, 0, 'Elixir of Ogre\'s Strength', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 53), + (6041, 1676, 11, 1337, 700, 0, 0, 0, 0, 'Uldaman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 53), + (6042, 1677, 11, 1337, 550, 0, 0, 0, 0, 'Uldaman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 53), + (6978, 621, 57, 43156, 1, 0, 0, 0, 0, 'Tabard of the Wyrmrest Accord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 53), + (7981, 347, 41, 13760, 1, 0, 0, 0, 0, 'Raw Sunscale Salmon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 53), + (8868, 346, 41, 44617, 0, 0, 0, 0, 0, 'Glass of Dalaran Red', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 53), + (13272, 322, 20, 38113, 0, 0, 0, 0, 0, 'Marwyn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 53), + (13288, 323, 20, 37955, 0, 0, 0, 0, 0, 'Blood-Queen Lana\'thel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 53), + (13305, 324, 20, 36678, 0, 0, 0, 0, 0, 'Professor Putricide', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 53), + (13315, 1467, 0, 36497, 1, 0, 0, 0, 0, 'Bronjahm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 53), + (13362, 1756, 0, 36597, 1, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 53), + (4389, 923, 41, 9264, 0, 0, 0, 0, 0, 'Elixir of Shadow Power', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 54), + (5950, 1676, 11, 1977, 700, 0, 0, 0, 0, 'Zul\'Gurub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 54), + (6002, 1677, 11, 1977, 550, 0, 0, 0, 0, 'Zul\'Gurub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 54), + (6979, 621, 57, 43157, 1, 0, 0, 0, 0, 'Tabard of the Kirin Tor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 54), + (7980, 347, 41, 13756, 1, 0, 0, 0, 0, 'Raw Summer Bass', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 54), + (8870, 346, 41, 44619, 0, 0, 0, 0, 0, 'Glass of Peaked Dalaran Red', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 54), + (13273, 322, 20, 36954, 0, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 54), + (13289, 323, 20, 36853, 0, 0, 0, 0, 0, 'Sindragosa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 54), + (13316, 1467, 0, 36502, 1, 0, 0, 0, 0, 'Devourer of Souls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 54), + (4390, 923, 41, 40072, 0, 0, 0, 0, 0, 'Elixir of Spirit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 55), + (7884, 1676, 11, 9, 700, 0, 0, 0, 0, 'Northshire Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 55), + (7888, 1677, 11, 9, 550, 0, 0, 0, 0, 'Northshire Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 55), + (7979, 347, 41, 4603, 1, 0, 0, 0, 0, 'Raw Spotted Yellowtail', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 55), + (8872, 346, 41, 44570, 0, 0, 0, 0, 0, 'Glass of Eversong Wine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 55), + (11298, 621, 57, 45585, 1, 0, 0, 0, 0, 'Silvermoon City Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 55), + (13290, 323, 20, 36597, 0, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 55), + (13317, 1467, 0, 36494, 1, 0, 0, 0, 0, 'Forgemaster Garfrost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 55), + (4391, 923, 41, 13445, 0, 0, 0, 0, 0, 'Elixir of Superior Defense', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 56), + (7885, 1676, 11, 132, 700, 0, 0, 0, 0, 'Coldridge Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 56), + (7889, 1677, 11, 132, 550, 0, 0, 0, 0, 'Coldridge Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 56), + (7978, 347, 41, 8959, 1, 0, 0, 0, 0, 'Raw Spinefin Halibut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 56), + (8881, 346, 41, 33033, 0, 0, 0, 0, 0, 'Thunderbrew Stout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 56), + (11299, 621, 57, 45582, 1, 0, 0, 0, 0, 'Sen\'jin Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 56), + (13318, 1467, 0, 36476, 1, 0, 0, 0, 0, 'Ick', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 56), + (4392, 923, 41, 40079, 0, 0, 0, 0, 0, 'Elixir of Toughness', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 57), + (5951, 1676, 11, 1977, 700, 0, 0, 0, 0, 'Zul\'Gurub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 57), + (6003, 1677, 11, 1977, 550, 0, 0, 0, 0, 'Zul\'Gurub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 57), + (7977, 347, 41, 6303, 1, 0, 0, 0, 0, 'Raw Slitherskin Mackerel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 57), + (8880, 346, 41, 33032, 0, 0, 0, 0, 0, 'Thunderbrew Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 57), + (11300, 621, 57, 45583, 1, 0, 0, 0, 0, 'Undercity Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 57), + (13319, 1467, 0, 36658, 1, 0, 0, 0, 0, 'Scourgelord Tyrannus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 57), + (4393, 923, 41, 5996, 0, 0, 0, 0, 0, 'Elixir of Water Breathing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 58), + (7886, 1676, 11, 154, 700, 0, 0, 0, 0, 'Deathknell', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 58), + (7890, 1677, 11, 154, 550, 0, 0, 0, 0, 'Deathknell', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 58), + (7967, 347, 41, 13754, 1, 0, 0, 0, 0, 'Raw Glossy Mightfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 58), + (8879, 346, 41, 33031, 0, 0, 0, 0, 0, 'Thunder 45', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 58), + (11301, 621, 57, 45584, 1, 0, 0, 0, 0, 'Thunder Bluff Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 58), + (13320, 1467, 0, 38112, 1, 0, 0, 0, 0, 'Falric', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 58), + (4394, 923, 41, 8827, 0, 0, 0, 0, 0, 'Elixir of Water Walking', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 59), + (7887, 1676, 11, 3431, 700, 0, 0, 0, 0, 'Sunstrider Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 59), + (7891, 1677, 11, 3431, 550, 0, 0, 0, 0, 'Sunstrider Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 59), + (7966, 347, 41, 6308, 1, 0, 0, 0, 0, 'Raw Bristle Whisker Catfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 59), + (8878, 346, 41, 33034, 0, 0, 0, 0, 0, 'Gordok Grog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 59), + (11302, 621, 57, 45579, 1, 0, 0, 0, 0, 'Darnassus Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 59), + (13321, 1467, 0, 38113, 1, 0, 0, 0, 0, 'Marwyn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 59), + (4395, 923, 41, 3383, 0, 0, 0, 0, 0, 'Elixir of Wisdom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 60), + (7965, 347, 41, 6291, 1, 0, 0, 0, 0, 'Raw Brilliant Smallfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 60), + (8877, 346, 41, 44574, 0, 0, 0, 0, 0, 'Skin of Mulgore Firewater', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 60), + (9080, 1677, 11, 130, 550, 0, 0, 0, 0, 'Silverpine Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 60), + (9081, 1676, 11, 130, 700, 0, 0, 0, 0, 'Silverpine Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 60), + (11303, 621, 57, 45580, 1, 0, 0, 0, 0, 'Exodar Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 60), + (13323, 1467, 28, 72830, 1, 0, 0, 0, 0, 'The Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 60), + (4396, 923, 41, 13452, 0, 0, 0, 0, 0, 'Elixir of the Mongoose', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 61), + (7964, 347, 41, 6458, 1, 0, 0, 0, 0, 'Oil Covered Fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 61), + (8876, 346, 41, 44716, 0, 0, 0, 0, 0, 'Mysterious Fermented Liquid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 61), + (9238, 1676, 11, 209, 700, 0, 0, 0, 0, 'Shadowfang Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 61), + (9239, 1677, 11, 209, 550, 0, 0, 0, 0, 'Shadowfang Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 61), + (11304, 621, 57, 45578, 1, 0, 0, 0, 0, 'Gnomeregan Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 61), + (4397, 923, 41, 13447, 0, 0, 0, 0, 0, 'Elixir of the Sages', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 62), + (7963, 347, 41, 11952, 1, 0, 0, 0, 0, 'Night Dragon\'s Breath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 62), + (8875, 346, 41, 44573, 0, 0, 0, 0, 0, 'Cup of Frog Venom Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 62), + (9240, 1676, 11, 3805, 700, 0, 0, 0, 0, 'Zul\'Aman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 62), + (9241, 1677, 11, 3805, 550, 0, 0, 0, 0, 'Zul\'Aman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 62), + (11305, 621, 57, 45577, 1, 0, 0, 0, 0, 'Ironforge Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 62), + (4398, 923, 41, 22830, 0, 0, 0, 0, 0, 'Elixir of the Searching Eye', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 63), + (7962, 347, 41, 43572, 1, 0, 0, 0, 0, 'Magic Eater', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 63), + (8874, 346, 41, 44571, 0, 0, 0, 0, 0, 'Bottle of Silvermoon Port', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 63), + (9398, 1676, 11, 721, 700, 0, 0, 0, 0, 'Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 3, 0, 0, 0, 63), + (11306, 621, 57, 45574, 1, 0, 0, 0, 0, 'Stormwind Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 63), + (4399, 923, 41, 31679, 0, 0, 0, 0, 0, 'Fel Strength Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 64), + (7961, 347, 41, 35287, 1, 0, 0, 0, 0, 'Luminous Bluetail', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 64), + (8873, 346, 41, 44575, 0, 0, 0, 0, 0, 'Flask of Bitter Cactus Cider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 64), + (11378, 621, 57, 45581, 1, 0, 0, 0, 0, 'Orgrimmar Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 64), + (4400, 923, 41, 9088, 0, 0, 0, 0, 0, 'Gift of Arthas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 65), + (7960, 347, 41, 13893, 1, 0, 0, 0, 0, 'Large Raw Mightfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 65), + (8889, 346, 41, 34021, 0, 0, 0, 0, 0, 'Brewdoo Magic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 65), + (11307, 621, 57, 46817, 1, 0, 0, 0, 0, 'Silver Covenant Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 65), + (4401, 923, 41, 8424, 0, 0, 0, 0, 0, 'Gizzard Gum', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 66), + (7957, 347, 41, 33246, 1, 0, 0, 0, 0, 'Funnel Cake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 66), + (8888, 346, 41, 34020, 0, 0, 0, 0, 0, 'Jungle River Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 66), + (11308, 621, 57, 46818, 1, 0, 0, 0, 0, 'Sunreaver Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 66), + (4402, 923, 41, 13454, 0, 0, 0, 0, 0, 'Greater Arcane Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 67), + (7959, 347, 41, 34410, 1, 0, 0, 0, 0, 'Honeyed Holiday Ham', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 67), + (8887, 346, 41, 34019, 0, 0, 0, 0, 0, 'Path of Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 67), + (11309, 621, 57, 46874, 1, 0, 0, 0, 0, 'Argent Crusader\'s Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 67), + (4403, 923, 41, 8412, 0, 0, 0, 0, 0, 'Ground Scorpok Assay', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 68), + (7958, 347, 41, 35285, 1, 0, 0, 0, 0, 'Giant Sunfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 68), + (8886, 346, 41, 34018, 0, 0, 0, 0, 0, 'Long Stride Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 68), + (11760, 621, 57, 49052, 1, 0, 0, 0, 0, 'Tabard of Conquest (Alliance)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 68), + (4404, 923, 41, 8411, 0, 0, 0, 0, 0, 'Lung Juice Cocktail', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 69), + (7956, 347, 41, 44049, 1, 0, 0, 0, 0, 'Freshly-Speared Emperor Salmon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 69), + (8885, 346, 41, 33030, 0, 0, 0, 0, 0, 'Barleybrew Clear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 69), + (11761, 621, 57, 49054, 1, 0, 0, 0, 0, 'Tabard of Conquest (Horde)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 69), + (4405, 923, 41, 8410, 0, 0, 0, 0, 0, 'R.O.I.D.S.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 70), + (7955, 347, 41, 32722, 1, 0, 0, 0, 0, 'Enriched Terocone Juice', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 70), + (8884, 346, 41, 33029, 0, 0, 0, 0, 0, 'Barleybrew Dark', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 70), + (12598, 621, 57, 45983, 1, 0, 0, 0, 0, 'Furious Gladiator\'s Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 70), + (4406, 923, 41, 8529, 0, 0, 0, 0, 0, 'Noggenfogger Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 71), + (7954, 347, 41, 17198, 1, 0, 0, 0, 0, 'Egg Nog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 71), + (8883, 346, 41, 33028, 0, 0, 0, 0, 0, 'Barleybrew Light', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 71), + (12599, 621, 57, 49086, 1, 0, 0, 0, 0, 'Relentless Gladiator\'s Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 71), + (4407, 923, 41, 28102, 0, 0, 0, 0, 0, 'Onslaught Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 72), + (7953, 347, 41, 13888, 1, 0, 0, 0, 0, 'Darkclaw Lobster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 72), + (8882, 346, 41, 33035, 0, 0, 0, 0, 0, 'Ogre Mead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 72), + (12600, 621, 57, 40643, 1, 0, 0, 0, 0, 'Tabard of the Achiever', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 72), + (7952, 347, 41, 43088, 1, 0, 0, 0, 0, 'Dalaran Apple Bowl', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 73), + (8062, 923, 41, 44328, 0, 0, 0, 0, 0, 'Elixir of Mighty Defense', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 73), + (8871, 346, 41, 44620, 0, 0, 0, 0, 0, 'Glass of Vintage Dalaran Red', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 73), + (13241, 621, 57, 52252, 1, 0, 0, 0, 0, 'Tabard of the Lightbringer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 73), + (7989, 347, 41, 11950, 1, 0, 0, 0, 0, 'Windblossom Berries', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 74), + (8066, 923, 41, 44332, 0, 0, 0, 0, 0, 'Elixir of Mighty Thoughts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 74), + (8869, 346, 41, 44618, 0, 0, 0, 0, 0, 'Glass of Aged Dalaran Red', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 74), + (13242, 621, 57, 51534, 1, 0, 0, 0, 0, 'Wrathful Gladiator\'s Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 74), + (7988, 347, 41, 8543, 1, 0, 0, 0, 0, 'Underwater Mushroom Cap', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 75), + (8068, 923, 41, 11564, 0, 0, 0, 0, 0, 'Crystal Ward', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 75), + (8867, 346, 41, 44616, 0, 0, 0, 0, 0, 'Glass of Dalaran White', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 75), + (7987, 347, 41, 33043, 1, 0, 0, 0, 0, 'The Essential Brewfest Pretzel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 76), + (8070, 923, 41, 12457, 0, 0, 0, 0, 0, 'Juju Chill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 76), + (8891, 346, 41, 34017, 0, 0, 0, 0, 0, 'Small Step Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 76), + (6485, 346, 41, 40042, 0, 0, 0, 0, 0, 'Caraway Burnwine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 77), + (7986, 347, 41, 6887, 1, 0, 0, 0, 0, 'Spotted Yellowtail', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 77), + (8072, 923, 41, 12460, 0, 0, 0, 0, 0, 'Juju Might', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 77), + (6452, 346, 41, 17199, 0, 0, 0, 0, 0, 'Bad Egg Nog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 78), + (8030, 347, 41, 33254, 1, 0, 0, 0, 0, 'Afrazi Forest Strider Drumstick', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 78), + (8074, 923, 41, 20004, 0, 0, 0, 0, 0, 'Major Troll\'s Blood Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 78), + (4655, 346, 41, 33042, 0, 0, 0, 0, 0, 'Black Coffee', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 79), + (7951, 347, 41, 17199, 1, 0, 0, 0, 0, 'Bad Egg Nog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 79), + (8032, 923, 41, 44327, 0, 0, 0, 0, 0, 'Elixir of Deadly Strikes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 79), + (4656, 346, 41, 38431, 0, 0, 0, 0, 0, 'Blackrock Fortified Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 80), + (7087, 347, 41, 30458, 0, 0, 0, 0, 0, 'Stormgarde Muenster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 80), + (8031, 923, 41, 44325, 0, 0, 0, 0, 0, 'Elixir of Accuracy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 80), + (4657, 346, 41, 38430, 0, 0, 0, 0, 0, 'Blackrock Mineral Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 81), + (7088, 347, 41, 18633, 0, 0, 0, 0, 0, 'Styleen\'s Sour Suckerpop', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 81), + (8090, 923, 41, 37570, 0, 0, 0, 0, 0, 'Murkweed Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 81), + (4658, 346, 41, 38429, 0, 0, 0, 0, 0, 'Blackrock Spring Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 82), + (7042, 347, 41, 42779, 0, 0, 0, 0, 0, 'Steaming Chicken Soup', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 82), + (8089, 923, 41, 36769, 0, 0, 0, 0, 0, 'Zort\'s Protective Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 82), + (4659, 346, 41, 17404, 0, 0, 0, 0, 0, 'Blended Bean Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 83), + (7027, 347, 41, 2680, 0, 0, 0, 0, 0, 'Spiced Wolf Meat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 83), + (8088, 923, 41, 36770, 0, 0, 0, 0, 0, 'Zort\'s Protective Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 83), + (4660, 346, 41, 2723, 0, 0, 0, 0, 0, 'Bottle of Pinot Noir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 84), + (7089, 347, 41, 39691, 0, 0, 0, 0, 0, 'Succulent Orca Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 84), + (8087, 923, 41, 35797, 0, 0, 0, 0, 0, 'Drakuru\'s Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 84), + (4661, 346, 41, 19300, 0, 0, 0, 0, 0, 'Bottled Winterspring Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 85), + (6571, 347, 41, 4607, 0, 0, 0, 0, 0, 'Delicious Cave Mold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 85), + (8086, 923, 41, 32446, 0, 0, 0, 0, 0, 'Elixir of Shadows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 85), + (4662, 346, 41, 9451, 0, 0, 0, 0, 0, 'Bubbling Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 86), + (7090, 347, 41, 2685, 0, 0, 0, 0, 0, 'Succulent Pork Ribs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 86), + (8085, 923, 41, 24428, 0, 0, 0, 0, 0, 'Ahuurn\'s Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 86), + (4663, 346, 41, 34832, 0, 0, 0, 0, 0, 'Captain Rumsey\'s Lager', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 87), + (7037, 347, 41, 4606, 0, 0, 0, 0, 0, 'Spongy Morel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 87), + (8084, 923, 41, 11243, 0, 0, 0, 0, 0, 'Videre Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 87), + (4664, 346, 41, 29112, 0, 0, 0, 0, 0, 'Cenarion Spirits', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 88), + (7091, 347, 41, 35950, 0, 0, 0, 0, 0, 'Sweet Potato Bread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 88), + (8083, 923, 41, 22193, 0, 0, 0, 0, 0, 'Bloodkelp Elixir of Resistance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 88), + (4665, 346, 41, 19222, 0, 0, 0, 0, 0, 'Cheap Beer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 89), + (7033, 347, 41, 42993, 0, 0, 0, 0, 0, 'Spicy Fried Herring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 89), + (8082, 923, 41, 22192, 0, 0, 0, 0, 0, 'Bloodkelp Elixir of Dodging', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 89), + (4666, 346, 41, 4600, 0, 0, 0, 0, 0, 'Cherry Grog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 90), + (7092, 347, 41, 27660, 0, 0, 0, 0, 0, 'Talbuk Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 90), + (8081, 923, 41, 37878, 0, 0, 0, 0, 0, 'Worg\'s Blood Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 90), + (4667, 346, 41, 8079, 0, 0, 0, 0, 0, 'Conjured Crystal Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 91), + (7028, 347, 41, 12211, 0, 0, 0, 0, 0, 'Spiced Wolf Ribs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 91), + (8080, 923, 41, 40076, 0, 0, 0, 0, 0, 'Guru\'s Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 91), + (4668, 346, 41, 2288, 0, 0, 0, 0, 0, 'Conjured Fresh Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 92), + (7093, 347, 41, 43490, 0, 0, 0, 0, 0, 'Tasty Cupcake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 92), + (8079, 923, 41, 40070, 0, 0, 0, 0, 0, 'Spellpower Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 92), + (4669, 346, 41, 22018, 0, 0, 0, 0, 0, 'Conjured Glacier Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 93), + (7094, 347, 41, 18045, 0, 0, 0, 0, 0, 'Tender Wolf Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 93), + (8078, 923, 41, 40068, 0, 0, 0, 0, 0, 'Wrath Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 93), + (4670, 346, 41, 34062, 0, 0, 0, 0, 0, 'Conjured Manna Biscuit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 94), + (7043, 347, 41, 41729, 0, 0, 0, 0, 0, 'Stewed Drakeflesh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 94), + (8077, 923, 41, 3826, 0, 0, 0, 0, 0, 'Mighty Troll\'s Blood Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 94), + (4671, 346, 41, 8077, 0, 0, 0, 0, 0, 'Conjured Mineral Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 95), + (7095, 347, 41, 34757, 0, 0, 0, 0, 0, 'Very Burnt Worg', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 95), + (8076, 923, 41, 3382, 0, 0, 0, 0, 0, 'Weak Troll\'s Blood Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 95), + (4672, 346, 41, 30703, 0, 0, 0, 0, 0, 'Conjured Mountain Spring Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 96), + (6867, 347, 41, 7806, 0, 0, 0, 0, 0, 'Lollipop', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 96), + (8075, 923, 41, 20007, 0, 0, 0, 0, 0, 'Mageblood Elixir', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 96), + (4673, 346, 41, 2136, 0, 0, 0, 0, 0, 'Conjured Purified Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 97), + (7038, 347, 41, 29453, 0, 0, 0, 0, 0, 'Sporeggar Mushroom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 97), + (8073, 923, 41, 12820, 0, 0, 0, 0, 0, 'Winterfall Firewater', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 97), + (4674, 346, 41, 8078, 0, 0, 0, 0, 0, 'Conjured Sparkling Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 98), + (7096, 347, 41, 16167, 0, 0, 0, 0, 0, 'Versicolor Treat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 98), + (8071, 923, 41, 12459, 0, 0, 0, 0, 0, 'Juju Escape', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 98), + (4675, 346, 41, 3772, 0, 0, 0, 0, 0, 'Conjured Spring Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 99), + (7034, 347, 41, 33872, 0, 0, 0, 0, 0, 'Spicy Hot Talbuk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 99), + (8069, 923, 41, 12455, 0, 0, 0, 0, 0, 'Juju Ember', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 99), + (4676, 346, 41, 5350, 0, 0, 0, 0, 0, 'Conjured Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 100), + (7097, 347, 41, 28112, 0, 0, 0, 0, 0, 'Underspore Pod', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 100), + (8067, 923, 41, 11563, 0, 0, 0, 0, 0, 'Crystal Force', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 100), + (4677, 346, 41, 12003, 0, 0, 0, 0, 0, 'Dark Dwarven Lager', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 101), + (6694, 347, 41, 5527, 0, 0, 0, 0, 0, 'Goblin Deviled Clams', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 101), + (8065, 923, 41, 44331, 0, 0, 0, 0, 0, 'Elixir of Lightning Speed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 101), + (4678, 346, 41, 19221, 0, 0, 0, 0, 0, 'Darkmoon Special Reserve', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 102), + (7098, 347, 41, 16766, 0, 0, 0, 0, 0, 'Undermine Clam Chowder', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 102), + (8064, 923, 41, 44330, 0, 0, 0, 0, 0, 'Elixir of Armor Piercing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 102), + (4679, 346, 41, 28284, 0, 0, 0, 0, 0, 'Don Carlos Tequila', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 103), + (7099, 347, 41, 12763, 0, 0, 0, 0, 0, 'Un\'Goro Etherfruit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 103), + (8063, 923, 41, 44329, 0, 0, 0, 0, 0, 'Elixir of Expertise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0, 0, 103), + (4680, 346, 41, 32668, 0, 0, 0, 0, 0, 'Dos Ogris', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 104), + (7044, 347, 41, 33048, 0, 0, 0, 0, 0, 'Stewed Trout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 104), + (4681, 346, 41, 17198, 0, 0, 0, 0, 0, 'Egg Nog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 105), + (7029, 347, 41, 34756, 0, 0, 0, 0, 0, 'Spiced Wyrm Burger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 105), + (4682, 346, 41, 4791, 0, 0, 0, 0, 0, 'Enchanted Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 106), + (7100, 347, 41, 35949, 0, 0, 0, 0, 0, 'Tundra Berries', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 106), + (4683, 346, 41, 32722, 0, 0, 0, 0, 0, 'Enriched Terocone Juice', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 107), + (7039, 347, 41, 27656, 0, 0, 0, 0, 0, 'Sporeling Snack', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 107), + (4684, 346, 41, 29395, 0, 0, 0, 0, 0, 'Ethermead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 108), + (7101, 347, 41, 43001, 0, 0, 0, 0, 0, 'Tracker Snacks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 108), + (4685, 346, 41, 18287, 0, 0, 0, 0, 0, 'Evermurky', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 109), + (7035, 347, 41, 17222, 0, 0, 0, 0, 0, 'Spider Sausage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 109), + (4686, 346, 41, 28399, 0, 0, 0, 0, 0, 'Filtered Draenic Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 110), + (7102, 347, 41, 117, 0, 0, 0, 0, 0, 'Tough Jerky', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 110), + (4687, 346, 41, 19299, 0, 0, 0, 0, 0, 'Fizzy Faire Drink', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 111), + (7103, 347, 41, 34755, 0, 0, 0, 0, 0, 'Tender Shovelsteak Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 111), + (4688, 346, 41, 2594, 0, 0, 0, 0, 0, 'Flagon of Mead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 112), + (6868, 347, 41, 4592, 0, 0, 0, 0, 0, 'Longjaw Mud Snapper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 112), + (4689, 346, 41, 2593, 0, 0, 0, 0, 0, 'Flask of Port', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 113), + (7104, 347, 41, 29452, 0, 0, 0, 0, 0, 'Zangar Trout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 113), + (4690, 346, 41, 30457, 0, 0, 0, 0, 0, 'Gilneas Sparkling Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 114), + (7045, 347, 41, 36831, 0, 0, 0, 0, 0, 'Stolen Ribs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 114), + (4691, 346, 41, 10841, 0, 0, 0, 0, 0, 'Goldthorn Tea', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 115), + (7105, 347, 41, 27859, 0, 0, 0, 0, 0, 'Zangar Caps', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 115), + (4692, 346, 41, 17402, 0, 0, 0, 0, 0, 'Greatfather\'s Winter Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 116), + (7040, 347, 41, 23495, 0, 0, 0, 0, 0, 'Springpaw Appetizer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 116), + (4693, 346, 41, 17196, 0, 0, 0, 0, 0, 'Holiday Spirits', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 117), + (7030, 347, 41, 17408, 0, 0, 0, 0, 0, 'Spicy Beefstick', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 117), + (4694, 346, 41, 34411, 0, 0, 0, 0, 0, 'Hot Apple Cider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 118), + (7106, 347, 41, 34750, 0, 0, 0, 0, 0, 'Wyrm Delight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 118), + (4695, 346, 41, 1179, 0, 0, 0, 0, 0, 'Ice Cold Milk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 119), + (7036, 347, 41, 8957, 0, 0, 0, 0, 0, 'Spinefin Halibut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 119), + (4696, 346, 41, 4595, 0, 0, 0, 0, 0, 'Junglevine Wine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 120), + (7107, 347, 41, 21235, 0, 0, 0, 0, 0, 'Winter Veil Roast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 120), + (4697, 346, 41, 1205, 0, 0, 0, 0, 0, 'Melon Juice', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 121), + (7031, 347, 41, 34768, 0, 0, 0, 0, 0, 'Spicy Blue Nettlefish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 121), + (4698, 346, 41, 18288, 0, 0, 0, 0, 0, 'Molasses Firewater', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 122), + (7108, 347, 41, 21236, 0, 0, 0, 0, 0, 'Winter Veil Loaf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 122), + (4699, 346, 41, 1645, 0, 0, 0, 0, 0, 'Moonberry Juice', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 123), + (7041, 347, 41, 16170, 0, 0, 0, 0, 0, 'Steamed Mandu', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 123), + (4700, 346, 41, 21721, 0, 0, 0, 0, 0, 'Moonglow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 124), + (7109, 347, 41, 21254, 0, 0, 0, 0, 0, 'Winter Veil Cookie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 124), + (4701, 346, 41, 8766, 0, 0, 0, 0, 0, 'Morning Glory Dew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 125), + (6869, 347, 41, 42434, 0, 0, 0, 0, 0, 'Lovely Cake Slice', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 125), + (4702, 346, 41, 23848, 0, 0, 0, 0, 0, 'Netehrgarde Bitter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 126), + (7110, 347, 41, 21240, 0, 0, 0, 0, 0, 'Winter Veil Candy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 126), + (4703, 346, 41, 38432, 0, 0, 0, 0, 0, 'Plugger\'s Blackrock Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 127), + (7046, 347, 41, 33866, 0, 0, 0, 0, 0, 'Stormchops', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 127), + (4704, 346, 41, 27860, 0, 0, 0, 0, 0, 'Purified Draenic Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 128), + (7111, 347, 41, 13755, 0, 0, 0, 0, 0, 'Winter Squid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 128), + (4705, 346, 41, 159, 0, 0, 0, 0, 0, 'Refreshing Spring Water', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 129), + (7112, 347, 41, 22324, 0, 0, 0, 0, 0, 'Winter Kimchi', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 129), + (4706, 346, 41, 21151, 0, 0, 0, 0, 0, 'Rumsey Rum Black Label', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 130), + (6448, 347, 41, 19301, 0, 0, 0, 0, 0, 'Alterac Manna Biscuit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 130), + (4707, 346, 41, 21114, 0, 0, 0, 0, 0, 'Rumsey Rum Dark', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 131), + (6695, 347, 41, 27666, 0, 0, 0, 0, 0, 'Golden Fish Sticks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 131), + (4708, 346, 41, 20709, 0, 0, 0, 0, 0, 'Rumsey Rum Light', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 132), + (7113, 347, 41, 16169, 0, 0, 0, 0, 0, 'Wild Ricecake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 132), + (4709, 346, 41, 29454, 0, 0, 0, 0, 0, 'Silverwine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 133), + (6870, 347, 41, 27635, 0, 0, 0, 0, 0, 'Lynx Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 133), + (4710, 346, 41, 2596, 0, 0, 0, 0, 0, 'Skin of Dwarven Stout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 134), + (7114, 347, 41, 3771, 0, 0, 0, 0, 0, 'Wild Hog Shank', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 134), + (4711, 346, 41, 3703, 0, 0, 0, 0, 0, 'Southshore Stout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 135), + (6696, 347, 41, 4539, 0, 0, 0, 0, 0, 'Goldenbark Apple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 135), + (4712, 346, 41, 29401, 0, 0, 0, 0, 0, 'Sparkling Southshore Cider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 136), + (7115, 347, 41, 21552, 0, 0, 0, 0, 0, 'Striped Yellowtail', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 136), + (4713, 346, 41, 32455, 0, 0, 0, 0, 0, 'Star\'s Lament', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 137), + (6871, 347, 41, 29394, 0, 0, 0, 0, 0, 'Lyribread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 137), + (6942, 346, 41, 1119, 0, 0, 0, 0, 0, 'Bottled Spirits', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 138), + (7116, 347, 41, 11951, 0, 0, 0, 0, 0, 'Whipper Root Tuber', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 138), + (6872, 347, 41, 27855, 0, 0, 0, 0, 0, 'Mag\'har Grainbread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 139), + (6955, 346, 41, 33444, 0, 0, 0, 0, 0, 'Pungent Seal Whey', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 139), + (4714, 346, 41, 32453, 0, 0, 0, 0, 0, 'Star\'s Tears', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 140), + (7117, 347, 41, 733, 0, 0, 0, 0, 0, 'Westfall Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 140), + (6943, 346, 41, 2595, 0, 0, 0, 0, 0, 'Jug of Bourbon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 141), + (7118, 347, 41, 27659, 0, 0, 0, 0, 0, 'Warp Burger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 141), + (6555, 347, 41, 42778, 0, 0, 0, 0, 0, 'Crusader\'s Rations', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 142), + (6956, 346, 41, 33445, 0, 0, 0, 0, 0, 'Honeymint Tea', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 142), + (4715, 346, 41, 17403, 0, 0, 0, 0, 0, 'Steamwheedle Fizzy Spirits', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 143), + (7119, 347, 41, 29450, 0, 0, 0, 0, 0, 'Telaari Grapes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 143), + (6572, 347, 41, 33924, 0, 0, 0, 0, 0, 'Delicious Chocolate Cake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 144), + (6944, 346, 41, 2686, 0, 0, 0, 0, 0, 'Thunder Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 144), + (6873, 347, 41, 29448, 0, 0, 0, 0, 0, 'Mag\'har Mild Cheese', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 145), + (6957, 346, 41, 35720, 0, 0, 0, 0, 0, 'Lord of Frost\'s Private Label', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 145), + (4716, 346, 41, 38466, 0, 0, 0, 0, 0, 'Sulfuron Slammer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 146), + (7120, 347, 41, 4537, 0, 0, 0, 0, 0, 'Tek\'Abim Banana', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 146), + (6697, 347, 41, 3666, 0, 0, 0, 0, 0, 'Gooey Spider Cake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 147), + (6945, 346, 41, 2894, 0, 0, 0, 0, 0, 'Rhapsody Malt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 147), + (6958, 346, 41, 35954, 0, 0, 0, 0, 0, 'Sweetened Goat\'s Milk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 148), + (7121, 347, 41, 3728, 0, 0, 0, 0, 0, 'Tasty Lion Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 148), + (4717, 346, 41, 1708, 0, 0, 0, 0, 0, 'Sweet Nectar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 149), + (7122, 347, 41, 27858, 0, 0, 0, 0, 0, 'Sunspring Carp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 149), + (6874, 347, 41, 34748, 0, 0, 0, 0, 0, 'Mammoth Meal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 150), + (6959, 346, 41, 37253, 0, 0, 0, 0, 0, 'Frostberry Juice', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 150), + (6698, 347, 41, 724, 0, 0, 0, 0, 0, 'Goretusk Liver Pie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 151), + (6946, 346, 41, 5265, 0, 0, 0, 0, 0, 'Watered-down Beer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 151), + (4718, 346, 41, 7676, 0, 0, 0, 0, 0, 'Thistle Tea', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 152), + (7123, 347, 41, 5477, 0, 0, 0, 0, 0, 'Strider Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 152), + (6875, 347, 41, 24539, 0, 0, 0, 0, 0, 'Marsh Lichen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 153), + (6960, 346, 41, 38350, 0, 0, 0, 0, 0, 'Winterfin "Depth Charge"', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 153), + (6947, 346, 41, 5342, 0, 0, 0, 0, 0, 'Raptor Punch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 154), + (7124, 347, 41, 7228, 0, 0, 0, 0, 0, 'Tigule and Foror\'s Strawberry Ice Cream', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 154), + (5190, 346, 41, 23586, 0, 0, 0, 0, 0, 'Aerie Peak Pale Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 155), + (6876, 347, 41, 35953, 0, 0, 0, 0, 0, 'Mead Basted Caribou', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 155), + (6948, 346, 41, 9260, 0, 0, 0, 0, 0, 'Volatile Rum', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 156), + (7125, 347, 41, 4540, 0, 0, 0, 0, 0, 'Tough Hunk of Bread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 156), + (6556, 347, 41, 33449, 0, 0, 0, 0, 0, 'Crusty Flatbread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 157), + (6961, 346, 41, 38698, 0, 0, 0, 0, 0, 'Bitter Plasma', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 157), + (5191, 346, 41, 37900, 0, 0, 0, 0, 0, 'Aromatic Honey Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 158), + (6699, 347, 41, 17407, 0, 0, 0, 0, 0, 'Graccu\'s Homemade Meat Pie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 158), + (6877, 347, 41, 34754, 0, 0, 0, 0, 0, 'Mega Mammoth Meal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 159), + (6949, 346, 41, 9360, 0, 0, 0, 0, 0, 'Cuergo\'s Gold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 159), + (6878, 347, 41, 13934, 0, 0, 0, 0, 0, 'Mightfish Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 160), + (6962, 346, 41, 39520, 0, 0, 0, 0, 0, 'Kungaloosh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 160), + (5192, 346, 41, 37490, 0, 0, 0, 0, 0, 'Aromatic Honey Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 161), + (6451, 347, 41, 42942, 0, 0, 0, 0, 0, 'Baked Manta Ray', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 161), + (6573, 347, 41, 6522, 0, 0, 0, 0, 0, 'Deviate Fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 162), + (6950, 346, 41, 9361, 0, 0, 0, 0, 0, 'Cuergo\'s Gold with Worm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 162), + (6879, 347, 41, 34758, 0, 0, 0, 0, 0, 'Mighty Rhino Dogs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 163), + (6963, 346, 41, 40035, 0, 0, 0, 0, 0, 'Honey Mead', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 163), + (5193, 346, 41, 37903, 0, 0, 0, 0, 0, 'Blackrock Lager', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 164), + (6700, 347, 41, 21215, 0, 0, 0, 0, 0, 'Graccu\'s Mince Meat Fruitcake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 164), + (6880, 347, 41, 32686, 0, 0, 0, 0, 0, 'Mingo\'s Fortune Giblets', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 165), + (6964, 346, 41, 40036, 0, 0, 0, 0, 0, 'Snowplum Brandy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 165), + (6701, 347, 41, 34753, 0, 0, 0, 0, 0, 'Great Feast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 166), + (6951, 346, 41, 11846, 0, 0, 0, 0, 0, 'Wizbang\'s Special Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 166), + (5194, 346, 41, 37493, 0, 0, 0, 0, 0, 'Blackrock Lager', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 167), + (6881, 347, 41, 8364, 0, 0, 0, 0, 0, 'Mithril Head Trout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 167), + (5195, 346, 41, 37906, 0, 0, 0, 0, 0, 'Binary Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 168), + (6882, 347, 41, 11415, 0, 0, 0, 0, 0, 'Mixed Berries', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 168), + (6557, 347, 41, 4599, 0, 0, 0, 0, 0, 'Cured Ham Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 169), + (6968, 346, 41, 43086, 0, 0, 0, 0, 0, 'Fresh Apple Juice', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 169), + (6702, 347, 41, 34760, 0, 0, 0, 0, 0, 'Grilled Bonescale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 170), + (6953, 346, 41, 18300, 0, 0, 0, 0, 0, 'Hyjal Nectar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 170), + (6883, 347, 41, 4542, 0, 0, 0, 0, 0, 'Moist Cornbread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 171), + (6966, 346, 41, 40357, 0, 0, 0, 0, 0, 'Grizzleberry Juice', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 171), + (5196, 346, 41, 37496, 0, 0, 0, 0, 0, 'Binary Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 172), + (6884, 347, 41, 31672, 0, 0, 0, 0, 0, 'Mon\'Nathal Shortribs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 172), + (6454, 347, 41, 27636, 0, 0, 0, 0, 0, 'Bat Bites', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 173), + (6954, 346, 41, 23704, 0, 0, 0, 0, 0, 'Eversong Port', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 173), + (6574, 347, 41, 29393, 0, 0, 0, 0, 0, 'Diamond Berries', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 174), + (6967, 346, 41, 42777, 0, 0, 0, 0, 0, 'Crusader\'s Waterskin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 174), + (6885, 347, 41, 12218, 0, 0, 0, 0, 0, 'Monster Omelet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 175), + (9498, 346, 41, 1262, 0, 0, 0, 0, 0, 'Keg of Thunderbrew Lager', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 175), + (6703, 347, 41, 9681, 0, 0, 0, 0, 0, 'Grilled King Crawler Legs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 176), + (9499, 346, 41, 37898, 0, 0, 0, 0, 0, 'Wild Winter Pilsner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 176), + (6886, 347, 41, 4602, 0, 0, 0, 0, 0, 'Moon Harvest Pumpkin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 177), + (9500, 346, 41, 37901, 0, 0, 0, 0, 0, 'Metok\'s Bubble Bock', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 177), + (6704, 347, 41, 27664, 0, 0, 0, 0, 0, 'Grilled Mudfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 178), + (9501, 346, 41, 37902, 0, 0, 0, 0, 0, 'Springtime Stout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 178), + (6887, 347, 41, 18632, 0, 0, 0, 0, 0, 'Moonbrook Riot Taffy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 179), + (9502, 346, 41, 37904, 0, 0, 0, 0, 0, 'Stranglethorn Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 179), + (6888, 347, 41, 28486, 0, 0, 0, 0, 0, 'Moser\'s Magnificent Muffin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 180), + (10498, 346, 41, 37497, 0, 0, 0, 0, 0, 'Autumnal Acorn Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 180), + (6558, 347, 41, 3665, 0, 0, 0, 0, 0, 'Curiously Tasty Omelet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 181), + (10499, 346, 41, 37498, 0, 0, 0, 0, 0, 'Bartlett\'s Bitter Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 181), + (6705, 347, 41, 34762, 0, 0, 0, 0, 0, 'Grilled Sculpin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 182), + (10500, 346, 41, 37495, 0, 0, 0, 0, 0, 'Draenic Pale Ale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 182), + (6889, 347, 41, 4544, 0, 0, 0, 0, 0, 'Mulgore Spice Bread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 183), + (10501, 346, 41, 37489, 0, 0, 0, 0, 0, 'Izzard\'s Ever Flavor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 183), + (6890, 347, 41, 3663, 0, 0, 0, 0, 0, 'Murloc Fin Soup', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 184), + (10502, 346, 41, 37899, 0, 0, 0, 0, 0, 'Izzard\'s Ever Flavor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 184), + (6456, 347, 41, 2888, 0, 0, 0, 0, 0, 'Beer Basted Boar Ribs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 185), + (10503, 346, 41, 37499, 0, 0, 0, 0, 0, 'Lord of Frost\'s Private Label', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 185), + (6575, 347, 41, 5478, 0, 0, 0, 0, 0, 'Dig Rat Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 186), + (10504, 346, 41, 37491, 0, 0, 0, 0, 0, 'Metok\'s Bubble Bock', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 186), + (6891, 347, 41, 3770, 0, 0, 0, 0, 0, 'Mutton Chop', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 187), + (10505, 346, 41, 23492, 0, 0, 0, 0, 0, 'Suntouched Special Reserve', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 187), + (6706, 347, 41, 30355, 0, 0, 0, 0, 0, 'Grilled Shadowmoon Tuber', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 188), + (10506, 346, 41, 37492, 0, 0, 0, 0, 0, 'Springtime Stout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 188), + (6892, 347, 41, 12214, 0, 0, 0, 0, 0, 'Mystery Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 189), + (10618, 346, 41, 46319, 0, 0, 0, 0, 0, 'Tournament Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 189), + (6707, 347, 41, 13928, 0, 0, 0, 0, 0, 'Grilled Squid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 190), + (10978, 346, 41, 37488, 0, 0, 0, 0, 0, 'Wild Winter Pilsner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 190), + (6893, 347, 41, 34780, 0, 0, 0, 0, 0, 'Naaru Ration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 191), + (6894, 347, 41, 13931, 0, 0, 0, 0, 0, 'Nightfin Soup', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 192), + (6559, 347, 41, 42998, 0, 0, 0, 0, 0, 'Cuttlesteak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 193), + (6708, 347, 41, 11444, 0, 0, 0, 0, 0, 'Grim Guzzler Boar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 194), + (6895, 347, 41, 34747, 0, 0, 0, 0, 0, 'Northern Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 195), + (6896, 347, 41, 32685, 0, 0, 0, 0, 0, 'Ogri\'la Chicken Fingers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 196), + (6484, 347, 41, 12213, 0, 0, 0, 0, 0, 'Carrion Surprise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 197), + (6576, 347, 41, 21023, 0, 0, 0, 0, 0, 'Dirge\'s Kickin\' Chimaerok Chops', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 198), + (6897, 347, 41, 30358, 0, 0, 0, 0, 0, 'Oronok\'s Tuber of Agility', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 199), + (6709, 347, 41, 40356, 0, 0, 0, 0, 0, 'Grizzleberries', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 200), + (6898, 347, 41, 30357, 0, 0, 0, 0, 0, 'Oronok\'s Tuber of Agility', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 201), + (6710, 347, 41, 19995, 0, 0, 0, 0, 0, 'Harvest Boar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 202), + (6899, 347, 41, 30361, 0, 0, 0, 0, 0, 'Oronok\'s Tuber of Spell Power', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 203), + (6900, 347, 41, 30359, 0, 0, 0, 0, 0, 'Oronok\'s Tuber of Strength', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 204), + (6560, 347, 41, 42431, 0, 0, 0, 0, 0, 'Dalaran Brownie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 205), + (6711, 347, 41, 19696, 0, 0, 0, 0, 0, 'Harvest Bread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 206), + (6901, 347, 41, 38427, 0, 0, 0, 0, 0, 'Pickled Egg', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 207), + (6902, 347, 41, 34765, 0, 0, 0, 0, 0, 'Pickled Fangtooth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 208), + (6483, 347, 41, 17344, 0, 0, 0, 0, 0, 'Candy Cane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 209), + (6561, 347, 41, 43268, 0, 0, 0, 0, 0, 'Dalaran Clam Chowder', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 210), + (6903, 347, 41, 19305, 0, 0, 0, 0, 0, 'Pickled Kodo Foot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 211), + (6712, 347, 41, 19996, 0, 0, 0, 0, 0, 'Harvest Fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 212), + (6904, 347, 41, 27665, 0, 0, 0, 0, 0, 'Poached Bluefish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 213), + (6577, 347, 41, 12217, 0, 0, 0, 0, 0, 'Dragonbreath Chili', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 214), + (6905, 347, 41, 35951, 0, 0, 0, 0, 0, 'Poached Emperor Salmon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 215), + (6906, 347, 41, 34764, 0, 0, 0, 0, 0, 'Poached Nettlefish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 216), + (6713, 347, 41, 19994, 0, 0, 0, 0, 0, 'Harvest Fruit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 217), + (6714, 347, 41, 2287, 0, 0, 0, 0, 0, 'Haunch of Meat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 218), + (6907, 347, 41, 34766, 0, 0, 0, 0, 0, 'Poached Northern Sculpin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 219), + (6908, 347, 41, 13932, 0, 0, 0, 0, 0, 'Poached Sunscale Salmon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 220), + (6482, 347, 41, 7807, 0, 0, 0, 0, 0, 'Candy Bar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 221), + (6562, 347, 41, 42430, 0, 0, 0, 0, 0, 'Dalaran Doughnut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 222), + (6909, 347, 41, 21033, 0, 0, 0, 0, 0, 'Radish Kimchi', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 223), + (6715, 347, 41, 43492, 0, 0, 0, 0, 0, 'Haunted Herring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 224), + (6910, 347, 41, 5095, 0, 0, 0, 0, 0, 'Rainbow Fin Albacore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 225), + (6716, 347, 41, 961, 0, 0, 0, 0, 0, 'Healing Herb', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 226), + (6911, 347, 41, 27655, 0, 0, 0, 0, 0, 'Ravager Dog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 227), + (6912, 347, 41, 28501, 0, 0, 0, 0, 0, 'Ravager Egg Omelet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 228), + (6481, 347, 41, 11584, 0, 0, 0, 0, 0, 'Cactus Apple Surprise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 229), + (6578, 347, 41, 43000, 0, 0, 0, 0, 0, 'Dragonfin Filet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 230), + (6913, 347, 41, 4608, 0, 0, 0, 0, 0, 'Raw Black Truffle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 231), + (6717, 347, 41, 42995, 0, 0, 0, 0, 0, 'Hearty Rhino', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 232), + (6914, 347, 41, 40358, 0, 0, 0, 0, 0, 'Raw Tallhorn Chunk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 233), + (6563, 347, 41, 414, 0, 0, 0, 0, 0, 'Dalaran Sharp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 234), + (6915, 347, 41, 19224, 0, 0, 0, 0, 0, 'Red Hot Wings', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 235), + (6718, 347, 41, 16168, 0, 0, 0, 0, 0, 'Heaven Peach', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 236), + (6916, 347, 41, 42429, 0, 0, 0, 0, 0, 'Red Velvet Cupcake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 237), + (6719, 347, 41, 20074, 0, 0, 0, 0, 0, 'Heavy Crocolisk Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 238), + (6917, 347, 41, 4605, 0, 0, 0, 0, 0, 'Red-speckled Mushroom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 239), + (6918, 347, 41, 1082, 0, 0, 0, 0, 0, 'Redridge Goulash', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 240), + (6480, 347, 41, 21031, 0, 0, 0, 0, 0, 'Cabbage Kimchi', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 241), + (6579, 347, 41, 24009, 0, 0, 0, 0, 0, 'Dried Fruit Rations', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 242), + (6919, 347, 41, 23172, 0, 0, 0, 0, 0, 'Refreshing Red Apple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 243), + (6720, 347, 41, 12215, 0, 0, 0, 0, 0, 'Heavy Kodo Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 244), + (6920, 347, 41, 34752, 0, 0, 0, 0, 0, 'Rhino Dogs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 245), + (6564, 347, 41, 12238, 0, 0, 0, 0, 0, 'Darkshore Grouper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 246), + (6921, 347, 41, 42994, 0, 0, 0, 0, 0, 'Rhinolicious Wyrmsteak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 247), + (6721, 347, 41, 29292, 0, 0, 0, 0, 0, 'Helboar Bacon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 248), + (6922, 347, 41, 5057, 0, 0, 0, 0, 0, 'Ripe Watermelon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 249), + (6722, 347, 41, 24338, 0, 0, 0, 0, 0, 'Hellfire Spineleaf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 250), + (6923, 347, 41, 12210, 0, 0, 0, 0, 0, 'Roast Raptor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 251), + (6924, 347, 41, 2681, 0, 0, 0, 0, 0, 'Roasted Boar Meat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 252), + (6479, 347, 41, 27651, 0, 0, 0, 0, 0, 'Buzzard Bites', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 253), + (6580, 347, 41, 8948, 0, 0, 0, 0, 0, 'Dried King Bolete', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 254), + (6925, 347, 41, 27658, 0, 0, 0, 0, 0, 'Roasted Clefthoof', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 255), + (6723, 347, 41, 6888, 0, 0, 0, 0, 0, 'Herb Baked Egg', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 256), + (6926, 347, 41, 5474, 0, 0, 0, 0, 0, 'Roasted Kodo Meat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 257), + (6565, 347, 41, 2070, 0, 0, 0, 0, 0, 'Darnassian Bleu', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 258), + (6927, 347, 41, 24105, 0, 0, 0, 0, 0, 'Roasted Moongraze Tenderloin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 259), + (6724, 347, 41, 17406, 0, 0, 0, 0, 0, 'Holiday Cheesewheel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 260), + (6928, 347, 41, 8952, 0, 0, 0, 0, 0, 'Roasted Quail', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 261), + (6725, 347, 41, 8950, 0, 0, 0, 0, 0, 'Homemade Cherry Pie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 262), + (7047, 347, 41, 1707, 0, 0, 0, 0, 0, 'Stormwind Brie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 263), + (6929, 347, 41, 34751, 0, 0, 0, 0, 0, 'Roasted Worg', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 264), + (6930, 347, 41, 38428, 0, 0, 0, 0, 0, 'Rock-Salted Pretzel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 265), + (6478, 347, 41, 33867, 0, 0, 0, 0, 0, 'Broiled Bloodfin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 266), + (6581, 347, 41, 24008, 0, 0, 0, 0, 0, 'Dried Mushroom Rations', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 267), + (6931, 347, 41, 4594, 0, 0, 0, 0, 0, 'Rockscale Cod', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 268), + (6726, 347, 41, 20857, 0, 0, 0, 0, 0, 'Honey Bread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 269), + (6932, 347, 41, 18255, 0, 0, 0, 0, 0, 'Runn Tub Tuber', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 270), + (6566, 347, 41, 21030, 0, 0, 0, 0, 0, 'Darnassus Kimchi Pie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 271), + (6933, 347, 41, 18254, 0, 0, 0, 0, 0, 'Runn Tum Tuber Suprise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 272), + (6727, 347, 41, 33452, 0, 0, 0, 0, 0, 'Honey-Spiced Liichen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 273), + (6934, 347, 41, 21217, 0, 0, 0, 0, 0, 'Sagefish Delight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 274), + (6728, 347, 41, 33053, 0, 0, 0, 0, 0, 'Hot Buttered Trout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 275), + (6477, 347, 41, 4593, 0, 0, 0, 0, 0, 'Bristly Whisker Catfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 276), + (6582, 347, 41, 2687, 0, 0, 0, 0, 0, 'Dry Pork Ribs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 277), + (6729, 347, 41, 3727, 0, 0, 0, 0, 0, 'Hot Lion Chops', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 278), + (6567, 347, 41, 19225, 0, 0, 0, 0, 0, 'Deep Fried Candybar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 279), + (6730, 347, 41, 13929, 0, 0, 0, 0, 0, 'Hot Smoked Bass', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 280), + (6731, 347, 41, 13851, 0, 0, 0, 0, 0, 'Hot Wolf Ribs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 281), + (6476, 347, 41, 35952, 0, 0, 0, 0, 0, 'Briny Hardcheese', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 282), + (6583, 347, 41, 13724, 0, 0, 0, 0, 0, 'Enriched Manna Biscuit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 283), + (6732, 347, 41, 34769, 0, 0, 0, 0, 0, 'Imperial Manta Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 284), + (6568, 347, 41, 8953, 0, 0, 0, 0, 0, 'Deep Fried Plantains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 285), + (6733, 347, 41, 29412, 0, 0, 0, 0, 0, 'Jessen\'s Special Slop', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 286), + (6734, 347, 41, 35565, 0, 0, 0, 0, 0, 'Juicy Bear Burger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 287), + (6466, 347, 41, 42997, 0, 0, 0, 0, 0, 'Blackened Worg Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 288), + (6584, 347, 41, 20031, 0, 0, 0, 0, 0, 'Essence Mango', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 289), + (6735, 347, 41, 12212, 0, 0, 0, 0, 0, 'Jungle Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 290), + (6569, 347, 41, 17119, 0, 0, 0, 0, 0, 'Deeprun Rat Kabob', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 291), + (6736, 347, 41, 5472, 0, 0, 0, 0, 0, 'Kaldorei Spider Kabob', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 292), + (6585, 347, 41, 37452, 0, 0, 0, 0, 0, 'Fatty Bluefin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 293), + (6737, 347, 41, 33874, 0, 0, 0, 0, 0, 'Kibler\'s Bits', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 294), + (6738, 347, 41, 43488, 0, 0, 0, 0, 0, 'Last Weeks Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 295), + (6465, 347, 41, 27661, 0, 0, 0, 0, 0, 'Blackened Trout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 296), + (6570, 347, 41, 35710, 0, 0, 0, 0, 0, 'Delicious Baked Ham', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 297), + (6739, 347, 41, 5480, 0, 0, 0, 0, 0, 'Lean Venison', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 298), + (6586, 347, 41, 27662, 0, 0, 0, 0, 0, 'Feltail Delight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 299), + (6740, 347, 41, 12209, 0, 0, 0, 0, 0, 'Lean Wolf Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 300), + (6741, 347, 41, 7097, 0, 0, 0, 0, 0, 'Leg Meat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 301), + (6464, 347, 41, 27663, 0, 0, 0, 0, 0, 'Blackened Sporefish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 302), + (6742, 347, 41, 13933, 0, 0, 0, 0, 0, 'Lobster Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 303), + (6463, 347, 41, 42999, 0, 0, 0, 0, 0, 'Blackened Dragonfin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 304), + (6743, 347, 41, 6316, 0, 0, 0, 0, 0, 'Loch Frenzy Delight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 305), + (6462, 347, 41, 27657, 0, 0, 0, 0, 0, 'Blackened Basilisk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 306), + (6460, 347, 41, 41751, 0, 0, 0, 0, 0, 'Black Mushroom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 307), + (6459, 347, 41, 3726, 0, 0, 0, 0, 0, 'Big Bear Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 308), + (6458, 347, 41, 42432, 0, 0, 0, 0, 0, 'Berry Pie Slice', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 309), + (6457, 347, 41, 18635, 0, 0, 0, 0, 0, 'Bellara\'s Nutterbar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 310), + (6475, 347, 41, 6290, 0, 0, 0, 0, 0, 'Brilliant Smallfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 311), + (6474, 347, 41, 38706, 0, 0, 0, 0, 0, 'Bowels \'n\' Brains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 312), + (6473, 347, 41, 29293, 0, 0, 0, 0, 0, 'Bonestripper Buzzard Hotwings', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 313), + (6472, 347, 41, 5525, 0, 0, 0, 0, 0, 'Boiled Clams', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 314), + (6471, 347, 41, 20516, 0, 0, 0, 0, 0, 'Bobbing Apple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 315), + (6470, 347, 41, 13546, 0, 0, 0, 0, 0, 'Bloodbelly Fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 316), + (6469, 347, 41, 3220, 0, 0, 0, 0, 0, 'Blood Sausage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 317), + (6468, 347, 41, 13810, 0, 0, 0, 0, 0, 'Blessed Sunfruit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 318), + (6467, 347, 41, 29449, 0, 0, 0, 0, 0, 'Bladespire Bagel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 319), + (6455, 347, 41, 16166, 0, 0, 0, 0, 0, 'Bean Soup', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 320), + (6453, 347, 41, 4457, 0, 0, 0, 0, 0, 'Barbecued Buzzard Wings', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 321), + (6450, 347, 41, 43491, 0, 0, 0, 0, 0, 'Bad Clams', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 322), + (6519, 347, 41, 42428, 0, 0, 0, 0, 0, 'Carrot Cupcake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 323), + (6546, 347, 41, 43087, 0, 0, 0, 0, 0, 'Crisp Dalaran Apple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 324), + (6545, 347, 41, 2683, 0, 0, 0, 0, 0, 'Crab Cake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 325), + (6544, 347, 41, 2684, 0, 0, 0, 0, 0, 'Coyote Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 326), + (6543, 347, 41, 23756, 0, 0, 0, 0, 0, 'Cookie\'s Jumbo Gumbo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 327), + (6542, 347, 41, 34770, 0, 0, 0, 0, 0, 'Cooked Northrend Fish 12 PH', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 328), + (6541, 347, 41, 13927, 0, 0, 0, 0, 0, 'Cooked Glossy Mightfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 329), + (6540, 347, 41, 2682, 0, 0, 0, 0, 0, 'Cooked Crab Claw', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 330), + (6539, 347, 41, 8076, 0, 0, 0, 0, 0, 'Conjured Sweet Roll', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 331), + (6538, 347, 41, 8075, 0, 0, 0, 0, 0, 'Conjured Sourdough', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 332), + (6554, 347, 41, 22645, 0, 0, 0, 0, 0, 'Crunchy Spider Surprise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 333), + (6553, 347, 41, 31673, 0, 0, 0, 0, 0, 'Crunchy Serpent', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 334), + (6552, 347, 41, 19306, 0, 0, 0, 0, 0, 'Crunchy Frog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 335), + (6551, 347, 41, 3662, 0, 0, 0, 0, 0, 'Crocolisk Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 336), + (6550, 347, 41, 3664, 0, 0, 0, 0, 0, 'Crocolisk Gumbo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 337), + (6549, 347, 41, 43004, 0, 0, 0, 0, 0, 'Critter Bites', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 338), + (6548, 347, 41, 5479, 0, 0, 0, 0, 0, 'Crispy Lizard Tail', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 339), + (6547, 347, 41, 12224, 0, 0, 0, 0, 0, 'Crispy Bat Wing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 340), + (6537, 347, 41, 1114, 0, 0, 0, 0, 0, 'Conjured Rye', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 341), + (6536, 347, 41, 1487, 0, 0, 0, 0, 0, 'Conjured Pumpernickel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 342), + (6535, 347, 41, 5349, 0, 0, 0, 0, 0, 'Conjured Muffin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 343), + (6534, 347, 41, 43523, 0, 0, 0, 0, 0, 'Conjured Mana Strudel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 344), + (6533, 347, 41, 43518, 0, 0, 0, 0, 0, 'Conjured Mana Pie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 345), + (6532, 347, 41, 34062, 0, 0, 0, 0, 0, 'Conjured Mana Biscuit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 346), + (6531, 347, 41, 22019, 0, 0, 0, 0, 0, 'Conjured Croissant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 347), + (6530, 347, 41, 22895, 0, 0, 0, 0, 0, 'Conjured Cinnamon Roll', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 348), + (6529, 347, 41, 1113, 0, 0, 0, 0, 0, 'Conjured Bread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 349), + (6528, 347, 41, 29451, 0, 0, 0, 0, 0, 'Clefthoof Ribs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 350), + (6527, 347, 41, 33004, 0, 0, 0, 0, 0, 'Clamlette Surprise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 351), + (6526, 347, 41, 16971, 0, 0, 0, 0, 0, 'Clamlette Surprise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 352), + (6525, 347, 41, 5526, 0, 0, 0, 0, 0, 'Clam Chowder', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 353), + (6676, 347, 41, 13930, 0, 0, 0, 0, 0, 'Filet of Redgill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 354), + (6449, 347, 41, 8932, 0, 0, 0, 0, 0, 'Alterac Swiss', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 355), + (6688, 347, 41, 6807, 0, 0, 0, 0, 0, 'Frog Leg Stew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 356), + (6682, 347, 41, 33052, 0, 0, 0, 0, 0, 'Fisherman\'s Feast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 357), + (6677, 347, 41, 5476, 0, 0, 0, 0, 0, 'Fillet of Frenzy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 358), + (6689, 347, 41, 37252, 0, 0, 0, 0, 0, 'Frostberries', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 359), + (6520, 347, 41, 35563, 0, 0, 0, 0, 0, 'Charred Bear Kabobs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 360), + (6683, 347, 41, 5066, 0, 0, 0, 0, 0, 'Fissure Plant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 361), + (6678, 347, 41, 33451, 0, 0, 0, 0, 0, 'Fillet of Icefin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 362), + (6690, 347, 41, 27857, 0, 0, 0, 0, 0, 'Garadar Sharp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 363), + (6521, 347, 41, 2679, 0, 0, 0, 0, 0, 'Charred Wolf Meat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 364), + (6684, 347, 41, 4604, 0, 0, 0, 0, 0, 'Forest Mushroom Cap', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 365), + (6679, 347, 41, 3927, 0, 0, 0, 0, 0, 'Fine Aged Cheddar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 366), + (6522, 347, 41, 42433, 0, 0, 0, 0, 0, 'Chocolate Cake Slice', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 367), + (6691, 347, 41, 6038, 0, 0, 0, 0, 0, 'Giant Clam Scorcho', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 368), + (6685, 347, 41, 40359, 0, 0, 0, 0, 0, 'Fresh Eagle Meat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 369), + (6680, 347, 41, 34767, 0, 0, 0, 0, 0, 'Firecracker Salmon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 370), + (6686, 347, 41, 4541, 0, 0, 0, 0, 0, 'Freshly Baked Bread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 371), + (6692, 347, 41, 43478, 0, 0, 0, 0, 0, 'Gigantic Feast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 372), + (6524, 347, 41, 30155, 0, 0, 0, 0, 0, 'Clam Bar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 373), + (6969, 347, 41, 33454, 0, 0, 0, 0, 0, 'Salted Venison', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 374), + (6681, 347, 41, 43015, 0, 0, 0, 0, 0, 'Fish Feast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 375), + (6970, 347, 41, 24072, 0, 0, 0, 0, 0, 'Sand Pear Pie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 376), + (6687, 347, 41, 23160, 0, 0, 0, 0, 0, 'Friendship Bread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 377), + (7005, 347, 41, 34759, 0, 0, 0, 0, 0, 'Smoked Rockfin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 378), + (6985, 347, 41, 35948, 0, 0, 0, 0, 0, 'Savory Snowplum', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 379), + (6995, 347, 41, 40202, 0, 0, 0, 0, 0, 'Sizzling Grizzly Flank', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 380), + (6971, 347, 41, 34761, 0, 0, 0, 0, 0, 'Sauteed Goby', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 381), + (7000, 347, 41, 43480, 0, 0, 0, 0, 0, 'Small Feast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 382), + (6990, 347, 41, 16171, 0, 0, 0, 0, 0, 'Shinsollo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 383), + (7015, 347, 41, 11109, 0, 0, 0, 0, 0, 'Special Chicken Feed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 384), + (7010, 347, 41, 4538, 0, 0, 0, 0, 0, 'Snapvine Watermelon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 385), + (6693, 347, 41, 17197, 0, 0, 0, 0, 0, 'Gingerbread Cookie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 386), + (7011, 347, 41, 4601, 0, 0, 0, 0, 0, 'Soft Banana Bread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 387), + (7006, 347, 41, 21072, 0, 0, 0, 0, 0, 'Smoked Sagefish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 388), + (7001, 347, 41, 4656, 0, 0, 0, 0, 0, 'Small Pumpkin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 389), + (6996, 347, 41, 27856, 0, 0, 0, 0, 0, 'Skethyl Berries', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 390), + (6991, 347, 41, 4536, 0, 0, 0, 0, 0, 'Shiny Red Apple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 391), + (6986, 347, 41, 8243, 0, 0, 0, 0, 0, 'Scooby Snack', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 392), + (7016, 347, 41, 30816, 0, 0, 0, 0, 0, 'Spice Bread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 393), + (7007, 347, 41, 34763, 0, 0, 0, 0, 0, 'Smoked Salmon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 394), + (7002, 347, 41, 6890, 0, 0, 0, 0, 0, 'Smoked Bear Meat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 395), + (6972, 347, 41, 1326, 0, 0, 0, 0, 0, 'Sauteed Sunfish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 396), + (6997, 347, 41, 33825, 0, 0, 0, 0, 0, 'Skullfish Soup', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 397), + (6992, 347, 41, 34125, 0, 0, 0, 0, 0, 'Shoveltusk Soup', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 398), + (6987, 347, 41, 5473, 0, 0, 0, 0, 0, 'Scorpid Surprise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 399), + (7017, 347, 41, 19304, 0, 0, 0, 0, 0, 'Spiced Beef Jerky', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 400), + (7012, 347, 41, 3729, 0, 0, 0, 0, 0, 'Soothing Turtle Bisque', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 401), + (6523, 347, 41, 7808, 0, 0, 0, 0, 0, 'Chocolate Square', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 402), + (7018, 347, 41, 12216, 0, 0, 0, 0, 0, 'Spiced Chili Crab', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 403), + (7003, 347, 41, 30610, 0, 0, 0, 0, 0, 'Smoked Black Bear Meat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 404), + (6998, 347, 41, 32721, 0, 0, 0, 0, 0, 'Skyguard Rations', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 405), + (6993, 347, 41, 34749, 0, 0, 0, 0, 0, 'Shoveltusk Steak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 406), + (6988, 347, 41, 1017, 0, 0, 0, 0, 0, 'Seasoned Wolf Kabob', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 407), + (7013, 347, 41, 33443, 0, 0, 0, 0, 0, 'Sour Goat Cheese', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 408), + (7008, 347, 41, 27854, 0, 0, 0, 0, 0, 'Smoked Talbuk Venison', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 409), + (7004, 347, 41, 20452, 0, 0, 0, 0, 0, 'Smoked Desert Dumplings', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 410), + (6973, 347, 41, 6657, 0, 0, 0, 0, 0, 'Savory Deviate Delight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 411), + (6994, 347, 41, 6299, 0, 0, 0, 0, 0, 'Sickly Looking Fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 412), + (6999, 347, 41, 787, 0, 0, 0, 0, 0, 'Slitherskin Mackerel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 413), + (6989, 347, 41, 3448, 0, 0, 0, 0, 0, 'Senggin Root', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 414), + (7312, 347, 41, 13935, 0, 0, 0, 0, 0, 'Baked Salmon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 415), + (7019, 347, 41, 43005, 0, 0, 0, 0, 0, 'Spiced Mammoth Treats', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 416), + (7014, 347, 41, 35947, 0, 0, 0, 0, 0, 'Sparkling Frostcap', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 417), + (7313, 347, 41, 19223, 0, 0, 0, 0, 0, 'Darkmoon Dog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 418), + (7009, 347, 41, 42996, 0, 0, 0, 0, 0, 'Snapper Extreme', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 419), + (7314, 347, 41, 422, 0, 0, 0, 0, 0, 'Dwarven Mild', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 420), + (9518, 347, 41, 43571, 0, 0, 0, 0, 0, 'Sewer Carp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 421), + (10658, 347, 41, 45932, 0, 0, 0, 0, 0, 'Black Jelly', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 422); +/*!40000 ALTER TABLE `achievement_criteria_dbc` ENABLE KEYS */; + +-- Dumping structure for table classicmangos.achievement_dbc +DROP TABLE IF EXISTS `achievement_dbc`; +CREATE TABLE IF NOT EXISTS `achievement_dbc` ( + `ID` int(11) NOT NULL DEFAULT '0', + `Faction` int(11) NOT NULL DEFAULT '0', + `Instance_Id` int(11) NOT NULL DEFAULT '0', + `Supercedes` int(11) NOT NULL DEFAULT '0', + `Title_Lang_enUS` text NOT NULL DEFAULT '', + `Title_Lang_enGB` text NOT NULL DEFAULT '', + `Title_Lang_koKR` text NOT NULL DEFAULT '', + `Title_Lang_frFR` text NOT NULL DEFAULT '', + `Title_Lang_deDE` text NOT NULL DEFAULT '', + `Title_Lang_enCN` text NOT NULL DEFAULT '', + `Title_Lang_zhCN` text NOT NULL DEFAULT '', + `Title_Lang_enTW` text NOT NULL DEFAULT '', + `Title_Lang_zhTW` text NOT NULL DEFAULT '', + `Title_Lang_esES` text NOT NULL DEFAULT '', + `Title_Lang_esMX` text NOT NULL DEFAULT '', + `Title_Lang_ruRU` text NOT NULL DEFAULT '', + `Title_Lang_ptPT` text NOT NULL DEFAULT '', + `Title_Lang_ptBR` text NOT NULL DEFAULT '', + `Title_Lang_itIT` text NOT NULL DEFAULT '', + `Title_Lang_Unk` text NOT NULL DEFAULT '', + `Title_Lang_Mask` int(10) unsigned NOT NULL DEFAULT '0', + `Description_Lang_enUS` text NOT NULL DEFAULT '', + `Description_Lang_enGB` text NOT NULL DEFAULT '', + `Description_Lang_koKR` text NOT NULL DEFAULT '', + `Description_Lang_frFR` text NOT NULL DEFAULT '', + `Description_Lang_deDE` text NOT NULL DEFAULT '', + `Description_Lang_enCN` text NOT NULL DEFAULT '', + `Description_Lang_zhCN` text NOT NULL DEFAULT '', + `Description_Lang_enTW` text NOT NULL DEFAULT '', + `Description_Lang_zhTW` text NOT NULL DEFAULT '', + `Description_Lang_esES` text NOT NULL DEFAULT '', + `Description_Lang_esMX` text NOT NULL DEFAULT '', + `Description_Lang_ruRU` text NOT NULL DEFAULT '', + `Description_Lang_ptPT` text NOT NULL DEFAULT '', + `Description_Lang_ptBR` text NOT NULL DEFAULT '', + `Description_Lang_itIT` text NOT NULL DEFAULT '', + `Description_Lang_Unk` text NOT NULL DEFAULT '', + `Description_Lang_Mask` int(10) unsigned NOT NULL DEFAULT '0', + `Category` int(11) NOT NULL DEFAULT '0', + `Points` int(11) NOT NULL DEFAULT '0', + `Ui_Order` int(11) NOT NULL DEFAULT '0', + `Flags` int(11) NOT NULL DEFAULT '0', + `IconID` int(11) NOT NULL DEFAULT '0', + `Reward_Lang_enUS` text NOT NULL DEFAULT '', + `Reward_Lang_enGB` text NOT NULL DEFAULT '', + `Reward_Lang_koKR` text NOT NULL DEFAULT '', + `Reward_Lang_frFR` text NOT NULL DEFAULT '', + `Reward_Lang_deDE` text NOT NULL DEFAULT '', + `Reward_Lang_enCN` text NOT NULL DEFAULT '', + `Reward_Lang_zhCN` text NOT NULL DEFAULT '', + `Reward_Lang_enTW` text NOT NULL DEFAULT '', + `Reward_Lang_zhTW` text NOT NULL DEFAULT '', + `Reward_Lang_esES` text NOT NULL DEFAULT '', + `Reward_Lang_esMX` text NOT NULL DEFAULT '', + `Reward_Lang_ruRU` text NOT NULL DEFAULT '', + `Reward_Lang_ptPT` text NOT NULL DEFAULT '', + `Reward_Lang_ptBR` text NOT NULL DEFAULT '', + `Reward_Lang_itIT` text NOT NULL DEFAULT '', + `Reward_Lang_Unk` text NOT NULL DEFAULT '', + `Reward_Lang_Mask` int(10) unsigned NOT NULL DEFAULT '0', + `Minimum_Criteria` int(11) NOT NULL DEFAULT '0', + `Shares_Criteria` int(11) NOT NULL DEFAULT '0', + `patch` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`ID`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- Dumping data for table classicmangos.achievement_dbc: 1 817 rows +/*!40000 ALTER TABLE `achievement_dbc` DISABLE KEYS */; +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Supercedes`, `Title_Lang_enUS`, `Title_Lang_enGB`, `Title_Lang_koKR`, `Title_Lang_frFR`, `Title_Lang_deDE`, `Title_Lang_enCN`, `Title_Lang_zhCN`, `Title_Lang_enTW`, `Title_Lang_zhTW`, `Title_Lang_esES`, `Title_Lang_esMX`, `Title_Lang_ruRU`, `Title_Lang_ptPT`, `Title_Lang_ptBR`, `Title_Lang_itIT`, `Title_Lang_Unk`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_enGB`, `Description_Lang_koKR`, `Description_Lang_frFR`, `Description_Lang_deDE`, `Description_Lang_enCN`, `Description_Lang_zhCN`, `Description_Lang_enTW`, `Description_Lang_zhTW`, `Description_Lang_esES`, `Description_Lang_esMX`, `Description_Lang_ruRU`, `Description_Lang_ptPT`, `Description_Lang_ptBR`, `Description_Lang_itIT`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_enUS`, `Reward_Lang_enGB`, `Reward_Lang_koKR`, `Reward_Lang_frFR`, `Reward_Lang_deDE`, `Reward_Lang_enCN`, `Reward_Lang_zhCN`, `Reward_Lang_enTW`, `Reward_Lang_zhTW`, `Reward_Lang_esES`, `Reward_Lang_esMX`, `Reward_Lang_ruRU`, `Reward_Lang_ptPT`, `Reward_Lang_ptBR`, `Reward_Lang_itIT`, `Reward_Lang_Unk`, `Reward_Lang_Mask`, `Minimum_Criteria`, `Shares_Criteria`, `patch`) VALUES + (6, -1, -1, 0, 'Level 10', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Reach level 10.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 1, 4, 3268, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (33, 1, -1, 0, 'Nothing Boring About Borean', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 130 quests in Borean Tundra.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 1, 136, 3336, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (42, -1, -1, 0, 'Explore Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore the regions of Eastern Kingdoms.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 97, 25, 1, 0, 3490, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (57, -1, 30, 0, 'Deaths in Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths in Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 124, 0, 1, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (60, -1, -1, 0, 'Total deaths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total deaths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 122, 0, 1, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (98, -1, -1, 0, 'Quests completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Quests completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 133, 0, 1, 9, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (107, -1, -1, 0, 'Creatures killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Creatures killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 135, 0, 1, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (112, -1, -1, 0, 'Deaths from drowning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths from drowning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 126, 0, 1, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (116, -1, -1, 0, 'Professional Journeyman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become a Journeyman in a profession.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 169, 10, 1, 0, 2846, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (121, -1, -1, 0, 'Journeyman Cook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become a Journeyman Cook.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 1, 0, 1467, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (126, -1, -1, 0, 'Journeyman Fisherman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become a Journeyman Fisherman.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 1, 0, 580, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (131, -1, -1, 0, 'Journeyman in First Aid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become a Journeyman in first aid.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 172, 10, 1, 0, 504, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (154, -1, 529, 0, 'Arathi Basin Victory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Arathi Basin.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 10, 1, 0, 3381, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (166, -1, 489, 0, 'Warsong Gulch Victory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Warsong Gulch.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 1, 0, 3387, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (193, -1, -1, 0, 'Largest hit dealt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Largest hit dealt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 141, 0, 1, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (208, -1, 566, 0, 'Eye of the Storm Victory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Eye of the Storm.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14803, 10, 1, 0, 3384, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (218, -1, 30, 0, 'Alterac Valley Victory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Alterac Valley.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 10, 1, 0, 3377, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (238, -1, -1, 0, 'An Honorable Kill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Achieve an honorable kill.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 1, 0, 3454, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (263, -1, -1, 0, 'Ice the Frost Lord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Slay Ahune in the Slave Pens.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 1, 0, 94, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (273, -1, -1, 0, 'On Metzen!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Save Metzen the Reindeer.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 1, 0, 3703, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (319, -1, -1, 0, 'Duels won', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Duels won', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 154, 0, 1, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (321, -1, -1, 0, 'Total raid and dungeon deaths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total raid and dungeon deaths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 125, 0, 1, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (328, -1, -1, 0, 'Total gold acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total gold acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 140, 0, 1, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (344, -1, -1, 0, 'Bandages used', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Bandages used', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 1, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (349, -1, -1, 0, 'Flight paths taken', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Flight paths taken', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 134, 0, 1, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (377, -1, -1, 0, 'Most factions at Exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Most factions at Exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 147, 0, 1, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (397, -1, -1, 0, 'Step Into The Arena', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win a ranked arena match at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 1, 0, 3601, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (457, -1, -1, 0, 'Realm First! Level 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First person on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 1, 256, 3275, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (477, -1, 574, 0, 'Utgarde Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in Utgarde Keep.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 1, 0, 3226, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (489, -1, 574, 0, 'Heroic: Utgarde Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Utgarde Keep bosses on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 1, 0, 3225, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (503, -1, -1, 0, '50 Quests Completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 50 quests.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 1, 0, 3421, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (522, -1, -1, 0, 'Somebody Likes Me', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise a reputation to Exalted.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 201, 10, 1, 0, 3609, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (588, -1, -1, 0, 'Total Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 136, 0, 1, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (605, -1, -1, 0, 'A Coin of Ancestry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Receive a Coin of Ancestry.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 160, 10, 1, 0, 2717, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (625, -1, 615, 0, 'Besting the Black Dragonflight (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Sartharion the Onyx Guardian in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 25, 1, 0, 3255, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (629, -1, -1, 0, 'Ragefire Chasm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Taragaman the Hungerer.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 1, 0, 1983, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 1, 0, 0), + (647, -1, -1, 0, 'Hellfire Ramparts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Omor the Unscarred.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 1, 0, 3680, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (728, -1, -1, 0, 'Explore Durotar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Durotar, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 1, 0, 3532, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (763, 0, -1, 0, 'The Burning Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise all of The Burning Crusade dungeon reputations to exalted.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 20, 1, 0, 2365, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (776, -1, -1, 0, 'Explore Elwynn Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Elwynn Forest, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 1, 0, 3536, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (796, -1, -1, 0, 'Resurrected by priests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Resurrected by priests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 127, 0, 1, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (837, -1, -1, 0, 'Arenas won', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Arenas won', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 1, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (839, -1, -1, 0, 'Battlegrounds played', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Battlegrounds played', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 1, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (862, -1, -1, 0, 'Explore Hellfire Peninsula', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Hellfire Peninsula, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14779, 10, 1, 0, 3554, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (913, -1, -1, 0, 'To Honor One\'s Elders', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Lunar Festival achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 30, 1, 0, 3698, 'Title Reward: Elder', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (927, -1, -1, 0, 'Equipped epic items in item slots', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Equipped epic items in item slots', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 191, 0, 1, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (932, -1, -1, 0, 'Total 5-player dungeons entered', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total 5-player dungeons entered', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 1, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (939, -1, -1, 0, 'Hills Like White Elekk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete all of Hemet Nesingwary quests in Nagrand up to and including The Ultimate Bloodsport.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14862, 10, 1, 0, 2165, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (940, -1, -1, 0, 'The Green Hills of Stranglethorn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete all of Hemet Nesingwary quests in Stranglethorn Vale up to and including The Green Hills of Stranglethorn and Big Game Hunter.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14861, 10, 1, 0, 916, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (946, -1, -1, 0, 'The Argent Dawn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with the Argent Dawn.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14864, 15, 1, 0, 1608, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (947, -1, -1, 0, 'The Argent Crusade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with the Argent Crusade.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14866, 15, 1, 0, 1672, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (972, -1, -1, 0, 'Trick or Treat!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Receive a handful of a candy from one of the Candy Buckets located in an inn.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 1, 0, 2652, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1042, -1, -1, 0, 'Number of hugs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Number of hugs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 131, 0, 1, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1057, -1, -1, 0, 'Deaths in 2v2', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths in 2v2', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 123, 0, 1, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1068, -1, 542, 0, 'Keli\'dan the Breaker kills (The Blood Furnace)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Keli\'dan the Breaker kills (The Blood Furnace)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 1, 1, 541, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1091, -1, 36, 0, 'Edwin VanCleef kills (Deadmines)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Edwin VanCleef kills (Deadmines)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14821, 5, 1, 1, 2692, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1149, -1, -1, 0, 'Talent tree respecs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Talent tree respecs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 130, 0, 1, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1184, 1, -1, 0, 'Strange Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Drink the Brewfest beers listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 162, 10, 1, 0, 1780, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1197, -1, -1, 0, 'Total kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 128, 0, 1, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1199, -1, -1, 0, 'Professions learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Professions learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 132, 0, 1, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1242, -1, 574, 0, 'Ingvar the Plunderer kills (Utgarde Keep)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Ingvar the Plunderer kills (Utgarde Keep)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 1, 1, 2813, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1264, -1, -1, 0, 'Explore Borean Tundra', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Borean Tundra, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14780, 10, 1, 0, 3330, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1283, -1, -1, 0, 'Classic Dungeonmaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the classic dungeon achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 1, 0, 1949, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (1308, -1, 607, 0, 'Strand of the Ancients Victory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Strand of the Ancients.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 10, 1, 0, 3402, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1487, -1, -1, 0, 'Total Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 137, 0, 1, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1501, -1, -1, 0, 'Total deaths from other players', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total deaths from other players', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 21, 0, 1, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1524, -1, -1, 0, 'Cooking skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Cooking skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 178, 0, 1, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1527, -1, -1, 0, 'Highest Alchemy skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest Alchemy skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 1, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1701, -1, -1, 0, 'Be Mine!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Eat the eight "Bag of Candies" heart candies listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 1, 0, 3196, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 0), + (1717, -1, 571, 0, 'Wintergrasp Victory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win the battle for Wintergrasp.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 1, 0, 187, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1791, -1, -1, 0, 'Home Alone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Use your Hearthstone while your orphan is with you.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 163, 10, 1, 0, 776, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1876, -1, 615, 0, 'Besting the Black Dragonflight (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Sartharion the Onyx Guardian in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 1, 0, 3254, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2676, -1, -1, 0, 'I Found One!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Find a Brightly Colored Egg.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 159, 10, 1, 0, 3202, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (2756, -1, -1, 0, 'Argent Aspiration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Train to compete in the Argent Tournament by becoming an Aspirant for your race\'s faction.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 1, 0, 3805, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 1, 0, 2), + (2856, -1, 603, 0, 'Flame Leviathan kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Flame Leviathan kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 1, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2886, -1, 603, 0, 'The Siege of Ulduar (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Siege area of Ulduar in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 1, 0, 3844, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2887, -1, 603, 0, 'The Siege of Ulduar (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Siege area of Ulduar in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 1, 0, 3844, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (3579, -1, -1, 0, '"FOOD FIGHT!"', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Bounce food off a fellow feaster\'s head at a Bountiful Table.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14981, 10, 1, 0, 456, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 1, 0, 0), + (3776, -1, 628, 0, 'Isle of Conquest Victory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Isle of Conquest.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 1, 0, 4002, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718846, 0, 0, 2), + (3916, -1, -1, 0, 'Call of the Crusade (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat every boss in the Trial of the Crusader in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15002, 10, 1, 0, 3744, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 150972924, 0, 0, 2), + (3917, -1, -1, 0, 'Call of the Crusade (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat every boss in the Trial of the Crusader in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15001, 10, 1, 0, 3744, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 150972908, 0, 0, 2), + (4018, -1, -1, 0, 'Victories over Hunter Champion (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over Hunter Champion (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 1, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4531, -1, 631, 0, 'Storming the Citadel (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the first four bosses in Icecrown Citadel in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 1, 0, 4167, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4604, -1, 631, 0, 'Storming the Citadel (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the first four bosses in Icecrown Citadel in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 1, 0, 4167, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4713, -1, -1, 0, 'Bronjahm kills (Forge of Souls)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 1, 5, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (7, -1, -1, 6, 'Level 20', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Reach level 20.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 2, 4, 3269, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (43, -1, -1, 0, 'Explore Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore the regions of Kalimdor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 97, 25, 2, 0, 3491, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (59, -1, 529, 0, 'Deaths in Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths in Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 124, 0, 2, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (95, -1, -1, 0, 'Average quests completed per day', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Average quests completed per day', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 133, 0, 2, 73, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 98, 0), + (122, -1, -1, 121, 'Expert Cook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become an Expert Cook.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 2, 0, 1467, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (127, -1, -1, 126, 'Expert Fisherman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become an Expert Fisherman.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 2, 0, 580, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (132, -1, -1, 131, 'Expert in First Aid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become an Expert in first aid.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 172, 10, 2, 0, 504, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (155, -1, 529, 154, 'Arathi Basin Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 100 victories in Arathi Basin.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 10, 2, 0, 3382, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (167, -1, 489, 166, 'Warsong Gulch Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 100 victories in Warsong Gulch.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 2, 0, 3388, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (209, -1, 566, 208, 'Eye of the Storm Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 100 victories in Eye of the Storm.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14803, 10, 2, 0, 3385, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (219, -1, 30, 218, 'Alterac Valley Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 100 victories in Alterac Valley.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 10, 2, 0, 3378, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (252, -1, -1, 0, 'With a Little Helper from My Friends', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn 50 honorable kills as a Little Helper from the Winter Wondervolt machine.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 2, 136, 3679, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (260, -1, -1, 0, 'Charming', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Create 12 Lovely Charm Bracelets.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 2, 0, 4134, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (271, -1, -1, 0, 'Burning Hot Pole Dance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Dance at the ribbon pole for 60 seconds while wearing completed Midsummer set.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 2, 0, 3262, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (288, -1, -1, 0, 'Out With It', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Eat so many Tricky Treats that you get an upset tummy.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 2, 0, 97, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (318, -1, -1, 0, 'Total deaths from opposite faction', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 21, 0, 2, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (320, -1, -1, 0, 'Duels lost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Duels lost', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 154, 0, 2, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (342, -1, -1, 0, 'Epic items acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Epic items acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 191, 0, 2, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (378, -1, -1, 0, 'Most factions at Revered or higher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Most factions at Revered or higher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 147, 0, 2, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (381, -1, -1, 0, 'World Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'World Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 136, 0, 2, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (398, -1, -1, 397, 'Mercilessly Dedicated', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win 100 ranked arena matches at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 2, 0, 3593, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (467, -1, -1, 0, 'Realm First! Level 80 Shaman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First shaman on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 2, 256, 38, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (478, -1, 576, 0, 'The Nexus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in The Nexus.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 2, 0, 3227, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (490, -1, 576, 0, 'Heroic: The Nexus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat The Nexus bosses on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 2, 0, 3228, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (504, -1, -1, 503, '100 Quests Completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 100 quests.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 2, 0, 3420, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (513, -1, -1, 238, '100 Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get 100 honorable kills.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 2, 0, 3455, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (523, -1, -1, 522, '5 Exalted Reputations', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise 5 reputations to Exalted.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 201, 10, 2, 0, 3609, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (527, -1, -1, 0, 'Largest hit received', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Largest hit received', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 141, 0, 2, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (594, -1, -1, 0, 'Deaths from Hogger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths from Hogger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 126, 0, 2, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (606, -1, -1, 605, '5 Coins of Ancestry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Receive 5 Coins of Ancestry.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 160, 10, 2, 0, 2717, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (624, -1, 615, 0, 'Less Is More (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Sartharion the Onyx Guardian and the Twilight Drakes with fewer than 9 players in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 2, 0, 3253, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (627, -1, -1, 0, 'Explore Dun Morogh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Dun Morogh, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 2, 0, 3531, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (628, -1, -1, 0, 'Deadmines', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Edwin VanCleef.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 2, 0, 3627, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 1, 0, 0), + (648, -1, 542, 0, 'The Blood Furnace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Keli\'dan the Breaker.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 2, 0, 3629, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (731, -1, -1, 116, 'Professional Expert', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become an Expert in a profession.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 169, 10, 2, 0, 2846, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (736, -1, -1, 0, 'Explore Mulgore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Mulgore, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 2, 0, 3562, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (753, -1, -1, 0, 'Average gold earned per day', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Average gold earned per day', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 140, 0, 2, 73, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 328, 0), + (764, 1, -1, 0, 'The Burning Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise all of The Burning Crusade dungeon reputations to exalted.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 20, 2, 0, 2365, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (798, -1, -1, 0, 'Rebirthed by druids', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Rebirthed by druids', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 127, 0, 2, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (838, -1, -1, 0, 'Arenas played', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Arenas played', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 2, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (863, -1, -1, 0, 'Explore Zangarmarsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Zangarmarsh, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14779, 10, 2, 0, 3585, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (918, -1, -1, 0, 'Total deaths in 5-player dungeons', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total deaths in 5-player dungeons', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 125, 0, 2, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (944, -1, -1, 0, 'They Love Me In That Tunnel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with Timbermaw Hold.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14864, 15, 2, 0, 3685, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (949, -1, -1, 0, 'Tuskarrmageddon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with The Kalu\'ak .', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14866, 15, 2, 0, 3702, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (1047, -1, -1, 0, 'Total facepalms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total facepalms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 131, 0, 2, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1069, -1, 557, 0, 'Nexus-Prince Shaffar kills (Mana Tombs)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Nexus-Prince Shaffar kills (Mana Tombs)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 2, 1, 1677, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1092, -1, 33, 0, 'Archmage Arugal kills (Shadowfang Keep)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Archmage Arugal kills (Shadowfang Keep)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14821, 5, 2, 1, 2126, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1107, -1, -1, 0, 'Deaths in 3v3', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths in 3v3', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 123, 0, 2, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1125, -1, -1, 0, 'Bandage used most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Bandage used most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 2, 17, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 344, 0), + (1189, 1, -1, 0, 'To Hellfire and Back', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 80 quests in Hellfire Peninsula.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14862, 10, 2, 0, 3554, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1198, -1, -1, 0, 'Total kills that grant experience or honor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total kills that grant experience or honor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 128, 0, 2, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1201, -1, -1, 0, 'Professions at maximum skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Professions at maximum skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 132, 0, 2, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1203, 0, -1, 0, 'Strange Brew', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Drink the Brewfest beers listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 162, 10, 2, 0, 1780, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1263, -1, -1, 0, 'Explore Howling Fjord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Howling Fjord, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14780, 10, 2, 0, 3331, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641390, 0, 0, 2), + (1285, -1, -1, 0, 'Classic Raider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the classic raid achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 20, 2, 0, 3203, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (1309, -1, 607, 1308, 'Strand of the Ancients Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 100 victories in Strand of the Ancients.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 10, 2, 0, 3402, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1337, -1, -1, 0, 'Different creature types killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Different creature types killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 135, 0, 2, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 107, 0), + (1358, 0, -1, 0, 'Nothing Boring About Borean', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 150 quests in Borean Tundra.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 2, 136, 3336, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1462, -1, -1, 0, 'Badges of Justice acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Badges of Justice acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 130, 0, 2, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 1), + (1488, -1, -1, 0, 'World Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Cumulative for Azeroth, Northrend etc.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 137, 0, 2, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1504, -1, 574, 0, 'Ingvar the Plunderer kills (Heroic Utgarde Keep)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Ingvar the Plunderer kills (Heroic Utgarde Keep)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 2, 1, 2813, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1525, -1, -1, 0, 'Cooking daily quests completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Cooking daily quests completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 178, 10, 2, 9, 2923, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1676, 1, -1, 0, 'Loremaster of Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 700 quests in Eastern Kingdoms.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14861, 10, 2, 136, 3490, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1693, 0, -1, 0, 'Fool For Love', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Love is in the Air achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 10, 2, 0, 3699, 'Title Reward: The Love Fool', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1718, -1, 571, 1717, 'Wintergrasp Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win 100 battles for Wintergrasp.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 2, 0, 187, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1729, -1, -1, 0, 'Alchemy Recipes learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Alchemy Recipes learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 2, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1788, -1, -1, 0, 'Bad Example', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Eat the sweets listed below while your orphan is watching.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 163, 10, 2, 0, 1519, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1877, -1, 615, 0, 'Less Is More (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Sartharion the Onyx Guardian and the Twilight Drakes with fewer than 21 players in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 2, 0, 3308, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2277, -1, -1, 0, 'Summons accepted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Summons accepted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 134, 0, 2, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (2396, -1, -1, 0, 'Battleground played the most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Battleground played the most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 2, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 839, 0), + (2417, -1, -1, 0, 'Chocolate Lover', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Eat 25 Noblegarden Chocolates during the Noblegarden celebration.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 159, 10, 2, 0, 3706, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (2758, -1, -1, 2756, 'Argent Valor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Train to compete in the Argent Tournament by becoming a Valiant for your race\'s faction.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 2, 0, 3744, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 1, 0, 2), + (2857, -1, 603, 0, 'Razorscale kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Razorscale kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 2, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2888, -1, 603, 0, 'The Antechamber of Ulduar (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Antechamber area of Ulduar in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 2, 0, 3846, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2889, -1, 603, 0, 'The Antechamber of Ulduar (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Antechamber area of Ulduar in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 2, 0, 3846, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (3576, 1, -1, 0, 'Now We\'re Cookin\'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Cook up one of every Pilgrim\'s Bounty dish.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14981, 10, 2, 0, 3678, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3777, -1, 628, 3776, 'Isle of Conquest Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 100 victories in Isle of Conquest.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 2, 0, 3378, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718846, 0, 0, 2), + (3812, -1, -1, 0, 'Call of the Grand Crusade (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat every boss in the Trial of the Grand Crusader in 25-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15002, 10, 2, 0, 3744, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 0, 0, 2), + (3918, -1, -1, 0, 'Call of the Grand Crusade (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat every boss in the Trial of the Grand Crusader in 10-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15001, 10, 2, 0, 3744, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 150972908, 0, 0, 2), + (4019, -1, -1, 0, 'Victories over Hunter Champion (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over Hunter Champion (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 2, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4628, -1, 631, 4531, 'Heroic: Storming the Citadel (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the first four bosses in Icecrown Citadel in 10-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 2, 0, 4167, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4632, -1, 631, 4604, 'Heroic: Storming the Citadel (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the first four bosses in Icecrown Citadel in 25-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 2, 0, 4167, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4714, -1, -1, 0, 'Bronjahm kills (Heroic Forge of Souls)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 2, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (8, -1, -1, 7, 'Level 30', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Reach level 30.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 3, 4, 3270, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (34, 1, -1, 0, 'I\'ve Toured the Fjord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 130 quests in Howling Fjord.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 3, 0, 3337, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (44, -1, -1, 0, 'Explore Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore the regions of Outland.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 97, 25, 3, 0, 3492, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (56, -1, 489, 0, 'Deaths in Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths in Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 124, 0, 3, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (97, -1, -1, 0, 'Daily quests completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Daily quests completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 133, 0, 3, 1, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (113, -1, -1, 0, 'Deaths from fatigue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths from fatigue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 126, 0, 3, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (123, -1, -1, 122, 'Artisan Cook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become an Artisan Cook.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 3, 0, 1467, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (128, -1, -1, 127, 'Artisan Fisherman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become an Artisan Fisherman.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 3, 0, 580, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (133, -1, -1, 132, 'Artisan in First Aid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become an Artisan in first aid.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 172, 10, 3, 0, 504, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (165, -1, 529, 0, 'Arathi Basin Perfection', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Arathi Basin with a score of 1600 to 0.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 20, 3, 0, 3469, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (197, -1, -1, 0, 'Total damage done', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total damage done', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 141, 0, 3, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (199, -1, 489, 0, 'Capture the Flag', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Personally carry and capture the flag in Warsong Gulch.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 3, 0, 3390, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (221, -1, 30, 0, 'Alterac Grave Robber', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Take 50 graveyards in Alterac Valley.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 10, 3, 0, 3379, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (255, -1, -1, 0, 'Bring Me The Head of... Oh Wait', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill the Headless Horseman.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 3, 0, 1817, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (259, 0, -1, 0, 'Scrooge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Throw a snowball at Cairne Bloodhoof during the Feast of Winter Veil.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 3, 0, 1665, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (333, -1, -1, 0, 'Gold looted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gold looted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 140, 0, 3, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (341, -1, -1, 0, 'Epic items looted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Epic items looted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 191, 0, 3, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (350, -1, -1, 0, 'Mage Portals taken', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Mage Portals taken', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 134, 0, 3, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (363, -1, -1, 0, '5v5 matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '5v5 matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 3, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (466, -1, -1, 0, 'Realm First! Level 80 Druid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First druid on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 3, 256, 261, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (480, -1, 601, 0, 'Azjol-Nerub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in Azjol-Nerub.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 3, 0, 3229, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (491, -1, 601, 0, 'Heroic: Azjol-Nerub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Azjol-Nerub bosses on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 3, 0, 3230, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (505, -1, -1, 504, '250 Quests Completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 250 quests.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 3, 0, 3419, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (515, -1, -1, 513, '500 Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get 500 honorable kills.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 3, 0, 3456, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (524, -1, -1, 523, '10 Exalted Reputations', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise 10 reputations to Exalted.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 201, 10, 3, 0, 3608, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (529, -1, -1, 0, 'Most factions at Honored or higher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Most factions at Honored or higher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 147, 0, 3, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (562, -1, 533, 0, 'The Arachnid Quarter (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Arachnid Quarter of Naxxramas in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 3, 0, 1899, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (563, -1, 533, 0, 'The Arachnid Quarter (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Arachnid Quarter of Naxxramas in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 3, 0, 1899, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (607, -1, -1, 606, '10 Coins of Ancestry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Receive 10 Coins of Ancestry.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 160, 10, 3, 0, 2717, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (630, -1, -1, 0, 'Wailing Caverns', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Mutanus the Devourer.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 3, 0, 3654, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (649, -1, 547, 0, 'The Slave Pens', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Quagmirran.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 3, 0, 3591, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (732, -1, -1, 731, 'Professional Artisan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become an Artisan in a profession.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 169, 10, 3, 0, 2846, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (768, -1, -1, 0, 'Explore Tirisfal Glades', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Tirisfal Glades, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 3, 0, 3570, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (783, -1, 566, 0, 'The Perfect Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Eye of the Storm with a score of 1600 to 0.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14803, 10, 3, 0, 2830, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 1), + (840, -1, -1, 0, 'Battlegrounds won', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Battlegrounds won', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 3, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (842, -1, -1, 0, 'Explore Teldrassil', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Teldrassil, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 3, 0, 3528, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (867, -1, -1, 0, 'Explore Terokkar Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Terokkar Forest, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14779, 10, 3, 0, 3586, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (875, -1, -1, 398, 'Vengefully Dedicated', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win 200 ranked arena matches at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 3, 0, 3594, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (893, -1, -1, 0, 'Cenarion War Hippogryph', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Cenarion War Hippogryph from the Cenarion Expedition in Zangarmarsh.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 10, 3, 0, 2554, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (950, -1, -1, 0, 'Frenzyheart Tribe', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with the Frenzyheart Tribe.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14866, 10, 3, 0, 956, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (957, -1, -1, 0, 'Hero of the Zandalar Tribe', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with the Zandalar Tribe.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14864, 10, 3, 0, 2745, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1067, -1, -1, 0, 'Total times playing world\'s smallest violin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total times playing world\'s smallest violin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 131, 0, 3, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1070, -1, 560, 0, 'Epoch Hunter kills (The Escape From Durnholde)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Epoch Hunter kills (The Escape From Durnholde)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 3, 1, 1701, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1093, -1, 189, 0, 'Scarlet Commander Mograine kills (Scarlet Monastery)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Scarlet Commander Mograine kills (Scarlet Monastery)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14821, 5, 3, 1, 2792, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1108, -1, -1, 0, 'Deaths in 5v5', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths in 5v5', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 123, 0, 3, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1145, -1, -1, 0, 'King of the Fire Festival', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the quest, "A Thief\'s Reward", by stealing the flames from your enemy\'s capital cities.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 3, 0, 1599, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (1200, -1, -1, 0, 'Secondary skills at maximum skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Secondary skills at maximum skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 132, 0, 3, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1229, -1, -1, 0, 'Revived by druids', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Revived by druids', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 127, 0, 3, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (1231, -1, 576, 0, 'Keristrasza kills (The Nexus)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Keristrasza kills (The Nexus)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 3, 1, 56, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1265, -1, -1, 0, 'Explore Dragonblight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Dragonblight, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14780, 10, 3, 0, 3332, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1271, 0, -1, 0, 'To Hellfire and Back', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 90 quests in Hellfire Peninsula.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14862, 10, 3, 0, 3554, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 1), + (1284, -1, -1, 0, 'Outland Dungeonmaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Burning Crusade dungeon achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 3, 0, 1948, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 1), + (1298, -1, -1, 0, 'Different bandage types used', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Different bandage types used', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 3, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 344, 0), + (1310, -1, 607, 0, 'Storm the Beach', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Capture the Titan Relic in under four minutes.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 20, 3, 0, 3403, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 1, 0, 2), + (1336, -1, -1, 0, 'Creature type killed the most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Creature type killed the most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 135, 0, 3, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 107, 0), + (1458, -1, -1, 0, 'Continent with the most Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Continent with the most Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 136, 0, 3, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 381, 0), + (1464, -1, -1, 0, 'Emblems of Heroism acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Emblems of Heroism acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 130, 0, 3, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1489, -1, -1, 0, 'Continent with the most Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Continent with the most Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 137, 0, 3, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 1488, 0), + (1532, -1, -1, 0, 'Highest Blacksmithing skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest Blacksmithing skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 3, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1677, 0, -1, 0, 'Loremaster of Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 550 quests in Eastern Kingdoms.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14861, 10, 3, 136, 3490, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1695, -1, -1, 0, 'Dangerous Love', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Assist the Steamwheedle Cartel in stopping the sinister Crown Chemical Co. plot.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 3, 0, 1853, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 1, 0, 0), + (1707, 1, -1, 0, 'Fool For Love', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Love is in the Air achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 10, 3, 0, 3699, 'Title Reward: The Love Fool', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1745, -1, -1, 0, 'Cooking Recipes known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Cooking Recipes known', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 178, 0, 3, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1755, -1, 571, 0, 'Within Our Grasp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Attack Wintergrasp and succeed in 10 minutes or less.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 3, 0, 145, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1789, -1, -1, 0, 'Daily Chores', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete five daily quests with your orphan out.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 163, 10, 3, 0, 162, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (1936, -1, -1, 0, 'Does Your Wolpertinger Linger?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Wolpertinger pet.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 162, 10, 3, 0, 1312, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 1, 0, 1), + (2219, -1, -1, 0, 'Total deaths in 5-player heroic dungeons', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total deaths in 5-player heroic dungeons', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 125, 0, 3, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 1), + (2418, -1, -1, 2417, 'Chocoholic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Eat 100 Noblegarden Chocolates during the Noblegarden celebration.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 159, 10, 3, 0, 3706, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2772, -1, -1, 0, 'Tilted!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat another player in a mounted duel at the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 3, 0, 370, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2858, -1, 603, 0, 'Ignis the Furnace Master kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Ignis the Furnace Master kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 3, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2890, -1, 603, 0, 'The Keepers of Ulduar (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Keeper bosses of Ulduar in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 3, 0, 3847, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2891, -1, 603, 0, 'The Keepers of Ulduar (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Keeper bosses of Ulduar in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 3, 0, 3847, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (3577, 0, -1, 0, 'Now We\'re Cookin\'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Cook up one of every Pilgrim\'s Bounty dish.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14981, 10, 3, 0, 3678, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3797, -1, -1, 0, 'Upper Back Pain (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Icehowl while at least 2 Snobolds remain alive in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15001, 10, 3, 0, 1665, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 1, 0, 2), + (3813, -1, -1, 0, 'Upper Back Pain (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Icehowl while at least 4 Snobolds remain alive in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15002, 10, 3, 0, 1665, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 1, 0, 2), + (3845, -1, 628, 0, 'Isle of Conquest All-Star', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In a single Isle of Conquest battle, assault a base, defend a base, destroy a vehicle and kill a player.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 20, 3, 0, 2268, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 0, 0, 2), + (4048, -1, -1, 0, 'Victories over Mage Champion (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over Mage Champion (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 3, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4528, -1, 631, 0, 'The Plagueworks (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Plagueworks in Icecrown Citadel in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 3, 0, 4177, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4605, -1, 631, 0, 'The Plagueworks (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Plagueworks in Icecrown Citadel in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 3, 0, 4177, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4715, -1, -1, 0, 'Devourer of Souls kills (Forge of Souls)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 3, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (9, -1, -1, 8, 'Level 40', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Reach level 40.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 4, 4, 3271, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (45, -1, -1, 0, 'Explore Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore the regions of Northrend.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 97, 25, 4, 0, 3493, 'Reward: Tabard of the Explorer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (108, -1, -1, 0, 'Critters killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Critters killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 135, 0, 4, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (114, -1, -1, 0, 'Deaths from falling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths from falling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 126, 0, 4, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (124, -1, -1, 123, 'Master Cook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become a Master Cook.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 4, 0, 1467, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (129, -1, -1, 128, 'Master Fisherman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become a Master Fisherman.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 4, 0, 580, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (134, -1, -1, 133, 'Master in First Aid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become a Master in first aid.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 172, 10, 4, 0, 504, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (158, -1, 529, 0, 'Me and the Cappin\' Makin\' it Happen', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Take 50 flags in Arathi Basin.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 10, 4, 0, 3470, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (200, -1, 489, 0, 'Persistent Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Return 50 flags as a defender in Warsong Gulch.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 4, 0, 3398, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (222, -1, 30, 0, 'Tower Defense', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defend 50 towers in Alterac Valley.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 10, 4, 0, 3581, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (248, -1, -1, 0, 'Sunday\'s Finest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Discover the White Tuxedo Shirt and Black Tuxedo Pants by opening Brightly Colored Eggs during the Noblegarden celebration.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 159, 10, 4, 0, 3712, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (289, -1, -1, 0, 'The Savior of Hallow\'s End', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete one of the quests to save a village from the Headless Horseman.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 4, 0, 3512, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (326, -1, -1, 0, 'Gold from quest rewards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gold from quest rewards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 140, 0, 4, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (336, -1, -1, 0, 'Legendary items acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Legendary items acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 191, 0, 4, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (345, -1, -1, 0, 'Health potions consumed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Health potions consumed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 4, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (362, -1, -1, 0, '5v5 victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '5v5 victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 4, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (383, -1, -1, 0, 'Arena Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Arena Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 136, 0, 4, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (465, -1, -1, 0, 'Realm First! Level 80 Paladin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First paladin on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 4, 256, 25, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (481, -1, 619, 0, 'Ahn\'kahet: The Old Kingdom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in Ahn\'kahet: The Old Kingdom.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 4, 0, 3231, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (492, -1, 619, 0, 'Heroic: Ahn\'kahet: The Old Kingdom', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Ahn\'kahet: The Old Kingdom bosses on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 4, 0, 3232, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (506, -1, -1, 505, '500 Quests Completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 500 quests.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 4, 0, 3418, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (516, -1, -1, 515, '1000 Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get 1000 honorable kills.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 4, 0, 3457, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (521, -1, -1, 524, '15 Exalted Reputations', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise 15 reputations to Exalted.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 201, 10, 4, 0, 3607, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (528, -1, -1, 0, 'Total damage received', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total damage received', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 141, 0, 4, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (564, -1, 533, 0, 'The Construct Quarter (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Construct Quarter of Naxxramas in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 4, 0, 2956, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (565, -1, 533, 0, 'The Construct Quarter (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Construct Quarter of Naxxramas in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 4, 0, 2956, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (608, -1, -1, 607, '25 Coins of Ancestry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Receive 25 Coins of Ancestry.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 160, 10, 4, 0, 2717, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (631, -1, -1, 0, 'Shadowfang Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Archmage Arugal.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 4, 0, 3822, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (650, -1, -1, 0, 'Underbog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat The Black Stalker.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 4, 0, 3823, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (733, -1, -1, 732, 'Professional Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become a Master in a profession.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 169, 10, 4, 0, 2846, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (759, -1, -1, 0, 'Average daily quests completed per day', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Average daily quests completed per day', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 133, 0, 4, 65, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 97, 0), + (784, -1, 566, 0, 'Eye of the Storm Domination', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Eye of the Storm 10 times while holding 4 bases.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14803, 10, 4, 0, 2830, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (799, -1, -1, 0, 'Spirit returned to body by shamans', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Spirit returned to body by shamans', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 127, 0, 4, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (859, -1, -1, 0, 'Explore Eversong Woods', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Eversong Woods, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 4, 0, 3537, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (860, -1, -1, 0, 'Explore Azuremyst Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Azuremyst Isle, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 4, 0, 3545, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (866, -1, -1, 0, 'Explore Nagrand', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Nagrand, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14779, 10, 4, 0, 3563, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (876, -1, -1, 875, 'Brutally Dedicated', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win 300 ranked arena matches at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 4, 0, 3595, 'Reward: Tabard of Brute Force', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 1), + (894, -1, -1, 0, 'Flying High Over Skettis', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status within the Sha\'tari Skyguard.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 10, 4, 0, 2422, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (917, -1, -1, 0, 'Total deaths in 10-player raids', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total deaths in 10-player raids', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 125, 0, 4, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (924, -1, -1, 0, 'Most Northrend factions at Exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Most Northrend factions at Exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 147, 0, 4, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (951, -1, -1, 0, 'The Oracles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with the The Oracles.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14866, 10, 4, 0, 1751, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (955, -1, -1, 0, 'Hydraxian Waterlords', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with the Hydraxian Waterlords.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14864, 10, 4, 0, 2134, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1022, 1, -1, 0, 'Flame Warden of Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Honor the flames of Eastern Kingdoms.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 4, 0, 1923, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1066, -1, -1, 0, 'Total times LOL\'d', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total times LOL\'d', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 131, 0, 4, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1071, -1, 547, 0, 'Quagmirran kills (Slave Pens)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Quagmirran kills (Slave Pens)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 4, 1, 2051, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1094, -1, 209, 0, 'Chief Ukorz Sandscalp kills (Zul\'Farrak)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Chief Ukorz Sandscalp kills (Zul\'Farrak)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14821, 5, 4, 1, 1698, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1106, -1, -1, 0, 'Deaths in Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths in Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 124, 0, 4, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1185, -1, -1, 0, 'The Brewfest Diet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Eat 8 of the Brewfest foods listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 162, 10, 4, 0, 2996, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1190, -1, -1, 0, 'Mysteries of the Marsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 54 quests in Zangarmarsh.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14862, 10, 4, 0, 3585, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1202, -1, -1, 0, 'Weapon skills at maximum skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Weapon skills at maximum skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 132, 0, 4, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1255, 1, -1, 0, 'Scrooge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Throw a snowball at King Magni Bronzebeard during the Feast of Winter Veil.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 4, 0, 1665, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 1, 0, 0), + (1266, -1, -1, 0, 'Explore Grizzly Hills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Grizzly Hills, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14780, 10, 4, 0, 3333, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1287, -1, -1, 0, 'Outland Dungeon Hero', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the heroic Burning Crusade dungeon achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 20, 4, 0, 1762, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 1), + (1339, -1, -1, 0, 'Mage portal taken most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Mage portal taken most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 134, 0, 4, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 350, 0), + (1356, 0, -1, 0, 'I\'ve Toured the Fjord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 105 quests in Howling Fjord.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 4, 0, 3337, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1465, -1, -1, 0, 'Emblems of Valor acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Emblems of Valor acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 130, 0, 4, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1490, -1, -1, 0, 'Arena Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Arena Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 137, 0, 4, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 1), + (1505, -1, 576, 0, 'Keristrasza kills (Heroic Nexus)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Keristrasza kills (Heroic Nexus)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 4, 1, 56, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1678, 1, -1, 0, 'Loremaster of Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 700 quests in Kalimdor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14861, 10, 4, 136, 3491, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1699, -1, -1, 0, 'Fistful of Love', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Use a Handful of Rose Petals on each of the race/class combinations listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 4, 0, 1848, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1730, -1, -1, 0, 'Blacksmithing Plans learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Blacksmithing Plans learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 4, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1765, -1, 607, 0, 'Steady Hands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Disarm 5 seaforium charges in a single battle.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 10, 4, 0, 1755, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1792, -1, -1, 0, 'Aw, Isn\'t It Cute?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain one of the Children\'s Week reward pets.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 163, 10, 4, 0, 1588, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 0), + (1976, -1, -1, 0, 'Dalaran Cooking Awards gained', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Dalaran Cooking Awards gained', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 178, 0, 4, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2199, -1, 571, 0, 'Wintergrasp Ranger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 10 players in each of the Wintergrasp areas listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 4, 0, 2945, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 1811874284, 0, 0, 2), + (2397, -1, -1, 0, 'Battleground won the most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Battleground won the most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 4, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 840, 0), + (2797, 1, -1, 0, 'Noble Gardener', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Noblegarden achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 10, 4, 0, 3202, 'Title Reward: the Noble', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2836, -1, -1, 0, 'Lance a Lot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Best a rider of every racial faction at the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 4, 0, 370, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 2), + (2859, -1, 603, 0, 'XT-002 Deconstructor kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'XT-002 Deconstructor kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 4, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2892, -1, 603, 0, 'The Descent into Madness (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Descent into Madness area of Ulduar in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 4, 0, 3848, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2893, -1, 603, 0, 'The Descent into Madness (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Descent into Madness area of Ulduar in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 4, 0, 3848, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (3556, 1, -1, 0, 'Pilgrim\'s Paunch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Acquire the Spirit of Sharing from a complete Bountiful Table feast at every Alliance capital.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14981, 10, 4, 0, 3709, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3846, 1, 628, 0, 'Resource Glut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Isle of Conquest while your team controls the Quarry and Oil Refinery.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 4, 0, 3736, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 0, 0, 2), + (3936, -1, -1, 0, 'Not One, But Two Jormungars (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Acidmaw and Dreadscale within 10 seconds of each other in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15001, 10, 4, 0, 4025, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 1, 0, 2), + (3937, -1, -1, 0, 'Not One, But Two Jormungars (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Acidmaw and Dreadscale within 10 seconds of each other in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15002, 10, 4, 0, 4025, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775148, 1, 0, 2), + (4049, -1, -1, 0, 'Victories over Mage Champion (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over Mage Champion (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 4, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4629, -1, 631, 4528, 'Heroic: The Plagueworks (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Plagueworks in Icecrown Citadel in 10-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 4, 0, 4177, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4633, -1, 631, 4605, 'Heroic: The Plagueworks (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Plagueworks in Icecrown Citadel in 25-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 4, 0, 4177, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4716, -1, -1, 0, 'Devourer of Souls kills (Heroic Forge of Souls)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 4, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (10, -1, -1, 9, 'Level 50', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Reach level 50.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 5, 4, 3272, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (35, 1, -1, 0, 'Might of Dragonblight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 115 quests in Dragonblight.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 5, 0, 3338, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (46, -1, -1, 0, 'World Explorer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Eastern Kingdoms, Kalimdor, Outland and Northrend.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 97, 50, 5, 0, 2759, 'Title Reward: The Explorer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (53, -1, 30, 0, 'Alterac Valley battles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Alterac Valley battles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 5, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (73, -1, 529, 0, 'Disgracin\' The Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Assault 3 bases in a single Arathi Basin battle.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 10, 5, 0, 456, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (94, -1, -1, 0, 'Quests abandoned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Quests abandoned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 133, 0, 5, 1, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (115, -1, -1, 0, 'Deaths from fire and lava', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths from fire and lava', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 126, 0, 5, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (125, -1, -1, 124, 'Grand Master Cook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become a Grand Master Cook.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 5, 0, 1467, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (130, -1, -1, 129, 'Grand Master Fisherman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become a Grand Master Fisherman.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 5, 0, 580, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (135, -1, -1, 134, 'Grand Master in First Aid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become a Grand Master in first aid.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 172, 10, 5, 0, 504, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (189, -1, -1, 0, 'Largest heal cast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Largest heal cast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 141, 0, 5, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (214, -1, 566, 0, 'Flurry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Eye of the Storm in under 6 minutes.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14803, 10, 5, 0, 3386, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (224, 0, 30, 0, 'Loyal Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In Alterac Valley, kill 50 enemy players in the Hall of the Frostwolf.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 10, 5, 0, 3582, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (249, -1, -1, 0, 'Dressed for the Occasion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Discover an Elegant Dress by opening Brightly Colored Eggs during the Noblegarden celebration.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 159, 10, 5, 0, 3713, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (281, -1, -1, 0, 'First Aid skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First Aid skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 178, 0, 5, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (339, -1, -1, 0, 'Mounts owned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Mounts owned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 191, 0, 5, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (353, -1, -1, 0, 'Number of times hearthed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Number of times hearthed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 134, 0, 5, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (365, -1, -1, 0, '3v3 matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '3v3 matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 5, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (382, -1, -1, 0, 'Battleground Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Battleground Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 136, 0, 5, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (464, -1, -1, 0, 'Realm First! Level 80 Priest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First priest on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 5, 256, 1523, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (482, -1, 600, 0, 'Drak\'Tharon Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in Drak\'Tharon Keep.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 5, 0, 3233, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (493, -1, 600, 0, 'Heroic: Drak\'Tharon Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Drak\'Tharon Keep bosses on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 5, 0, 3234, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (507, -1, -1, 506, '1000 Quests Completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 1000 quests.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 5, 0, 3417, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (512, -1, -1, 516, '5000 Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get 5000 honorable kills.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 5, 0, 3459, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (520, -1, -1, 521, '20 Exalted Reputations', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise 20 reputations to Exalted.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 201, 10, 5, 0, 3606, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (566, -1, 533, 0, 'The Plague Quarter (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Plague Quarter of Naxxramas in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 5, 0, 2997, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (567, -1, 533, 0, 'The Plague Quarter (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Plague Quarter of Naxxramas in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 5, 0, 2997, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (609, -1, -1, 608, '50 Coins of Ancestry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Receive 50 Coins of Ancestry.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 160, 10, 5, 0, 2717, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (632, -1, -1, 0, 'Blackfathom Deeps', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Aku\'mai.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 5, 0, 3653, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (651, -1, -1, 0, 'Mana-Tombs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Nexus-Prince Shaffar.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 5, 0, 3666, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (699, -1, -1, 0, 'World Wide Winner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win a ranked arena match in Blade\'s Edge, Nagrand, The Ring of Valor, Dalaran Sewers and the Ruins of Lordaeron at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 5, 0, 535, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (734, -1, -1, 733, 'Professional Grand Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become a Grand Master in a profession.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 169, 10, 5, 0, 2846, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (750, -1, -1, 0, 'Explore The Barrens', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore The Barrens, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 5, 0, 3547, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (779, -1, -1, 0, 'Explore Loch Modan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Loch Modan, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 5, 0, 3558, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (800, -1, -1, 0, 'Redeemed by paladins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Redeemed by paladins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 127, 0, 5, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (865, -1, -1, 0, 'Explore Blade\'s Edge Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Blade\'s Edge Mountains, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14779, 10, 5, 0, 3549, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (872, -1, 489, 0, 'Frenzied Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Return 5 flags in a single Warsong Gulch battle.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 5, 0, 3484, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (896, -1, -1, 0, 'A Quest a Day Keeps the Ogres at Bay', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status within Ogri\'la.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 10, 5, 0, 2448, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (916, -1, -1, 0, 'Total deaths in 25-player raids', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total deaths in 25-player raids', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 125, 0, 5, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (919, -1, -1, 0, 'Gold earned from auctions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gold earned from auctions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 140, 0, 5, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (925, -1, -1, 0, 'Most Outland factions at Exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Most Outland factions at Exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 147, 0, 5, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (952, -1, -1, 0, 'Mercenary of Sholazar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with the The Oracles and the Frenzyheart Tribe.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14866, 10, 5, 0, 229, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (956, -1, -1, 0, 'Brood of Nozdormu', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with the Brood of Nozdormu.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14864, 10, 5, 0, 1701, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (979, -1, -1, 0, 'The Mask Task', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Flimsy Mask during Hallow\'s End.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 5, 0, 2954, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (1023, 1, -1, 0, 'Flame Warden of Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Honor the flames of Kalimdor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 5, 0, 1923, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1045, -1, -1, 0, 'Total cheers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total cheers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 131, 0, 5, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1072, -1, 546, 0, 'Black Stalker kills (Underbog)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Black Stalker kills (Underbog)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 5, 1, 2603, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1095, -1, 230, 0, 'Emperor Dagran Thaurissan kills (Blackrock Depths)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Emperor Dagran Thaurissan kills (Blackrock Depths)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14821, 5, 5, 1, 2302, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1191, 1, -1, 0, 'Terror of Terokkar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 63 quests in Terokkar Forest.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14862, 10, 5, 0, 3586, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1232, -1, 601, 0, 'Anub\'arak kills (Azjol-Nerub)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Anub\'arak kills (Azjol-Nerub)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 5, 1, 1899, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1267, -1, -1, 0, 'Explore Zul\'Drak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Zul\'Drak, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14780, 10, 5, 0, 3334, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1279, 1, -1, 0, 'Flirt With Disaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get completely smashed, put on your best perfume, throw a handful of rose petals on Sraaz and then kiss him. You\'ll regret it in the morning.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 5, 0, 1846, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (1282, -1, -1, 0, 'Fa-la-la-la-Ogri\'la', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Bomb Them Again! quest while mounted on a flying reindeer during the Feast of Winter Veil.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 5, 0, 3700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 1, 0, 1), + (1286, -1, -1, 0, 'Outland Raider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Burning Crusade raid achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 20, 5, 0, 3204, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 1), + (1299, -1, -1, 0, 'Health potion used most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Health potion used most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 5, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 345, 0), + (1491, -1, -1, 0, 'Battleground Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Battleground Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 137, 0, 5, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1500, -1, -1, 0, 'Deaths in Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths in Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 124, 0, 5, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1535, -1, -1, 0, 'Highest Enchanting skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest Enchanting skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 5, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1680, 0, -1, 0, 'Loremaster of Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 685 quests in Kalimdor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14861, 10, 5, 136, 3491, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1737, 1, 571, 0, 'Destruction Derby', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Destroy each of the vehicles listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 5, 0, 3505, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1757, 1, 607, 0, 'Defense of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defend the beach without losing any walls.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 10, 5, 0, 276, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1786, -1, -1, 0, 'School of Hard Knocks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Take your orphan into the battlegrounds and complete the feats listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 163, 10, 5, 0, 1511, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2773, -1, -1, 0, 'It\'s Just a Flesh Wound', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Unmask and defeat the Black Knight at the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 5, 0, 2737, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2796, -1, -1, 0, 'Brew of the Month', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Join the Brew of the Month club.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 162, 10, 5, 0, 3082, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 1), + (2798, 0, -1, 0, 'Noble Gardener', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Noblegarden achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 10, 5, 0, 3202, 'Title Reward: the Noble', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2860, -1, 603, 0, 'Assembly of Iron kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Assembly of Iron kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 5, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2894, -1, -1, 0, 'The Secrets of Ulduar (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat every boss in Ulduar in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 25, 5, 0, 3849, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2895, -1, -1, 0, 'The Secrets of Ulduar (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat every boss in Ulduar in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 25, 5, 0, 3849, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (3018, -1, -1, 0, 'Emblems of Conquest acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Emblems of Conquest acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 130, 0, 5, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3557, 0, -1, 0, 'Pilgrim\'s Paunch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Acquire the Spirit of Sharing from a complete Bountiful Table feast at every Horde capital.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14981, 10, 5, 0, 3709, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3851, 1, 628, 3846, 'Mine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Isle of Conquest while controlling the Quarry, Oil Refinery, Shipyard, Siege Workshop and Hangar.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 5, 0, 4016, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 0, 0, 2), + (3996, -1, -1, 0, 'Three Sixty Pain Spike (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Lord Jaraxxus while at least two Mistresses of Pain are alive in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15001, 10, 5, 0, 1942, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 1, 0, 2), + (3997, -1, -1, 0, 'Three Sixty Pain Spike (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Lord Jaraxxus while at least two Mistresses of Pain are alive in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15002, 10, 5, 0, 1942, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 1, 0, 2), + (4050, -1, -1, 0, 'Victories over Rogue Champion (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over Rogue Champion (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 5, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4529, -1, 631, 0, 'The Crimson Hall (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Crimson Hall in Icecrown Citadel in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 5, 0, 4178, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4606, -1, 631, 0, 'The Crimson Hall (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Crimson Hall in Icecrown Citadel in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 5, 0, 4178, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4717, -1, -1, 0, 'Forgemaster Garfrost kills (Pit of Saron)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 5, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (11, -1, -1, 10, 'Level 60', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Reach level 60.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 6, 4, 3273, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (49, -1, 30, 0, 'Alterac Valley victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Alterac Valley victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 6, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (58, 1, 30, 0, 'Deaths from Drek\'Thar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths from Drek\'Thar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 124, 0, 6, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (137, -1, -1, 0, 'Stocking Up', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Create 500 Heavy Frostweave Bandages.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 172, 10, 6, 0, 2497, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (153, -1, -1, 0, 'The Old Gnome and the Sea', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Successfully fish from a school.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 6, 0, 3694, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (178, -1, -1, 0, 'Enchanting formulae learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Enchanting formulae learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 6, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (206, 1, 489, 0, 'Supreme Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 100 flag carriers in Warsong Gulch.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 6, 0, 3400, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (213, -1, 566, 0, 'Stormtrooper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 5 flag carriers in a single Eye of the Storm battle.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14803, 10, 6, 0, 3401, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (277, -1, -1, 0, '\'Tis the Season', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'During the Feast of Winter Veil, wear 3 pieces of winter clothing and eat Graccu\'s Mince Meat Fruitcake.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 6, 0, 1789, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (284, -1, -1, 0, 'A Mask for All Occasions', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Collect the 20 unique Flimsy Masks listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 20, 6, 0, 2953, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (322, -1, -1, 0, 'Total deaths to Lich King dungeon bosses', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total deaths to Lich King dungeon bosses', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 125, 0, 6, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (329, -1, -1, 0, 'Auctions posted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Auctions posted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 140, 0, 6, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (338, -1, -1, 0, 'Vanity pets owned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Vanity pets owned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 191, 0, 6, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (364, -1, -1, 0, '3v3 victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '3v3 victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 6, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (399, -1, -1, 0, 'Just the Two of Us: 1550', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn a 1550 personal rating in the 2v2 bracket of the arena at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 6, 0, 3039, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (463, -1, -1, 0, 'Realm First! Level 80 Warlock', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First warlock on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 6, 256, 155, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (483, -1, 608, 0, 'The Violet Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Cyanigosa in The Violet Hold.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 6, 0, 3235, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (494, -1, 608, 0, 'Heroic: The Violet Hold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Cyanigosa in The Violet Hold on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 6, 0, 3236, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (508, -1, -1, 507, '1500 Quests Completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 1500 quests.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 6, 0, 3416, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (509, -1, -1, 512, '10000 Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get 10000 honorable kills.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 6, 0, 3462, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (519, -1, -1, 520, '25 Exalted Reputations', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise 25 reputations to Exalted.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 201, 10, 6, 0, 3605, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (568, -1, 533, 0, 'The Military Quarter (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Military Quarter of Naxxramas in 10 player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 6, 0, 2639, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (569, -1, 533, 0, 'The Military Quarter (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Military Quarter of Naxxramas in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 6, 0, 2639, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (626, -1, -1, 0, 'Lunar Festival Finery', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Purchase a festive pant suit or festive dress with Coins of Ancestry.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 160, 10, 6, 0, 2789, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (633, -1, -1, 0, 'Stormwind Stockade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Bazil Thredd.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 6, 0, 3652, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (666, -1, -1, 0, 'Auchenai Crypts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Exarch Maladaar.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 6, 0, 3590, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (735, -1, -1, 0, 'Working Day and Night', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become a Grand Master in two professions.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 169, 10, 6, 0, 162, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 2, 0, 0), + (801, -1, -1, 0, 'Resurrected by soulstones', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Resurrected by soulstones', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 127, 0, 6, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (802, -1, -1, 0, 'Explore Westfall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Westfall, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 6, 0, 3572, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (829, -1, -1, 0, 'Largest heal received', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Largest heal received', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 141, 0, 6, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (843, -1, -1, 0, 'Explore Netherstorm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Netherstorm, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14779, 10, 6, 0, 3564, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (844, -1, -1, 0, 'Explore Darkshore', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Darkshore, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 6, 0, 3553, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (877, -1, -1, 0, 'The Cake Is Not A Lie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Bake a Delicious Chocolate Cake.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 6, 0, 2917, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (897, -1, -1, 0, 'You\'re So Offensive', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with the Shattered Sun Offensive.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 10, 6, 0, 2807, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1007, -1, -1, 0, 'The Wyrmrest Accord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with The Wyrmrest Accord.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14866, 10, 6, 0, 3684, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (1024, 1, 530, 0, 'Flame Warden of Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Honor the flames of Outland.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 6, 0, 1923, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1065, -1, -1, 0, 'Total waves', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total waves', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 131, 0, 6, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1073, -1, 558, 0, 'Exarch Maladaar kills (Auchenai Crypts)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Exarch Maladaar kills (Auchenai Crypts)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 6, 1, 2796, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1097, -1, 329, 0, 'Baron Rivendare kills (Stratholme)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Baron Rivendare kills (Stratholme)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14821, 5, 6, 1, 2718, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1151, 1, 30, 0, 'Loyal Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In Alterac Valley, kill 50 enemy players in the Hall of the Stormpike.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 10, 6, 0, 3582, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1153, -1, -1, 0, 'Overly Defensive', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defend 3 bases in a single Arathi Basin battle.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 10, 6, 0, 3397, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1183, -1, -1, 0, 'Brew of the Year', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Sample 12 beers featured in the Brew of the Month club.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 162, 10, 6, 0, 2535, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1268, -1, -1, 0, 'Explore Sholazar Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Sholazar Basin, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14780, 10, 6, 0, 3335, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1272, 0, -1, 0, 'Terror of Terokkar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 68 quests in Terokkar Forest.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14862, 10, 6, 0, 3586, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 1), + (1280, 0, -1, 0, 'Flirt With Disaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get completely smashed, put on your best perfume, throw a handful of rose petals on Jeremiah Payson and then kiss him. You\'ll regret it in the morning.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 6, 0, 1846, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (1288, -1, -1, 0, 'Northrend Dungeonmaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Northrend dungeon achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 6, 0, 1947, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1300, -1, -1, 0, 'Different health potions used', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Different health potions used', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 6, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 345, 0), + (1359, 0, -1, 0, 'Might of Dragonblight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 130 quests in Dragonblight.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 6, 0, 3338, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1466, 1, -1, 0, 'Most Alliance factions at Exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Most Alliance factions at Exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 147, 0, 6, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1506, -1, 601, 0, 'Anub\'arak kills (Heroic Azjol-Nerub)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Anub\'arak kills (Heroic Azjol-Nerub)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 6, 1, 1899, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1716, -1, -1, 0, 'Battleground with the most Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Battleground with the most Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 137, 0, 6, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 1491, 0), + (1719, -1, -1, 0, 'Battleground with the most Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Battleground with the most Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 136, 0, 6, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 382, 0), + (1748, -1, -1, 0, 'First Aid Manuals learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First Aid Manuals learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 178, 0, 6, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1790, -1, -1, 0, 'Hail To The King, Baby', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat King Ymiron in Utgarde Pinnacle with your orphan out.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 163, 10, 6, 0, 3320, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1793, -1, -1, 0, 'For The Children', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Children\'s Week achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 10, 6, 0, 2523, 'Title Reward: Matron/Patron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2200, 0, 607, 0, 'Defense of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defend the beach without losing any walls.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 10, 6, 0, 276, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2416, -1, -1, 0, 'Hard Boiled', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lay an egg in Un\'Goro Crater\'s Golakka Hot Springs as a rabbit during the Noblegarden celebration.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 159, 10, 6, 0, 3711, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (2476, 0, 571, 0, 'Destruction Derby', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Destroy each of the vehicles listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 6, 0, 3505, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2861, -1, 603, 0, 'Kologarn kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kologarn kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 6, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (3097, -1, 603, 0, 'Dwarfageddon (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Destroy 100 Steelforged Defenders in 10 seconds on the Ulduar gauntlet in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 6, 0, 3779, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (3098, -1, 603, 0, 'Dwarfageddon (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Destroy 100 Steelforged Defenders in 10 seconds on the Ulduar gauntlet in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 6, 0, 3779, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (3580, 1, -1, 0, 'Pilgrim\'s Peril', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'While wearing either a Pilgrim\'s Dress, Robe, or Attire, take a seat at each enemy capital\'s Bountiful Table.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14981, 10, 6, 0, 1703, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3736, -1, -1, 0, 'Pony Up!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Purchase and use an Argent Pony from Dame Evniki Kapsalis, the Crusader\'s Quartermaster.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 6, 0, 1176, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 0, 0, 2), + (3798, -1, -1, 0, 'Resilience Will Fix It (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill all the enemy heroes within 60 seconds of the first one dying in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15001, 10, 6, 0, 4007, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 1, 0, 2), + (3814, -1, -1, 0, 'Resilience Will Fix It (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill all the enemy heroes within 60 seconds of the first one dying in 25-player mode..', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15002, 10, 6, 0, 4007, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 1, 0, 2), + (4051, -1, -1, 0, 'Victories over Rogue Champion (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over Rogue Champion (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 6, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4176, 0, 628, 0, 'Resource Glut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Isle of Conquest while your team controls the Quarry and Oil Refinery.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 6, 0, 3736, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4630, -1, 631, 4529, 'Heroic: The Crimson Hall (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Crimson Hall in Icecrown Citadel in 10-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 6, 0, 4178, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4634, -1, 631, 4606, 'Heroic: The Crimson Hall (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Crimson Hall in Icecrown Citadel in 25-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 6, 0, 4178, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4728, -1, -1, 0, 'Forgemaster Garfrost kills (Heroic Pit of Saron)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 6, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4729, -1, -1, 0, 'Emblems of Triumph acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Emblems of Triumph acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 130, 0, 6, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (12, -1, -1, 11, 'Level 70', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Reach level 70.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 7, 4, 3274, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (32, -1, -1, 508, '2000 Quests Completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 2000 quests.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 7, 0, 3415, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (37, 1, -1, 0, 'Fo\' Grizzle My Shizzle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 85 quests in Grizzly Hills.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 7, 0, 3339, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (55, -1, 529, 0, 'Arathi Basin battles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Arathi Basin battles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 7, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (141, -1, -1, 0, 'Ultimate Triage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Use a Heavy Frostweave Bandage to heal another player or yourself with less than 5% health.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 172, 10, 7, 0, 2741, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (157, -1, 529, 0, 'To The Rescue!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Come to the defense of a base in Arathi Basin 50 times by recapping the flag.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 10, 7, 0, 2205, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (183, -1, -1, 0, 'Materials produced from disenchanting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Materials produced from disenchanting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 7, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (198, -1, -1, 0, 'Total healing done', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total healing done', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 141, 0, 7, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (212, -1, 566, 0, 'Storm Capper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Personally carry and capture the flag in Eye of the Storm.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14803, 10, 7, 0, 3391, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (225, 1, 30, 0, 'Everything Counts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Alterac Valley while your team controls both mines.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 10, 7, 0, 3433, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (239, -1, -1, 509, '25000 Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get 25000 honorable kills.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 7, 0, 3460, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (275, -1, -1, 0, 'Veteran Nanny', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Acquire Egbert\'s Egg, Sleepy Willy, and Elekk Training Collar on one character.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 163, 50, 7, 0, 2525, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (330, -1, -1, 0, 'Auction purchases', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Auction purchases', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 140, 0, 7, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (367, -1, -1, 0, '2v2 matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '2v2 matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 7, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (400, -1, -1, 399, 'Just the Two of Us: 1750', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn a 1750 personal rating in the 2v2 bracket of the arena at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 7, 0, 3038, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (462, -1, -1, 0, 'Realm First! Level 80 Hunter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First hunter on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 7, 256, 2831, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (484, -1, 604, 0, 'Gundrak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in Gundrak.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 7, 0, 3237, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (495, -1, 604, 0, 'Heroic: Gundrak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Gundrak bosses on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 7, 0, 3238, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (518, -1, -1, 519, '30 Exalted Reputations', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise 30 reputations to Exalted.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 201, 10, 7, 0, 3604, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (572, -1, 533, 0, 'Sapphiron\'s Demise (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Sapphiron in Naxxramas in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 7, 0, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (573, -1, 533, 0, 'Sapphiron\'s Demise (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Sapphiron in Naxxramas in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 7, 0, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (593, 0, -1, 0, 'Deaths from Vanndar Stormpike', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths from Vanndar Stormpike', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 124, 0, 7, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (635, -1, -1, 0, 'Razorfen Kraul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Charlga Razorflank.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 7, 0, 3686, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (652, -1, -1, 0, 'The Escape From Durnholde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Epoch Hunter.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 7, 0, 3824, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (730, -1, -1, 0, 'Skills to Pay the Bills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Become a Grand Master in fishing, first aid and cooking.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 169, 10, 7, 0, 1657, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (841, -1, -1, 0, 'Explore Wetlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Wetlands, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 7, 0, 3573, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (861, -1, -1, 0, 'Explore Bloodmyst Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Bloodmyst Isle, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 7, 0, 3551, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (864, -1, -1, 0, 'Explore Shadowmoon Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Shadowmoon Valley, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14779, 10, 7, 0, 3584, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (898, -1, -1, 0, 'On Wings of Nether', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with Netherwing.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 10, 7, 0, 1928, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (906, -1, -1, 0, 'Kickin\' It Up a Notch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete each of The Rokk\'s 4 cooking daily quests listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 7, 0, 2923, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (922, -1, -1, 0, 'Mana potions consumed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Mana potions consumed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 7, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (926, 0, -1, 0, 'Most Horde factions at Exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Most Horde factions at Exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 147, 0, 7, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (928, -1, -1, 0, 'Extra bank slots purchased', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Extra bank slots purchased', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 191, 0, 7, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (933, -1, -1, 0, 'Total 10-player raids entered', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total 10-player raids entered', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 7, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (981, -1, -1, 0, 'That Sparkling Smile', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Show off your sparkling smile by using a Tooth Pick.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 7, 0, 3510, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1008, -1, -1, 0, 'The Kirin Tor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with The Kirin Tor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14866, 10, 7, 0, 3682, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (1034, 1, -1, 0, 'The Fires of Azeroth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Flame Warden of Eastern Kingdoms, Kalimdor and Outland achievements.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 7, 0, 12, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1038, 1, -1, 0, 'The Flame Warden', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Midsummer achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 20, 7, 0, 2974, 'Title Reward: Flame Warden', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1074, -1, 556, 0, 'Talon King Ikiss kills (Sethekk Halls)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Talon King Ikiss kills (Sethekk Halls)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 7, 1, 2378, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1096, -1, 229, 0, 'General Drakkisath kills (Blackrock Spire)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'General Drakkisath kills (Blackrock Spire)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14821, 5, 7, 1, 1551, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1111, -1, -1, 0, '2v2 Arena Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '2v2 Arena Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 136, 0, 7, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1192, 1, -1, 0, 'Nagrand Slam', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 75 quests in Nagrand.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14862, 10, 7, 0, 3563, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1233, -1, 619, 0, 'Herald Volazj kills (Ahn\'kahet: The Old Kingdom)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Herald Volazj kills (Ahn\'kahet: The Old Kingdom)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 7, 1, 1256, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1252, 0, 489, 0, 'Supreme Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 100 flag carriers in Warsong Gulch.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 7, 0, 3400, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (1253, -1, -1, 0, 'Raised as a ghoul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raised as a ghoul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 127, 0, 7, 1, 221, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641390, 0, 0, 0), + (1257, -1, -1, 0, 'The Scavenger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Successfully fish in each of the junk nodes listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 7, 0, 3068, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (1260, -1, -1, 0, 'Drunken Stupor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fall 65 yards without dying while completely smashed during the Brewfest Holiday.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 162, 10, 7, 0, 2402, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 1), + (1281, -1, -1, 0, 'The Rocket\'s Red Glare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Shoot off 10 Red Rocket Clusters in 25 seconds or less.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 160, 10, 7, 0, 2368, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (1289, -1, -1, 0, 'Northrend Dungeon Hero', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the heroic Northrend dungeon achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 20, 7, 0, 857, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1295, -1, -1, 0, 'Crashin\' & Thrashin\'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gain 25 crashes with your Crashin\' Thrashin\' Racer during the Feast of Winter Veil.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 7, 0, 2367, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (1457, -1, -1, 0, 'Explore Crystalsong Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Crystalsong Forest, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14780, 10, 7, 0, 3471, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1492, -1, -1, 0, '2v2 Arena Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '2v2 Arena Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 137, 0, 7, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 1), + (1519, -1, -1, 0, 'Fishing skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fishing skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 178, 0, 7, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1704, -1, -1, 0, 'I Pitied The Fool', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Pity the Love Fool in the locations specified below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 7, 0, 2339, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1723, -1, 571, 0, 'Vehicular Gnomeslaughter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 100 players in Wintergrasp using a vehicle or a cannon.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 7, 136, 2547, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1761, -1, 607, 0, 'The Dapper Sapper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Plant 100 Seaforium charges which successfully damage a wall. ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 10, 7, 0, 2565, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2216, -1, -1, 0, 'Most deadly Lich King dungeon boss', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Most deadly Lich King dungeon boss', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 125, 0, 7, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 322, 2), + (2419, 1, -1, 0, 'Spring Fling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Find your pet Spring Rabbit another one to love in each of the towns listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 159, 10, 7, 0, 3202, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (2777, 1, -1, 0, 'Champion of Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the right to represent Darnassus in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 7, 0, 3801, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2868, -1, 603, 0, 'Auriaya kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Auriaya kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 7, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2905, -1, 603, 0, 'Unbroken (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Flame Leviathan on the first try without anyone repairing their vehicle in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 7, 0, 325, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2906, -1, 603, 0, 'Unbroken (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Flame Leviathan on the first try without anyone repairing their vehicle in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 7, 0, 325, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3581, 0, -1, 0, 'Pilgrim\'s Peril', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'While wearing either a Pilgrim\'s Dress, Robe, or Attire, take a seat at each enemy capital\'s Bountiful Table.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14981, 10, 7, 0, 1704, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3799, -1, -1, 0, 'Salt and Pepper (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Twin Val\'kyr in 3 minutes or less in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15001, 10, 7, 0, 4005, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 1, 0, 2), + (3815, -1, -1, 0, 'Salt and Pepper (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Twin Val\'kyr in 3 minutes or less in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15002, 10, 7, 0, 4005, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 1, 0, 2), + (4052, -1, -1, 0, 'Victories over Shaman Champion (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over Shaman Champion (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 7, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4177, 0, 628, 4176, 'Mine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Isle of Conquest while controlling the Quarry, Oil Refinery, Shipyard, Siege Workshop and Hangar.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 7, 0, 4016, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4527, -1, 631, 0, 'The Frostwing Halls (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Frostwing Halls in Icecrown Citadel in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 7, 0, 4158, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4607, -1, 631, 0, 'The Frostwing Halls (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Frostwing Halls in Icecrown Citadel in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 7, 0, 4158, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4718, -1, -1, 0, 'Ick and Krick kills (Pit of Saron)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 7, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4730, -1, -1, 0, 'Emblems of Frost acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Emblems of Frost acquired', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 130, 0, 7, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0), + (13, -1, -1, 12, 'Level 80', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Reach level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 8, 4, 3275, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (51, -1, 529, 0, 'Arathi Basin victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Arathi Basin victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 8, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (150, -1, -1, 0, 'The Fishing Diplomat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish something up in Orgrimmar and Stormwind.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 8, 0, 2737, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (161, -1, 529, 0, 'Resilient Victory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Overcome a 500 resource disadvantage in a match of Arathi Basin and claim victory.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 10, 8, 0, 3468, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (168, -1, 489, 0, 'Warsong Gulch Perfection', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Warsong Gulch with a score of 3 to 0.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 8, 0, 3485, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (181, -1, -1, 0, 'Items disenchanted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Items disenchanted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 8, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (216, -1, 566, 0, 'Bound for Glory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In a single Eye of the Storm match, capture the flag 3 times without dying.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14803, 10, 8, 0, 2267, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (279, -1, -1, 0, 'Simply Abominable', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the quest to retrieve Smokywood Pastures\' stolen treats and receive a Smokywood Pastures\' Thank You.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 8, 0, 3190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (295, -1, 230, 0, 'Direbrewfest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill Coren Direbrew.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 162, 10, 8, 0, 2788, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (323, -1, -1, 0, 'Total deaths to Lich King 10-player raid bosses', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total deaths to Lich King 10-player raid bosses', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 125, 0, 8, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (331, -1, -1, 0, 'Most expensive bid on auction', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Most expensive bid on auction', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 140, 0, 8, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (366, -1, -1, 0, '2v2 victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '2v2 victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 8, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (401, -1, -1, 400, 'Just the Two of Us: 2000', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn a 2000 personal rating in the 2v2 bracket of the arena at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 8, 0, 3037, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (461, -1, -1, 0, 'Realm First! Level 80 Death Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First death knight on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 8, 256, 2639, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (485, -1, 599, 0, 'Halls of Stone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the boss encounters in Halls of Stone.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 8, 0, 3239, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (496, -1, 599, 0, 'Heroic: Halls of Stone', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the boss encounters in the Halls of Stone on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 8, 0, 3240, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (574, -1, 533, 0, 'Kel\'Thuzad\'s Defeat (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Kel\'Thuzad in Naxxramas in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 8, 0, 1898, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (575, -1, 533, 0, 'Kel\'Thuzad\'s Defeat (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Kel\'Thuzad in Naxxramas in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 8, 0, 1898, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (634, -1, -1, 0, 'Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Mekgineer Thermaplugg.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 8, 0, 3641, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (653, -1, -1, 0, 'Sethekk Halls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Talon King Ikiss.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 8, 0, 3631, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (769, -1, -1, 0, 'Explore Silverpine Forest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Silverpine Forest, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 8, 0, 3576, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (830, -1, -1, 0, 'Total healing received', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total healing received', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 141, 0, 8, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (845, -1, -1, 0, 'Explore Ashenvale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Ashenvale, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 8, 0, 3543, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (869, -1, -1, 239, '50000 Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get 50000 honorable kills.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 8, 0, 3461, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (899, 1, -1, 0, 'Oh My, Kurenai', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with the Kurenai.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 15, 8, 0, 2208, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (931, -1, -1, 0, 'Total factions encountered', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total factions encountered', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 147, 0, 8, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (934, -1, -1, 0, 'Total 25-player raids entered', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total 25-player raids entered', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 8, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (978, -1, -1, 32, '3000 Quests Completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 3000 quests.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 50, 8, 0, 3414, 'Title Reward: The Seeker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1009, -1, -1, 0, 'Knights of the Ebon Blade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with the Knights of the Ebon Blade.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14866, 10, 8, 0, 3683, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (1014, -1, -1, 518, '35 Exalted Reputations', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise 35 reputations to Exalted.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 201, 10, 8, 0, 3603, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1028, 1, -1, 0, 'Extinguishing Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Desecrate the Horde\'s bonfires in Eastern Kingdoms.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 8, 0, 1920, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1039, 0, -1, 0, 'The Flame Keeper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Midsummer achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 20, 8, 0, 2975, 'Title Reward: Flame Keeper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1040, 1, -1, 0, 'Rotten Hallow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Ruin Hallow\'s End for the Horde by completing Sergeant Hartman\'s quests which involve crashing the wickerman festival and cleaning up the stinkbombs from Southshore.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 8, 0, 3480, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1043, -1, -1, 0, 'Greed rolls made on loot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Greed rolls made on loot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 191, 0, 8, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1075, -1, 555, 0, 'Murmur kills (Shadow Labyrinth)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Murmur kills (Shadow Labyrinth)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 8, 1, 2793, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1102, -1, 309, 0, 'Hakkar kills (Zul\'Gurub)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Hakkar kills (Zul\'Gurub)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14821, 5, 8, 1, 2804, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1110, -1, -1, 0, '3v3 Arena Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '3v3 Arena Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 136, 0, 8, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1164, 0, 30, 0, 'Everything Counts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Alterac Valley while your team controls both mines.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 10, 8, 0, 3433, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1269, -1, -1, 0, 'Explore Storm Peaks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Storm Peaks, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14780, 10, 8, 0, 3404, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1273, 0, -1, 0, 'Nagrand Slam', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 87 quests in Nagrand.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14862, 10, 8, 0, 3563, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 1), + (1291, -1, -1, 0, 'Lonely?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Enjoy a Buttermilk Delight with someone in Dalaran at a Romantic Picnic during the Love is in the Air celebration.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 8, 0, 2545, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (1301, -1, -1, 0, 'Mana potion used most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Mana potion used most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 8, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 922, 0), + (1311, -1, 530, 0, 'Medium Rare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill one of the extremely rare and hard to find Outland creatures listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14779, 10, 8, 0, 134, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 1, 0, 1), + (1357, 0, -1, 0, 'Fo\' Grizzle My Shizzle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 75 quests in Grizzly Hills.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 8, 0, 3339, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1493, -1, -1, 0, '3v3 Arena Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '3v3 Arena Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 137, 0, 8, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 1), + (1507, -1, 619, 0, 'Herald Volazj kills (Heroic Ahn\'kahet)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Herald Volazj kills (Heroic Ahn\'kahet)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 8, 1, 1256, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1518, -1, -1, 0, 'Fish caught', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish caught', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 178, 0, 8, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1552, -1, -1, 0, 'Frenzied Firecracker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Shoot off 10 Festival Firecrackers in 30 seconds or less.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 160, 10, 8, 0, 355, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1727, -1, 571, 0, 'Leaning Tower', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Destroy a tower in Wintergrasp.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 8, 0, 2661, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 1, 0, 2), + (1800, -1, -1, 0, 'The Outland Gourmet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Cook each of the Outland cooking recipes listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 8, 0, 3162, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 1), + (2193, -1, 607, 0, 'Explosives Expert', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Plant 5 Seaforium charges which successfully damage a wall in a single battle.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 10, 8, 0, 355, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2497, 0, -1, 0, 'Spring Fling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Find your pet Spring Rabbit another one to love in each of the towns listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 159, 10, 8, 0, 3202, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (2760, 1, -1, 2777, 'Exalted Champion of Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with and the right to represent Darnassus in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 8, 0, 3801, 'Title Reward: of Darnassus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (2862, -1, 603, 0, 'Hodir victories (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Hodir victories (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 8, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2907, -1, 603, 0, 'Three Car Garage (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Flame Leviathan while in each of the following vehicles in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 8, 0, 656, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2908, -1, 603, 0, 'Three Car Garage (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Flame Leviathan while in each of the following vehicles in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 8, 0, 656, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3596, 1, -1, 0, 'Pilgrim\'s Progress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete each of the Pilgrim\'s Bounty dailies.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14981, 10, 8, 0, 3966, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3800, -1, -1, 0, 'The Traitor King (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 40 Swarm Scarabs within 30 seconds in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15001, 10, 8, 0, 4006, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 0, 0, 2), + (3816, -1, -1, 0, 'The Traitor King (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 40 Swarm Scarabs within 30 seconds in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15002, 10, 8, 0, 4006, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 0, 0, 2), + (3838, -1, -1, 0, 'Dungeon & Raid Emblem', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot an Emblem of Heroism, Valor, Conquest, Triumph or Frost.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 8, 8, 1950, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718844, 0, 0, 0), + (3847, -1, 628, 0, 'Four Car Garage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In Isle of Conquest, control the following vehicles:', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 8, 0, 656, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 0, 0, 2), + (4053, -1, -1, 0, 'Victories over Shaman Champion (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over Shaman Champion (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 8, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4631, -1, 631, 4527, 'Heroic: The Frostwing Halls (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Frostwing Halls in Icecrown Citadel in 10-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 8, 0, 4158, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4635, -1, 631, 4607, 'Heroic: The Frostwing Halls (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of The Frostwing Halls in Icecrown Citadel in 25-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 8, 0, 4158, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4719, -1, -1, 0, 'Ick and Krick kills (Heroic Pit of Saron)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 8, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (36, -1, -1, 0, 'The Empire of Zul\'Drak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 100 quests in Zul\'Drak.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 9, 0, 3340, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (54, -1, 566, 0, 'Eye of the Storm battles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Eye of the Storm battles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 9, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (103, -1, -1, 0, 'Circle of Blood matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Circle of Blood matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 9, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (156, -1, 529, 0, 'Territorial Dominance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win 10 Arathi Basin matches while controlling all 5 flags.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 10, 9, 0, 3452, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (201, -1, 489, 0, 'Warsong Expedience', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Warsong Gulch in under 7 minutes.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 9, 0, 3389, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (226, -1, 30, 0, 'The Alterac Blitz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Alterac Valley in 6 minutes.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 20, 9, 0, 3380, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (306, -1, -1, 0, 'Master Angler of Azeroth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win the Booty Bay fishing contest or the Kalu\'ak Fishing Derby.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 20, 9, 0, 577, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (332, -1, -1, 0, 'Most expensive auction sold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Most expensive auction sold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 140, 0, 9, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (460, -1, -1, 0, 'Realm First! Level 80 Mage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First mage on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 9, 256, 2832, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (486, -1, 602, 0, 'Halls of Lightning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in Halls of Lightning.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 9, 0, 3241, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (497, -1, 602, 0, 'Heroic: Halls of Lightning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Halls of Lightning bosses on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 9, 0, 3242, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (576, -1, -1, 0, 'The Fall of Naxxramas (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat every boss in Naxxramas in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 25, 9, 0, 3258, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (577, -1, -1, 0, 'The Fall of Naxxramas (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat every boss in Naxxramas in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 50, 9, 0, 3259, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (587, -1, 566, 0, 'Stormy Assassin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In a single Eye of the Storm battle, get 5 honorable kills at each of the bases.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14803, 10, 9, 0, 2837, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (636, -1, -1, 0, 'Razorfen Downs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Amnennar the Coldbringer.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 9, 0, 3655, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (654, -1, -1, 0, 'Shadow Labyrinth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Murmur.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 9, 0, 3825, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (705, -1, -1, 0, 'Master of Arms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise four weapon skills to 400.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 25, 9, 0, 279, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 4, 0, 0), + (846, -1, -1, 0, 'Explore Thousand Needles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Thousand Needles, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 9, 0, 3580, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (858, -1, -1, 0, 'Explore Ghostlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Ghostlands, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 9, 0, 3540, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (870, -1, -1, 869, '100000 Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get 100000 honorable kills.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 9, 0, 3453, 'Title Reward: Of the Horde or Of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (901, 0, -1, 0, 'Mag\'har of Draenor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with The Mag\'har.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 15, 9, 0, 2208, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (937, -1, -1, 0, 'Elune\'s Blessing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Elune\'s Blessing quest by defeating Omen.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 160, 10, 9, 0, 2821, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (973, -1, -1, 0, '5 Daily Quests Complete', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 5 daily quests.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 9, 0, 3424, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1010, -1, -1, 0, 'Northrend Vanguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gain exalted reputation with the Argent Crusade, Wyrmrest Accord, Kirin Tor and Knights of the Ebon Blade.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14866, 20, 9, 0, 2207, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (1015, -1, -1, 1014, '40 Exalted Reputations', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise 40 reputations to Exalted.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 201, 10, 9, 0, 3602, 'Title Reward: The Exalted', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1029, 1, -1, 0, 'Extinguishing Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Desecrate the Horde\'s bonfires in Kalimdor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 9, 0, 1920, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1041, 0, -1, 0, 'Rotten Hallow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Ruin Hallow\'s End for the Alliance by completing Darkcaller Yanka\'s quests which involve going to Southshore, ruining the kegs with rotten eggs and tossing stinkbombs into the town.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 9, 0, 3480, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1044, -1, -1, 0, 'Need rolls made on loot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Need rolls made on loot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 191, 0, 9, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1076, -1, 269, 0, 'Aeonus kills (Opening of the Dark Portal)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Aeonus kills (Opening of the Dark Portal)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 9, 1, 1699, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1098, -1, 249, 0, 'Onyxia kills (Onyxia\'s Lair)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Onyxia kills (Onyxia\'s Lair)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14821, 5, 9, 1, 1548, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1103, -1, -1, 0, 'Lich King 5-player dungeons completed (final boss killed)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lich King 5-player dungeons completed (final boss killed)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 9, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (1109, -1, -1, 0, '5v5 Arena Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '5v5 Arena Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 136, 0, 9, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1159, -1, -1, 401, 'Just the Two of Us: 2200', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn a 2200 personal rating in the 2v2 bracket of the arena at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 9, 0, 3036, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1186, -1, -1, 0, 'Down With The Dark Iron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defend the Brewfest camp from the Dark Iron attack and complete the quest, "This One Time, When I Was Drunk..."', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 162, 10, 9, 0, 3072, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (1193, -1, -1, 0, 'On the Blade\'s Edge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 86 quests in Blade\'s Edge Mountains.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14862, 10, 9, 0, 3549, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1234, -1, 600, 0, 'The Prophet Tharon\'ja kills (Drak\'Tharon Keep)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'The Prophet Tharon\'ja kills (Drak\'Tharon Keep)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 9, 1, 2912, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1270, -1, -1, 0, 'Explore Icecrown', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Icecrown, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14780, 10, 9, 0, 3473, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1302, -1, -1, 0, 'Different mana potions used', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Different mana potions used', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 9, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 922, 0), + (1312, -1, 530, 1311, 'Bloody Rare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill all of the extremely rare and hard to find Outland creatures listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14779, 25, 9, 0, 134, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 1311, 1), + (1456, -1, -1, 0, 'Fish and other things caught', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish and other things caught', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 178, 0, 9, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1494, -1, -1, 0, '5v5 Arena Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '5v5 Arena Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 137, 0, 9, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 1), + (1544, -1, -1, 0, 'Highest Engineering skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest Engineering skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 9, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1687, -1, -1, 0, 'Let It Snow', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'During the Feast of Winter Veil, use a Handful of Snowflakes on each of the race/class combinations listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 9, 0, 976, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 0), + (1694, -1, -1, 0, 'Lovely Luck Is On Your Side', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Open a Lovely Dress Box and receive a Lovely Black Dress.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 9, 0, 3193, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1751, -1, 571, 0, 'Didn\'t Stand a Chance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 20 mounted players using a tower cannon.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 9, 0, 3434, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1762, 1, 607, 0, 'Not Even a Scratch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win a Strand of the Ancients battle without losing any siege vehicles.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 10, 9, 0, 457, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1777, -1, -1, 0, 'The Northrend Gourmet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Cook 15 of the Northrend recipes listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 9, 0, 3211, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 15, 0, 2), + (2217, -1, -1, 0, 'Most deadly Lich King 10-player raid boss', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Most deadly Lich King 10-player raid boss', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 125, 0, 9, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 323, 2), + (2420, 0, -1, 0, 'Noble Garden', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Hide a Brightly Colored Egg in Silvermoon City.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 159, 10, 9, 0, 3329, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (2778, 1, -1, 0, 'Champion of the Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the right to represent the Exodar in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 9, 0, 3796, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2863, -1, 603, 0, 'Thorim victories (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Thorim victories (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 9, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2909, -1, 603, 0, 'Take Out Those Turrets (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Destroy a Flame Leviathan Defense Turret in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 9, 0, 3854, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2910, -1, 603, 0, 'Take Out Those Turrets (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Destroy a Flame Leviathan Defense Turret in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 9, 0, 2589, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3457, -1, -1, 0, 'The Captain\'s Booty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Drink with the Dread Captain Demeza to join her crew during Pirates\' Day.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 10, 9, 0, 2421, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3597, 0, -1, 0, 'Pilgrim\'s Progress', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete each of the Pilgrim\'s Bounty dailies.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14981, 10, 9, 0, 3966, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3808, -1, -1, 0, 'A Tribute to Skill (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In the Trial of the Grand Crusader, reach a Tribute Chest with at least 25 attempts remaining in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15001, 10, 9, 0, 3293, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 1, 0, 2), + (3817, -1, -1, 0, 'A Tribute to Skill (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In the Trial of the Grand Crusader, reach a Tribute Chest with at least 25 attempts remaining in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15002, 10, 9, 0, 3293, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 1, 0, 2), + (3839, -1, -1, 3838, '25 Dungeon & Raid Emblems', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 25 Emblems of Heroism, Valor, Conquest, Triumph or Frost.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 9, 136, 1950, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 0, 0, 0), + (3848, -1, 628, 0, 'A-bomb-inable', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In a single Isle of Conquest battle, use 5 Seaforium Bombs on the enemy gates.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 9, 0, 2565, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 0, 0, 2), + (4054, -1, -1, 0, 'Victories over Warrior Champion (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over Warrior Champion (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 9, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4530, -1, 631, 0, 'The Frozen Throne (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Lich King in Icecrown Citadel in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 9, 0, 4179, 'Title: The Kingslayer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4597, -1, 631, 0, 'The Frozen Throne (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Lich King in Icecrown Citadel in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 9, 0, 4179, 'Title: The Kingslayer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4720, -1, -1, 0, 'Scourgelord Tyrannus kills (Pit of Saron)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 9, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (16, -1, -1, 0, 'Did Somebody Order a Knuckle Sandwich?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise your unarmed skill to 400.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 10, 0, 1997, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (39, -1, -1, 0, 'Into the Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 75 quests in Sholazar Basin.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 10, 0, 3341, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (50, -1, 566, 0, 'Eye of the Storm victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Eye of the Storm victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 10, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (104, -1, -1, 0, 'Circle of Blood victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Circle of Blood victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 10, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (159, -1, 529, 0, 'Let\'s Get This Done', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Arathi Basin in 6 minutes.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 10, 10, 0, 3383, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (204, -1, 489, 0, 'Ironman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In a single Warsong Gulch battle, carry and capture the flag 3 times without dying.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 10, 0, 3482, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (223, -1, 30, 0, 'The Sickly Gazelle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In Alterac Valley, kill an enemy in the Field of Strife before they dismount.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 10, 10, 0, 3434, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (293, -1, 571, 0, 'Disturbing the Peace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'While wearing 3 pieces of Brewfest clothing, get completely smashed and dance in Dalaran.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 162, 10, 10, 0, 2518, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (324, -1, -1, 0, 'Total deaths to Lich King 25-player raid bosses', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Total deaths to Lich King 25-player raid bosses', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 125, 0, 10, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (402, -1, -1, 0, 'Three\'s Company: 1550', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn a 1550 personal rating in the 3v3 bracket of the arena at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 10, 0, 3050, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (459, -1, -1, 0, 'Realm First! Level 80 Warrior', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First warrior on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 10, 256, 1462, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (487, -1, 578, 0, 'The Oculus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in The Oculus.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 10, 0, 3243, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (498, -1, 578, 0, 'Heroic: The Oculus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat The Oculus bosses on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 10, 0, 3244, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (578, -1, 533, 0, 'The Dedicated Few (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of Naxxramas with less than 9 people in the zone in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 25, 10, 0, 61, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (579, -1, 533, 0, 'The Dedicated Few (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses of Naxxramas with less than 21 people in the zone in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 50, 10, 0, 61, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (637, -1, 189, 0, 'Scarlet Monastery', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Scarlet Crusade within the Scarlet Monastery.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 10, 0, 2792, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (655, -1, -1, 0, 'Opening of the Dark Portal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Aeonus.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 10, 0, 3826, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (726, -1, -1, 0, 'Mr. Pinchy\'s Magical Crawdad Box', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish your way to Mr. Pinchy\'s Magical Crawdad Box.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 10, 0, 2105, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (762, 0, -1, 0, 'Ambassador of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted reputation with 5 home cities.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 201, 10, 10, 0, 3374, 'Title Reward: Ambassador', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (780, -1, -1, 0, 'Explore Redridge Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Redridge Mountains, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 10, 0, 3565, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (847, -1, -1, 0, 'Explore Stonetalon Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Stonetalon Mountains, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 10, 0, 3578, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (902, -1, -1, 0, 'Chief Exalted Officer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with The Consortium.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 10, 10, 0, 2558, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (912, -1, -1, 0, 'Elders of Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Honor the Elders which are located in Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 160, 10, 10, 0, 2218, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (921, -1, -1, 0, 'Gold from vendors', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gold from vendors', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 140, 0, 10, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (923, -1, -1, 0, 'Elixirs consumed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Elixirs consumed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 10, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (974, -1, -1, 973, '50 Daily Quests Complete', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 50 daily quests.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 10, 0, 3425, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1011, 0, -1, 0, 'The Winds of the North', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gain exalted reputation with the Horde Expedition.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14866, 20, 10, 0, 2625, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (1030, 1, -1, 0, 'Extinguishing Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Desecrate the Horde\'s bonfires in Outland.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 10, 0, 1920, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1077, -1, 545, 0, 'Warlord Kalithresh kills (The Steamvault)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Warlord Kalithresh kills (The Steamvault)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 10, 1, 1647, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1099, -1, 409, 0, 'Ragnaros kills (Molten Core)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Ragnaros kills (Molten Core)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14821, 5, 10, 1, 2290, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1104, -1, -1, 0, 'Lich King 10-player raids completed (final boss killed)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lich King 10-player raids completed (final boss killed)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 10, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (1113, -1, -1, 0, 'Alterac Valley Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Alterac Valley Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 136, 0, 10, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1157, -1, -1, 0, 'Duel-icious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win a duel against another player.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 10, 0, 2023, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1194, -1, -1, 0, 'Into the Nether', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 120 quests in Netherstorm.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14862, 10, 10, 0, 3564, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1258, -1, 566, 0, 'Take a Chill Pill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In Eye of the Storm, kill a player who is under the effects of the Berserker power-up.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14803, 10, 10, 0, 3423, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 1), + (1261, -1, -1, 0, 'G.N.E.R.D. Rage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn 50 honorable kills while under the influence of the G.N.E.R.D. buff. It\'s a slap in the face!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 10, 0, 2006, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (1495, -1, -1, 0, 'Alterac Valley Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Alterac Valley Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 137, 0, 10, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1508, -1, 600, 0, 'The Prophet Tharon\'ja kills (Heroic Drak\'Tharon Keep)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'The Prophet Tharon\'ja kills (Heroic Drak\'Tharon Keep)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 10, 1, 2912, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1526, -1, -1, 0, 'Fishing daily quests completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fishing daily quests completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 178, 10, 10, 9, 2736, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1683, 0, -1, 0, 'Brewmaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Brewfest achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 10, 10, 0, 3697, 'Title Reward: Brewmaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1685, 0, -1, 0, 'Bros. Before Ho Ho Ho\'s', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Use Mistletoe on the Horde "Brothers" during the Feast of Winter Veil.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 10, 0, 1793, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1703, -1, -1, 0, 'My Love is Like a Red, Red Rose', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Bouquet of Red or Ebon Roses during the Love is in the Air celebration.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 10, 0, 1937, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 0), + (1734, -1, -1, 0, 'Engineering Schematics learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Engineering Schematics learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 10, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1778, -1, -1, 1777, 'The Northrend Gourmet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Cook 30 of the Northrend recipes listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 10, 0, 3212, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 30, 1777, 2), + (2080, -1, -1, 0, 'Black War Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Black War Mammoth.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 10, 0, 3444, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 2), + (2192, 0, 607, 0, 'Not Even a Scratch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win a Strand of the Ancients battle without losing any siege vehicles.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 10, 10, 0, 457, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2256, -1, -1, 0, 'Northern Exposure', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill one of the extremely rare and hard to find Northrend creatures listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14780, 10, 10, 0, 3637, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 1, 0, 2), + (2421, 1, -1, 0, 'Noble Garden', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Hide a Brightly Colored Egg in Stormwind City.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 159, 10, 10, 0, 3329, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (2761, 1, -1, 2778, 'Exalted Champion of the Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with and the right to represent the Exodar in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 10, 0, 3796, 'Title Reward: of the Exodar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (2864, -1, 603, 0, 'Freya victories (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Freya victories (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 10, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2911, -1, 603, 0, 'Shutout (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Flame Leviathan without causing a System Shutdown in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 10, 0, 3504, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2912, -1, 603, 0, 'Shutout (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Flame Leviathan without causing a System Shutdown in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 10, 0, 3504, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3558, -1, -1, 0, 'Sharing is Caring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Pass one of every dish at a Bountiful Table.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14981, 10, 10, 0, 79, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3809, -1, -1, 3808, 'A Tribute to Mad Skill (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In the Trial of the Grand Crusader, reach a Tribute Chest with at least 45 attempts remaining in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15001, 10, 10, 0, 4008, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 1, 0, 2), + (3818, -1, -1, 3817, 'A Tribute to Mad Skill (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In the Trial of the Grand Crusader, reach a Tribute Chest with at least 45 attempts remaining in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15002, 10, 10, 0, 4008, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 1, 0, 2), + (3840, -1, -1, 3839, '50 Dungeon & Raid Emblems', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 50 Emblems of Heroism, Valor, Conquest, Triumph or Frost.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 10, 136, 1950, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718846, 0, 0, 0), + (3849, -1, 628, 0, 'A-bomb-ination', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In a single Isle of Conquest battle, use 5 Huge Seaforium Bombs on the enemy gates', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 10, 0, 1755, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 0, 0, 2), + (4055, -1, -1, 0, 'Victories over Warrior Champion (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over Warrior Champion (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 10, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4583, -1, 631, 4530, 'Bane of the Fallen King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Lich King in Icecrown Citadel in 10-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 10, 0, 4148, 'Title: Bane of the Fallen King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4584, -1, 631, 4597, 'The Light of Dawn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Lich King in Icecrown Citadel in 25-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 10, 0, 2821, 'Title: the Light of Dawn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4721, -1, -1, 0, 'Scourgelord Tyrannus kills (Heroic Pit of Saron)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 10, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4778, -1, -1, 0, 'Disenchant rolls made on loot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Disenchant rolls made on loot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 191, 0, 10, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0), + (38, -1, -1, 0, 'The Summit of Storm Peaks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 100 quests in Storm Peaks.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 11, 0, 3405, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (162, -1, 529, 0, 'We Had It All Along *cough*', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Arathi Basin by 10 points (1600 to 1590).', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 10, 11, 0, 1876, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (220, 1, 30, 0, 'Stormpike Perfection', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Alterac Valley without losing a tower or captain. You must also control all of the Horde\'s towers.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 20, 11, 0, 2897, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (233, -1, 566, 0, 'Bloodthirsty Berserker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get a killing blow while under the effects of the berserker buff in Eye of the Storm.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14803, 10, 11, 0, 38, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (245, -1, -1, 0, 'That Takes Class', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get an honorable, killing blow on one of each class.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 11, 0, 244, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (291, -1, -1, 0, 'Check Your Head', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Use Weighted Jack-o\'-Lanterns to put pumpkin heads on each of the races listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 11, 0, 2528, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (303, -1, -1, 0, 'Have Keg, Will Travel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Brewfest mount, or transform yours into one using Brewfest Hops.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 162, 10, 11, 0, 354, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (403, -1, -1, 402, 'Three\'s Company: 1750', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn a 1750 personal rating in the 3v3 bracket of the arena at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 11, 0, 3049, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (458, -1, -1, 0, 'Realm First! Level 80 Rogue', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First rogue on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 11, 256, 1834, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (488, -1, 575, 0, 'Utgarde Pinnacle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in Utgarde Pinnacle.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 11, 0, 3245, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (499, -1, 575, 0, 'Heroic: Utgarde Pinnacle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Utgarde Pinnacle bosses on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 11, 0, 3246, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (546, -1, -1, 0, 'Safe Deposit', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Buy 7 additional bank slots.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 11, 0, 2492, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (638, -1, -1, 0, 'Uldaman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Archaedas.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 11, 0, 3656, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (656, -1, -1, 0, 'The Steamvault', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Warlord Kalithresh.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 11, 0, 3657, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (712, 0, -1, 0, 'Warsong Outrider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gain exalted reputation with the Warsong Outriders.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 11, 0, 282, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (778, -1, -1, 0, 'Explore Duskwood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Duskwood, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 11, 0, 3533, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (848, -1, -1, 0, 'Explore Desolace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Desolace, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 11, 0, 3530, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (878, -1, -1, 0, 'One That Didn\'t Get Away', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Catch one of the rare fish in the list below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 11, 0, 2918, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (900, -1, -1, 0, 'The Czar of Sporeggar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with Sporeggar.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 15, 11, 0, 2920, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (911, -1, -1, 0, 'Elders of Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Honor the Elders which are located in Kalimdor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 160, 10, 11, 0, 2218, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (948, 1, -1, 0, 'Ambassador of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted reputation with 5 home cities.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 201, 10, 11, 0, 3375, 'Title Reward: Ambassador', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (975, -1, -1, 974, '200 Daily Quests Complete', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 200 daily quests.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 11, 0, 3426, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1012, 1, -1, 0, 'The Winds of the North', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gain exalted reputation with the Alliance Vanguard.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14866, 20, 11, 0, 2413, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (1035, 1, -1, 0, 'Desecration of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Extinguishing Eastern Kingdoms, Kalimdor and Outland achievements.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 11, 0, 1920, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1078, -1, 540, 0, 'Warchief Kargath Bladefist kills (The Shattered Halls)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Warchief Kargath Bladefist kills (The Shattered Halls)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 11, 1, 1962, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1100, -1, 469, 0, 'Nefarian kills (Blackwing Lair)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Nefarian kills (Blackwing Lair)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14821, 5, 11, 1, 1699, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1114, -1, -1, 0, 'Arathi Basin Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Arathi Basin Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 136, 0, 11, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1146, -1, -1, 0, 'Gold spent on travel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gold spent on travel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 140, 0, 11, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1195, -1, -1, 0, 'Shadow of the Betrayer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 90 quests in Shadowmoon Valley.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14862, 10, 11, 0, 3584, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1235, -1, 608, 0, 'Cyanigosa kills (The Violet Hold)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Cyanigosa kills (The Violet Hold)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 11, 1, 1955, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1303, -1, -1, 0, 'Elixir consumed most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Elixir consumed most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 11, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 923, 0), + (1496, -1, -1, 0, 'Arathi Basin Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Arathi Basin Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 137, 0, 11, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1538, -1, -1, 0, 'Highest Herbalism skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest Herbalism skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 11, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1547, -1, -1, 0, 'Dalaran Sewers matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Dalaran Sewers matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 11, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 1), + (1549, -1, 607, 0, 'Strand of the Ancients battles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775166, 153, 0, 11, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309742, 0, 0, 2), + (1684, 1, -1, 0, 'Brewmaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Brewfest achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 10, 11, 0, 3697, 'Title Reward: Brewmaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1686, 1, -1, 0, 'Bros. Before Ho Ho Ho\'s', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Use Mistletoe on the Alliance "Brothers" during the Feast of Winter Veil.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 11, 0, 1793, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1697, 1, -1, 0, 'Nation of Adoration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Lovely Charm Bracelet daily quest for each Alliance capital.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 11, 0, 3192, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 0), + (1763, -1, 607, 0, 'Artillery Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Destroy 100 vehicles using a turret.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 10, 11, 0, 2244, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1768, -1, -1, 0, 'Lich King 25-player raids completed (final boss killed)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lich King 25-player raids completed (final boss killed)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 11, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1779, -1, -1, 1778, 'The Northrend Gourmet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Cook 45 of the Northrend recipes listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 11, 0, 3213, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 45, 1777, 2), + (1858, -1, 533, 0, 'Arachnophobia (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Maexxna in Naxxramas within 20 minutes of Anub\'Rekhan\'s death in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 11, 0, 3515, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1859, -1, 533, 0, 'Arachnophobia (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill Maexxna in Naxxramas within 20 minutes of Anub\'Rekhan\'s death in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 11, 0, 3515, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2085, -1, -1, 0, '50 Stone Keeper\'s Shards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 50 Stone Keeper\'s Shards.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 11, 0, 3448, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2218, -1, -1, 0, 'Most deadly Lich King 25-player raid boss', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Most deadly Lich King 25-player raid boss', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 125, 0, 11, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 324, 2), + (2257, -1, -1, 2256, 'Frostbitten', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill all of the extremely rare and hard to find Northrend creatures listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14780, 25, 11, 0, 3638, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 2256, 2), + (2422, -1, -1, 0, 'Shake Your Bunny-Maker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Use Spring Flowers to place rabbit ears upon females of at least 18th level.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 159, 10, 11, 0, 1216, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (2779, 1, -1, 0, 'Champion of Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the right to represent the Gnomeregan Exiles in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 11, 0, 3799, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2865, -1, 603, 0, 'Mimiron victories (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Mimiron victories (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 11, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2913, -1, 603, 0, 'Orbital Bombardment (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Flame Leviathan with at least 1 Orbital Defense System active in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 11, 0, 554, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2918, -1, 603, 0, 'Orbital Bombardment (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Flame Leviathan with 1 Orbital Defense System active in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 11, 0, 554, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3582, -1, -1, 0, 'Terokkar Turkey Time', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Talon King Ikiss while wearing a Pilgrim\'s Hat and either a Pilgrim\'s Dress, Robe, or Attire.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14981, 10, 11, 0, 3631, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3810, -1, -1, 3809, 'A Tribute to Insanity (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In the Trial of the Grand Crusader, reach a Tribute Chest with 50 attempts remaining in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15001, 10, 11, 0, 3916, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 0, 0, 2), + (3819, -1, -1, 3818, 'A Tribute to Insanity (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In the Trial of the Grand Crusader, reach a Tribute Chest with 50 attempts remaining in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15002, 10, 11, 0, 3916, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 0, 0, 2), + (3841, -1, -1, 3840, '100 Dungeon & Raid Emblems', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 100 Emblems of Heroism, Valor, Conquest, Triumph or Frost.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 11, 136, 1950, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 0, 0, 0), + (3850, -1, 628, 0, 'Mowed Down', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In Isle of Conquest, destroy 10 vehicles and 100 players with turrets.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 11, 0, 3435, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 0, 0, 2), + (4022, -1, -1, 0, 'Victories over Argent Confessor Paletress (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over Argent Confessor Paletress (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 11, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4532, -1, -1, 0, 'Fall of the Lich King (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat every boss in Icecrown Citadel in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 25, 11, 0, 4157, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4608, -1, -1, 0, 'Fall of the Lich King (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat every boss in Icecrown Citadel in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 25, 11, 0, 4157, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4722, -1, -1, 0, 'Falric kills (Halls of Reflection)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 11, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (40, -1, -1, 0, 'Icecrown: The Final Goal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 140 quests in Icecrown.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 12, 0, 3474, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (211, -1, 566, 0, 'Storm Glory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'While your team holds 4 of the bases in Eye of the Storm, personally grab the flag and capture it.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14803, 10, 12, 0, 3508, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (246, 1, -1, 0, 'Know Thy Enemy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get an honorable, killing blow on five different races.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 12, 0, 245, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (283, -1, -1, 0, 'The Masquerade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get transformed by the Hallowed Wands listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 12, 0, 3513, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (405, -1, -1, 403, 'Three\'s Company: 2000', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn a 2000 personal rating in the 3v3 bracket of the arena at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 12, 0, 3048, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (479, -1, 595, 0, 'The Culling of Stratholme', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in Caverns of Time: Stratholme.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 12, 0, 3248, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (500, -1, 595, 0, 'Heroic: The Culling of Stratholme', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Caverns of Time: Stratholme bosses on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 12, 0, 3249, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (639, -1, 209, 0, 'Zul\'Farrak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Chief Ukorz Sandscalp.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 12, 0, 3687, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (657, -1, -1, 0, 'The Shattered Halls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Warchief Kargath Bladefist.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 12, 0, 3827, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (710, 0, -1, 0, 'The Defiler', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gain exalted reputation with The Forsaken Defilers.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 10, 12, 0, 2847, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (713, 1, -1, 0, 'Silverwing Sentinel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gain exalted reputation with the Silverwing Sentinels.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 12, 0, 131, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (752, -1, -1, 0, 'Deaths in Naxxramas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths in Naxxramas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 125, 0, 12, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (772, -1, -1, 0, 'Explore Hillsbrad Foothills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Hillsbrad Foothills, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 12, 0, 3555, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (850, -1, -1, 0, 'Explore Dustwallow Marsh', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Dustwallow Marsh, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 12, 0, 3534, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (873, 0, 30, 0, 'Frostwolf Perfection', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win Alterac Valley without losing a tower or captain. You must also control all of the Alliance\'s towers.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 20, 12, 0, 2898, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (903, -1, -1, 0, 'Shattrath Divided', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with The Scryers or The Aldor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 10, 12, 0, 2174, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (942, 1, -1, 0, 'The Diplomat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise your reputation level from unfriendly to exalted with Timbermaw Hold, Sporeggar and the Kurenai.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 201, 25, 12, 0, 2737, 'Title Reward: The Diplomat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (976, -1, -1, 975, '500 Daily Quests Complete', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 500 daily quests.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 12, 0, 3427, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1025, 0, -1, 0, 'Flame Keeper of Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Honor the flames of Eastern Kingdoms.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 12, 0, 1923, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1079, -1, 554, 0, 'Pathaleon the Calculator kills (The Mechanar)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Pathaleon the Calculator kills (The Mechanar)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 12, 1, 2529, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1101, -1, 531, 0, 'C\'Thun kills (Temple of Ahn\'Qiraj)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'C\'Thun kills (Temple of Ahn\'Qiraj)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14821, 5, 12, 1, 1826, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1115, -1, -1, 0, 'Warsong Gulch Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Warsong Gulch Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 136, 0, 12, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1147, -1, -1, 0, 'Gold spent at barber shops', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gold spent at barber shops', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 140, 0, 12, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1176, -1, -1, 0, 'Got My Mind On My Money', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 100 gold.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 12, 0, 2992, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1275, -1, -1, 0, 'Bombs Away', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Fires Over Skettis quest in under 2 minutes 15 seconds while not in a group.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14862, 10, 12, 0, 2505, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 1), + (1304, -1, -1, 0, 'Different elixirs used', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Different elixirs used', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 12, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 923, 0), + (1396, -1, 571, 0, 'Elders of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Honor the Elders which are located in Northrend.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 160, 10, 12, 0, 2218, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1404, -1, -1, 0, 'Realm First! Level 80 Gnome', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First gnome on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 12, 256, 3283, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1467, -1, -1, 0, 'Lich King 5-player bosses killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lich King 5-player bosses killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 10, 12, 9, 2813, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1497, -1, -1, 0, 'Warsong Gulch Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Warsong Gulch Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 137, 0, 12, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1509, -1, 608, 0, 'Cyanigosa kills (Heroic Violet Hold)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Cyanigosa kills (Heroic Violet Hold)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 12, 1, 1955, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1539, -1, -1, 0, 'Highest Inscription skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest Inscription skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 12, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1548, -1, -1, 0, 'Dalaran Sewers victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Dalaran Sewers victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 12, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 1), + (1550, -1, 607, 0, 'Strand of the Ancients victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775166, 153, 0, 12, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309742, 0, 0, 2), + (1656, 1, -1, 0, 'Hallowed Be Thy Name', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Hallow\'s End achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 10, 12, 0, 3514, 'Title Reward: The Hallowed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1688, -1, -1, 0, 'The Winter Veil Gourmet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'During the Feast of Winter Veil, use your culinary expertise to produce a Gingerbread Cookie, Egg Nog and Hot Apple Cider.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 12, 0, 3191, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1698, 0, -1, 0, 'Nation of Adoration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Lovely Charm Bracelet daily quest for each Horde capital.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 12, 0, 3192, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 0), + (1836, -1, -1, 0, 'Old Crafty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish up Old Crafty in Orgrimmar.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 12, 0, 2918, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 1, 0, 0), + (1856, -1, 533, 0, 'Make Quick Werk Of Him (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Patchwerk in Naxxramas in 3 minutes or less in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 12, 0, 313, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1857, -1, 533, 0, 'Make Quick Werk Of Him (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill Patchwerk in Naxxramas in 3 minutes or less in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 12, 0, 97, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1998, -1, -1, 0, 'Dalaran Cooking Award', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Dalaran Cooking Award.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 12, 0, 2468, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2082, -1, -1, 0, 'Ice Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain an Ice Mammoth.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14866, 10, 12, 0, 3446, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 2), + (2086, -1, -1, 2085, '100 Stone Keeper\'s Shards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 100 Stone Keeper\'s Shards.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 12, 0, 3448, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2189, -1, 607, 0, 'Artillery Expert', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Destroy 5 vehicles using a turret in a single battle.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 10, 12, 0, 1617, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2436, -1, -1, 0, 'Desert Rose', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Use Spring Robes to plant a flower in each of the deserts listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 159, 10, 12, 0, 3060, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (2762, 1, -1, 2779, 'Exalted Champion of Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with and the right to represent the Gnomeregan Exiles in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 12, 0, 3799, 'Title Reward: of Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (2866, -1, 603, 0, 'General Vezax kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'General Vezax kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 12, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2914, -1, 603, 2913, 'Orbital Devastation (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Flame Leviathan with at least 2 Orbital Defense Systems active in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 12, 0, 287, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2916, -1, 603, 2918, 'Orbital Devastation (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Flame Leviathan with 2 Orbital Defense Systems active in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 12, 0, 287, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3578, -1, -1, 0, 'The Turkinator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Hunt enough Wild Turkeys quickly enough to gain Turkey Triumph.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14981, 10, 12, 0, 2221, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3842, -1, -1, 3841, '250 Dungeon & Raid Emblems', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 250 Emblems of Heroism, Valor, Conquest, Triumph or Frost.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 12, 136, 1950, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718844, 0, 0, 0), + (3852, -1, 628, 0, 'Cut the Blue Wire... No the Red Wire!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In Isle of Conquest, disarm 25 bombs.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 12, 0, 355, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 0, 0, 2), + (4023, -1, -1, 0, 'Victories over Argent Confessor Paletress (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over Argent Confessor Paletress (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 12, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4080, -1, -1, 3810, 'A Tribute to Dedicated Insanity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Meet the criteria for A Tribute to Insanity without any raid member having used an item only obtainable from 25-player Coliseum, or any more powerful item.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15001, 10, 12, 0, 3805, 'Title: Argent Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4636, -1, -1, 4532, 'Heroic: Fall of the Lich King (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat every boss in Icecrown Citadel in 10-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 25, 12, 0, 4157, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4637, -1, -1, 4608, 'Heroic: Fall of the Lich King (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat every boss in Icecrown Citadel in 25-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 25, 12, 0, 4157, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4723, -1, -1, 0, 'Falric kills (Heroic Halls of Reflection)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 12, 5, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (52, -1, 489, 0, 'Warsong Gulch battles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Warsong Gulch battles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 13, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (101, -1, -1, 0, 'Ring of Trials matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Ring of Trials matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 13, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (292, -1, -1, 0, 'Sinister Calling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Sinister Squashling pet and Hallowed Helm.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 13, 0, 3511, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (561, -1, -1, 0, 'D.E.H.T.A\'s Little P.I.T.A.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Uphold D.E.H.T.A\'s beliefs by completing all of the quests up to and including the Assassination of Harold Lane.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 13, 0, 3476, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (582, -1, 30, 0, 'Alterac Valley All-Star', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In a single Alterac Valley battle, assault a graveyard, defend a graveyard, assault a tower, defend a tower and slay someone in the Field of Strife.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 20, 13, 0, 2268, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (640, -1, -1, 0, 'Maraudon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Princess Theradras.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 13, 0, 3689, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (658, -1, -1, 0, 'The Mechanar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Pathaleon the Calculator.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 13, 0, 3688, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (711, 1, -1, 0, 'Knight of Arathor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gain exalted reputation with The League of Arathor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 10, 13, 0, 1934, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (782, -1, -1, 0, 'Explore Swamp of Sorrows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Swamp of Sorrows, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 13, 0, 3569, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (811, -1, -1, 0, 'Flasks consumed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Flasks consumed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 13, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (849, -1, -1, 0, 'Explore Feralas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Feralas, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 13, 0, 3539, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (910, -1, -1, 0, 'Elders of the Dungeons', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Honor the Elders which are located inside the dungeons.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 160, 10, 13, 0, 2218, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (943, 0, -1, 0, 'The Diplomat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise your reputation level from unfriendly to exalted with Timbermaw Hold, Sporeggar and The Mag\'har.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 201, 25, 13, 0, 2737, 'Title Reward: The Diplomat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (958, -1, -1, 0, 'Sworn to the Deathsworn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with the Ashtongue Deathsworn.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 10, 13, 0, 3696, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (977, -1, -1, 976, '1000 Daily Quests Complete', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete 1000 daily quests.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 13, 0, 3428, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1005, 0, -1, 0, 'Know Thy Enemy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get an honorable, killing blow on five different races.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 13, 0, 245, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1026, 0, -1, 0, 'Flame Keeper of Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Honor the flames of Kalimdor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 13, 0, 1923, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1080, -1, 553, 0, 'Warp Splinter kills (The Botanica)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Warp Splinter kills (The Botanica)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 13, 1, 2794, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1112, -1, -1, 0, 'Eye of the Storm Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Eye of the Storm Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 136, 0, 13, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1148, -1, -1, 0, 'Gold spent on postage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gold spent on postage', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 140, 0, 13, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1160, -1, -1, 405, 'Three\'s Company: 2200', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn a 2200 personal rating in the 3v3 bracket of the arena at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 13, 0, 3047, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1171, -1, -1, 0, 'Master of Eye of the Storm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Eye of the Storm achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14803, 25, 13, 0, 1931, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1177, -1, -1, 1176, 'Got My Mind On My Money', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 1,000 gold.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 13, 0, 2802, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1236, -1, 604, 0, 'Gal\'darah kills (Gundrak)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gal\'darah kills (Gundrak)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 13, 1, 2914, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1259, -1, 489, 0, 'Not So Fast', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In Warsong Gulch, kill a player who is under the effects of the speed power-up.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 13, 0, 517, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (1276, -1, -1, 0, 'Blade\'s Edge Bomberman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Bomb Them Again! quest in under 2 minutes 15 seconds while not in a group.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14862, 10, 13, 0, 1696, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 1), + (1405, -1, -1, 0, 'Realm First! Level 80 Blood Elf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First blood elf on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 13, 256, 3323, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1485, -1, -1, 0, 'Lich King 5-player different bosses killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lich King 5-player different bosses killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 13, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 1467, 2), + (1498, -1, -1, 0, 'Eye of the Storm Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Eye of the Storm Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 137, 0, 13, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 1), + (1657, 0, -1, 0, 'Hallowed Be Thy Name', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Hallow\'s End achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 10, 13, 0, 3514, 'Title Reward: The Hallowed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1689, -1, -1, 0, 'He Knows If You\'ve Been Naughty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Open one of the presents underneath the Winter Veil tree once they are available.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 13, 0, 1859, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 1, 0, 0), + (1700, -1, -1, 0, 'Perma-Peddle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a permanent Peddlefeet pet by procuring a Truesilver Shafted Arrow.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 13, 0, 288, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 1, 0, 0), + (1735, -1, -1, 0, 'Inscriptions learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Inscriptions learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 13, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1764, -1, 607, 0, 'Drop it!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 100 players carrying seaforium.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 10, 13, 0, 454, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1837, -1, -1, 0, 'Old Ironjaw', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish up Old Ironjaw in Ironforge.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 13, 0, 1881, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 1, 0, 0), + (1996, -1, 533, 0, 'The Safety Dance (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Heigan the Unclean in Naxxramas without anyone in the raid dying in 10 player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 13, 0, 2116, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1999, -1, -1, 1998, '10 Dalaran Cooking Awards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain 10 Dalaran Cooking Awards.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 13, 0, 2468, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2083, -1, -1, 0, 'Grand Ice Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Grand Ice Mammoth.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14866, 10, 13, 0, 3446, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 2), + (2087, -1, -1, 2086, '250 Stone Keeper\'s Shards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 250 Stone Keeper\'s Shards.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 13, 0, 3448, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2139, -1, 533, 0, 'The Safety Dance (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Heigan the Unclean in Naxxramas without anyone in the raid dying in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 13, 0, 2116, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 2), + (2576, -1, -1, 0, 'Blushing Bride', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kiss someone wearing an Elegant Dress while wearing a White Tuxedo Shirt and Black Tuxedo Pants.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 159, 10, 13, 0, 694, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (2780, 1, -1, 0, 'Champion of Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the right to represent Ironforge in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 13, 0, 3797, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2869, -1, 603, 0, 'Yogg-Saron kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Yogg-Saron kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 13, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2915, -1, 603, 2914, 'Nuked from Orbit (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Flame Leviathan with at least 3 Orbital Defense Systems active in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 13, 0, 3850, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2917, -1, 603, 2916, 'Nuked from Orbit (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Flame Leviathan with 3 Orbital Defense Systems active in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 13, 0, 3850, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3516, -1, -1, 0, 'Deaths in Ulduar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths in Ulduar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 125, 0, 13, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 2), + (3559, -1, -1, 0, 'Turkey Lurkey', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Blast those dirty, sneaking Rogues with your Turkey Shooter.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14981, 10, 13, 0, 3589, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3778, 0, 650, 0, 'Trial of the Champion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in the Trial of the Champion.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 13, 0, 370, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718846, 0, 0, 2), + (3843, -1, -1, 3842, '500 Dungeon & Raid Emblems', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 500 Emblems of Heroism, Valor, Conquest, Triumph or Frost.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 13, 136, 1950, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 0, 0, 0), + (3853, -1, 628, 0, 'All Over the Isle', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In a single Isle of Conquest battle, kill a player at each of the following locations:', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 13, 0, 4017, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718844, 0, 0, 2), + (4024, -1, -1, 0, 'Victories over Eadric the Pure (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over Eadric the Pure (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 13, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4297, 0, 650, 0, 'Heroic: Trial of the Champion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in the Trial of the Champion on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 13, 0, 370, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4534, -1, 631, 0, 'Boned (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Lord Marrowgar without any raid member remaining impaled for more than 8 seconds in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 13, 0, 4159, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4610, -1, 631, 0, 'Boned (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Lord Marrowgar without any raid member remaining impaled for more than 8 seconds in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 13, 0, 4159, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4724, -1, -1, 0, 'Marwyn kills (Halls of Reflection)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 13, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (31, -1, -1, 0, 'A Simple Re-Quest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete a daily quest every day for five consecutive days.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 14, 0, 3481, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (100, -1, -1, 0, 'Ring of Trials victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Ring of Trials victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 14, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (105, -1, -1, 0, 'Warsong Gulch victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Warsong Gulch victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 14, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (110, -1, -1, 0, 'Lich King 5-player boss killed the most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lich King 5-player boss killed the most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 14, 17, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 1467, 2), + (203, 1, 489, 0, 'Not In My House', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In a single Warsong Gulch battle, kill 2 flag carriers before they leave the Silverwing Flag Room.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 14, 0, 3583, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (247, -1, -1, 0, 'Make Love, Not Warcraft', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Emote /hug on a dead enemy before they release corpse.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 14, 0, 1853, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (406, -1, -1, 0, 'High Five: 1550', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn a 1550 personal rating in the 5v5 bracket of the arena at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 14, 0, 3046, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (547, -1, -1, 0, 'Veteran of the Wrathgate', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Dragonblight quests leading up to and including the Return to Angrathar.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 14, 0, 3475, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 2), + (560, -1, -1, 0, 'Deadliest Catch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish up Gahz\'ranka in Zul\'Gurub using the Mudskunk Lure.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 14, 0, 1751, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (583, -1, 529, 0, 'Arathi Basin All-Star', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Assault and Defend 2 bases in a single Arathi Basin match.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 20, 14, 0, 2729, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (641, -1, -1, 0, 'Sunken Temple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Shade of Eranikus.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 14, 0, 3690, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (659, -1, -1, 0, 'The Botanica', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Warp Splinter.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 14, 0, 3642, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (706, 0, -1, 0, 'Frostwolf Howler', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Frostwolf Howler.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 10, 14, 0, 2826, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (765, -1, -1, 0, 'Explore Badlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Badlands, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 14, 0, 3546, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (851, -1, -1, 0, 'Explore Tanaris Desert', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Tanaris Desert, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 14, 0, 3577, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (914, -1, -1, 0, 'Elders of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Honor the Elders which are located in the Horde capital cities.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 160, 10, 14, 0, 2218, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (945, -1, -1, 0, 'The Argent Champion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with the Argent Dawn and the Argent Crusade.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 201, 25, 14, 0, 2139, 'Title Reward: The Argent Champion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (959, -1, -1, 0, 'The Scale of the Sands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with The Scale of the Sands.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 10, 14, 0, 2937, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (965, 0, -1, 0, 'Tricks and Treats of Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Visit the Candy Buckets in Kalimdor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 14, 0, 3509, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1027, 0, 530, 0, 'Flame Keeper of Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Honor the flames of Outland.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 14, 0, 1923, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1081, -1, 552, 0, 'Harbinger Skyriss kills (The Arcatraz)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Harbinger Skyriss kills (The Arcatraz)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 14, 1, 2313, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1150, -1, -1, 0, 'Gold spent on talent tree respecs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gold spent on talent tree respecs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 140, 0, 14, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1178, -1, -1, 1177, 'Got My Mind On My Money', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 5,000 gold.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 14, 0, 2994, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1262, 1, -1, 0, 'Loremaster of Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Outland quest achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14862, 10, 14, 0, 3492, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641390, 0, 0, 1), + (1305, -1, -1, 0, 'Flask consumed most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Flask consumed most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 14, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 811, 0), + (1406, -1, -1, 0, 'Realm First! Level 80 Draenei', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First draenei on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 14, 256, 3324, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1486, -1, -1, 0, 'Strand of the Ancients Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Strand of the Ancients Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 136, 0, 14, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1499, -1, -1, 0, 'Strand of the Ancients Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Strand of the Ancients Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 137, 0, 14, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1510, -1, 604, 0, 'Gal\'darah kills (Heroic Gundrak)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gal\'darah kills (Heroic Gundrak)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 14, 1, 2914, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1540, -1, -1, 0, 'Highest Jewelcrafting skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest Jewelcrafting skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 14, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 1), + (1690, -1, -1, 0, 'A Frosty Shake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'During the Feast of Winter Veil, use your Winter Veil Disguise kit to become a snowman and then dance with another snowman in Dalaran.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 14, 0, 501, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1696, -1, -1, 0, 'The Rocket\'s Pink Glare', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Shoot off 10 Love Rockets in 20 seconds or less.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 14, 0, 3195, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 0), + (1997, -1, -1, 0, 'Momma Said Knock You Out (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Grand Widow Faerlina in Naxxramas without dispelling or preventing frenzy in 10 player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 14, 0, 543, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2000, -1, -1, 1999, '25 Dalaran Cooking Awards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain 25 Dalaran Cooking Awards.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 14, 0, 2468, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2088, -1, -1, 2087, '500 Stone Keeper\'s Shards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 500 Stone Keeper\'s Shards.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 14, 0, 3448, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2140, -1, -1, 0, 'Momma Said Knock You Out (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Grand Widow Faerlina in Naxxramas without dispelling or preventing frenzy in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 14, 0, 543, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 2), + (2190, -1, 607, 0, 'Drop it now!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 5 players carrying seaforium in a single battle.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 10, 14, 0, 2908, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2763, 1, -1, 2780, 'Exalted Champion of Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with and the right to represent Ironforge in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 14, 0, 3797, 'Title Reward: of Ironforge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (2867, -1, 603, 0, 'Algalon the Observer kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Algalon the Observer kills (Ulduar 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 14, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (3056, -1, 603, 2915, 'Orbit-uary (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Flame Leviathan with all 4 Orbital Defense Systems active in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 14, 0, 1521, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (3057, -1, 603, 2917, 'Orbit-uary (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Flame Leviathan with 4 Orbital Defense Systems active in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 14, 0, 1521, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (3456, -1, -1, 0, 'Dead Man\'s Party', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Dance with Catrina to become a skeleton during the Day of the Dead.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 10, 14, 0, 3932, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2029989373, 0, 0, 0), + (3844, -1, -1, 3843, '1000 Dungeon & Raid Emblems', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 1000 Emblems of Heroism, Valor, Conquest, Triumph or Frost.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 14, 136, 1950, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718846, 0, 0, 0), + (3854, -1, -1, 0, 'Back Door Job', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In Isle of Conquest, enter the enemy courtyard while their gates still stand.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 14, 0, 3768, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718844, 0, 0, 2), + (4025, -1, -1, 0, 'Victories over Eadric the Pure (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over Eadric the Pure (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 14, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4296, 1, 650, 0, 'Trial of the Champion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in the Trial of the Champion.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 14, 0, 370, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4298, 1, 650, 0, 'Heroic: Trial of the Champion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in the Trial of the Champion on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 14, 0, 370, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4535, -1, 631, 0, 'Full House (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Lady Deathwhisper with at least five different types of Cultists active at the time of her demise in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 14, 0, 4160, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4598, -1, -1, 0, 'The Ashen Verdict', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with the Ashen Verdict.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14866, 15, 14, 0, 1672, 'Title: Of the Ashen Verdict', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4611, -1, 631, 0, 'Full House (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Lady Deathwhisper with at least five different types of Cultists active at the time of her demise in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 14, 0, 4160, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4725, -1, -1, 0, 'Marwyn kills (Heroic Halls of Reflection)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 14, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4780, -1, -1, 0, 'Deaths in Trial of the Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths in Trial of the Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 125, 0, 14, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (144, -1, -1, 0, 'The Lurker Above', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish up The Lurker Below in Serpentshrine Cavern.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 15, 0, 1734, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (334, -1, -1, 0, 'Most gold ever owned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Most gold ever owned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 140, 0, 15, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (389, -1, -1, 0, 'Gurubashi Arena Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot the Arena Master trinket from the Gurubashi Arena.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 15, 0, 2977, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (407, -1, -1, 406, 'High Five: 1750', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn a 1750 personal rating in the 5v5 bracket of the arena at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 15, 0, 3045, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (584, -1, 529, 0, 'Arathi Basin Assassin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get five honorable kills at each of the bases in a single Arathi Basin battle.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 20, 15, 0, 2285, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (642, -1, -1, 0, 'Blackrock Depths', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Emperor Dagran Thaurissan.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 15, 0, 3662, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (660, -1, -1, 0, 'The Arcatraz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Harbinger Skyriss.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 15, 0, 3659, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (707, 1, -1, 0, 'Stormpike Battle Charger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Stormpike Battle Charger.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 10, 15, 0, 2827, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (781, -1, -1, 0, 'Explore Stranglethorn Vale', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Stranglethorn Vale, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 15, 0, 3568, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (852, -1, -1, 0, 'Explore Azshara', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Azshara, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 15, 0, 3544, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (915, -1, -1, 0, 'Elders of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Honor the Elders which are located in the Alliance capital cities.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 160, 10, 15, 0, 2218, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (941, -1, -1, 0, 'Hemet Nesingwary: The Collected Quests', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Green Hills of Stranglethorn, Hills Like White Elekk and Snows of Northrend achievements.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 15, 0, 2926, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (953, -1, -1, 0, 'Guardian of Cenarius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with the Cenarion Circle and Cenarion Expedition.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 201, 25, 15, 0, 553, 'Title Reward: Guardian of Cenarius', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (960, -1, -1, 0, 'The Violet Eye', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with The Violet Eye.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 10, 15, 0, 1487, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (961, -1, -1, 0, 'Honorary Frenzyheart', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the 8 daily quests for the Frenzyheart listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 15, 0, 3477, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (967, 0, -1, 0, 'Tricks and Treats of Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Visit the Candy Buckets in Eastern Kingdoms.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 15, 0, 2951, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1036, 0, -1, 0, 'The Fires of Azeroth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Flame Keeper of Eastern Kingdoms, Kalimdor and Outland achievements.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 15, 0, 12, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1082, -1, 585, 0, 'Kael\'thas Sunstrider kills (Magister\'s Terrace)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kael\'thas Sunstrider kills (Magister\'s Terrace)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 15, 1, 2787, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1180, -1, -1, 1178, 'Got My Mind On My Money', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 10,000 gold.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 15, 0, 2993, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1188, -1, -1, 0, 'Shafted!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Shoot 10 players with the Silver Shafted Arrow.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 15, 0, 288, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1237, -1, 599, 0, 'Sjonnir the Ironshaper kills (Halls of Stone)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Sjonnir the Ironshaper kills (Halls of Stone)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 15, 1, 2325, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1251, 0, 489, 0, 'Not In My House', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In a single Warsong Gulch battle, kill 2 flag carriers before they leave the Warsong Flag Room.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 15, 0, 3583, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (1274, 0, -1, 0, 'Loremaster of Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Outland quest achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14862, 10, 15, 0, 3492, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 1), + (1306, -1, -1, 0, 'Different flasks consumed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Different flasks consumed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 15, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 811, 0), + (1407, -1, -1, 0, 'Realm First! Level 80 Dwarf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First dwarf on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 15, 256, 3286, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1545, -1, -1, 0, 'Ring of Valor matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Ring of Valor matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 15, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 1), + (1738, -1, -1, 0, 'Jewelcrafting Designs learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Jewelcrafting Designs learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 15, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 1), + (1766, -1, 607, 0, 'Ancient Protector', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 10 players in the Courtyard of the Ancients in a single battle.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 10, 15, 0, 2957, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1770, -1, -1, 0, 'Lich King 10-player bosses killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lich King 10-player bosses killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 15, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2001, -1, -1, 2000, '50 Dalaran Cooking Awards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain 50 Dalaran Cooking Awards.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 15, 0, 2468, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2089, -1, -1, 2088, '1000 Stone Keeper\'s Shards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 1000 Stone Keeper\'s Shards.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 15, 0, 3448, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2178, -1, 533, 0, 'Shocking! (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Thaddius in Naxxramas without anyone in the raid crossing the negative and positive charges in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 15, 0, 1886, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2179, -1, 533, 0, 'Shocking! (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Thaddius in Naxxramas without anyone in the raid crossing the negative and positive charges in 25 player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 15, 0, 1886, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2781, 1, -1, 0, 'Champion of Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the right to represent Stormwind in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 15, 0, 3800, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2872, -1, 603, 0, 'Flame Leviathan kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Flame Leviathan kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 15, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2919, -1, 603, 0, 'A Quick Shave (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Razorscale without allowing her to fly into the air more than once in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 15, 0, 3851, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2921, -1, 603, 0, 'A Quick Shave (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Razorscale without allowing her to fly into the air more than once in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 15, 0, 3851, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3478, 1, -1, 0, 'Pilgrim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Pilgrim\'s Bounty achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 10, 15, 0, 3936, 'Reward: Pilgrim Title & Plump Turkey Pet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (3856, 1, -1, 0, 'Demolition Derby', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Destroy the following vehicles in Isle of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 15, 0, 2306, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 0, 0, 2), + (3876, -1, -1, 3844, '1500 Dungeon & Raid Emblems', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 1500 Emblems of Heroism, Valor, Conquest, Triumph or Frost.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 15, 136, 1950, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718845, 0, 0, 0), + (4026, -1, -1, 0, 'The Black Knight kills (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'The Black Knight kills (Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 15, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4096, -1, 628, 0, 'Isle of Conquest battles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Isle of Conquest battles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 15, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4436, 1, -1, 0, 'BB King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Pelt the enemy leaders listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 15, 0, 393, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 0), + (4516, -1, 632, 0, 'The Forge of Souls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in The Forge of Souls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 15, 0, 4149, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4519, -1, 632, 0, 'Heroic: The Forge of Souls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in The Forge of Souls on Heroic difficulty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 15, 0, 4149, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4536, -1, 631, 0, 'I\'m on a Boat (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Claim victory in the Gunship Battle without any raid member visiting the enemy gunship more than twice in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 15, 0, 4145, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 1, 0, 2), + (4612, -1, 631, 0, 'I\'m on a Boat (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Claim victory in the Gunship Battle without any raid member visiting the enemy gunship more than once in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 15, 0, 4145, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4726, -1, -1, 0, 'Lich King escapes (Halls of Reflection)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 15, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4777, -1, -1, 0, 'Isle of Conquest Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Isle of Conquest Killing Blows', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 137, 0, 15, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4779, -1, -1, 0, 'Isle of Conquest Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Isle of Conquest Honorable Kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 136, 0, 15, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4781, -1, -1, 0, 'Deaths in Icecrown Citadel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deaths in Icecrown Citadel', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 125, 0, 15, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (202, 1, 489, 0, 'Quick Cap', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Grab the flag and capture it in under 75 seconds.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 16, 0, 3483, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (346, -1, -1, 0, 'Beverages consumed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Beverages consumed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 16, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (396, -1, -1, 0, 'Gurubashi Arena Grand Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete Short John Mithril\'s quest to obtain the Arena Grand Master trinket.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 16, 0, 2555, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (404, -1, -1, 407, 'High Five: 2000', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn a 2000 personal rating in the 5v5 bracket of the arena at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 16, 0, 3044, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (643, -1, -1, 0, 'Lower Blackrock Spire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Overlord Wyrmthalak.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 16, 0, 3650, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (661, -1, -1, 0, 'Magister\'s Terrace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Kael\'thas Sunstrider.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 16, 0, 3665, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (708, 0, -1, 0, 'Hero of the Frostwolf Clan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gain exalted reputation with the Frostwolf Clan.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 10, 16, 0, 2828, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (760, -1, -1, 0, 'Explore Alterac Mountains', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Alterac Mountains, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 16, 0, 3541, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (853, -1, -1, 0, 'Explore Felwood', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Felwood, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 16, 0, 3538, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (905, -1, -1, 0, 'Old Man Barlowned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete each of Old Man Barlo\'s 5 fishing daily quests listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 16, 0, 3693, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (962, -1, -1, 0, 'Savior of the Oracles', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the 8 daily quests for the Oracles listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 16, 0, 3478, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (968, 0, -1, 0, 'Tricks and Treats of Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Visit the Candy Buckets in Outland.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 16, 0, 2952, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1031, 0, -1, 0, 'Extinguishing Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Desecrate the Alliance\'s bonfires in Eastern Kingdoms.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 16, 0, 1920, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1083, -1, 532, 0, 'Prince Malchezaar kills (Karazhan)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Prince Malchezaar kills (Karazhan)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 16, 1, 2294, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1169, 1, -1, 0, 'Master of Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Arathi Basin achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 25, 16, 0, 1156, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1181, -1, -1, 1180, 'Got My Mind On My Money', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 25,000 gold.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 16, 0, 2801, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1408, -1, -1, 0, 'Realm First! Level 80 Human', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First human on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 16, 256, 3325, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1511, -1, 599, 0, 'Sjonnir the Ironshaper kills (Heroic Halls of Stone)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Sjonnir the Ironshaper kills (Heroic Halls of Stone)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 16, 1, 2325, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1546, -1, -1, 0, 'Ring of Valor victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Ring of Valor victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 16, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 1), + (1576, -1, -1, 0, 'Of Blood and Anguish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Ring of Blood quests in Nagrand and the Ampitheater of Anguish quests in Zul\'Drak.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 16, 0, 1599, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1638, -1, -1, 0, 'Skyshattered', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Captain Skyshatter in the Dragonmaw race on Netherwing Ledge.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14865, 10, 16, 0, 1928, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 1), + (1702, -1, -1, 0, 'Sweet Tooth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Sample the Love is in the Air candies listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 16, 0, 1855, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1722, -1, 624, 0, 'Archavon the Stone Watcher (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Archavon the Stone Watcher in 10 player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 16, 0, 2351, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1771, -1, -1, 0, 'Lich King 10-player different bosses killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lich King 10-player different bosses killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 16, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 1770, 2), + (1977, -1, -1, 0, 'Dalaran Jewelcrafter\'s Tokens gained', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Dalaran Jewelcrafter\'s Tokens gained', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 16, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2002, -1, -1, 2001, '100 Dalaran Cooking Awards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain 100 Dalaran Cooking Awards.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 16, 0, 2468, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2180, -1, 533, 0, 'Subtraction (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Thaddius in Naxxramas with less than 9 players in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 16, 0, 1885, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2181, -1, 533, 0, 'Subtraction (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Thaddius in Naxxramas with less than 21 players in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 16, 0, 1885, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2191, -1, 607, 0, 'Ancient Courtyard Protector', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 100 players in the Courtyard of the Ancients.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 10, 16, 0, 856, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2764, 1, -1, 2781, 'Exalted Champion of Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with and the right to represent Stormwind in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 16, 0, 3800, 'Title Reward: of Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (2873, -1, 603, 0, 'Razorscale kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Razorscale kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 16, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2923, -1, 603, 0, 'Iron Dwarf, Medium Rare (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat 25 Dark Rune Guardian Dwarves with Razorscale\'s Flame Breath in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 16, 0, 3853, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2924, -1, 603, 0, 'Iron Dwarf, Medium Rare (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat 25 Dark Rune Guardian Dwarves with Razorscale\'s Flame Breath in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 16, 0, 3853, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3656, 0, -1, 0, 'Pilgrim', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Pilgrim\'s Bounty achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 10, 16, 0, 3936, 'Reward: Pilgrim Title & Plump Turkey Pet', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (4027, -1, -1, 0, 'The Black Knight kills (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'The Black Knight kills (Heroic Trial of the Champion)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 16, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4097, -1, -1, 0, 'Isle of Conquest victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Isle of Conquest victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 16, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4256, 0, -1, 0, 'Demolition Derby', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Destroy the following vehicles in Isle of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 16, 0, 2306, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4316, -1, -1, 3876, '2500 Dungeon & Raid Emblems', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot 2500 Emblems of Heroism, Valor, Conquest, Triumph or Frost.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 16, 136, 1950, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0), + (4437, 0, -1, 0, 'BB King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Pelt the enemy leaders listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 156, 10, 16, 0, 393, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 0), + (4517, -1, 658, 0, 'The Pit of Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in The Pit of Saron.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 16, 0, 4150, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4520, -1, 658, 0, 'Heroic: The Pit of Saron', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in The Pit of Saron on Heroic difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 16, 0, 4150, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4537, -1, 631, 0, 'I\'ve Gone and Made a Mess (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Deathbringer before Mark of the Fallen Champion is cast three times in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 16, 0, 4161, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 1, 0, 2), + (4613, -1, 631, 0, 'I\'ve Gone and Made a Mess (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Deathbringer before Mark of the Fallen Champion is cast five times in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 16, 0, 4161, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 1, 0, 2), + (4727, -1, -1, 0, 'Lich King escapes (Heroic Halls of Reflection)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 15062, 0, 16, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (99, -1, -1, 0, 'Ruins of Lordaeron matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Ruins of Lordaeron matches', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 17, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (388, 1, -1, 0, 'City Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 50 enemy players in any of your home cities.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 17, 136, 3574, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (393, -1, -1, 0, 'Alterac Valley towers defended', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Alterac Valley towers defended', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 17, 1, 1243604, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (667, -1, 543, 0, 'Heroic: Hellfire Ramparts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the leaders of Hellfire Ramparts on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 17, 0, 3680, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (709, 1, -1, 0, 'Hero of the Stormpike Guard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gain exalted reputation with the Stormpike Guard.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 10, 17, 0, 2829, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (761, -1, -1, 0, 'Explore Arathi Highlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Arathi Highlands, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 17, 0, 3542, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (854, -1, -1, 0, 'Explore Un\'Goro Crater', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Un\'Goro Crater, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 17, 0, 3588, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (891, -1, -1, 0, 'Giddy Up!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Learn the apprentice riding skill.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 17, 0, 1176, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (938, -1, -1, 0, 'The Snows of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete all of Hemet Nesingwary quests in Northrend up to and including Post-partum Aggression.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 17, 0, 1581, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (971, 0, -1, 0, 'Tricks and Treats of Azeroth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Kalimdor, Eastern Kingdoms and Outland Tricks and Treats achievements.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 20, 17, 0, 1743, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1032, 0, -1, 0, 'Extinguishing Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Desecrate the Alliance\'s bonfires in Kalimdor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 17, 0, 1920, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1084, -1, 568, 0, 'Zul\'jin kills (Zul\'Aman)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Zul\'jin kills (Zul\'Aman)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 17, 1, 2806, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1161, -1, -1, 404, 'High Five: 2200', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn a 2200 personal rating in the 5v5 bracket of the arena at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 17, 0, 3043, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1170, 0, -1, 0, 'Master of Arathi Basin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Arathi Basin achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14802, 25, 17, 0, 1156, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1182, -1, -1, 0, 'The Bread Winner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Make 10,000 gold from quest rewards.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 17, 0, 2995, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1225, -1, 530, 0, 'Outland Angler', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Catch a fish in each of the specific nodes listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 17, 0, 3691, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 1), + (1238, -1, 602, 0, 'Loken kills (Halls of Lightning)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loken kills (Halls of Lightning)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 17, 1, 320, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1307, -1, -1, 0, 'Upper Blackrock Spire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat General Drakkisath.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 17, 0, 3821, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 1, 0, 0), + (1409, -1, -1, 0, 'Realm First! Level 80 Night Elf', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First night elf on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 17, 256, 3288, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1502, 0, 489, 0, 'Quick Cap', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Grab the flag and capture it in under 75 seconds.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 17, 0, 3483, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1536, -1, -1, 0, 'Highest Leatherworking skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest Leatherworking skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 17, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1658, -1, -1, 0, 'Champion of the Frozen Wastes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the dungeon and raid bosses listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 17, 0, 182, 'Title Reward: Champion of the Frozen Wastes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1691, 0, -1, 0, 'Merrymaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Winter Veil achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 10, 17, 0, 3695, 'Title Reward: Merrymaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1721, -1, 624, 0, 'Archavon the Stone Watcher (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Archavon the Stone Watcher in 25 player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 17, 0, 2351, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1772, -1, -1, 0, 'Lich King 10-player boss killed the most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lich King 10-player boss killed the most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 17, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 1770, 2), + (1773, -1, -1, 0, 'Beverage consumed most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Beverage consumed most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 17, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 346, 0), + (1780, -1, -1, 0, 'Second That Emotion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Eat each one of the "emotion" foods listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 17, 0, 1854, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2182, -1, 533, 0, 'Spore Loser (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Loatheb in Naxxramas without killing any spores in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 17, 0, 3099, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2183, -1, 533, 0, 'Spore Loser (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Loatheb in Naxxramas without killing any spores in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 17, 0, 3099, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2194, 1, -1, 0, 'Master of Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Strand of the Ancients achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 25, 17, 0, 3402, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2782, 1, -1, 0, 'Champion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the right to represent every Alliance race\'s faction in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 17, 0, 3807, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2874, -1, 603, 0, 'Ignis the Furnace Master kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Ignis the Furnace Master kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 17, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2925, -1, 603, 0, 'Shattered (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Ignis the Furnace Master after shattering 2 Iron Constructs within 5 seconds in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 17, 0, 976, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2926, -1, 603, 0, 'Shattered (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Ignis the Furnace Master after shattering 2 Iron Constructs within 5 seconds in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 17, 0, 976, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3855, -1, 628, 0, 'Glaive Grave', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In Isle of Conquest, kill 10 players with a Glaive Thrower without dying.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 10, 17, 0, 85, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775164, 0, 0, 2), + (4028, -1, -1, 0, 'Victories over the Beasts of Northrend (Trial of the Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over the Beasts of Northrend (Trial of the Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 17, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4518, -1, 668, 0, 'The Halls of Reflection', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in The Halls of Reflection.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14806, 10, 17, 0, 4151, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4521, -1, 668, 0, 'Heroic: The Halls of Reflection', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the bosses in The Halls of Reflection on Heroic difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 17, 0, 4151, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4538, -1, 631, 0, 'Dances with Oozes (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Rotface without a Big Ooze casting Unstable Ooze Explosion in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 17, 0, 636, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 1, 0, 2), + (4614, -1, 631, 0, 'Dances with Oozes (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Rotface without a Big Ooze casting Unstable Ooze Explosion in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 17, 0, 636, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 1, 0, 2), + (4624, -1, -1, 0, 'Tough Love', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the trio of Crown Chemical Co. apothecaries in Shadowfang Keep.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 187, 10, 17, 0, 1076, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0), + (4639, -1, -1, 0, 'Lord Marrowgar kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lord Marrowgar kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 17, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (102, -1, -1, 0, 'Ruins of Lordaeron victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Ruins of Lordaeron victories', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 18, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (207, -1, 489, 0, 'Save The Day', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill the enemy who is carrying your flag in the opposing team\'s flag room while the opposing team\'s flag is at their base, within their control.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 10, 18, 0, 2119, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (394, -1, -1, 0, 'Alterac Valley towers captured', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Alterac Valley towers captured', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 18, 1, 1243604, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (408, -1, -1, 0, 'Hot Streak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win ten ranked matches in a row at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 18, 0, 11, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (644, -1, 429, 0, 'King of Dire Maul', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat each wing of Dire Maul.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 18, 0, 559, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (668, -1, 542, 0, 'Heroic: The Blood Furnace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Keli\'dan the Breaker on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 18, 0, 3629, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (773, -1, -1, 0, 'Explore The Hinterlands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore The Hinterlands, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 18, 0, 3556, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (855, -1, -1, 0, 'Explore Moonglade', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Moonglade, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 18, 0, 1660, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (889, -1, -1, 891, 'Fast and Furious', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Learn the journeyman riding skill.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 18, 0, 836, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (963, 1, -1, 0, 'Tricks and Treats of Kalimdor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Visit the Candy Buckets in Kalimdor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 18, 0, 3509, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1006, 0, -1, 0, 'City Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 50 enemy players in any of your home cities.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 18, 136, 3575, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1033, 0, -1, 0, 'Extinguishing Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Desecrate the Alliance\'s bonfires in Outland.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 18, 0, 1920, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1085, -1, 565, 0, 'Gruul kills (Gruul\'s Lair)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gruul kills (Gruul\'s Lair)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 18, 1, 2798, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1166, -1, 30, 0, 'To the Looter Go the Spoils', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loot the Autographed Picture of Foror & Tigule in Alterac Valley.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 10, 18, 0, 2990, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1410, -1, -1, 0, 'Realm First! Level 80 Orc', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First orc on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 18, 256, 3289, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1512, -1, 602, 0, 'Loken kills (Heroic Halls of Lightning)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loken kills (Heroic Halls of Lightning)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 18, 1, 320, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1517, -1, 571, 0, 'Northrend Angler', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Catch a fish in each of the specific nodes listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 18, 0, 3692, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1596, -1, -1, 0, 'Guru of Drakuru', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the main storyline quests involving Drakuru listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 18, 0, 3479, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1681, 1, -1, 0, 'The Loremaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the quest achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 18, 0, 1644, 'Reward: Title & Loremaster\'s Colors', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1692, 1, -1, 0, 'Merrymaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Winter Veil achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 10, 18, 0, 3695, 'Title Reward: Merrymaker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1740, -1, -1, 0, 'Leatherworking Patterns learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Leatherworking Patterns learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 18, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1756, -1, -1, 0, 'Lich King 25-player bosses killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lich King 25-player bosses killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 18, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1774, -1, -1, 0, 'Different beverages consumed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Different beverages consumed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 18, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 346, 0), + (1781, -1, -1, 0, 'Critter Gitter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Using Critter Bites, coerce 10 critters to be your pet within 3 minutes or less.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 18, 0, 2482, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (1919, -1, 574, 0, 'On The Rocks', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Prince Keleseth in Utgarde Keep on Heroic Difficulty without shattering any Frost Tombs.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 18, 0, 3260, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2136, -1, -1, 0, 'Glory of the Hero', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Heroic Dungeon achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 25, 18, 0, 3494, 'Reward: Red Proto-Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2176, -1, 533, 0, 'And They Would All Go Down Together (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the 4 Horsemen in Naxxramas, ensuring that they all die within 15 seconds of each other in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 18, 0, 3005, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2177, -1, 533, 0, 'And They Would All Go Down Together (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the 4 Horsemen in Naxxramas, ensuring that they all die within 15 seconds of each other in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 18, 0, 3005, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2195, 0, -1, 0, 'Master of Strand of the Ancients', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Strand of the Ancients achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14881, 25, 18, 0, 3402, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2770, 1, -1, 2782, 'Exalted Champion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with and the right to represent every Alliance race\'s faction in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 18, 0, 3807, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2884, -1, 603, 0, 'XT-002 Deconstructor kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'XT-002 Deconstructor kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 18, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2927, -1, 603, 0, 'Hot Pocket (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Survive being thrown into Ignis the Furnace Master\'s Slag Pot in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 18, 0, 31, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2928, -1, 603, 0, 'Hot Pocket (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Survive being thrown into Ignis the Furnace Master\'s Slag Pot in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 18, 0, 31, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3136, -1, 624, 0, 'Emalon the Storm Watcher (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Emalon the Storm Watcher in 10 player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 18, 0, 2350, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (3857, 1, -1, 0, 'Master of Isle of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Isle of Conquest achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 25, 18, 0, 3387, 'Reward: Tabard of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4030, -1, -1, 0, 'Victories over the Beasts of Northrend (Trial of the Grand Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over the Beasts of Northrend (Trial of the Grand Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 18, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4577, -1, 631, 0, 'Flu Shot Shortage (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Festergut while none of the players in your raid group ever had 3 stacks of Inoculated in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 18, 0, 4162, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4615, -1, 631, 0, 'Flu Shot Shortage (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Festergut while none of the players in your raid group ever had 3 stacks of Inoculated in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 18, 0, 4162, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4640, -1, -1, 0, 'Lord Marrowgar kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lord Marrowgar kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 18, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (347, -1, -1, 0, 'Food eaten', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Food eaten', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 19, 9, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (585, -1, -1, 0, 'Eye of the Storm flags captured', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Eye of the Storm flags captured', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 19, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (596, -1, -1, 0, 'Highest 5 man personal rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest 5 man personal rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 19, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (603, 0, -1, 0, 'Wrath of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 5 Alliance players in each of the cities listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 19, 0, 2815, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (645, -1, 289, 0, 'Scholomance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the leaders of Scholomance.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 19, 0, 308, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (669, -1, 547, 0, 'Heroic: The Slave Pens', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Quagmirran on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 19, 0, 3591, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (774, -1, -1, 0, 'Explore Searing Gorge', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Searing Gorge, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 19, 0, 3566, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (856, -1, -1, 0, 'Explore Silithus', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Silithus, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 19, 0, 3567, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (890, -1, -1, 889, 'Into The Wild Blue Yonder', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Learn the expert riding skill.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 19, 0, 2054, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (966, 1, -1, 0, 'Tricks and Treats of Eastern Kingdoms', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Visit the Candy Buckets in Eastern Kingdoms.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 19, 0, 2951, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1037, 0, -1, 0, 'Desecration of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Extinguishing Eastern Kingdoms, Kalimdor and Outland achievements.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 19, 0, 1920, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1086, -1, 544, 0, 'Magtheridon kills (Magtheridon\'s Lair)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Magtheridon kills (Magtheridon\'s Lair)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 19, 1, 2675, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1162, -1, -1, 0, 'Hotter Streak', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win ten ranked matches in a row with a rating above 1800 at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 19, 0, 11, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1167, 1, -1, 0, 'Master of Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Alterac Valley achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 25, 19, 0, 2839, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1172, 1, -1, 0, 'Master of Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Warsong Gulch achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 25, 19, 0, 2835, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1239, -1, 578, 0, 'Ley-Guardian Eregos kills (The Oculus)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Ley-Guardian Eregos kills (The Oculus)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 19, 1, 180, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1277, -1, -1, 0, 'Rapid Defense', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Defending Wyrmrest Temple quest in under 3 minutes while not in a group.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 19, 0, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1411, -1, -1, 0, 'Realm First! Level 80 Tauren', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First tauren on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 19, 256, 3326, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1537, -1, -1, 0, 'Highest Mining skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest Mining skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 19, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1682, 0, -1, 0, 'The Loremaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the quest achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 96, 10, 19, 0, 1644, 'Reward: Title & Loremaster\'s Colors', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1759, -1, -1, 0, 'Lich King 25-player different bosses killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lich King 25-player different bosses killed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 19, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 1756, 2), + (1785, -1, -1, 0, 'Dinner Impossible', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Present a Great Feast in each of the battlegrounds listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 19, 0, 1578, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (2137, -1, -1, 0, 'Glory of the Raider (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the 10-player raid achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 25, 19, 0, 3499, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2144, 1, -1, 0, 'What A Long, Strange Trip It\'s Been', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the world events achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 50, 19, 0, 3500, 'Reward: Violet Proto-Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2146, -1, 533, 0, 'The Hundred Club (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Sapphiron in Naxxramas without any member of the raid having a frost resist value over 100 in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 19, 0, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2147, -1, 533, 0, 'The Hundred Club (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Sapphiron in Naxxramas without any member of the raid having a frost resist value over 100 in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 19, 0, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2150, -1, -1, 0, 'Split Personality', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Grand Magus Telestra in The Nexus on Heroic Difficulty after having killed her images within 5 seconds of each other during both splits.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 19, 0, 3392, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2817, 1, -1, 2770, 'Exalted Argent Champion of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with and the right to represent every Alliance race\'s faction in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 19, 0, 3807, 'Title Reward: Crusader. Unlocks Crusader dailies at the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (2885, -1, 603, 0, 'Assembly of Iron kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Assembly of Iron kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 19, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2929, -1, 603, 0, 'Stokin\' the Furnace (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Ignis the Furnace Master in 4 minutes in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 19, 0, 3855, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2930, -1, 603, 0, 'Stokin\' the Furnace (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Ignis the Furnace Master in 4 minutes in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 19, 0, 3855, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3137, -1, 624, 0, 'Emalon the Storm Watcher (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Emalon the Storm Watcher in 25 player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 19, 0, 2350, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (3217, -1, -1, 0, 'Chasing Marcia', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete each of Marcia Chase\'s 5 fishing daily quests listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 19, 0, 2933, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (3957, 0, -1, 0, 'Master of Isle of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Isle of Conquest achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15003, 25, 19, 0, 3387, 'Reward: Tabard of Conquest', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4031, -1, -1, 0, 'Victories over the Beasts of Northrend (Trial of the Crusader 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over the Beasts of Northrend (Trial of the Crusader 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 19, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4578, -1, 631, 0, 'Nausea, Heartburn, Indigestion... (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Professor Putricide without using Regurgitated Ooze on the Abomination in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 19, 0, 4163, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4616, -1, 631, 0, 'Nausea, Heartburn, Indigestion... (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Professor Putricide without using Regurgitated Ooze on the Abomination in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 19, 0, 4163, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4641, -1, -1, 0, 'Lord Marrowgar kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lord Marrowgar kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 19, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (272, -1, -1, 0, 'Torch Juggler', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Juggle 40 torches in 15 seconds in Dalaran.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 161, 10, 20, 0, 2944, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (395, -1, -1, 0, 'Warsong Gulch flags captured', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Warsong Gulch flags captured', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 20, 1, 1243604, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (409, -1, -1, 0, 'Last Man Standing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Be the sole survivor at the end of a ranked 5v5 match at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 20, 0, 2176, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (595, -1, -1, 0, 'Highest 3 man personal rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest 3 man personal rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 20, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (604, 1, -1, 0, 'Wrath of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 5 Horde players in each of the cities listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 20, 0, 2503, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (646, -1, 329, 0, 'Stratholme', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the evil masterminds inhabiting Stratholme.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 20, 0, 2718, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (670, -1, 546, 0, 'Heroic: Underbog', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat The Black Stalker on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 20, 0, 3823, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (766, -1, -1, 0, 'Explore Blasted Lands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Blasted Lands, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 20, 0, 3550, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (857, -1, -1, 0, 'Explore Winterspring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Winterspring, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14778, 10, 20, 0, 3587, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (892, -1, -1, 890, 'The Right Stuff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Learn the artisan riding skill.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 20, 0, 2055, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (969, 1, -1, 0, 'Tricks and Treats of Outland', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Visit the Candy Buckets in Outland.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 10, 20, 0, 2952, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1087, -1, 548, 0, 'Lady Vashj kills (Serpentshrine Cavern)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lady Vashj kills (Serpentshrine Cavern)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 20, 1, 2379, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1168, 0, -1, 0, 'Master of Alterac Valley', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Alterac Valley achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14801, 25, 20, 0, 2839, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1173, 0, -1, 0, 'Master of Warsong Gulch', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Warsong Gulch achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14804, 25, 20, 0, 2835, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1243, -1, -1, 0, 'Fish Don\'t Leave Footprints', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Learn the ability to find fish.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 20, 0, 3701, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2097086958, 0, 0, 0), + (1412, -1, -1, 0, 'Realm First! Level 80 Troll', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First troll on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 20, 256, 3291, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1428, -1, -1, 0, 'Mine Sweeper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get caught in 10 consecutive land mine explosions in the Sparksocket Minefield without landing.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 20, 0, 1755, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1513, -1, 578, 0, 'Ley-Guardian Eregos kills (Heroic Oculus)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Ley-Guardian Eregos kills (Heroic Oculus)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 20, 1, 180, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1760, -1, -1, 0, 'Lich King 25-player boss killed the most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lich King 25-player boss killed the most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 20, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 1756, 2), + (1775, -1, -1, 0, 'Different foods eaten', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Different foods eaten', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 20, 33, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 347, 0), + (1795, -1, -1, 0, 'Lunch Lady', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Learn 25 cooking recipes.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 20, 0, 2353, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2036, -1, 576, 0, 'Intense Cold', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Keristrasza in The Nexus on Heroic Difficulty without allowing Intense Cold to reach more than two stacks.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 20, 0, 2965, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2138, -1, -1, 0, 'Glory of the Raider (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the 25-player raid achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 25, 20, 0, 2044, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2145, 0, -1, 0, 'What A Long, Strange Trip It\'s Been', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the world events achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 155, 50, 20, 0, 3500, 'Reward: Violet Proto-Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2184, -1, 533, 0, 'Just Can\'t Get Enough (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Kel\'Thuzad in Naxxramas while killing at least 18 abominations in his chamber in 10 player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 20, 0, 2623, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2185, -1, 533, 0, 'Just Can\'t Get Enough (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Kel\'Thuzad in Naxxramas while killing at least 18 abominations in his chamber in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 20, 0, 2623, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2783, 0, -1, 0, 'Champion of Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the right to represent Orgrimmar in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 20, 0, 3802, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2875, -1, 603, 0, 'Kologarn kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kologarn kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 20, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2931, -1, 603, 0, 'Nerf Engineering (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat XT-002 Deconstructor without him recovering any health from XS-013 in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 20, 0, 3857, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2932, -1, 603, 0, 'Nerf Engineering (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat XT-002 Deconstructor without him recovering any health from XS-013 Scrapbots in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 20, 0, 3857, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3216, -1, -1, 0, 'Smelting Recipes learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Smelting Recipes learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 20, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 0, 0), + (3836, -1, 624, 0, 'Koralon the Flame Watcher (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Koralon the Flame Watcher in 10 player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 20, 0, 2019, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 0, 0, 2), + (4029, -1, -1, 0, 'Victories over the Beasts of Northrend (Trial of the Grand Crusader 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over the Beasts of Northrend (Trial of the Grand Crusader 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 20, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4582, -1, 631, 0, 'The Orb Whisperer (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Blood Council without anyone in the raid taking more than 23,000 spell damage in a single hit in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 20, 0, 4164, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4617, -1, 631, 0, 'The Orb Whisperer (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Blood Council without anyone in the raid taking more than 25,000 spell damage in a single hit in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 20, 0, 4164, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4642, -1, -1, 0, 'Lord Marrowgar kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lord Marrowgar kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 20, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (41, 1, -1, 0, 'Loremaster of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Northrend quest achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 21, 0, 3493, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (370, -1, -1, 0, 'Highest 2 man personal rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest 2 man personal rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 21, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (586, -1, -1, 0, 'Warsong Gulch flags returned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Warsong Gulch flags returned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 153, 0, 21, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (610, 1, 1, 0, 'Death to the Warchief!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill Thrall.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 21, 0, 3660, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (671, -1, 557, 0, 'Heroic: Mana-Tombs', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Nexus-Prince Shaffar on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 21, 0, 3666, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (688, -1, -1, 0, 'Zul\'Gurub', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Hakkar.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 21, 0, 3651, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (775, -1, -1, 0, 'Explore Burning Steppes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Burning Steppes, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 21, 0, 3552, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (964, -1, -1, 0, 'Going Down?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fall 65 yards without dying.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 21, 0, 2901, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (970, 1, -1, 0, 'Tricks and Treats of Azeroth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Kalimdor, Eastern Kingdoms and Outland Tricks and Treats achievements.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 158, 20, 21, 0, 1743, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1088, -1, 550, 0, 'Kael\'thas Sunstrider kills (Tempest Keep)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kael\'thas Sunstrider kills (Tempest Keep)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 21, 1, 2800, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1240, -1, 575, 0, 'King Ymiron kills (Utgarde Pinnacle)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'King Ymiron kills (Utgarde Pinnacle)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 21, 1, 2885, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1413, -1, -1, 0, 'Realm First! Level 80 Forsaken', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First forsaken on the realm to achieve level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 21, 256, 3292, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1541, -1, -1, 0, 'Highest Skinning skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest Skinning skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 21, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1776, -1, -1, 0, 'Food eaten most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Food eaten most', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 21, 17, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 347, 0), + (1796, -1, -1, 1795, 'Short Order Cook', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Learn 50 cooking recipes.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 21, 0, 1788, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2037, -1, 576, 0, 'Chaos Theory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Anomalus in The Nexus on Heroic Difficulty without destroying any Chaotic Rifts.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 21, 0, 3392, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2090, -1, -1, 0, 'Challenger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the Challenger title in an arena season at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 21, 0, 3596, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 1, 0, 1), + (2094, -1, 571, 0, 'A Penny For Your Thoughts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish up the copper coins listed below from the Dalaran fountain.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 21, 0, 3451, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 0, 0), + (2186, -1, 533, 0, 'The Immortal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Within one raid lockout period, defeat every boss in Naxxramas without allowing any raid member to die during any of the boss encounters in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 21, 0, 2143, 'Title Reward: The Immortal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 2), + (2187, -1, 533, 0, 'The Undying', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Within one raid lockout period, defeat every boss in Naxxramas without allowing any raid member to die during any of the boss encounters in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 21, 0, 2292, 'Title Reward: The Undying', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 1, 0, 2), + (2765, 0, -1, 2783, 'Exalted Champion of Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with and the right to represent Orgrimmar in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 21, 0, 3802, 'Title Reward: of Orgrimmar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (2882, -1, 603, 0, 'Auriaya kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Auriaya kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 21, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2933, -1, 603, 0, 'Nerf Scrapbots (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat 20 XS-013 Scrapbots within 12 seconds using XE-321 Boombots in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 21, 0, 2565, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2935, -1, 603, 0, 'Nerf Scrapbots (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat 20 XS-013 Scrapbots within 12 seconds using XE-321 Boombots in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 21, 0, 2565, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2957, -1, -1, 0, 'Glory of the Ulduar Raider (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the 10-player raid achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 25, 21, 0, 3876, 'Reward: Rusted Proto-Drake ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (3837, -1, 624, 0, 'Koralon the Flame Watcher (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Koralon the Flame Watcher in 25 player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 21, 0, 2019, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 0, 0, 2), + (4032, -1, -1, 0, 'Lord Jaraxxus kills (Trial of the Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lord Jaraxxus kills (Trial of the Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 21, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4456, -1, -1, 0, 'Random Lich King (normal) dungeons completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'LFG random Lich King normal dungeons completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 21, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4539, -1, 603, 0, 'Once Bitten, Twice Shy (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Blood-Queen Lana\'thel once as a vampire and again without becoming a vampire in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 21, 0, 4165, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4618, -1, 631, 0, 'Once Bitten, Twice Shy (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Blood-Queen Lana\'thel once as a vampire and again without becoming a vampire in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 21, 0, 4165, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4643, -1, -1, 0, 'Lady Deathwhisper kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lady Deathwhisper kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 21, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (545, -1, -1, 0, 'Shave and a Haircut', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Visit a Barber Shop and get your hair cut.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 22, 0, 2766, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (589, -1, -1, 0, 'Highest 5 man team rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest 5 man team rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 22, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (611, 1, 1, 0, 'Bleeding Bloodhoof', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill Cairne Bloodhoof.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 22, 0, 3669, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (622, -1, 616, 0, 'The Spellweaver\'s Downfall (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Malygos in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 22, 0, 3256, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (623, -1, 616, 0, 'The Spellweaver\'s Downfall (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Malygos in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 25, 22, 0, 3257, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (672, -1, 558, 0, 'Heroic: Auchenai Crypts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Exarch Maladaar on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 22, 0, 3590, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (689, -1, -1, 0, 'Ruins of Ahn\'Qiraj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Ossirian the Unscarred.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 22, 0, 3681, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (777, -1, -1, 0, 'Explore Deadwind Pass', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Deadwind Pass, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 22, 0, 3529, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (812, -1, -1, 0, 'Healthstones used', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Healthstones used', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 145, 0, 22, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1089, -1, 564, 0, 'Illidan Stormrage kills (The Black Temple)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Illidan Stormrage kills (The Black Temple)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 22, 1, 2596, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1296, -1, 601, 0, 'Watch Him Die', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Krik\'thir the Gatewatcher in Azjol-Nerub on Heroic Difficulty while Watcher Gashra, Watcher Narji, and Watcher Silthik are still alive.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 22, 0, 3250, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1360, 0, -1, 0, 'Loremaster of Northrend', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Northrend quest achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14863, 10, 22, 0, 3493, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1415, -1, -1, 0, 'Realm First! Grand Master Alchemist', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First person on the realm to achieve 450 skill in alchemy.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 22, 256, 339, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1514, -1, 575, 0, 'King Ymiron kills (Heroic Utgarde Pinnacle)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'King Ymiron kills (Heroic Utgarde Pinnacle)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 22, 1, 2885, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1542, -1, -1, 0, 'Highest Tailoring skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest Tailoring skill', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 22, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1797, -1, -1, 1796, 'Chef de Partie', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Learn 75 cooking recipes.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 22, 0, 2485, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2093, -1, -1, 0, 'Rival', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the Rival title in an arena season at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 22, 0, 3597, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 1, 0, 1), + (2095, -1, 571, 0, 'Silver in the City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish up the silver coins listed below from the Dalaran fountain.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 22, 0, 3450, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 0, 0), + (2784, 0, -1, 0, 'Champion of Sen\'jin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the right to represent Sen\'jin in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 22, 0, 3804, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2934, -1, 603, 0, 'Nerf Gravity Bombs (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat XT-002 Deconstructor without any raid member dying from a Gravity Bomb in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 22, 0, 1755, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2936, -1, 603, 0, 'Nerf Gravity Bombs (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat XT-002 Deconstructor without any raid member dying from a Gravity Bomb in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 22, 0, 1755, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2958, -1, -1, 0, 'Glory of the Ulduar Raider (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the 25-player raid achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 25, 22, 0, 3877, 'Reward: Ironbound Proto-Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (3256, -1, 603, 0, 'Hodir victories (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Hodir victories (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 22, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 150971388, 0, 0, 2), + (4033, -1, -1, 0, 'Lord Jaraxxus kills (Trial of the Grand Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lord Jaraxxus kills (Trial of the Grand Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 22, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4556, -1, -1, 0, 'Random Lich King (heroic) dungeons completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'LFG random Lich King heroic dungeons completed', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14807, 0, 22, 9, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4579, -1, 631, 0, 'Portal Jockey (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Enter every portal spawned by Valithria Dreamwalker before healing her to full health in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 22, 0, 3690, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4585, -1, 624, 0, 'Toravon the Ice Watcher (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Toravon the Ice Watcher in 10 player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 22, 0, 681, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4619, -1, 631, 0, 'Portal Jockey (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Enter every portal spawned by Valithria Dreamwalker before healing her to full health in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 22, 0, 3690, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4654, -1, -1, 0, 'Lady Deathwhisper kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lady Deathwhisper kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 22, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (590, -1, -1, 0, 'Highest 3 man team rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest 3 man team rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 23, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (612, 1, -1, 0, 'Downing the Dark Lady', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill Lady Sylvanas Windrunner.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 23, 0, 3661, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (673, -1, 560, 0, 'Heroic: The Escape From Durnholde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Epoch Hunter on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 23, 0, 3824, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (686, -1, -1, 0, 'Molten Core', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Ragnaros.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 23, 0, 3819, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (770, -1, -1, 0, 'Explore Western Plaguelands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Western Plaguelands, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 23, 0, 3571, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1017, -1, -1, 0, 'Can I Keep Him?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a companion pet.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 23, 0, 1522, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1090, -1, 580, 0, 'Kil\'jaeden kills (Sunwell Plateau)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kil\'jaeden kills (Sunwell Plateau)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14822, 5, 23, 1, 2807, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1241, -1, 595, 0, 'Mal\'Ganis defeated (Caverns of Time: Stratholme)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Mal\'Ganis defeated (Caverns of Time: Stratholme)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 23, 1, 2413, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 2), + (1297, -1, 601, 0, 'Hadronox Denied', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Hadronox in Azjol-Nerub on Heroic Difficulty before he webs the top doors and prevents more creatures from spawning.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 23, 0, 3251, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (1414, -1, -1, 0, 'Realm First! Grand Master Blacksmith', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First person on the realm to achieve 450 skill in blacksmithing.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 23, 256, 335, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1741, -1, -1, 0, 'Tailoring Patterns learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Tailoring Patterns learned', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 173, 0, 23, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1798, -1, -1, 1797, 'Sous Chef', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Learn 100 cooking recipes.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 23, 0, 3218, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (1874, -1, 616, 0, 'You Don\'t Have An Eternity (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Malygos in 6 minutes or less in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 23, 0, 3256, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1875, -1, 616, 0, 'You Don\'t Have An Eternity (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Malygos in 6 minutes or less in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 23, 0, 3256, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1957, -1, 571, 0, 'There\'s Gold In That There Fountain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish up the gold coins listed below from the Dalaran fountain.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 23, 0, 3328, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2097086956, 0, 0, 0), + (2092, -1, -1, 0, 'Duelist', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the Duelist title in an arena season at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 23, 0, 3598, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 1, 0, 1), + (2766, 0, -1, 2784, 'Exalted Champion of Sen\'jin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with and the right to represent Sen\'jin in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 23, 0, 3804, 'Title Reward: of Sen\'jin', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (2937, -1, 603, 0, 'Must Deconstruct Faster (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat XT-002 Deconstructor in 205 seconds in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 23, 0, 3811, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2938, -1, 603, 0, 'Must Deconstruct Faster (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat XT-002 Deconstructor in 205 seconds in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 23, 0, 3811, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3257, -1, 603, 0, 'Thorim victories (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Thorim victories (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 23, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 150971388, 0, 0, 2), + (4034, -1, -1, 0, 'Lord Jaraxxus kills (Trial of the Crusader 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lord Jaraxxus kills (Trial of the Crusader 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 23, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4580, -1, 631, 0, 'All You Can Eat (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Sindragosa in 10-player mode without any member of your raid receiving more than 5 stacks of Mystic Buffet.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 23, 0, 4166, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4586, -1, 624, 0, 'Toravon the Ice Watcher (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Toravon the Ice Watcher in 25 player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 23, 0, 681, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4602, -1, -1, 0, 'Glory of the Icecrown Raider (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the 10-player raid achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 25, 23, 0, 3203, 'Reward: Bloodbathed Frostbrood Vanquisher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4620, -1, 631, 0, 'All You Can Eat (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Sindragosa in 25-player mode without any member of your raid receiving more than 5 stacks of Mystic Buffet.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 23, 0, 4166, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4655, -1, -1, 0, 'Lady Deathwhisper kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lady Deathwhisper kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 23, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (15, -1, -1, 1017, 'Plenty of Pets', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Collect 15 unique companion pets.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 24, 0, 1522, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (374, -1, -1, 0, 'Highest 2 man team rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Highest 2 man team rating', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 152, 0, 24, 1, 4, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (613, 1, 530, 0, 'Killed in Quel\'Thalas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill Lor\'themar Theron.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 24, 0, 3670, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (674, -1, 556, 0, 'Heroic: Sethekk Halls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Talon King Ikiss on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 24, 0, 3631, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (685, -1, -1, 0, 'Blackwing Lair', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Nefarian.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 24, 0, 3817, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (771, -1, -1, 0, 'Explore Eastern Plaguelands', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Eastern Plaguelands, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 24, 0, 3535, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1416, -1, -1, 0, 'Realm First! Cooking Grand Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First person on the realm to achieve 450 skill in cooking.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 24, 256, 1467, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1515, -1, 595, 0, 'Mal\'Ganis defeated (Heroic CoT: Stratholme)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Mal\'Ganis defeated (Heroic CoT: Stratholme)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 5, 24, 1, 2413, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1752, 1, -1, 0, 'Master of Wintergrasp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Wintergrasp achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 24, 0, 187, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (1799, -1, -1, 1798, 'Chef de Cuisine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Learn 160 cooking recipes.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 24, 0, 3219, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (1860, -1, 601, 0, 'Gotta Go!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Anub\'arak in Azjol-Nerub on Heroic Difficulty in 4 minutes or less.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 24, 0, 3295, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1869, -1, 616, 0, 'A Poke In The Eye (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Malygos with fewer than 9 in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 24, 0, 3304, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 2), + (1870, -1, 616, 0, 'A Poke In The Eye (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Malygos with fewer than 21 in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 24, 0, 3305, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 2), + (1958, -1, -1, 0, 'I Smell A Giant Rat', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish up the Giant Sewer Rat from The Underbelly in Dalaran.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 24, 0, 1781, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2097086956, 1, 0, 0), + (2091, -1, -1, 0, 'Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the Gladiator title in an arena season at level 80.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 10, 24, 0, 3599, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 1, 0, 1), + (2785, 0, -1, 0, 'Champion of Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the right to represent Silvermoon City in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 24, 0, 3795, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3058, -1, 603, 0, 'Heartbreaker (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat XT-002 Deconstructor after destroying his heart in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 24, 0, 3875, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (3059, -1, 603, 0, 'Heartbreaker (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat XT-002 Deconstructor after destroying his heart in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 24, 0, 3875, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (3258, -1, 603, 0, 'Freya victories (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Freya victories (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 24, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 150971388, 0, 0, 2), + (4035, -1, -1, 0, 'Lord Jaraxxus kills (Trial of the Grand Crusader 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lord Jaraxxus kills (Trial of the Grand Crusader 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 24, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4601, -1, 631, 0, 'Been Waiting a Long Time for This (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Allow Necrotic Plague to stack to 30 before defeating the Lich King in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 24, 0, 3141, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4603, -1, -1, 0, 'Glory of the Icecrown Raider (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the 25-player raid achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 25, 24, 0, 4156, 'Reward: Icebound Frostbrood Vanquisher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4621, -1, 631, 0, 'Been Waiting a Long Time for This (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Allow Necrotic Plague to stack to 30 before defeating the Lich King in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 24, 0, 3141, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4656, -1, -1, 0, 'Lady Deathwhisper kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Lady Deathwhisper kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 24, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (614, 1, -1, 0, 'For The Alliance!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Slay the leaders of the Horde.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 20, 25, 0, 1704, 'Reward: Black War Bear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (675, -1, -1, 0, 'Heroic: Shadow Labyrinth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Murmur on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 25, 0, 3825, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (687, -1, -1, 0, 'Temple of Ahn\'Qiraj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat C\'Thun.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 25, 0, 3677, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (868, -1, -1, 0, 'Explore Isle of Quel\'Danas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Isle of Quel\'Danas, revealing the covered areas of the world map.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14777, 10, 25, 0, 3557, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (1174, -1, -1, 0, 'The Arena Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the arena achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 165, 50, 25, 0, 3600, 'Title Reward: Arena Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 1), + (1248, -1, -1, 15, 'Plethora of Pets', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Collect 25 unique companion pets.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 25, 0, 1522, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (1361, -1, 533, 0, 'Anub\'Rekhan kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Anub\'Rekhan kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 25, 1, 1899, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1417, -1, -1, 0, 'Realm First! Grand Master Enchanter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First person on the realm to achieve 450 skill in enchanting.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 25, 256, 578, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1862, -1, 619, 0, 'Volazj\'s Quick Demise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Herald Volazj in Ahn\'kahet on Heroic Difficulty in 2 minutes or less.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 25, 0, 3296, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2148, -1, 616, 0, 'Denyin\' the Scion (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deliver a killing blow to a Scion of Eternity while riding on a hover disk in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 25, 0, 3501, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2149, -1, 616, 0, 'Denyin\' the Scion (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deliver a killing blow to a Scion of Eternity while riding on a hover disk in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 25, 0, 3501, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2767, 0, -1, 2785, 'Exalted Champion of Silvermoon City', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with and the right to represent Silvermoon City in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 25, 0, 3795, 'Title Reward: of Silvermoon', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (2776, 0, -1, 0, 'Master of Wintergrasp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Wintergrasp achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14901, 10, 25, 0, 187, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4244570604, 0, 0, 2), + (2879, -1, 603, 0, 'Mimiron victories (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Mimiron victories (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 25, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2939, -1, 603, 0, 'I Choose You, Runemaster Molgeim (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Assembly of Iron with Runemaster Molgeim as the last member alive in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 25, 0, 3858, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2942, -1, 603, 0, 'I Choose You, Runemaster Molgeim (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Assembly of Iron with Runemaster Molgeim as the last member alive in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 25, 0, 3858, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3218, -1, -1, 0, 'Turtles All the Way Down', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish up a Sea Turtle mount from any fishing pool in Northrend.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 25, 0, 3890, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 1, 0, 0), + (3296, -1, -1, 0, 'Cooking with Style', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Chef\'s Hat.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 25, 0, 3678, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (4036, -1, -1, 0, 'Victories over the Faction Champions (Trial of the Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over the Faction Champions (Trial of the Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 25, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4476, -1, -1, 0, 'Looking For More', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Use the Dungeon Finder tool to finish random heroic dungeons until you have grouped with 10 random players total.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 25, 0, 3168, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0), + (4581, -1, 631, 0, 'Neck-Deep in Vile (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill every Vile Spirit that spawns before it explodes and then defeat the Lich King in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15041, 10, 25, 0, 3789, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4622, -1, 631, 0, 'Neck-Deep in Vile (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill every Vile Spirit that spawns before it explodes and then defeat the Lich King in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15042, 10, 25, 0, 3789, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4644, -1, -1, 0, 'Gunship Battle victories (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gunship Battle victories (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 25, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (615, 0, 0, 0, 'Storming Stormwind', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill King Varian Wrynn.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 26, 0, 3671, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (676, -1, 269, 0, 'Heroic: Opening of the Dark Portal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Aeonus on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 26, 0, 3826, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1250, -1, -1, 1248, 'Shop Smart, Shop Pet...Smart', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Collect 50 unique companion pets.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 26, 0, 1522, 'Reward: Reeking Pet Carrier', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1372, -1, 533, 0, 'Gluth kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gluth kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 26, 1, 97, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1418, -1, -1, 0, 'Realm First! Grand Master Engineer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First person on the realm to achieve 450 skill in engineering.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 26, 256, 333, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1556, -1, -1, 0, '25 Fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish up 25 items.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 26, 0, 3179, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1801, -1, -1, 0, 'Captain Rumsey\'s Lager', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Brew up some of Captain Rumsey\'s Lager.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 26, 0, 1513, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (2038, -1, 619, 0, 'Respect Your Elders', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Elder Nadox in Ahn\'kahet on Heroic Difficulty without killing any Ahn\'kahar Guardians.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 26, 0, 3393, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2047, -1, 615, 0, 'Gonna Go When the Volcano Blows (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Sartharion the Onyx Guardian without getting hit by Lava Strike in 10 player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 26, 0, 3087, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2048, -1, 615, 0, 'Gonna Go When the Volcano Blows (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Sartharion the Onyx Guardian without getting hit by Lava Strike in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 26, 0, 3087, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2188, -1, 229, 0, 'Leeeeeeeeeeeeeroy!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 50 rookery whelps within 15 seconds.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14808, 10, 26, 0, 3495, 'Title: Jenkins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2786, 0, -1, 0, 'Champion of Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the right to represent Thunder Bluff in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 26, 0, 3803, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2880, -1, 603, 0, 'General Vezax kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'General Vezax kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 26, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2940, -1, 603, 0, 'I Choose You, Stormcaller Brundir (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Assembly of Iron with Stormcaller Brundir as the last member alive in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 26, 0, 3858, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2943, -1, 603, 0, 'I Choose You, Stormcaller Brundir (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Assembly of Iron with Stormcaller Brundir as the last member alive in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 26, 0, 3858, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4037, -1, -1, 0, 'Victories over the Faction Champions (Trial of the Grand Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over the Faction Champions (Trial of the Grand Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 26, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4477, -1, -1, 4476, 'Looking For Many', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Use the Dungeon Finder tool to finish random heroic dungeons until you have grouped with 50 random players total.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 26, 0, 3049, 'Title: the Patient', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (4659, -1, -1, 0, 'Gunship Battle victories (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gunship Battle victories (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 26, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (616, 0, 0, 0, 'Death to the King!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill King Magni Bronzebeard.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 27, 0, 3672, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (677, -1, -1, 0, 'Heroic: The Steamvault', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Warlord Kalithresh on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 27, 0, 3657, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (1366, -1, 533, 0, 'Gothik the Harvester kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gothik the Harvester kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 27, 1, 2639, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1419, -1, -1, 0, 'Realm First! First Aid Grand Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First person on the realm to achieve 450 skill in first aid.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 27, 256, 504, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1557, -1, -1, 1556, '50 Fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish up 50 items.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 27, 0, 3179, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1782, 1, -1, 0, 'Our Daily Bread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete each of the cooking daily quests offered by Katherine Lee in Dalaran.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 27, 0, 259, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (2049, -1, 615, 0, 'Twilight Assist (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'With at least one Twilight Drake still alive, engage and defeat Sartharion the Onyx Guardian in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 27, 0, 3252, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2052, -1, 615, 0, 'Twilight Assist (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'With at least one Twilight Drake still alive, engage and defeat Sartharion the Onyx Guardian in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 27, 0, 3252, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (2056, -1, 619, 0, 'Volunteer Work', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Jedoga Shadowseeker in Ahn\'kahet on Heroic Difficulty without killing any Twilight Volunteers.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 27, 0, 3436, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2516, -1, -1, 1250, 'Lil\' Game Hunter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Collect 75 unique companion pets.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 27, 0, 1522, 'Reward: Little Fawn\'s Salt Lick', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2768, 0, -1, 2786, 'Exalted Champion of Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with and the right to represent Thunder Bluff in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 27, 0, 3803, 'Title Reward: of Thunder Bluff', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (2883, -1, 603, 0, 'Yogg-Saron kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Yogg-Saron kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 27, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2941, -1, 603, 0, 'I Choose You, Steelbreaker (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Assembly of Iron with Steelbreaker as the last member alive in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 27, 0, 3858, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2944, -1, 603, 0, 'I Choose You, Steelbreaker (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Assembly of Iron with Steelbreaker as the last member alive in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 27, 0, 3858, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4038, -1, -1, 0, 'Victories over the Faction Champions (Trial of the Crusader 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over the Faction Champions (Trial of the Crusader 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 27, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4478, -1, -1, 4477, 'Looking For Multitudes', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Use the Dungeon Finder tool to finish random heroic dungeons until you have grouped with 100 random players total.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 168, 10, 27, 0, 4007, 'Reward: Perky Pug', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (4660, -1, -1, 0, 'Gunship Battle victories (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gunship Battle victories (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 27, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (617, 0, 1, 0, 'Immortal No More', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill High Priestess Tyrande Whisperwind.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 28, 0, 3673, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (621, -1, -1, 0, 'Represent', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Equip a tabard.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 28, 0, 2637, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (678, -1, -1, 0, 'Heroic: The Shattered Halls', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Warchief Kargath Bladefist on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 28, 0, 3827, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (1362, -1, 533, 0, 'Grand Widow Faerlina kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Grand Widow Faerlina kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 28, 1, 1899, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1420, -1, -1, 0, 'Realm First! Grand Master Angler', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First person on the realm to achieve 450 skill in fishing.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 28, 256, 580, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1558, -1, -1, 1557, '100 Fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish up 100 items.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 28, 0, 3179, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1783, 0, -1, 0, 'Our Daily Bread', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete each of the cooking daily quests offered by Awilo Lon\'gomba in Dalaran.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 28, 0, 259, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (2050, -1, 615, 0, 'Twilight Duo (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'With at least two Twilight Drakes still alive, engage and defeat Sartharion the Onyx Guardian in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 28, 0, 3252, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2053, -1, 615, 0, 'Twilight Duo (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'With at least two Twilight Drakes still alive, engage and defeat Sartharion the Onyx Guardian in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 28, 0, 3252, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2151, -1, 600, 0, 'Consumption Junction', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Trollgore in Drak\'Tharon Keep on Heroic Difficulty before Consume reaches ten stacks.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 28, 0, 3502, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2787, 0, -1, 0, 'Champion of the Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the right to represent the Undercity in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 28, 0, 3798, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2881, -1, 603, 0, 'Algalon the Observer kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Algalon the Observer kills (Ulduar 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 28, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2945, -1, 603, 0, 'But I\'m On Your Side (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Assembly of Iron while under the effect of an Iron Boot Flask in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 28, 0, 1763, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 2), + (2946, -1, 603, 0, 'But I\'m On Your Side (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Assembly of Iron while under the effect of an Iron Boot Flask in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 28, 0, 1763, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 2), + (4039, -1, -1, 0, 'Victories over the Faction Champions (Trial of the Grand Crusader 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over the Faction Champions (25-player Trial of the Grand Crusader)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 28, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4661, -1, -1, 0, 'Gunship Battle victories (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gunship Battle victories (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 28, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (618, 0, 530, 0, 'Putting Out the Light', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill Prophet Velen.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 29, 0, 3674, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (679, -1, 554, 0, 'Heroic: The Mechanar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Pathaleon the Calculator on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 29, 0, 3688, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1020, -1, -1, 621, 'Ten Tabards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Equip 10 unique tabards.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 29, 160, 2637, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 10, 621, 0), + (1371, -1, 533, 0, 'Grobbulus kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Grobbulus kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 29, 1, 97, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1421, -1, -1, 0, 'Realm First! Grand Master Herbalist', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First person on the realm to achieve 450 skill in herbalism.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 29, 256, 345, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1559, -1, -1, 1558, '250 Fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish up 250 items.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 29, 0, 3179, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1563, 1, -1, 0, 'Hail to the Chef', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the cooking achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 29, 0, 3678, 'Title Reward: Chef', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2039, -1, 600, 0, 'Better Off Dred', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Engage King Dred in Drak\'Tharon Keep on Heroic Difficulty and slay 6 Drakkari Gutrippers or Drakkari Scytheclaw during his defeat.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 29, 0, 3313, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2051, -1, 615, 0, 'The Twilight Zone (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'With all three Twilight Drakes still alive, engage and defeat Sartharion the Onyx Guardian in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 29, 0, 3252, 'Title Reward: Of the Nightfall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (2054, -1, 615, 0, 'The Twilight Zone (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'With all three Twilight Drakes still alive, engage and defeat Sartharion the Onyx Guardian in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 29, 0, 3252, 'Title Reward: Twilight Vanquisher', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (2769, 0, -1, 2787, 'Exalted Champion of the Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with and the right to represent the Undercity in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 29, 0, 3798, 'Title Reward: of the Undercity', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (2870, -1, 624, 0, 'Emalon the Storm Watcher kills (Wintergrasp 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Emalon the Storm Watcher kills (Wintergrasp 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 29, 1, 187, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2947, -1, 603, 0, 'Can\'t Do That While Stunned (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Assembly of Iron without allowing Stormcaller Brundir to damage anyone with Chain Lightning or Lightning Whirl in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 29, 0, 320, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 2), + (2948, -1, 603, 0, 'Can\'t Do That While Stunned (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Assembly of Iron without allowing Stormcaller Brundir to damage anyone with Chain Lightning or Lightning Whirl in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 29, 0, 320, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 2), + (4040, -1, -1, 0, 'Val\'kyr Twins kills (Trial of the Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Val\'kyr Twins kills (Trial of the Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 29, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4645, -1, -1, 0, 'Deathbringer kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deathbringer kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 29, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (619, 0, -1, 0, 'For The Horde!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Slay the leaders of the Alliance.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 20, 30, 0, 1703, 'Reward: Black War Bear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (680, -1, 553, 0, 'Heroic: The Botanica', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Warp Splinter on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 30, 0, 3642, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1021, -1, -1, 1020, 'Twenty-Five Tabards', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Equip 25 unique tabards.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 30, 160, 3040, 'Reward: Tabard of the Achiever', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 25, 621, 0), + (1369, -1, 533, 0, 'Heigan the Unclean kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Heigan the Unclean kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 30, 1, 2997, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1422, -1, -1, 0, 'Realm First! Grand Master Scribe', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First person on the realm to achieve 450 skill in inscription.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 30, 256, 2557, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (1560, -1, -1, 1559, '500 Fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish up 500 items.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 30, 0, 3179, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1784, 0, -1, 0, 'Hail to the Chef', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the cooking achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 170, 10, 30, 0, 3678, 'Title Reward: Chef', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2057, -1, 600, 0, 'Oh Novos!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Novos the Summoner in Drak\'Tharon Keep on Heroic Difficulty without allowing any undead minions to reach the floor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 30, 0, 2718, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2788, 0, -1, 0, 'Champion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn the right to represent every Horde race\'s faction in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 30, 0, 3806, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2951, -1, 603, 0, 'With Open Arms (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Kologarn without destroying either of his arms in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 30, 0, 3859, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2952, -1, 603, 0, 'With Open Arms (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Kologarn without destroying either of his arms in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 30, 0, 3859, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3236, -1, 624, 0, 'Emalon the Storm Watcher kills (Wintergrasp 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Emalon the Storm Watcher kills (Wintergrasp 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14963, 10, 30, 1, 187, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 150971388, 0, 0, 2), + (4041, -1, -1, 0, 'Val\'kyr Twins kills (Trial of the Grand Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Val\'kyr Twins kills (Trial of the Grand Crusader 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 30, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4396, -1, 249, 0, 'Onyxia\'s Lair (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Onyxia in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 30, 0, 3820, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4397, -1, 249, 0, 'Onyxia\'s Lair (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Onyxia in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 30, 0, 3820, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4662, -1, -1, 0, 'Deathbringer kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deathbringer kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 30, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (556, -1, -1, 0, 'Epic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Equip an epic item in every slot with a minimum item level of 213.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 25, 31, 0, 2808, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (681, -1, -1, 0, 'Heroic: The Arcatraz', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Harbinger Skyriss on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 31, 0, 3659, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (700, 0, -1, 0, 'Freedom of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain an Insignia or Medallion of the Horde.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 31, 0, 2811, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (1375, -1, 533, 0, 'Four Horsemen kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Four Horsemen kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 31, 1, 2639, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1423, -1, -1, 0, 'Realm First! Grand Master Jewelcrafter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First person on the realm to achieve 450 skill in jewelcrafting.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 31, 256, 1768, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1561, -1, -1, 1560, '1000 Fish', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Fish up 1000 items.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 31, 0, 3179, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1816, -1, 608, 0, 'Defenseless', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Cyanigosa in The Violet Hold without using Defense Control Crystals and with Prison Seal Integrity at 100% while in Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 31, 0, 3264, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2771, 0, -1, 2788, 'Exalted Champion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with and the right to represent every Horde race\'s faction in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 31, 0, 3806, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2953, -1, 603, 0, 'Disarmed (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Destroy both of Kologarn\'s arms and then Kologarn himself within 12 seconds in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 31, 0, 560, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 2), + (2954, -1, 603, 0, 'Disarmed (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Destroy both of Kologarn\'s arms and then Kologarn himself within 12 seconds in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 31, 0, 560, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 2), + (4042, -1, -1, 0, 'Val\'kyr Twins kills (Trial of the Crusader 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Val\'kyr Twins kills (Trial of the Crusader 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 31, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4402, -1, 249, 0, 'More Dots! (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Onyxia in less than 5 minutes in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 31, 0, 3821, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4405, -1, 249, 0, 'More Dots! (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Onyxia in less than 5 minutes in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 31, 0, 3821, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4663, -1, -1, 0, 'Deathbringer kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deathbringer kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 31, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (557, -1, -1, 0, 'Superior', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Equip a superior item in every slot with a minimum item level of 187.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 32, 0, 133, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (682, -1, 585, 0, 'Heroic: Magister\'s Terrace', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Kael\'thas Sunstrider on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 32, 0, 3664, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (701, 1, -1, 0, 'Freedom of the Alliance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain an Insignia or Medallion of the Alliance.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 32, 0, 2812, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (1374, -1, 533, 0, 'Instructor Razuvious kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Instructor Razuvious kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 32, 1, 2639, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1424, -1, -1, 0, 'Realm First! Grand Master Leatherworker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First person on the realm to achieve 450 skill in leatherworking.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 32, 256, 346, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1865, -1, 608, 0, 'Lockdown!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Xevozz, Lavanthor, Ichoron, Zuramat the Obliterator, Erekem, and Moragg in The Violet Hold on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 32, 0, 3300, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 2), + (2096, -1, -1, 0, 'The Coin Master', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the coin fishing achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 32, 0, 2993, 'Reward: Titanium Seal of Dalaran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2816, 0, -1, 2771, 'Exalted Argent Champion of the Horde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn exalted status with and the right to represent every Horde race\'s faction in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 32, 0, 3806, 'Title Reward: Crusader. Unlocks Crusader dailies at the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (2955, -1, 603, 0, 'If Looks Could Kill (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Kologarn without any raid member being hit by Focused Eyebeams in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 32, 0, 2446, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2956, -1, 603, 0, 'If Looks Could Kill (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Kologarn without any raid member being hit by Focused Eyebeams in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 32, 0, 2446, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4043, -1, -1, 0, 'Val\'kyr Twins kills (Trial of the Grand Crusader 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Val\'kyr Twins kills (Trial of the Grand Crusader 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 32, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4403, -1, 249, 0, 'Many Whelps! Handle It! (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Cause 50 Onyxia Whelplings to hatch within 10 seconds of Onyxia\'s liftoff, and then defeat her in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 32, 0, 1699, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4406, -1, 249, 0, 'Many Whelps! Handle It! (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Cause 50 Onyxia Whelplings to hatch within 10 seconds of Onyxia\'s liftoff, and then defeat her in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 32, 0, 1699, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4664, -1, -1, 0, 'Deathbringer kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Deathbringer kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 32, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (558, -1, -1, 0, 'Greedy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win a greed roll on a superior or better item above level 185 by rolling 100.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 33, 0, 2802, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (690, -1, -1, 0, 'Karazhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Prince Malchezaar in Karazhan.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 33, 0, 3828, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (727, -1, -1, 0, 'Call in the Cavalry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain one of the war mounts through the honor system.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 33, 0, 1178, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (1370, -1, 533, 0, 'Loatheb kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loatheb kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 33, 1, 2997, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1425, -1, -1, 0, 'Realm First! Grand Master Miner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First person on the realm to achieve 450 skill in mining.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 33, 256, 336, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1516, -1, -1, 0, 'Accomplished Angler', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the fishing achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 171, 10, 33, 0, 580, 'Title Reward: Salty', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2041, -1, 608, 0, 'Dehydration', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Ichoron in the Violet Hold on Heroic Difficulty without allowing any Ichor Globules to merge.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 33, 0, 2134, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2959, -1, 603, 0, 'Rubble and Roll (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Kologarn after causing at least 25 Rubble creatures to spawn in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 33, 0, 2380, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2960, -1, 603, 0, 'Rubble and Roll (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Kologarn after causing at least 25 Rubble creatures to spawn in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 33, 0, 2380, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (3676, 1, -1, 0, 'A Silver Confidant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn both exalted status with The Silver Covenant and the right to represent a city in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 33, 0, 2383, 'Unlocks Silver Covenant dailies at the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4044, -1, -1, 0, 'Times completed the Trial of the Crusader (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Times completed the Trial of the Crusader (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 33, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4404, -1, 249, 0, 'She Deep Breaths More (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Onyxia without anyone taking damage from a Deep Breath in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 33, 0, 2128, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4407, -1, 249, 0, 'She Deep Breaths More (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Onyxia without anyone taking damage from a Deep Breath in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 33, 0, 2128, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4646, -1, -1, 0, 'Festergut kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Festergut kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 33, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (229, -1, -1, 0, 'The Grim Reaper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get 30 Honorable Kills in a single battle in any battleground.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 34, 0, 1933, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (559, -1, -1, 0, 'Needy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Win a need roll on a superior or better item above level 185 by rolling 100.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 34, 0, 2801, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (691, -1, -1, 0, 'Zul\'Aman', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Zul\'jin in Zul\'Aman.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 34, 0, 3630, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (1363, -1, 533, 0, 'Maexxna kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Maexxna kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 34, 1, 1899, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1426, -1, -1, 0, 'Realm First! Grand Master Skinner', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First person on the realm to achieve 450 skill in skinning.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 34, 256, 736, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (2153, -1, 608, 0, 'A Void Dance', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Zuramat the Obliterator in The Violet Hold on Heroic Difficulty without killing any void sentries.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 34, 0, 2242, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (3006, -1, 603, 0, 'Crazy Cat Lady (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Auriaya without destroying her Sanctum Sentries in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 34, 0, 3870, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3007, -1, 603, 0, 'Crazy Cat Lady (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Auriaya without destroying her Sanctum Sentries in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 34, 0, 3870, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3677, 0, -1, 0, 'The Sunreavers', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn both exalted status with The Sunreavers and the right to represent a city in the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 34, 0, 3976, 'Unlocks Sunreaver dailies at the Argent Tournament.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4016, -1, -1, 0, 'Earth, Wind & Fire (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Archavon the Stone Watcher, Emalon the Storm Watcher, and Koralon the Flame Watcher within 60 seconds of each other in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 34, 0, 2603, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4017, -1, -1, 0, 'Earth, Wind & Fire (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Archavon the Stone Watcher, Emalon the Storm Watcher, and Koralon the Flame Watcher within 60 seconds of each other in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 34, 0, 2603, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4045, -1, -1, 0, 'Times completed the Trial of the Grand Crusader (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Times completed the Trial of the Grand Crusader (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 34, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4665, -1, -1, 0, 'Festergut kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Festergut kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 34, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (692, -1, -1, 0, 'Gruul\'s Lair', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Gruul the Dragonkiller in Gruul\'s Lair.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 35, 0, 3628, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (714, 0, -1, 0, 'The Conqueror', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise your reputation values in Warsong Gulch, Arathi Basin and Alterac Valley to Exalted.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 20, 35, 0, 2563, 'Title Reward: Conqueror', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1165, -1, -1, 0, 'My Sack is "Gigantique"', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Equip Haris Pilton\'s "Gigantique" Bag.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 35, 0, 2989, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1365, -1, 533, 0, 'Noth the Plaguebringer kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Noth the Plaguebringer kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 35, 1, 2997, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1427, -1, -1, 0, 'Realm First! Grand Master Tailor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First person on the realm to achieve 450 skill in tailoring.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 35, 256, 341, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1864, -1, 604, 0, 'What the Eck?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Gal\'darah in Gundrak on Heroic Difficulty while under the effects of Eck Residue.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 35, 0, 3299, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3076, -1, 603, 0, 'Nine Lives (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Feral Defender while defeating Auriaya in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 35, 0, 836, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (3077, -1, 603, 0, 'Nine Lives (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Feral Defender while defeating Auriaya in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 35, 0, 836, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (4046, -1, -1, 0, 'Times completed the Trial of the Crusader (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Times completed the Trial of the Crusader (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 35, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4596, -1, -1, 0, 'The Sword in the Skull', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Recover the missing hilt of Quel\'Delar, draw the blade from its resting place, reforge the weapon, purify it in the Sunwell, and present it for your just reward.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14941, 10, 35, 0, 4143, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4666, -1, -1, 0, 'Festergut kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Festergut kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 35, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4815, -1, -1, 0, 'The Twilight Destroyer (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Halion in The Ruby Sanctum in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 35, 0, 164, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4817, -1, -1, 0, 'The Twilight Destroyer (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Halion in The Ruby Sanctum in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 35, 0, 164, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (693, -1, -1, 0, 'Magtheridon\'s Lair', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Magtheridon in Magtheridon\'s Lair.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 36, 0, 3640, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (907, 1, -1, 0, 'The Justicar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise your reputation values in Warsong Gulch, Arathi Basin and Alterac Valley to Exalted.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 20, 36, 0, 2924, 'Title Reward: Justicar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1187, -1, -1, 0, 'The Keymaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the keys listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 36, 0, 2502, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1364, -1, 533, 0, 'Patchwerk kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Patchwerk kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 36, 1, 97, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1400, -1, 616, 0, 'Realm First! Magic Seeker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Participated in the realm first defeat of Malygos in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 36, 768, 1700, 'Title Reward: The Magic Seeker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2152, -1, 604, 0, 'Share The Love', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Gal\'darah in Gundrak on Heroic Difficulty and have 5 unique party members get impaled throughout the fight.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 36, 0, 2714, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2961, -1, 603, 0, 'Cheese the Freeze (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Hodir without any raid member being hit by Flash Freeze in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 36, 0, 56, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2962, -1, 603, 0, 'Cheese the Freeze (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Hodir without any raid member being hit by Flash Freeze in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 36, 0, 56, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (4047, -1, -1, 0, 'Times completed the Trial of the Grand Crusader (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Times completed the Trial of the Grand Crusader (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 0, 36, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4667, -1, -1, 0, 'Festergut kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Festergut kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 36, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4816, -1, -1, 4815, 'Heroic: The Twilight Destroyer (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Halion in The Ruby Sanctum in 25-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14923, 10, 36, 0, 164, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4818, -1, -1, 4817, 'Heroic: The Twilight Destroyer (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Halion in The Ruby Sanctum in 10-player Heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14922, 10, 36, 0, 164, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (456, -1, 615, 0, 'Realm First! Obsidian Slayer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Participated in the realm first defeat of Sartharion the Onyx Guardian in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 37, 768, 3308, 'Title Reward: Obsidian Slayer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (694, -1, -1, 0, 'Serpentshrine Cavern', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Lady Vashj in Serpentshrine Cavern.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 37, 0, 3658, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (908, 1, -1, 0, 'Call to Arms!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the level 80 versions of the Call to Arms daily battleground quests listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 37, 0, 2841, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1206, -1, -1, 0, 'To All The Squirrels I\'ve Loved Before', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Show the critters of Azeroth how much you /love them.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 37, 0, 3132, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1373, -1, 533, 0, 'Thaddius kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Thaddius kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 37, 1, 97, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2040, -1, 604, 0, 'Less-rabi', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Moorabi in Gundrak on Heroic Difficulty while preventing him from transforming into a mammoth at any point during the encounter.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 37, 0, 3394, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2963, -1, 603, 0, 'I Have the Coolest Friends (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Hodir without any friendly NPC dying in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 37, 0, 36, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2965, -1, 603, 0, 'I Have the Coolest Friends (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Hodir without any friendly NPC dying in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 37, 0, 36, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (4074, -1, 624, 0, 'Koralon the Flame Watcher kills (Wintergrasp 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Koralon the Flame Watcher kills (Wintergrasp 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 10, 37, 1, 187, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4647, -1, -1, 0, 'Rotface kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Rotface kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 37, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (696, -1, -1, 0, 'Tempest Keep', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Kael\'thas Sunstrider in Tempest Keep.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 38, 0, 3284, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (909, 0, -1, 0, 'Call to Arms!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the level 80 versions of the Call to Arms daily battleground quests listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 38, 0, 2841, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1376, -1, 533, 0, 'Sapphiron kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Sapphiron kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 38, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1402, -1, 533, 0, 'Realm First! Conqueror of Naxxramas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Participated in the realm first defeat of Kel\'Thuzad in Naxxramas in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 38, 768, 1898, 'Title Reward: Conqueror of Naxxramas', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2058, -1, 604, 0, 'Snakes. Why\'d It Have To Be Snakes?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Slad\'ran in Gundrak on Heroic Difficulty without getting snake wrapped.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 38, 0, 2936, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2557, -1, -1, 0, 'To All The Squirrels Who Shared My Life', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Show more critters of Azeroth how much you /love them.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 38, 0, 3132, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 1694433772, 0, 0, 0), + (2967, -1, 603, 0, 'Getting Cold in Here (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Hodir without any raid member having more than 2 stacks of Biting Cold in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 38, 0, 3862, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2968, -1, 603, 0, 'Getting Cold in Here (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Hodir without any raid member having more than 2 stacks of Biting Cold in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 38, 0, 501, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (4075, -1, 624, 0, 'Koralon the Flame Watcher kills (Wintergrasp 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Koralon the Flame Watcher kills (Wintergrasp 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15021, 10, 38, 1, 187, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4668, -1, -1, 0, 'Rotface kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Rotface kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 38, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (227, -1, -1, 0, 'Damage Control', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Do 300,000 damage or healing in a single battle in any battleground. The damage or healing must be done to a player.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 39, 0, 3422, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (695, -1, -1, 0, 'The Battle for Mount Hyjal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Archimonde in The Battle for Mount Hyjal.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 39, 0, 3639, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (1377, -1, 533, 0, 'Kel\'Thuzad kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kel\'Thuzad kills (Naxxramas 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 39, 1, 1898, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1866, -1, 599, 0, 'Good Grief', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Maiden of Grief in the Halls of Stone on Heroic Difficulty in 1 minute or less.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 39, 0, 3301, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 2), + (2556, -1, -1, 0, 'Pest Control', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Slay the following pests.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 39, 0, 1586, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 1694433772, 0, 0, 0), + (2970, -1, 603, 0, 'Staying Buffed All Winter (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Possess the effects of Toasty Fire, Storm Power and Starlight at the same time in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 39, 0, 11, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 1, 0, 2), + (3117, -1, 603, 0, 'Realm First! Death\'s Demise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Participated in the realm first defeat of Yogg-Saron without the assistance of any Keepers in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 39, 768, 3848, 'Title Reward: Death\'s Demise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (3182, -1, 603, 0, 'I Could Say That This Cache Was Rare (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Hodir before he shatters his rare cache in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 39, 0, 3927, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4261347820, 0, 0, 2), + (4669, -1, -1, 0, 'Rotface kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Rotface kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 39, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (231, -1, -1, 0, 'Wrecking Ball', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Get 20 killing blows without dying in a single battle in any battleground.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 40, 16, 2770, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (697, -1, -1, 0, 'The Black Temple', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Illidan Stormrage in The Black Temple.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 40, 0, 3663, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (1254, -1, -1, 0, 'Friend or Fowl?', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Slay 15 turkeys in 3 minutes.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 40, 0, 1467, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (2155, -1, 599, 0, 'Abuse the Ooze', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Sjonnir the Ironshaper in the Halls of Stone on Heroic Difficulty and kill 5 Iron Sludges during the encounter.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 40, 0, 1541, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2596, -1, 533, 0, 'Mr. Bigglesworth kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Mr. Bigglesworth kills', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 40, 33, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2969, -1, 603, 0, 'Staying Buffed All Winter (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Possess the effects of Toasty Fire, Storm Power and Starlight at the same time in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 40, 0, 11, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 1, 0, 2), + (3184, -1, 603, 0, 'I Could Say That This Cache Was Rare (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Hodir before he shatters his rare cache in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 40, 0, 3927, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 3909026284, 0, 0, 2), + (3259, -1, 603, 0, 'Realm First! Celestial Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Participated in the realm first defeat of Algalon the Observer in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 40, 768, 3869, 'Title Reward: The Celestial Defender', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4670, -1, -1, 0, 'Rotface kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Rotface kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 40, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (698, -1, -1, 0, 'Sunwell Plateau', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Kil\'jaeden in Sunwell Plateau.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14805, 10, 41, 0, 3592, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (1244, -1, -1, 0, 'Well Read', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Read the books listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 41, 0, 2892, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 0, 0, 0), + (1368, -1, 533, 0, 'Anub\'Rekhan kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Anub\'Rekhan kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 41, 1, 1899, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2016, 1, -1, 0, 'Grizzled Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Grizzly Hills PvP daily quests listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 41, 0, 3343, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2154, -1, 599, 0, 'Brann Spankin\' New', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Tribunal of Ages encounter in the Halls of Stone on Heroic Difficulty without allowing Brann Bronzebeard to take any damage.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 41, 0, 3286, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2971, -1, 603, 0, 'Don\'t Stand in the Lightning (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Thorim without any raid member being struck by Lightning Charge in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 41, 0, 320, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (2972, -1, 603, 0, 'Don\'t Stand in the Lightning (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Thorim without any raid member being struck by Lightning Charge in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 41, 0, 320, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4078, -1, 649, 0, 'Realm First! Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Participated in the realm first conquest of the Trial of the Grand Crusader with 50 attempts remaining in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 41, 768, 3805, 'Title Reward: The Grand Crusader', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4648, -1, -1, 0, 'Blood Prince Council kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Blood Prince Council kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 41, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (1378, -1, 533, 0, 'Gluth kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gluth kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 42, 1, 97, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1867, -1, 602, 0, 'Timely Death', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Loken in the Halls of Lightning on Heroic Difficulty in 2 minutes or less.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 42, 0, 3302, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 2), + (1956, -1, 571, 0, 'Higher Learning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Read the volumes of "The Schools of Arcane Magic" found in Dalaran listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 42, 0, 1865, 'Reward: The Schools of Arcane Magic - Mastery', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2017, 0, -1, 0, 'Grizzled Veteran', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Grizzly Hills PvP daily quests listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 10, 42, 0, 3343, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2973, -1, 603, 0, 'I\'ll Take You All On (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Thorim, the Ancient Rune Giant and the Runic Colossus in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 42, 0, 3864, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2974, -1, 603, 0, 'I\'ll Take You All On (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Thorim, the Ancient Rune Giant and the Runic Colossus in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 42, 0, 3864, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4576, -1, 631, 0, 'Realm First! Fall of the Lich King', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Participated in the realm first defeat of the Lich King in 25-player heroic mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 42, 768, 4127, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4671, -1, -1, 0, 'Blood Prince Council kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Blood Prince Council kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 42, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (230, 1, -1, 0, 'Battlemaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the battleground achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 50, 43, 0, 3372, 'Title Reward: Battlemaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1379, -1, 533, 0, 'Gothik the Harvester kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gothik the Harvester kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 43, 1, 2639, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1463, -1, -1, 0, 'Realm First! Northrend Vanguard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'First player on the realm to gain exalted reputation with the Argent Crusade, Wyrmrest Accord, Kirin Tor and Knights of the Ebon Blade.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 43, 256, 2207, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 2), + (1833, -1, -1, 0, 'It\'s Happy Hour Somewhere', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Drink 25 different types of beverages.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 43, 160, 3083, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 25, 346, 0), + (1834, -1, 602, 0, 'Lightning Struck', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat General Bjarngrim in the Halls of Lightning on Heroic Difficulty while he has a Temporary Electrical Charge.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 43, 0, 3242, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2975, -1, 603, 0, 'Who Needs Bloodlust? (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Thorim while under the effect of Aura of Celerity in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 43, 0, 122, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2976, -1, 603, 0, 'Who Needs Bloodlust? (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Thorim while under the effect of Aura of Celerity in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 43, 0, 122, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4672, -1, -1, 0, 'Blood Prince Council kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Blood Prince Council kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 43, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (662, -1, -1, 0, 'Collector\'s Edition: Mini-Diablo', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Owner of the World of Warcraft Collector\'s Edition Mini-Diablo pet.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 44, 0, 2795, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (1175, 0, -1, 0, 'Battlemaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the battleground achievements listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 95, 50, 44, 0, 3373, 'Title Reward: Battlemaster', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (1380, -1, 533, 0, 'Grand Widow Faerlina kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Grand Widow Faerlina kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 44, 1, 1899, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1832, -1, -1, 0, 'Tastes Like Chicken', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Sample 50 different kinds of Azeroth\'s delectable dishes.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 44, 160, 3266, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 50, 347, 0), + (2042, -1, 602, 0, 'Shatter Resistant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Volkhan in the Halls of Lightning on Heroic Difficulty without allowing him to shatter more than 4 Brittle Golems.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 44, 0, 937, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2977, -1, 603, 0, 'Siffed (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Force Thorim to enter the arena while Sif is present in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 44, 0, 3863, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2978, -1, 603, 0, 'Siffed (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Force Thorim to enter the arena while Sif is present in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 44, 0, 3863, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4673, -1, -1, 0, 'Blood Prince Council kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Blood Prince Council kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 44, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (663, -1, -1, 0, 'Collector\'s Edition: Panda', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Owner of the World of Warcraft Collector\'s Edition Panda pet.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 45, 0, 2531, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (1381, -1, 533, 0, 'Grobbulus kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Grobbulus kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 45, 1, 97, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1817, -1, 595, 0, 'The Culling of Time', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Infinite Corruptor in The Culling of Stratholme on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 45, 0, 3265, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2076, -1, -1, 0, 'Armored Brown Bear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain an Armored Brown Bear from Mei Francis in Dalaran.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 45, 0, 3497, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 0), + (3176, -1, 603, 2977, 'Lose Your Illusion (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Thorim while Sif is present in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 45, 0, 3863, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 3909026284, 0, 0, 2), + (3183, -1, 603, 2978, 'Lose Your Illusion (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Thorim while Sif is present in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 45, 0, 3863, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 3909026284, 0, 0, 2), + (4649, -1, -1, 0, 'Valithria Dreamwalker rescues (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Valithria Dreamwalker rescues (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 45, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (664, -1, -1, 0, 'Collector\'s Edition: Zergling', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Owner of the World of Warcraft Collector\'s Edition Zergling pet.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 46, 0, 214, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (1382, -1, 533, 0, 'Heigan the Unclean kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Heigan the Unclean kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 46, 1, 2997, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1872, -1, 595, 0, 'Zombiefest!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kill 100 Risen Zombies in 1 minute in The Culling of Stratholme on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 46, 0, 3012, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2077, -1, -1, 0, 'Wooly Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Wooly Mammoth from Mei Francis in Dalaran.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 46, 0, 3443, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 2), + (2979, -1, 603, 0, 'Lumberjacked (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Elder Brightleaf, Elder Ironbranch and Elder Stonebark within 15 seconds of each other in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 46, 0, 2258, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 2), + (3118, -1, 603, 0, 'Lumberjacked (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Elder Brightleaf, Elder Ironbranch and Elder Stonebark within 15 seconds of each other in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 46, 0, 2258, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 1, 0, 2), + (4674, -1, -1, 0, 'Valithria Dreamwalker rescues (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Valithria Dreamwalker rescues (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 46, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (665, -1, -1, 0, 'Collector\'s Edition: Netherwhelp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Owner of the The Burning Crusade\'s Collector\'s Edition Netherwhelp pet.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 47, 0, 2449, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (1383, -1, 533, 0, 'Four Horsemen kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Four Horsemen kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 47, 1, 2639, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2043, -1, 575, 0, 'The Incredible Hulk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Force Svala Sorrowgrave to kill a Scourge Hulk on Heroic Difficulty in Utgarde Pinnacle.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 47, 0, 460, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2078, -1, -1, 0, 'Traveler\'s Tundra Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Traveler\'s Tundra Mammoth from Mei Francis in Dalaran.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 47, 0, 3443, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 0), + (2980, -1, 603, 0, 'Con-speed-atory (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Freya within 20 minutes of the first creature you kill in the Conservatory of Life in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 47, 0, 2864, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2981, -1, 603, 0, 'Con-speed-atory (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Freya within 20 minutes of the first creature you kill in the Conservatory of Life in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 47, 0, 2864, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4675, -1, -1, 0, 'Valithria Dreamwalker rescues (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Valithria Dreamwalker rescues (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 47, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (683, -1, -1, 0, 'Collector\'s Edition: Frost Wyrm Whelp', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Owner of the Wrath of the Lich King\'s Collector\'s Edition Frost Wyrm Whelp pet.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 48, 0, 3752, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 2), + (1384, -1, 533, 0, 'Instructor Razuvious kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Instructor Razuvious kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 48, 1, 2639, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1873, -1, 575, 0, 'Lodi Dodi We Loves the Skadi', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Skadi the Ruthless in Utgarde Pinnacle on Heroic Difficulty within 3 minutes of starting the gauntlet event.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 48, 0, 3307, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2097, -1, -1, 0, 'Get to the Choppa!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Mekgineer\'s Chopper or a Mechano-hog.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 48, 0, 1101, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 1, 0, 0), + (2984, -1, 603, 0, 'Deforestation (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat 2 Ancient Water Spirits, 2 Storm Lashers and 2 Snaplashers within 10 seconds in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 48, 0, 40, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 2), + (2985, -1, 603, 0, 'Deforestation (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat 2 Ancient Water Spirits, 2 Storm Lashers and 2 Snaplashers within 10 seconds in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 48, 0, 40, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 2), + (4676, -1, -1, 0, 'Valithria Dreamwalker rescues (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Valithria Dreamwalker rescues (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 48, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (1385, -1, 533, 0, 'Loatheb kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Loatheb kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 49, 1, 2997, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2084, -1, -1, 0, 'Ring of the Kirin Tor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Purchase a Signet of the Kirin Tor, Band of the Kirin Tor, Loop of the Kirin Tor, or Ring of the Kirin Tor in Dalaran.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 49, 0, 3447, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 1, 0, 0), + (2156, -1, 575, 0, 'My Girl Loves to Skadi All the Time', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Skadi the Ruthless in Utgarde Pinnacle on Heroic Difficulty after having killed Grauf from 100% to dead in a single pass.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 49, 0, 3319, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2982, -1, 603, 0, 'Getting Back to Nature (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Freya while she is affected by 25 stacks of Attuned to Nature in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 49, 0, 3865, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2983, -1, 603, 0, 'Getting Back to Nature (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Freya while she is affected by 25 stacks of Attuned to Nature in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 49, 0, 3865, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4650, -1, -1, 0, 'Professor Putricide kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Professor Putricide kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 49, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4824, -1, -1, 0, 'Collector\'s Edition: Mini Thor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Owner of the Starcraft II Collector\'s Edition Mini Thor pet.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 49, 0, 4347, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 1, 0, 0), + (411, -1, -1, 0, 'Murky', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Proud owner of Murky from the 2005 BlizzCon in Anaheim, California.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 50, 0, 2316, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (1386, -1, 533, 0, 'Maexxna kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Maexxna kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 50, 1, 1899, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2157, -1, 575, 0, 'King\'s Bane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat King Ymiron in Utgarde Pinnacle on Heroic Difficulty without anyone in the party triggering Bane.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 50, 0, 3321, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2716, -1, -1, 0, 'Dual Talent Specialization', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Visit your class trainer when you are at least level 40 and activate your Dual Talent Specialization.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 50, 0, 2970, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4278125036, 0, 0, 0), + (3177, -1, 603, 0, 'Knock on Wood (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Freya while leaving at least 1 Elder alive in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 50, 0, 3642, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 3909026284, 0, 0, 2), + (3185, -1, 603, 0, 'Knock on Wood (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Freya while leaving at least 1 Elder alive in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 50, 0, 3642, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 3909026284, 0, 0, 2), + (4677, -1, -1, 0, 'Professor Putricide kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Professor Putricide kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 50, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (412, -1, -1, 0, 'Murloc Costume', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Proud owner of the Murloc Costume from the 2007 BlizzCon in Anaheim, California.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 51, 0, 1751, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (1387, -1, 533, 0, 'Noth the Plaguebringer kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Noth the Plaguebringer kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 51, 1, 2997, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1871, -1, 578, 0, 'Experienced Drake Rider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'On three different visits to The Oculus, get credit for defeating Ley-Guardian Eregos while riding an Amber, Emerald, and Ruby drake on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 51, 0, 3306, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 2), + (2141, -1, -1, 0, 'Stable Keeper', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain 10 mounts.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 51, 0, 2165, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 0), + (3178, -1, 603, 3177, 'Knock, Knock on Wood (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Freya while leaving at least 2 Elders alive in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 51, 0, 3642, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 3909026284, 0, 0, 2), + (3186, -1, 603, 3185, 'Knock, Knock on Wood (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Freya while leaving at least 2 Elders alive in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 51, 0, 3642, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 3909026284, 0, 0, 2), + (4678, -1, -1, 0, 'Professor Putricide kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Professor Putricide kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 51, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (415, -1, -1, 0, 'Big Blizzard Bear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Proud owner of the Big Blizzard Bear from the 2008 BlizzCon.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 52, 0, 3895, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (1367, -1, 533, 0, 'Patchwerk kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Patchwerk kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 52, 1, 97, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (1868, -1, 578, 0, 'Make It Count', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Ley-Guardian Eregos in The Oculus on Heroic Difficulty within 20 minutes of Drakos the Interrogator\'s death.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 52, 0, 3303, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 2), + (2142, -1, -1, 2141, 'Filling Up The Barn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain 25 mounts.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 52, 0, 2406, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2063532524, 0, 0, 0), + (3179, -1, 603, 3178, 'Knock, Knock, Knock on Wood (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Freya while leaving all 3 Elders alive in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 52, 0, 3642, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 3909026284, 0, 0, 2), + (3187, -1, 603, 3186, 'Knock, Knock, Knock on Wood (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Freya while leaving all 3 Elders alive in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 52, 0, 3642, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 3909026284, 0, 0, 2), + (4679, -1, -1, 0, 'Professor Putricide kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Professor Putricide kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 52, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (1388, -1, 533, 0, 'Thaddius kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Thaddius kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 53, 1, 97, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2044, -1, 578, 0, 'Ruby Void', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Ley-Guardian Eregos in The Oculus on Heroic Difficulty without anyone in your party using a Ruby Drake.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 53, 0, 3495, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2143, -1, -1, 2142, 'Leading the Cavalry', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain 50 mounts.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 53, 0, 3444, 'Reward: Albino Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2989, -1, 603, 0, 'Set Up Us the Bomb (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Mimiron without anyone in the raid being hit by the following in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 53, 0, 3261, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3237, -1, 603, 0, 'Set Up Us the Bomb (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Mimiron without anyone in the raid being hit by the following in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 53, 0, 3261, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 134183420, 0, 0, 2), + (3536, -1, -1, 0, 'The Marine Marine', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Proud owner of Grunty\'s Heavy Murloc Egg from the 2009 BlizzCon.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 53, 0, 2316, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 1, 0, 0), + (4651, -1, -1, 0, 'Blood Queen Lana\'thel kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Blood Queen Lana\'thel kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 53, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (414, -1, -1, 0, 'Tyrael\'s Hilt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Proud owner of Tyrael\'s Hilt from the 2008 World Wide Invitational in Paris, France.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 54, 0, 2657, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (1389, -1, 533, 0, 'Sapphiron kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Sapphiron kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 54, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2045, -1, 578, 0, 'Emerald Void', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Ley-Guardian Eregos in The Oculus on Heroic Difficulty without anyone in your party using an Emerald Drake.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 54, 0, 3441, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2536, 1, -1, 2143, 'Mountain o\' Mounts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain 100 mounts.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 54, 0, 2328, 'Reward: Blue Dragonhawk Mount', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2995, -1, 603, 0, 'Not-So-Friendly Fire (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Force Mimiron to kill an Assault Bot with a Rocket Strike in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 54, 0, 2665, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3138, -1, 603, 0, 'Not-So-Friendly Fire (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Force Mimiron to kill an Assault Bot with a Rocket Strike in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 54, 0, 2665, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4680, -1, -1, 0, 'Blood Queen Lana\'thel kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Blood Queen Lana\'thel kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 54, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (454, 0, -1, 0, 'Scout', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Scout".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 55, 0, 3344, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1390, -1, 533, 0, 'Kel\'Thuzad kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Kel\'Thuzad kills (Naxxramas 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 55, 1, 1898, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2046, -1, 578, 0, 'Amber Void', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Ley-Guardian Eregos in The Oculus on Heroic Difficulty without anyone in your party using an Amber Drake.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 55, 0, 3440, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 2), + (2537, 0, -1, 2143, 'Mountain o\' Mounts', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain 100 mounts.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 92, 10, 55, 0, 2328, 'Reward: Red Dragonhawk Mount', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (3180, -1, 603, 0, 'Firefighter (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Mimiron after activating his Self-Destruct mechanism in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 55, 0, 1696, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 3909026284, 0, 0, 2), + (3189, -1, 603, 0, 'Firefighter (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Mimiron after activating his Self-Destruct mechanism in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 55, 0, 1696, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 3909026284, 0, 0, 2), + (4681, -1, -1, 0, 'Blood Queen Lana\'thel kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Blood Queen Lana\'thel kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 55, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (468, 0, -1, 0, 'Grunt', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Grunt".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 56, 0, 3345, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1392, -1, 615, 0, 'Sartharion kills (Chamber of the Aspects 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Sartharion kills (Chamber of the Aspects 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 56, 1, 1699, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2996, -1, 603, 0, 'Shadowdodger (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat General Vezax without any raid member being hit by Shadow Crash in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 56, 0, 1939, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (2997, -1, 603, 0, 'Shadowdodger (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat General Vezax without any raid member being hit by Shadow Crash in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 56, 0, 1939, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3802, -1, -1, 0, 'Argent Confessor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'On separate visits to the Trial of the Champion, get credit for defeating Argent Confessor Paletress after suppressing five different memories of the past on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 56, 0, 2792, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 5, 0, 2), + (4682, -1, -1, 0, 'Blood Queen Lana\'thel kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Blood Queen Lana\'thel kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 56, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (453, 0, -1, 0, 'Sergeant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Sergeant".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 57, 0, 3346, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1393, -1, 615, 0, 'Sartharion kills (Chamber of the Aspects 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Sartharion kills (Chamber of the Aspects 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 57, 1, 1699, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3181, -1, 603, 0, 'I Love the Smell of Saronite in the Morning (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat General Vezax after defeating the Saronite Animus in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 57, 0, 3868, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 3909026284, 0, 0, 2), + (3188, -1, 603, 0, 'I Love the Smell of Saronite in the Morning (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat General Vezax after defeating the Saronite Animus in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 57, 0, 3868, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 3909026284, 0, 0, 2), + (3803, -1, -1, 0, 'The Faceroller', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Eadric the Pure in the Trial of the Champion with his own hammer on Heroic Difficulty.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 57, 0, 42, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 0, 0, 2), + (4652, -1, -1, 0, 'Sindragosa kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Sindragosa kills (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 57, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (450, 0, -1, 0, 'Senior Sergeant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Senior Sergeant".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 58, 0, 3347, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1391, -1, 616, 0, 'Malygos kills (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Malygos kills (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 58, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3009, -1, 603, 0, 'Kiss and Make Up (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '/Kiss Sara in Ulduar while she is angry with you in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 58, 0, 3192, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3011, -1, 603, 0, 'Kiss and Make Up (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, '/Kiss Sara in Ulduar while she is angry with you in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 58, 0, 3192, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3804, -1, -1, 0, 'I\'ve Had Worse', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Black Knight in the Trial of the Champion on Heroic Difficulty without any player in the group being hit by a ghoul explosion.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 58, 0, 1652, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 0, 0, 2), + (4684, -1, -1, 0, 'Sindragosa kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Sindragosa kills (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 58, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (452, 0, -1, 0, 'First Sergeant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "First Sergeant".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 59, 0, 3348, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1394, -1, 616, 0, 'Malygos kills (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Malygos kills (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 59, 1, 1700, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3157, -1, 603, 0, 'Three Lights in the Darkness (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Yogg-Saron with the assistance of three or fewer Keepers in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 59, 0, 2206, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4261347820, 0, 0, 2), + (3161, -1, 603, 0, 'Three Lights in the Darkness (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Yogg-Saron with the assistance of three or fewer Keepers in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 59, 0, 2206, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4261347820, 0, 0, 2), + (4522, -1, 632, 0, 'Soul Power', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Bronjahm in The Forge of Souls on Heroic Difficulty with at least 4 Corrupted Soul Fragments alive.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 59, 0, 4152, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4683, -1, -1, 0, 'Sindragosa kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Sindragosa kills (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 59, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (451, 0, -1, 0, 'Stone Guard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Stone Guard".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 60, 0, 3349, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1753, -1, 624, 0, 'Archavon the Stone Watcher kills (Wintergrasp 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Archavon the Stone Watcher kills (Wintergrasp 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 60, 1, 187, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (3141, -1, 603, 3157, 'Two Lights in the Darkness (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Yogg-Saron with the assistance of two or fewer Keepers in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 60, 0, 2206, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4060021228, 0, 0, 2), + (3162, -1, 603, 3161, 'Two Lights in the Darkness (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Yogg-Saron with the assistance of two or fewer Keepers in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 60, 0, 2206, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4261347820, 0, 0, 2), + (4523, -1, 632, 0, 'Three Faced', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the Devourer of Souls in The Forge of Souls on Heroic Difficulty without him successfully casting Phantom Blast.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 60, 0, 4153, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4685, -1, -1, 0, 'Sindragosa kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Sindragosa kills (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 60, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (449, 0, -1, 0, 'Blood Guard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Blood Guard".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 61, 0, 3350, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1754, -1, 624, 0, 'Archavon the Stone Watcher kills (Wintergrasp 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Archavon the Stone Watcher kills (Wintergrasp 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14823, 10, 61, 1, 187, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 2), + (3158, -1, 603, 3141, 'One Light in the Darkness (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Yogg-Saron with the assistance of one or fewer Keepers in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 61, 0, 2206, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4261347820, 0, 0, 2), + (3163, -1, 603, 3162, 'One Light in the Darkness (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Yogg-Saron with the assistance of one or fewer Keepers in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 61, 0, 2206, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4261347820, 0, 0, 2), + (4524, -1, 658, 0, 'Doesn\'t Go to Eleven', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Forgemaster Garfrost in The Pit of Saron on Heroic Difficulty before any player gets 11 stacks of Permafrost.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 61, 0, 4154, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4653, -1, -1, 0, 'Victories over the Lich King (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over the Lich King (Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 61, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (469, 0, -1, 0, 'Legionnaire', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Legionnaire".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 62, 0, 3351, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (3159, -1, 603, 3158, 'Alone in the Darkness (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Yogg-Saron without the assistance of any Keepers in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 62, 0, 2206, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4261347820, 0, 0, 2), + (3164, -1, 603, 3163, 'Alone in the Darkness (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Yogg-Saron without the assistance of any Keepers in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 62, 0, 2206, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4261347820, 0, 0, 2), + (4525, -1, 658, 0, 'Don\'t Look Up', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Clear the hallway before Scourgelord Tyrannus in The Pit of Saron on Heroic Difficulty without anyone taking icicle damage on the first try.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 62, 0, 4155, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (4686, -1, -1, 0, 'Victories over the Lich King (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over the Lich King (Heroic Icecrown 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 62, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (448, 0, -1, 0, 'Centurion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Centurion".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 63, 0, 3352, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (3008, -1, 603, 0, 'Drive Me Crazy (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Yogg-Saron without any raid member going insane in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 63, 0, 77, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3010, -1, 603, 0, 'Drive Me Crazy (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Yogg-Saron without any raid member going insane in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 63, 0, 77, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4526, -1, 668, 0, 'We\'re Not Retreating; We\'re Advancing in a Different Direction.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Escape from the Lich King in under 6 minutes.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14921, 10, 63, 0, 4148, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (4687, -1, -1, 0, 'Victories over the Lich King (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over the Lich King (Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 63, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (447, 0, -1, 0, 'Champion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Champion".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 64, 0, 3353, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (3012, -1, 603, 0, 'He\'s Not Getting Any Older (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Yogg-Saron within 7 minutes in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 64, 0, 3848, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3013, -1, 603, 0, 'He\'s Not Getting Any Older (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Yogg-Saron within 7 minutes in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 64, 0, 3848, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4688, -1, -1, 0, 'Victories over the Lich King (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Victories over the Lich King (Heroic Icecrown 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 64, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (444, 0, -1, 0, 'Lieutenant General', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Lieutenant General".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 65, 0, 3354, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (3014, -1, 603, 0, 'They\'re Coming Out of the Walls (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat 9 Guardians of Yogg-Saron within 12 seconds in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 65, 0, 3871, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3017, -1, 603, 0, 'They\'re Coming Out of the Walls (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat 9 Guardians of Yogg-Saron within 12 seconds in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 65, 0, 3871, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4657, -1, -1, 0, 'Toravon the Ice Watcher kills (Wintergrasp 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Toravon the Ice Watcher kills (Wintergrasp 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 65, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (446, 0, -1, 0, 'General', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "General".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 66, 0, 3355, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (3015, -1, 603, 0, 'In His House He Waits Dreaming (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Experience all 3 visions of Yogg-Saron\'s mind in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 66, 0, 1940, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3016, -1, 603, 0, 'In His House He Waits Dreaming (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Experience all 3 visions of Yogg-Saron\'s mind in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 66, 0, 1940, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4658, -1, -1, 0, 'Toravon the Ice Watcher kills (Wintergrasp 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Toravon the Ice Watcher kills (Wintergrasp 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 66, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 2), + (445, 0, -1, 0, 'Warlord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Warlord".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 67, 0, 3356, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (3036, -1, 603, 0, 'Observed (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Algalon the Observer in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 67, 0, 3869, 'Title Reward: Starcaller', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (3037, -1, 603, 0, 'Observed (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Algalon the Observer in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 67, 0, 3869, 'Title Reward: The Astral Walker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4821, -1, -1, 0, 'Halion kills (Ruby Sanctum 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Halion kills (Ruby Sanctum 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 67, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (443, 0, -1, 0, 'High Warlord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "High Warlord".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 68, 0, 3357, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (3002, -1, 603, 0, 'Supermassive (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Algalon the Observer after closing 3 Black Holes within 10 seconds in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 68, 0, 2848, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3003, -1, 603, 0, 'Supermassive (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Algalon the Observer after closing 3 Black Holes within 10 seconds in 10-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 68, 0, 2848, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4822, -1, -1, 0, 'Halion kills (Heroic Ruby Sanctum 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Halion kills (Heroic Ruby Sanctum 10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 68, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (442, 1, -1, 0, 'Private', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Private".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 69, 0, 3358, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (3004, -1, 603, 0, 'He Feeds On Your Tears (10 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Algalon the Observer in 10-player mode without any raid member dying to Algalon at any point during that raid lockout period.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 69, 0, 3197, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (3005, -1, 603, 0, 'He Feeds On Your Tears (25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Algalon the Observer in 25-player mode without any raid member dying to Algalon at any point during that raid lockout period.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 69, 0, 3197, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 2), + (4820, -1, -1, 0, 'Halion kills (Ruby Sanctum 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Halion kills (Ruby Sanctum 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 69, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (470, 1, -1, 0, 'Corporal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Corporal".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 70, 0, 3359, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (2904, -1, 603, 0, 'Conqueror of Ulduar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat each boss in Ulduar in 25-player mode without allowing any raid member to die to that boss at any point during that raid lockout period.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14962, 10, 70, 0, 2143, 'Title Reward: Conqueror of Ulduar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (3316, -1, 603, 0, 'Herald of the Titans', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat Algalon the Observer in 10-player mode without anyone in the raid wearing any equipment with an item level higher than is available in 10-player Ulduar.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 70, 0, 3869, 'Title Reward: Herald of the Titans', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (4823, -1, -1, 0, 'Halion kills (Heroic Ruby Sanctum 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Halion kills (Heroic Ruby Sanctum 25 player)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 15062, 0, 70, 1, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (471, 1, -1, 0, 'Sergeant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Sergeant".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 71, 0, 3360, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (2903, -1, 603, 0, 'Champion of Ulduar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat each boss in Ulduar in 10-player mode without allowing any raid member to die to that boss at any point during that raid lockout period.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 14961, 10, 71, 0, 2292, 'Title Reward: Champion of Ulduar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 2), + (441, 1, -1, 0, 'Master Sergeant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Master Sergeant".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 72, 0, 3361, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (440, 1, -1, 0, 'Sergeant Major', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Sergeant Major".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 73, 0, 3362, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (439, 1, -1, 0, 'Knight', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Knight".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 74, 0, 3363, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (472, 1, -1, 0, 'Knight-Lieutenant', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Knight-Lieutenant".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 75, 0, 3364, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (438, 1, -1, 0, 'Knight-Captain', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Knight-Captain".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 76, 0, 3365, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (437, 1, -1, 0, 'Knight-Champion', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Knight-Champion".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 77, 0, 3366, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (436, 1, -1, 0, 'Lieutenant Commander', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Lieutenant Commander".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 78, 0, 3367, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (435, 1, -1, 0, 'Commander', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Commander".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 79, 0, 3368, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (473, 1, -1, 0, 'Marshal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Marshal".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 80, 0, 3369, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (434, 1, -1, 0, 'Field Marshal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Field Marshal".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 81, 0, 3370, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (433, 1, -1, 0, 'Grand Marshal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Grand Marshal".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 82, 0, 3371, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (432, -1, -1, 0, 'Champion of the Naaru', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Champion of the Naaru".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 83, 0, 2843, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (431, -1, -1, 0, 'Hand of A\'dal', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earned the title, "Hand of A\'dal".', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 84, 0, 2570, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (1205, -1, -1, 0, 'Hero of Shattrath', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Gained exalted status with The Scryers and The Aldor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 85, 0, 2175, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (871, -1, -1, 0, 'Avast Ye, Admiral!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Bloodsail Admiral\'s Hat... and try to get some fresh air every now and then.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 88, 0, 2421, 'Title: Bloodsail Admiral', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (879, -1, -1, 0, 'Old School Ride', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Owner of one of the original epic mounts that are no longer attainable.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 89, 0, 1177, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (729, -1, -1, 0, 'Deathcharger\'s Reins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Deathcharger\'s Reins from Baron Rivendare in Stratholme.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 90, 0, 1241, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (980, -1, -1, 0, 'The Horseman\'s Reins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain The Horseman\'s Reins from The Headless Horseman in the Scarlet Monastery during Hallow\'s End.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 91, 0, 2628, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (880, -1, -1, 0, 'Swift Zulian Tiger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Swift Zulian Tiger from High Priest Thekal in Zul\'Gurub.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 92, 0, 1181, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (881, -1, -1, 0, 'Swift Razzashi Raptor', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Swift Razzashi Raptor from Bloodlord Mandokir in Zul\'Gurub.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 93, 0, 1180, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (882, -1, -1, 0, 'Fiery Warhorse\'s Reins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Fiery Warhorse\'s Reins from Attumen the Huntsman in Karazhan.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 94, 0, 1715, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (883, -1, -1, 0, 'Reins of the Raven Lord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Reins of the Raven Lord from Anzu in Sethekk Halls.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 95, 0, 2467, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (884, -1, -1, 0, 'Swift White Hawkstrider', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Swift White Hawkstrider from Kael\'thas Sunstrider in Magister\'s Terrace.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 96, 0, 2399, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (885, -1, -1, 0, 'Ashes of Al\'ar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Ashes of Al\'ar from Kael\'thas Sunstrider in Tempest Keep.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 97, 0, 1927, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (4626, -1, -1, 0, 'And I\'ll Form the Head!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain Mimiron\'s Head from 25-player Yogg-Saron with no Keepers assisting you.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 98, 0, 1815, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 1, 0, 0), + (4627, -1, -1, 0, 'Big Love Rocket', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Big Love Rocket from Apothecary Hummel in Shadowfang Keep during Love is in the Air.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 99, 0, 3195, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 1), + (4625, -1, -1, 0, 'Invincible\'s Reins', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain Invincible from Arthas in Icecrown Citadel.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 100, 0, 3005, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 2), + (4079, 0, -1, 0, 'A Tribute to Immortality', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In the Trial of the Grand Crusader, reach a Tribute Chest with 50 attempts remaining and without allowing any raid member to die during any of the boss encounters in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 101, 0, 3744, 'Reward: Crusader\'s Black Warhorse', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (4156, 1, -1, 0, 'A Tribute to Immortality', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'In the Trial of the Grand Crusader, reach a Tribute Chest with 50 attempts remaining and without allowing any raid member to die during any of the boss encounters in 25-player mode.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 102, 0, 3744, 'Reward: Crusader\'s White Warhorse', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (886, -1, -1, 0, 'Swift Nether Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Swift Nether Drake from Arena Season 1 of The Burning Crusade.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 103, 0, 2333, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (887, -1, -1, 0, 'Merciless Nether Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Merciless Nether Drake from Arena Season 2 of The Burning Crusade.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 104, 0, 2333, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (888, -1, -1, 0, 'Vengeful Nether Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Vengeful Nether Drake from Arena Season 3 of The Burning Crusade.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 105, 0, 2333, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (2316, -1, -1, 0, 'Brutal Nether Drake', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Brutal Nether Drake from Arena Season 4 of The Burning Crusade.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 106, 0, 2333, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 1, 0, 0), + (3096, -1, -1, 0, 'Deadly Gladiator\'s Frostwyrm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Deadly Gladiator\'s Frostwyrm from Arena Season 5 of Wrath of the Lich King.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 107, 0, 3913, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 1, 0, 0), + (3756, -1, -1, 0, 'Furious Gladiator\'s Frostwyrm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Furious Gladiator\'s Frostwyrm from Arena Season 6 of Wrath of the Lich King.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 108, 0, 3913, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775164, 1, 0, 0), + (3757, -1, -1, 0, 'Relentless Gladiator\'s Frostwyrm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Relentless Gladiator\'s Frostwyrm from Arena Season 7 of Wrath of the Lich King.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 109, 0, 3913, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718847, 1, 0, 0), + (4600, -1, -1, 0, 'Wrathful Gladiator\'s Frostwyrm', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain the Wrathful Gladiator\'s Frostwyrm from Arena Season 8 of Wrath of the Lich King.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 110, 0, 3913, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 0), + (430, -1, -1, 0, 'Amani War Bear', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Owner of Amani War Bear.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 111, 0, 957, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 1), + (424, -1, -1, 0, 'Why? Because It\'s Red', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Red Qiraji Resonating Crystal.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 112, 0, 1812, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (429, -1, -1, 0, 'Sulfuras, Hand of Ragnaros', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Wielder of Sulfuras, Hand of Ragnaros.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 113, 0, 2444, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (428, -1, -1, 0, 'Thunderfury, Blessed Blade of the Windseeker', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Wielder of Thunderfury, Blessed Blade of the Windseeker.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 114, 0, 2756, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (425, -1, -1, 0, 'Atiesh, Greatstaff of the Guardian', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Wielder of Atiesh, Greatstaff of the Guardian.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 115, 0, 2757, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (426, -1, -1, 0, 'Warglaives of Azzinoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Wielder of a set of Warglaives of Azzinoth.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 116, 0, 2596, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (725, -1, -1, 0, 'Thori\'dal, the Stars\' Fury', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Wielder of Thori\'dal, the Stars\' Fury.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 117, 0, 2842, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 1), + (3142, -1, -1, 0, 'Val\'anyr, Hammer of Ancient Kings', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Wielder of Val\'anyr, Hammer of Ancient Kings.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 118, 0, 3818, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 4227793388, 0, 0, 2), + (4623, -1, -1, 0, 'Shadowmourne', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Wielder of Shadowmourne.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 119, 0, 4182, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 2), + (418, -1, -1, 0, 'Merciless Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Achieved Merciless Gladiator title.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 120, 0, 3593, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (419, -1, -1, 0, 'Vengeful Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Achieved Vengeful Gladiator title.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 121, 0, 3594, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (420, -1, -1, 0, 'Brutal Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Achieved Brutal Gladiator title.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 122, 0, 3595, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (3336, -1, -1, 0, 'Deadly Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Achieved Deadly Gladiator title.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 123, 0, 3596, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3436, -1, -1, 0, 'Furious Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Achieved Furious Gladiator title.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 124, 0, 3597, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3758, -1, -1, 0, 'Relentless Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Achieved Relentless Gladiator title.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 125, 0, 3598, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718844, 0, 0, 0), + (4599, -1, -1, 0, 'Wrathful Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Achieved Wrathful Gladiator title.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 126, 0, 3599, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 0), + (416, -1, -1, 0, 'Scarab Lord', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Opened the gates of Ahn\'Qiraj.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 127, 0, 3567, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 0, 0, 0), + (1292, -1, -1, 0, 'Yellow Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Proud owner of the 2007 Vintage Yellow Brewfest Stein.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 128, 0, 3082, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 1, 0, 1), + (1293, -1, -1, 0, 'Blue Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Proud owner of the 2008 Vintage Blue Brewfest Stein.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 129, 0, 3083, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864174, 1, 0, 1), + (4782, -1, -1, 0, 'Green Brewfest Stein', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Proud owner of the 2009 Vintage Green Brewfest Stein.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 130, 0, 4223, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 1), + (1636, -1, -1, 0, 'Competitor\'s Tabard', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Proud owner of a Competitor\'s Tabard from the 2008 Spirit of Competition event.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 131, 0, 2970, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1637, -1, -1, 0, 'Spirit of Competition', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Proud owner of a Spirit of Competition pet from the 2008 Spirit of Competition event.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 132, 0, 2970, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (1705, -1, -1, 0, 'Clockwork Rocket Bot', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Proud owner of the 2007 Vintage Winter Veil gift, the Clockwork Rocket Bot.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 133, 0, 1859, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2097086956, 1, 0, 0), + (1706, -1, -1, 0, 'Crashin\' Thrashin\' Racer', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Proud owner of the 2008 Vintage Winter Veil gift, the Crashin\' Thrashin\' Racer.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 134, 0, 1859, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (1436, -1, -1, 0, 'Friends In High Places', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Zhevra mount through the Recruit-a-Friend program.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 135, 0, 1716, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 0), + (2079, -1, -1, 0, 'Tabard of the Protector', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtained a Tabard of the Protector from the Dark Portal event.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 136, 0, 2637, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 1), + (2116, -1, -1, 0, 'Tabard of the Argent Dawn', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtained a Tabard of the Argent Dawn from the Scourge Invasion event.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 137, 0, 2637, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2398, -1, -1, 0, 'WoW\'s 4th Anniversary', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Logged in during WoW\'s 4th Anniversary.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 138, 0, 2917, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (4400, -1, -1, 0, 'WoW\'s 5th Anniversary', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Logged in during WoW\'s 5th Anniversary.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 139, 0, 2917, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 0), + (2336, -1, -1, 0, 'Insane in the Membrane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Raise your reputation with the areas listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 140, 0, 2938, 'Title Reward: The Insane', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0), + (2456, -1, -1, 0, 'Vampire Hunter', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Slew Prince Tenris Mirkblood and acquired his Vampiric Batling pet.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 141, 0, 1577, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 1, 0, 0), + (2357, -1, -1, 0, 'Dreadsteed of Xoroth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Completed the Dreadsteed of Xoroth warlock quest.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 142, 0, 1715, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 0), + (2496, -1, -1, 0, 'The Fifth Element', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain an Aqual Quintessence.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 143, 0, 2134, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2113864172, 0, 0, 0), + (2358, -1, -1, 0, 'Charger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Completed the paladin quest to obtain a Charger.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 144, 0, 1716, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 0), + (2359, -1, -1, 0, 'Swift Flight Form', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Completed the druid quest to obtain Swift Flight Form.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 145, 0, 2274, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 0, 0, 1), + (3618, -1, -1, 0, 'Murkimus the Gladiator', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Proud owner of a Murkimus the Gladiator pet.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 146, 0, 370, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 1, 0, 0), + (3636, -1, -1, 0, 'Jade Tiger', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Logged in during the Jade Tiger giveaway.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 147, 0, 283, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 0, 0, 0), + (3896, -1, -1, 0, 'Onyx Panther', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Proud owner of an Onyx Panther.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 148, 0, 1809, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16718828, 0, 0, 0), + (2081, -1, -1, 0, 'Grand Black War Mammoth', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Grand Black War Mammoth.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 149, 0, 3444, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2080309740, 1, 0, 0), + (3496, -1, -1, 0, 'A Brew-FAST Mount', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain an epic Brewfest mount.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 150, 0, 354, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 1, 0, 0), + (3356, 1, -1, 0, 'Winterspring Frostsaber', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Winterspring Frosaber.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 151, 0, 1510, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 1, 0, 0), + (3357, 0, -1, 0, 'Venomhide Ravasaur', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Obtain a Venomhide Ravasaur.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 152, 0, 1584, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16775150, 2, 0, 0), + (4496, -1, -1, 0, 'It\'s Over Nine Thousand!', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn more than 9000 achievement points.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 153, 0, 561, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 0), + (684, -1, -1, 0, 'Onyxia\'s Lair (Level 60)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Defeat the classic, level 60 version of Onyxia.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 154, 0, 3820, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712174, 1, 0, 0), + (2018, -1, -1, 0, 'Timear Foresees', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Complete the Northrend daily dungeon quests listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 155, 0, 2215, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (2019, -1, -1, 0, 'Proof of Demise', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Completed the Northrend daily dungeon quests listed below.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 156, 0, 3028, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2130641388, 0, 0, 0), + (4784, 1, -1, 0, 'Emblematic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn any variety of Emblem.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 157, 0, 4234, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 0), + (4785, 0, -1, 0, 'Emblematic', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Earn any variety of Emblem.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 158, 0, 4234, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 1, 0, 0), + (4786, 1, -1, 0, 'Operation: Gnomeregan', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'You assisted High Tinker Mekkatorque and the Gnomeregan Exiles in the recapture of Gnomeregan\'s surface.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 159, 0, 3799, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712172, 0, 0, 0), + (4790, 0, -1, 0, 'Zalazane\'s Fall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'You assisted Vol\'jin in the final defeat of Zalazane, recapturing the Echo Isles for the Darkspear trolls.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 81, 0, 160, 0, 2513, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712188, 0, 0, 0); +/*!40000 ALTER TABLE `achievement_dbc` ENABLE KEYS */; + +-- Dumping structure for table classicmangos.achievement_reward +DROP TABLE IF EXISTS `achievement_reward`; +CREATE TABLE IF NOT EXISTS `achievement_reward` ( + `ID` mediumint(8) unsigned NOT NULL DEFAULT '0', + `TitleA` mediumint(8) unsigned NOT NULL DEFAULT '0', + `TitleH` mediumint(8) unsigned NOT NULL DEFAULT '0', + `ItemID` mediumint(8) unsigned NOT NULL DEFAULT '0', + `Sender` mediumint(8) unsigned NOT NULL DEFAULT '0', + `Subject` varchar(255) DEFAULT NULL, + `Body` text, + `MailTemplateID` mediumint(8) unsigned DEFAULT '0', + PRIMARY KEY (`ID`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=FIXED COMMENT='Loot System'; + +-- Dumping data for table classicmangos.achievement_reward: 103 rows +/*!40000 ALTER TABLE `achievement_reward` DISABLE KEYS */; +INSERT INTO `achievement_reward` (`ID`, `TitleA`, `TitleH`, `ItemID`, `Sender`, `Subject`, `Body`, `MailTemplateID`) VALUES + (13, 0, 0, 41426, 16128, 'Level 80', 'Congratulations on your conviction to reach the 80th season of adventure. You are undoubtedly dedicated to the cause of ridding Azeroth of the evils which have plagued us.$B$BAnd while the journey thus far has been no minor feat, the true battle lies ahead.$B$BFight on!$B$BRhonin', 0), + (45, 0, 0, 43348, 28070, 'You\'ve Been Around!', 'Well, look at ye!$B$BAnd I thought I had seen some things in this icy place! It seems obvious to this dwarf that you have the fire of the explorer burning in your eyes.$B$BWear this tabard with pride. That way your friends will know who to ask for directions when the time comes!$B$BKeep on the move!$B$BBrann Bronzebeard', 0), + (46, 78, 78, 0, 0, '', '', 0), + (230, 72, 0, 0, 0, '', '', 0), + (432, 53, 53, 0, 0, NULL, NULL, 0), + (456, 139, 139, 0, 0, '', '', 0), + (614, 0, 0, 44223, 29611, 'For the Alliance!', 'War rages throughout our lands. Only the bravest heroes dare challenge strike the Horde where it hurts them most. You are among such heroes.$B$BThe blows you have delivered to the leadership of the Horde will open the door for our final assault. The Horde will bow down to the might of the Alliance.$B$BYour deeds will not go unrewarded. Ride on proudly!$B$B--Your King', 0), + (619, 0, 0, 44224, 4949, 'For The Horde!', 'In this time of great turmoil true heroes rise from the misery. You are one such great hero.$B$BWar is upon us. Your efforts will further our cause on Azeroth. Your great feats shall go rewarded. Take this prize of Orgrimmar and ride to glory.$B$BFor the Horde!$B$BWarchief Thrall', 0), + (714, 0, 47, 0, 0, '', '', 0), + (762, 0, 130, 0, 0, '', '', 0), + (870, 126, 127, 0, 0, '', '', 0), + (871, 144, 144, 0, 0, '', '', 0), + (876, 0, 0, 43349, 29533, 'I\'ve been watching you, kid.', 'You\'ve got quite a knack for throwing down in that arena. Keep this. Wear it with pride. Now get back in there and show them how it\'s done!$B$BUncle Sal', 0), + (907, 48, 0, 0, 0, '', '', 0), + (913, 74, 74, 0, 0, '', '', 0), + (942, 79, 0, 0, 0, '', '', 0), + (943, 0, 79, 0, 0, '', '', 0), + (945, 131, 131, 0, 0, '', '', 0), + (948, 130, 0, 0, 0, '', '', 0), + (953, 132, 132, 0, 0, '', '', 0), + (978, 81, 81, 0, 0, '', '', 0), + (1015, 77, 77, 0, 0, '', '', 0), + (1021, 0, 0, 40643, 29261, 'Quite the Achiever', 'I couldn\'t help but notice what a fine collection of Tabards you\'ve managed to collect over the seasons. You might as well add this one to your collection. It\'s simply been gathering dust in my wardrobe.', 0), + (1038, 75, 0, 0, 0, '', '', 0), + (1039, 0, 76, 0, 0, '', '', 0), + (1174, 82, 82, 0, 0, '', '', 0), + (1175, 0, 72, 0, 0, '', '', 0), + (1250, 0, 0, 40653, 28951, 'Stinker\'s New Home', 'I\'ve heard how well you take care of our furry friends. I hope you don\'t mind but I must get Stinker a new home. He just refuses to play nice with others.$B$BPlease make sure to feed him twice a day. And um... he has a thing for black cats.$B$B--Breanni', 0), + (1400, 120, 120, 0, 0, '', '', 0), + (1402, 122, 122, 0, 0, '', '', 0), + (1516, 83, 83, 0, 0, '', '', 0), + (1563, 84, 0, 0, 0, '', '', 0), + (1656, 124, 0, 0, 0, '', '', 0), + (1657, 0, 124, 0, 0, '', '', 0), + (1658, 129, 129, 0, 0, '', '', 0), + (1681, 125, 0, 43300, 7999, 'Greetings from Darnassus', 'Your accomplishments have been profound and far-reaching. Azeroth, with all of the recent turmoil, benefits greatly from those who seek to rid the land of evil.$B$BOnly those who take the time to know our lands understand the sacrifices of the fallen and the valor of our heroes. You are one such hero. Hopefully, you will recant the tales of your adventures for years to come.$B$BOn behalf of the Alliance, I thank you, Loremaster.', 0), + (1682, 0, 125, 43300, 3057, 'Greetings From Thunder Bluff', 'News of your accomplishments has traveled far. The winds of turmoil howl through our lands. Those who stand to challenge evil are our only hope.$B$BOnly those who listen to the winds understand the debts our fallen heroes have paid to protect our people. May a hero such as yourself live long to tell the tales of your adventures. For only then will we remember how much we have to be thankful for.$B$BOur appreciation runs deep, Loremaster.$B$BFor the Horde!$B$B--Cairne Bloodhoof', 0), + (1683, 0, 133, 0, 0, '', '', 0), + (1684, 133, 0, 0, 0, '', '', 0), + (1691, 0, 134, 0, 0, '', '', 0), + (1692, 134, 0, 0, 0, '', '', 0), + (1693, 0, 135, 0, 0, '', '', 0), + (1707, 135, 0, 0, 0, '', '', 0), + (1784, 0, 84, 0, 0, '', '', 0), + (1793, 138, 137, 0, 0, '', '', 0), + (1956, 0, 0, 43824, 16128, 'Higher Learning', 'Congratulations on completing your studies on The Schools of Arcane Magic. In recognition of your dedication, I\'m enclosing this special volume completing the series.$B$BI believe you\'ll find this tome particularly entertaining. But I\'ll leave that for your discovery.$B$BSincerely,$B$BRhonin', 0), + (2051, 140, 140, 0, 0, '', '', 0), + (2054, 121, 121, 0, 0, '', '', 0), + (2096, 0, 0, 44430, 29478, 'The Coin Master', 'Greetings and congratulations on collecting the full set of Dalaran coins! As a reward for all your hard work I have enclosed a freshly minted Titanium Seal of Dalaran. This is a special coin that we only grant to the most ardent of collectors.$B$BI hope you enjoy this special reward. You\'ve earned it!$B$BSincerely,$BJepetto Joybuzz', 0), + (2136, 0, 0, 44160, 26917, 'Glory of the Hero', 'Champion,$B$BWord has traveled to Wyrmrest Temple of the great heroic deeds you have accomplished since arriving in Northrend.$B$BYour bravery should not go unrecognized. Please accept this gift on behalf of the Aspects. Together we shall rid Azeroth of evil, once and for eternity.$B$BAlexstrasza the Life-Binder', 0), + (2143, 0, 0, 44178, 32216, 'Leading the Cavalry', 'I couldn\'t help but to notice how good you are with the livestock. With all the activity around here, business has been better than ever for me. I don\'t suppose you\'d mind looking after this Albino Drake for me? I simply don\'t have enough spare minutes in the day to care for all of these animals. Yours, Mei', 0), + (2144, 0, 0, 44177, 26917, 'Time and Time again', 'With the drums of war pounding in the distance, it is easy for the denizens of Azeroth to forget all that life has to offer.$B$BYou, on the other hand, have maintained the dignity of the good races of Azeroth with your ability to remember what we fight for. To not celebrate our victories is another form of defeat. Remeber that well, Reveler.$B$BMay others be inspired by your good cheer,$B$BAlexstrasza the Life-Binder', 0), + (2145, 0, 0, 44177, 26917, 'Time and Time again', 'With the drums of war pounding in the distance, it is easy for the denizens of Azeroth to forget all that life has to offer.$B$BYou, on the other hand, have maintained the dignity of the good races of Azeroth with your ability to remember what we fight for. To not celebrate our victories is another form of defeat. Remeber that well, Reveler.$B$BMay others be inspired by your good cheer,$B$BAlexstrasza the Life-Binder', 0), + (2186, 141, 141, 0, 0, '', '', 0), + (2187, 142, 142, 0, 0, '', '', 0), + (2188, 143, 143, 0, 0, '', '', 0), + (2336, 145, 145, 0, 0, '', '', 0), + (2516, 0, 0, 44841, 28951, 'A Friend to Fawn Over', 'Hello!$B$BI understand you\'ve managed to give even that mischievous Stinker a warm and loving home... I was hoping you might consider taking in another wayward orphan?$B$BThis little fawn is a shy one, but you\'ll have no trouble winning her friendship with the enclosed: her favorite salt lick!$B$B--Breanni', 0), + (2536, 0, 0, 44843, 32216, 'Mountain o\' Mounts', 'I\'ve heard your stables are nearly as extensive as mine, now. Impressive! Perhaps we can help one another.. I\'ve one too many dragonhawks, and hoped you could give this one a home. Naturally its been trained as a mount and not a hunting pet, and you\'ll find it as loyal and tireless as any other steed I raise. $B Yours again,Mei', 0), + (2537, 0, 0, 44842, 32216, 'Mountain o\' Mounts', 'I\'ve heard your stables are nearly as extensive as mine, now. Impressive! Perhaps we can help one another.. I\'ve one too many dragonhawks, and hoped you could give this one a home. Naturally its been trained as a mount and not a hunting pet, and you\'ll find it as loyal and tireless as any other steed I raise. $B Yours again,Mei', 0), + (2760, 147, 0, 0, 0, '', '', 0), + (2761, 146, 0, 0, 0, '', '', 0), + (2762, 113, 0, 0, 0, '', '', 0), + (2763, 148, 0, 0, 0, '', '', 0), + (2764, 149, 0, 0, 0, '', '', 0), + (2765, 0, 150, 0, 0, '', '', 0), + (2766, 0, 151, 0, 0, '', '', 0), + (2767, 0, 152, 0, 0, '', '', 0), + (2768, 0, 153, 0, 0, '', '', 0), + (2769, 0, 154, 0, 0, '', '', 0), + (2796, 0, 0, 0, 27487, 'Welcome to the Brew of the Month Club!', '$N,$B$BWelcome to the Brew of the Month club! This club is dedicated to bringing you some of the finest brew in all the realms.$B$BEvery month a new brew will be mailed directly to you. If you enjoy that brew and want more, talk to the Brew of the Month club members there.$B$BAgain, welcome to the club, $N.$B$B- Brew of the Month Club', 0), + (2797, 155, 0, 0, 0, '', '', 0), + (2798, 0, 155, 0, 0, '', '', 0), + (2816, 0, 156, 0, 0, '', '', 0), + (2817, 156, 0, 0, 0, '', '', 0), + (2903, 161, 161, 0, 0, '', '', 0), + (2904, 160, 160, 0, 0, '', '', 0), + (2957, 0, 0, 45802, 28070, 'Glory of the Ulduar Rider', 'Dear $N,$B$BI hope ye\'re doing well and that ye\'ve had time to recover from our shennanigans in Ulduar.$B$BMe lads from the prospecting team happened upon this poor \'alf dead riding-drake hatchling. Must\'ve been an Iron Dwarf experiment of some sort.$B$BWe\'ve patched him back to health and you\'ll find he\'s not so wee anymore! None of us know much about riding anything but rams and pack mules and since we owed ye one for what ye did back there... We thought perhaps you\'d accept him as a gift.$B$BYours,$BBrann Bronzebeard', 0), + (2958, 0, 0, 45801, 28070, 'Heroic: Glory of the Ulduar Rider', 'Dear $N,$B$BI hope ye\'re doing well and that ye\'ve had time to recover from our shennanigans in Ulduar.$B$BMe lads from the prospecting team happened upon this poor \'alf dead riding-drake hatchling. Must\'ve been an Iron Dwarf experiment of some sort.$B$BWe\'ve patched him back to health and you\'ll find he\'s not so wee anymore! None of us know much about riding anything but rams and pack mules and since we owed ye one for what ye did back there... We thought perhaps you\'d accept him as a gift.$B$BYours,$BBrann Bronzebeard', 0), + (3036, 164, 164, 0, 0, '', '', 0), + (3037, 165, 165, 0, 0, '', '', 0), + (3117, 158, 158, 0, 0, '', '', 0), + (3259, 159, 159, 0, 0, '', '', 0), + (3316, 166, 166, 0, 0, '', '', 0), + (3478, 168, 0, 44810, 28951, 'A Gobbler not yet Gobbled', 'Can you believe this Plump Turkey made it through November alive?$N$NSince all his friends have been served up on Bountiful Tables with sides of Cranberry Chutney and Spice Bread and... ooo... I\'m getting hungry. But anyhow! He\'s all alone, now, so I was hoping you might be willing to take care of him. There simply isn\'t enough room left in my shop!$N$NJust keep him away from cooking fires, please. He gets this strange look in his eyes around them...$N$N-Breanni', 0), + (3656, 0, 168, 44810, 28951, 'A Gobbler not yet Gobbled', 'Can you believe this Plump Turkey made it through November alive?$N$NSince all his friends have been served up on Bountiful Tables with sides of Cranberry Chutney and Spice Bread and... ooo... I\'m getting hungry. But anyhow! He\'s all alone, now, so I was hoping you might be willing to take care of him. There simply isn\'t enough room left in my shop!$N$NJust keep him away from cooking fires, please. He gets this strange look in his eyes around them...$N$N-Breanni', 0), + (3857, 0, 0, 49052, 34924, 'Master of Isle of Conquest', 'Honorable $N,$B$BFor your deeds upon the Isle of Conquest, it is my honor to present you with this tabard. Wear it proudly.$B$BHigh Commander, 7th Legion', 0), + (3957, 0, 0, 49054, 34922, 'Master of Isle of Conquest', 'Honorable $N,$B$BFor your deeds upon the Isle of Conquest, it is my honor to present you with this tabard. Wear it proudly.$B$BOverlord Agmar', 0), + (4078, 170, 170, 0, 0, '', '', 0), + (4079, 0, 0, 49098, 36095, 'A Tribute to Immortality', 'Dear $N,$B$BTales of your recent performance in the Trial of the Grand Crusader will be told,and retold,for ages to come. As the Argent Crusade issued its call for the greatest champions of Azeroth to test their mettle in the crucible of the Coliseum,I hoped against hope that beacons of light such as you and your companions might emerge from the fray.$B$BWe will need you direly in the coming battle against the Lich King. But on this day,rejoice and celebrate your glorious accomplishment and accept this gift of one of our very finest warhorses. When the Scourge see its banner looming on the horizon,hero,their end shall be nigh!$B$BYours with Honor,$BTirion Fordring', 0), + (4080, 171, 171, 0, 0, '', '', 0), + (4156, 0, 0, 49096, 36095, 'A Tribute to Immortality', 'Dear $N,$B$BTales of your recent performance in the Trial of the Grand Crusader will be told,and retold,for ages to come. As the Argent Crusade issued its call for the greatest champions of Azeroth to test their mettle in the crucible of the Coliseum,I hoped against hope that beacons of light such as you and your companions might emerge from the fray.$B$BWe will need you direly in the coming battle against the Lich King. But on this day,rejoice and celebrate your glorious accomplishment and accept this gift of one of our very finest warhorses. When the Scourge see its banner looming on the horizon,hero,their end shall be nigh!$B$BYours with Honor,$BTirion Fordring', 0), + (4477, 172, 172, 0, 0, '', '', 0), + (4478, 0, 0, 49912, 32842, 'P.U.G.', 'Dear very patient individual,$B$BWe\'d like to recognize your tenacity in running dungeons with people you probably haven\'t met before. Hopefully you even showed some rookies the ropes in your pick-up groups.$B$BIn short, we heard you like pugs. So here\'s a pug for your pug, so you can pug while you pug. Or something.$B$BHugs,$B$BYour friends on the WoW Dev Team.', 0), + (4530, 175, 175, 0, 0, '', '', 0), + (4583, 174, 174, 0, 0, '', '', 0), + (4584, 173, 173, 0, 0, '', '', 0), + (4597, 175, 175, 0, 0, '', '', 0), + (4598, 176, 176, 0, 0, '', '', 0), + (4602, 0, 0, 51954, 37120, 'Glory of the Icecrown Raider', '$N,$B$BAs the Lich King\'s influence wanes, some of his more powerful minions have wrested free of his grasp.$B$BThis frost wyrm drake my men captured is a prime example. She has a will of her own and then some.$B$BOne of my men lost an arm breaking her in, but she now takes to riders fairly well -- provided they themselves are skilled and strong willed.$B$BPlease accept this magnificent beast as a gift from the Knights of the Ebon Blade. It was an honor to fight along your side in this greatest of battles.$B$BWith honor,$BDarion Mograine.', 0), + (4603, 0, 0, 51955, 37120, 'Glory of the Icecrown Raider', '$N,$B$BAs the Lich King\'s influence wanes, some of his more powerful minions have wrested free of his grasp.$B$BThis frost wyrm drake my men captured is a prime example. She has a will of her own and then some.$B$BOne of my men lost an arm breaking her in, but she now takes to riders fairly well -- provided they themselves are skilled and strong willed.$B$BPlease accept this magnificent beast as a gift from the Knights of the Ebon Blade. It was an honor to fight along your side in this greatest of battles.$B$BWith honor,$BDarion Mograine.', 0), + (4784, 0, 0, 0, 37942, 'Emblem Quartermasters in Dalaran\'s Silver Enclave', 'Your achievements in Northrend have not gone unnoticed, friend.$B$BThe Emblems you have earned may be used to purchase equipment from the various Emblem Quartermasters in Dalaran.$B$BYou may find us there, in the Silver Enclave, where each variety of Emblem has its own quartermaster.$B$BWe look forward to your arrival!', 0), + (4785, 0, 0, 0, 37941, 'Emblem Quartermasters in Dalaran\'s Sunreaver Sanctuary', 'Your achievements in Northrend have not gone unnoticed, friend.$B$BThe Emblems you have earned may be used to purchase equipment from the various Emblem Quartermasters in Dalaran.$B$BYou may find us there, in the Sunreaver Sanctuary, where each variety of Emblem has its own quartermaster.$B$BWe look forward to your arrival!', 0); +/*!40000 ALTER TABLE `achievement_reward` ENABLE KEYS */; + +-- Dumping structure for table classicmangos.achievement_reward_locale +DROP TABLE IF EXISTS `achievement_reward_locale`; +CREATE TABLE IF NOT EXISTS `achievement_reward_locale` ( + `ID` mediumint(8) unsigned NOT NULL DEFAULT '0', + `Locale` varchar(4) NOT NULL, + `Subject` text, + `Text` text, + PRIMARY KEY (`ID`,`Locale`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT; + +-- Dumping data for table classicmangos.achievement_reward_locale: ~229 rows (approximately) +/*!40000 ALTER TABLE `achievement_reward_locale` DISABLE KEYS */; +INSERT INTO `achievement_reward_locale` (`ID`, `Locale`, `Subject`, `Text`) VALUES + (13, 'deDE', 'Glückwunsch', 'Viele Glückwunsche bezüglich eurer Überzeugung, auch die 80. Saison der Abenteurer zu erreichen. Ihr seit zweifellos dem Ziel ergben, Azeroth vom Bösen zu befreien.$B$BObwohl der Weg hierher keine Kleinigkeit war, steht der wahre Kampf erst noch bevor.$B$BKämpft weiter!$B$BRhonin'), + (13, 'esES', 'Nivel 80', 'Felicitaciones por tu convicción de llegar a la temporada 80 de aventuras. Sin duda, estás dedicado a la causa de librar a Azeroth de los males que nos han asolado.$B$BY aunque el viaje hasta ahora no ha sido una hazaña menor, la verdadera batalla está por llegar.$B$B¡Sigue luchando!$B$BRhonin'), + (13, 'esMX', 'Nivel 80', 'Felicitaciones por tu convicción de llegar a la temporada 80 de aventuras. Sin duda, estás dedicado a la causa de librar a Azeroth de los males que nos han asolado.$B$BY aunque el viaje hasta ahora no ha sido una hazaña menor, la verdadera batalla está por llegar.$B$B¡Sigue luchando!$B$BRhonin'), + (13, 'frFR', '', 'Toutes mes félicitations pour votre application à atteindre votre quatre-vingtième saison d\'aventures. Vous êtes indubitablement $gdévoué:dévouée; à la cause de l\'éradication du mal qui nous touche en Azeroth.\n\nEt bien que le voyage n\'ait pas été une mince affaire jusqu\'à présent, la véritable bataille nous attend encore.\n\nContinuez le combat !\n\nRhonin'), + (13, 'zhCN', '80级!', '恭喜你在探险的过程中到达了80级,毫无疑问,你把自己的青春都献身于同试图征服艾泽拉斯的恶魔斗争的事业中去了,并且应该做到了不小的成就。$B$B你虽已到达80级,但还不是值得庆贺的时候,更大的挑战还在等待着你。$B$B继续战斗吧!$B$B罗宁'), + (45, 'deDE', 'Ihr seid rumgekommen!', 'Nun seht Euch mal an!$B$BUnd ich dachte, ich hätte hier an diesem eisigen Ort schon einiges gesehen! Diesem Zwerg scheint es offensichtlich, dass das Feuer eines Forschers in Euren Augen brennt.$B$BTrage diesen Wappenrock mit Stolz, dann wissen Eure Freunde, wem sie nach dem Weg fragen müssen, wenn die Zeit gekommen ist!$B$BMacht weiter so!$B$BBrann Bronzebart'), + (45, 'esES', '¡Has estado por aquí!', 'Bueno, ¡mírate!$B$B¡Y pensé que había visto algunas cosas en este lugar helado! A este enano le parece obvio que tienes el fuego del explorador ardiendo en tus ojos.$B$BLleva este tabardo con orgullo. De esa manera, tus amigos sabrán a quién pedir direcciones cuando llegue el momento.$B$B¡Sigue en movimiento!$B$BBrann Barbabronce'), + (45, 'esMX', '¡Has estado por aquí!', 'Bueno, ¡mírate!$B$B¡Y pensé que había visto algunas cosas en este lugar helado! A este enano le parece obvio que tienes el fuego del explorador ardiendo en tus ojos.$B$BLleva este tabardo con orgullo. De esa manera, tus amigos sabrán a quién pedir direcciones cuando llegue el momento.$B$B¡Sigue en movimiento!$B$BBrann Barbabronce'), + (45, 'frFR', 'Vous avez bien bourlingué !', 'Eh ben, vous !\n\nEt moi qui croyais avoir tout vu sur ces terres gelées ! Le feu de l\'exploration brûle en vous. Cela saute à mes yeux de nain.\n\nPortez ce tabard avec fierté. De cette façon, vos amis sauront toujours à qui demander leur chemin en temps voulu !\n\nRestez bien en selle !\n\nBrann Barbe-de-bronze'), + (45, 'zhCN', '你一直都在!', '嘿,伙计!!$B$B 我认为我已经在这片冰天雪地的地方找到了点什么了! 对于我这个矮人来说,很明显在你的眼中有着探险家才有的激情.$B$B 戴上这个徽章吧. 这样当你的朋友要问路的时候就会想到你了! !$B$B 别停下脚步! !$B$B布莱恩·铜须'), + (46, 'frFR', '', NULL), + (230, 'frFR', '', NULL), + (432, 'frFR', '', NULL), + (456, 'frFR', '', NULL), + (614, 'deDE', 'Für die Allianz!', 'Krieg überzieht unsere Länder. Nur die tapfersten aller Helden wagen es, der Horde dort einen Schlag zu versetzen, wo es wehtut. Ihr gehört zu eben diesen Helden.$B$BDer Schlag, den Ihr der Führung der Horde versetzt habt, bereitet unseren Weg für den finalen Angriff. Die Horde wird sich vor der Macht der Allianz verbeugen.$B$BEure Taten bleiben nicht ungewürdigt. Reitet mit Stolz!$B$B--Euer König'), + (614, 'esES', '¡Por la Alianza!', 'La guerra hace estragos en nuestras tierras. Solo los héroes más valientes se atreven a desafiar a la Horda donde más les duele. Estás entre esos héroes.$B$BLos golpes que le has dado a los líderes de la Horda abrirán la puerta a nuestro asalto final. La Horda se inclinará ante el poder de la Alianza.$B$BTus acciones no quedarán sin recompensa. ¡Sigue adelante con orgullo!$B$B--Tu rey'), + (614, 'esMX', '¡Por la Alianza!', 'La guerra hace estragos en nuestras tierras. Solo los héroes más valientes se atreven a desafiar a la Horda donde más les duele. Estás entre esos héroes.$B$BLos golpes que le has dado a los líderes de la Horda abrirán la puerta a nuestro asalto final. La Horda se inclinará ante el poder de la Alianza.$B$BTus acciones no quedarán sin recompensa. ¡Sigue adelante con orgullo!$B$B--Tu rey'), + (614, 'frFR', 'Pour l\'Alliance !', 'La guerre fait rage sur nos terres. Seuls les héros les plus courageux osent frapper la Horde en ses points les plus sensibles. Vous êtes l\'un d\'eux.\n\nLes coups que vous avez portés au commandement de la Horde vont nous permettre de lancer notre assaut final. La Horde fléchira sous la puissance de l\'Alliance.\n\nVos actes seront récompensés. Chevauchez avec fierté !\n\n— Votre roi'), + (614, 'zhCN', '为了联盟!', '战争的怒火席卷了整个大陆。只有最勇敢的人才敢发动斩首行动给敌人以迎头痛击。而你,就是这样的英雄。$B$B你和你的同伴们的行动将给我们最终的胜利带来不可估量的影响。部落在我们联盟的力量面前必将屈服。$B$B你的所作所为不会没有回报,这就是奖励给你的坐骑,自豪地骑上去吧。$B$B为了联盟!$B$B--你的国王'), + (619, 'deDE', 'Für die Horde!', 'In Zeiten großer Unruhen erheben sich wahre Helden aus dem Elend. Ihr seid ein solch großer Held.$B$BDer Krieg steht vor der Tür. Eure Bemühungen werden unsere Sache in Azeroth voranbringen. Eure großen Taten werden belohnt werden. Nehmt diese Belohnung von Orgrimmar und reitet zum Ruhm.$B$BFür die Horde!$B$BKriegshäuptling Thrall'), + (619, 'esES', '¡Por la Horda!', 'En esta época de gran agitación, los verdaderos héroes surgen de la miseria. Eres uno de esos grandes héroes.$B$BLa guerra está sobre nosotros. Tus esfuerzos promoverán nuestra causa en Azeroth. Tus grandes hazañas serán recompensadas. Toma este premio de Orgrimmar y cabalga hacia la gloria.$B$B¡Por la Horda!$B$BJefe de Guerra Thrall'), + (619, 'esMX', '¡Por la Horda!', 'En esta época de gran agitación, los verdaderos héroes surgen de la miseria. Eres uno de esos grandes héroes.$B$BLa guerra está sobre nosotros. Tus esfuerzos promoverán nuestra causa en Azeroth. Tus grandes hazañas serán recompensadas. Toma este premio de Orgrimmar y cabalga hacia la gloria.$B$B¡Por la Horda!$B$BJefe de Guerra Thrall'), + (619, 'frFR', 'Pour la Horde !', 'En ces temps troublés, nos souffrances engendrent de vrais héros. Vous êtes l\'un d\'eux.\n\nNous sommes en guerre. Vos efforts soutiennent notre cause en Azeroth. Vos hautes actions seront récompensées. Prenez ce prix d\'Orgrimmar et chevauchez vers la gloire.\n\nPour la Horde !\n\nChef de guerre Thrall'), + (619, 'zhCN', '为了部落!', '在这次行动中,伟大的勇士从苦难困苦中昂首站了起来。你就是其中之一。$B$B战争就在我们面前,你的努力会为我们在艾泽拉斯的征程上画上浓重的一笔。你的勇敢必须要得到奖励, 请收下这来自奥格瑞玛的奖励,并且彰显 你的果敢!$B$B为了部落!$B$B大酋长萨尔'), + (714, 'frFR', '', NULL), + (762, 'frFR', '', NULL), + (870, 'frFR', '', NULL), + (871, 'frFR', '', NULL), + (876, 'deDE', 'Brutaler Kämpfer', 'Ihr habt ein ganz schönes Händchen dafür Euch in diese Arena zu werfen. Behaltet das bei. Tragt es mit Stolz. Jetzt geht wieder rein und zeigt ihnen, wie es gemacht wird! $B$BOnkel Sal'), + (876, 'esES', 'Te he estado mirando $gniño:niña;', 'Tienes una gran habilidad para vencer en esa arena. Guarda esto. Úsalo con orgullo. ¡Ahora vuelve y enséñales cómo se hace!$B$BTío sal'), + (876, 'esMX', 'Te he estado mirando $gniño:niña;', 'Tienes una gran habilidad para vencer en esa arena. Guarda esto. Úsalo con orgullo. ¡Ahora vuelve y enséñales cómo se hace!$B$BTío sal'), + (876, 'frFR', 'Je vous surveille , enfent.', NULL), + (876, 'zhCN', '我一直在关注着你,孩子。', '你长期泡在竞技场的行为给你的格斗技巧带来了很大的提升,$n。 收下这件战袍,然后穿上它。自豪地走上街,让别人看看你洒过的汗水以及收获的果实!$B$B赛尔叔叔'), + (907, 'frFR', '', NULL), + (913, 'frFR', '', NULL), + (942, 'frFR', '', NULL), + (943, 'frFR', '', NULL), + (945, 'frFR', '', NULL), + (948, 'frFR', '', NULL), + (953, 'frFR', '', NULL), + (978, 'frFR', '', NULL), + (1015, 'frFR', '', NULL), + (1021, 'deDE', 'Ganz schön erfolgreich', 'Mir ist aufgefallen, was für eine eindrucksvolle Sammlung an Wappenröcken Ihr mit der Zeit gesammelt habt. Ihr könnt diesen hier genauso gut Eurer Sammlung hinzufügen. Er hat in meinem Schrank nur Staub angesetzt.'), + (1021, 'esES', '$gCompleto:Completa; $gTriunfador:Triunfadora;', 'No pude evitar darme cuenta de la excelente colección de tabardos que has conseguido reunir a lo largo de las temporadas. También podrías agregar este a tu colección. Simplemente ha estado acumulando polvo en mi armario.'), + (1021, 'esMX', '$gCompleto:Completa; $gTriunfador:Triunfadora;', 'No pude evitar darme cuenta de la excelente colección de tabardos que has conseguido reunir a lo largo de las temporadas. También podrías agregar este a tu colección. Simplemente ha estado acumulando polvo en mi armario.'), + (1021, 'frFR', '', NULL), + (1021, 'zhCN', '相当成功!', '你日复一日,年复一年的收集战袍,让我不由得注意到了你。我想,你也会很乐意收下这件吧, 嗯,或许,战袍在我这里更容易沾染灰尘。'), + (1038, 'frFR', '', NULL), + (1039, 'frFR', '', NULL), + (1174, 'frFR', '', NULL), + (1175, 'frFR', '', NULL), + (1250, 'deDE', 'Stinkis neues Zuhause', 'Ich habe gehört, wie gut Ihr Euch um unsere pelzigen Freunde kümmert. Ich hoffe, es macht Euch nichts aus, aber ich muss Stinki ein neues Zuhause verschaffen. Er weigert sich einfach, friedlich mit den Anderen zu spielen.$B$BBitte stellt sicher, dass er zweimal täglich gefüttert wird. Und, ähm... er hat eine Schwäche für schwarze Katzen.$B$B--Breanni'), + (1250, 'esES', 'El nuevo hogar de Stinker', 'Escuché lo bien que cuidas a nuestros amigos peludos. Espero que no te importe, pero debo conseguirle a Stinker un nuevo hogar. Simplemente se niega a jugar bien con los demás.$B$BAsegúrate de alimentarlo dos veces al día. Y umm... tiene algo con los gatos negros.$B$B--Breanni'), + (1250, 'esMX', 'El nuevo hogar de Stinker', 'Escuché lo bien que cuidas a nuestros amigos peludos. Espero que no te importe, pero debo conseguirle a Stinker un nuevo hogar. Simplemente se niega a jugar bien con los demás.$B$BAsegúrate de alimentarlo dos veces al día. Y umm... tiene algo con los gatos negros.$B$B--Breanni'), + (1250, 'frFR', '', NULL), + (1250, 'zhCN', '臭臭的新家', '我听说了你很喜欢养一些毛茸茸小动物的事,我希望你不会介意我给我的臭臭找一个新家吧——它拒绝和我这里的小动物一起玩耍。$B$B如果你收下,请确保一天喂它两次。然后,嗯,它貌似对黑猫挺有兴趣的,你懂的。$B$B--布琳妮'), + (1400, 'frFR', '', NULL), + (1402, 'frFR', '', NULL), + (1516, 'frFR', '', NULL), + (1563, 'frFR', '', NULL), + (1656, 'frFR', '', NULL), + (1657, 'frFR', '', NULL), + (1658, 'frFR', '', NULL), + (1681, 'deDE', 'Grüße aus Darnassus', 'Eure Erfolge waren tiefgreifend und weitreichend. Azeroth profitiert bei den jüngsten Tumulten in großem Maße von jenen, die das Land vom Bösen zu befreien suchen.$B$BNur diejenigen, die sich die Zeit nehmen, unser Land kennen zu lernen, verstehen das Opfer der Gefallenen und den Wert unserer Helden. Ihr seid ein solcher Held. Hoffentlich werdet Ihr Euch noch in vielen Jahren an die Geschichten Eurer Abenteuer erinnern können.$B$BIm Namen der Allianz danke ich Euch, Meister der Lehren.'), + (1681, 'esES', 'Saludos de Darnassus', 'Tus logros han sido profundos y de gran alcance. Azeroth, con toda la agitación reciente, se beneficia enormemente de aquellos que buscan librar a la tierra del mal.$B$BSolo aquellos que se toman el tiempo de conocer nuestras tierras comprenden los sacrificios de los caídos y el valor de $gnuestros:nuestras; $ghéroes:heroinas;. Eres $guno:una; de esos $ghéroes:heroínas;. Con suerte, se recordarán los relatos de sus aventuras durante los próximos años.$B$BEn nombre de la Alianza, te doy las gracias, Maestro Cultural.'), + (1681, 'esMX', 'Saludos de Darnassus', 'Tus logros han sido profundos y de gran alcance. Azeroth, con toda la agitación reciente, se beneficia enormemente de aquellos que buscan librar a la tierra del mal.$B$BSolo aquellos que se toman el tiempo de conocer nuestras tierras comprenden los sacrificios de los caídos y el valor de $gnuestros:nuestras; $ghéroes:heroinas;. Eres $guno:una; de esos $ghéroes:heroínas;. Con suerte, se recordarán los relatos de sus aventuras durante los próximos años.$B$BEn nombre de la Alianza, te doy las gracias, Maestro Cultural.'), + (1681, 'frFR', '', NULL), + (1681, 'zhCN', '来自达纳苏斯的问候', '你的成就是意义重大且影响深远的。一直以来饱受折磨的艾泽拉斯因为你的这次行为而摆脱了恶魔的束缚。$B$B只有那些愿意花时间去了解我们土地的人才能明白我们的那些勇士为这片大陆前赴后继的意义,你是其中的一个。 很高兴你能顺利结束你的探险,愿艾露恩祝福着你。$B$B一切为了联盟,感谢你, 博学者。$B$B--泰兰德·语风'), + (1682, 'deDE', 'Grüße aus Donnerfels', 'Eure Erfolge waren tiefgreifend und weitreichend. Azeroth profitiert bei den jüngsten Tumulten in großem Maße von jenen, die das Land vom Bösen zu befreien versuchen.$B$BNur diejenigen, die sich die Zeit nehmen, unser Land kennen zu lernen, verstehen das Opfer der Gefallenen und den Wert unserer Helden. Ihr seid ein solcher Held. Hoffentlich werdet Ihr Euch noch in vielen Jahren an die Geschichten Eurer Abenteuer erinnern können.$B$BHabt Dank, Meister der Lehren.$B$BFür die Horde!$B$B--Cairne Bluthuf'), + (1682, 'esES', 'Saludos desde Cima del Trueno', 'Las noticias de sus logros han viajado lejos. Los vientos de la agitación aúllan a través de nuestras tierras. Aquellos que desafían el mal son nuestra única esperanza.$B$BSolo aquellos que escuchan los vientos comprenden las deudas que nuestros héroes caídos han pagado para proteger a nuestra gente. Que $gun:una; $ghéroe:heroína; como tú viva mucho para contar las historias de tus aventuras. Porque solo entonces recordaremos cuánto tenemos que estar agradecidos.$B$BNuestro agradecimiento es profundo, $gMaestro:Maestra; Cultural.$B$B¡Por la Horda!$B$B--Cairne Pezuña de Sangre'), + (1682, 'esMX', 'Saludos desde Cima del Trueno', 'Las noticias de sus logros han viajado lejos. Los vientos de la agitación aúllan a través de nuestras tierras. Aquellos que desafían el mal son nuestra única esperanza.$B$BSolo aquellos que escuchan los vientos comprenden las deudas que nuestros héroes caídos han pagado para proteger a nuestra gente. Que $gun:una; $ghéroe:heroína; como tú viva mucho para contar las historias de tus aventuras. Porque solo entonces recordaremos cuánto tenemos que estar agradecidos.$B$BNuestro agradecimiento es profundo, $gMaestro:Maestra; Cultural.$B$B¡Por la Horda!$B$B--Cairne Pezuña de Sangre'), + (1682, 'frFR', '', NULL), + (1682, 'zhCN', '来自雷霆崖的问候', '你的故事被广为流传, 犹如一股飓风席卷了整个大陆。 那些敢于和恶魔战斗的人是我们唯一的期望。$B$B只有那些听懂风的语言的人才能明白我们欠那些为保护这片大陆而倒下的勇士们多少。希望你能把你探险的故事告诉更多像你这样活着的年轻人。然后我们就会记起来我们在这个世上有多少需要感谢。$B$B向你致以深深的感谢,博学者,大地母亲与你同在。$B$B为了部落!$B$B--凯恩·血蹄'), + (1683, 'frFR', '', NULL), + (1684, 'frFR', '', NULL), + (1691, 'frFR', '', NULL), + (1692, 'frFR', '', NULL), + (1693, 'frFR', '', NULL), + (1707, 'frFR', '', NULL), + (1784, 'frFR', '', NULL), + (1793, 'frFR', '', NULL), + (1956, 'deDE', 'Hohe Schule', 'Herzlichen Glückwunsch zu Eurem Abschluss in den Schulen der arkanen Magie. In Anerkennung Eurer Hingabe lege ich diesen speziellen Buchband bei, der die Serie vervollständigt.$B$BIch denke, dass Ihr diesen Folianten sehr unterhaltsam finden werdet. Doch das dürft Ihr selbst entscheiden.$B$BHochachtungsvoll,$B$BRhonin'), + (1956, 'frFR', 'Lectures studieuses', 'Félicitations ! Vous avez terminé d\'étudier « Les écoles de magie des arcanes ». En récompense de votre dévouement, veuillez trouver ci-joint le volume spécial qui termine la collection.\n\nJe pense que vous trouverez ce tome particulièrement divertissant. Mais je vous laisse le découvrir par vous-même.\n\nCordialement,\n\nRhonin'), + (1956, 'zhCN', '进修', '恭喜你顺利完成了在达拉然魔法学院的进修工作。为了鼓励你所获得的成就, 我把这部典籍邮寄给你,希望你能收下。$B$B我想,你应该能知道这份籍的用途。$B$B向你致以真诚的问候。$B$B罗宁'), + (2051, 'frFR', '', NULL), + (2054, 'frFR', '', NULL), + (2096, 'deDE', 'Der Münzenmeister', 'Grüße und Glückwünsche dazu, dass Ihr das gesamte Set der Dalaranmünzen gesammelt habt! Als Belohnung Eurer harten Arbeit habe ich diesem Schreiben ein frisch geprägtes Titansiegel von Dalaran beigelegt. Dies ist eine besondere Münze, die wir nur den leidenschaftlichsten aller Sammler verleihen.$B$BIch hoffe, Ihr findet Freude an dieser speziellen Belohnung. Ihr habt Sie Euch verdient!$B$BHochachtungsvoll,$B$BJepetto Spaßbrumm'), + (2096, 'frFR', '', NULL), + (2096, 'zhCN', '金币达人', '你好,恭喜你成功收集到了达拉然喷泉的所有硬币! 为了表彰你,我准备把这枚达拉然泰坦神铁徽记赠与你,这是一枚我们只奖励给狂热的硬币收集者的礼物。$B$B希望你会喜欢我这份特殊的礼物,现在,它是你的了!$B$B真挚的问候您。$B耶比托·乔巴斯'), + (2136, 'deDE', 'Ruhm des Helden', 'Held,$B$BErzählungen der großen Taten, die Ihr seit eurem Eintreffen in Nordend vollbracht habt, sind bis zum Wyrmruhtempel vorgedrungen.$B$BEure Tapferkeit soll nicht unbemerkt bleiben. Bitte aktzeptiert dieses Geschenk im Namen der Aspekte. Mögen wir zusammen Azeroth ein für alle Mal vom Bösen befreien.$B$BAlexstrasza, die Lebensbinderin'), + (2136, 'esES', 'La gloria $gdel:de la; $ghéroe:heroína;', '$gCampeón:Campeona;,$B$BHa llegado al Templo del Reposo del Dragón las grandes hazañas heroicas que has realizado desde que llegaste a Rasganorte.$B$BTu valentía no debe pasar desapercibida. Acepta este regalo en nombre de los Aspectos. Juntos libraremos a Azeroth del mal, de una vez y para siempre.$B$BAlexstrasza la Protectora'), + (2136, 'esMX', 'La gloria $gdel:de la; $ghéroe:heroína;', '$gCampeón:Campeona;,$B$BHa llegado al Templo del Reposo del Dragón las grandes hazañas heroicas que has realizado desde que llegaste a Rasganorte.$B$BTu valentía no debe pasar desapercibida. Acepta este regalo en nombre de los Aspectos. Juntos libraremos a Azeroth del mal, de una vez y para siempre.$B$BAlexstrasza la Protectora'), + (2136, 'frFR', '', NULL), + (2136, 'zhCN', '英雄的荣耀!', '尊敬的勇士,$B$B你在诺森德英勇战斗的身影以及所获得的成就已经传到了龙眠神殿。$B$B你的勇敢不容忽视,请你务必接受这份礼物,和它一起,我们并肩驱逐诺德德的恶魔,一次抑或永远。$B$B阿莱克丝塔萨,生命缚誓者'), + (2143, 'deDE', 'Führen der Kavalerie', 'Ich konnte nicht umhin, zu sehen wie gut Ihr mit Tieren umgeht. Bei allem was hier vorgeht, laufen meine Geschäfte besser denn je.$B$BIch nehme nicht an, dass es Euch etwas ausmacht, für mich auf diesen Albinodrachen aufzupassen. Ich habe einfach nicht genug Zeit, mich um all diese Tiere zu kümmern.$B$BViele Grüße.$B$BMei'), + (2143, 'esES', 'Liderar la caballería', 'No pude evitar notar lo $gbueno:buena; que eres con el ganado. Con toda la actividad por aquí, el negocio ha ido mejor que nunca para mí. Supongo que no te importaría cuidar de este Draco Albino por mí. Simplemente no tengo suficientes minutos libres en el día para cuidar a todos estos animales.$B$BTuya, Mei'), + (2143, 'esMX', 'Liderar la caballería', 'No pude evitar notar lo $gbueno:buena; que eres con el ganado. Con toda la actividad por aquí, el negocio ha ido mejor que nunca para mí. Supongo que no te importaría cuidar de este Draco Albino por mí. Simplemente no tengo suficientes minutos libres en el día para cuidar a todos estos animales.$B$BTuya, Mei'), + (2143, 'frFR', '', NULL), + (2143, 'zhCN', '带领骑兵队', '我发现你和你的坐骑们相处得好像挺不错的嘛,我每天都要对着这些牲畜简直烦躁死了。我想,你不会介意替我照看下这只白色幼龙吧?我只是抽不出空暇的时间来照顾这么多的坐骑了。$B$B梅尔·弗兰希斯'), + (2144, 'deDE', 'Ein ums andere Mal', 'Dadurch, dass in der Ferne immer die Kriegstrommeln ertönen, vergessen die Bewohner Azeroths nur allzu leicht all die Dinge, die das Leben zu bieten hat.$B$BIhr habt hingegen mit Eurer Fähigkeit, Euch daran zu erinnern, wofür wir letztlich kämpfen, die Erhabenheit der guten Völker Azeroths bewahrt. Unsere Siege nicht zu feiern wäre eine weitere Form der Niederlage. Denkt immer daran, Feiernder.$B$BMögen andere von Eurem Frohsinn inspiriert werden.$B$BAlextrasza, die Lebensbinderin'), + (2144, 'esES', 'Una y otra vez', 'Con los tambores de guerra retumbando a lo lejos, es fácil para los habitantes de Azeroth olvidar todo lo que la vida tiene para ofrecer.$B$BTú, por otro lado, has mantenido la dignidad de las buenas razas de Azeroth con tu habilidad para recordar por qué luchamos. No celebrar nuestras victorias es otra forma de derrota. Recuérdalo bien, Juerguista.$B$BQue otros se inspiren en tus ganas de vivir.$B$BAlexstrasza la Protectora'), + (2144, 'esMX', 'Una y otra vez', 'Con los tambores de guerra retumbando a lo lejos, es fácil para los habitantes de Azeroth olvidar todo lo que la vida tiene para ofrecer.$B$BTú, por otro lado, has mantenido la dignidad de las buenas razas de Azeroth con tu habilidad para recordar por qué luchamos. No celebrar nuestras victorias es otra forma de derrota. Recuérdalo bien, Juerguista.$B$BQue otros se inspiren en tus ganas de vivir.$B$BAlexstrasza la Protectora'), + (2144, 'frFR', '', NULL), + (2144, 'zhCN', '千奇百怪的漫长旅行', '随着远方漫天战鼓的响起,对于你们这些艾泽拉斯的外来人来说,忘记生命的意义是一件再正常不过的事情。$B$B你,从另一个角度来说,用你的所作所为来扞卫艾泽拉斯一个高贵种族的尊严,并且去记住我们为之奋斗的东西。 不是为了庆祝我们的胜利,也许是我们在另一个方面的胜利更合适。记住你所做过的事情,旅行者。$B$B希望其他人会为你的行为而欢呼。$B$B阿莱克丝塔萨,生命缚誓者'), + (2145, 'deDE', 'Ein ums andere Mal', 'Dadurch, dass in der Ferne immer die Kriegstrommeln ertönen, vergessen die Bewohner Azeroths nur allzu leicht all die Dinge, die das Leben zu bieten hat.$B$BIhr habt hingegen mit Eurer Fähigkeit, Euch daran zu erinnern, wofür wir letztlich kämpfen, die Erhabenheit der guten Völker Azeroths bewahrt. Unsere Siege nicht zu feiern wäre eine weitere Form der Niederlage. Denkt immer daran, Feiernder.$B$BMögen andere von Eurem Frohsinn inspiriert werden.$B$BAlextrasza, die Lebensbinderin'), + (2145, 'esES', 'Una y otra vez', 'Con los tambores de guerra retumbando a lo lejos, es fácil para los habitantes de Azeroth olvidar todo lo que la vida tiene para ofrecer.$B$BTú, por otro lado, has mantenido la dignidad de las buenas razas de Azeroth con tu habilidad para recordar por qué luchamos. No celebrar nuestras victorias es otra forma de derrota. Recuérdalo bien, Juerguista.$B$BQue otros se inspiren en tus ganas de vivir.$B$BAlexstrasza la Protectora'), + (2145, 'esMX', 'Una y otra vez', 'Con los tambores de guerra retumbando a lo lejos, es fácil para los habitantes de Azeroth olvidar todo lo que la vida tiene para ofrecer.$B$BTú, por otro lado, has mantenido la dignidad de las buenas razas de Azeroth con tu habilidad para recordar por qué luchamos. No celebrar nuestras victorias es otra forma de derrota. Recuérdalo bien, Juerguista.$B$BQue otros se inspiren en tus ganas de vivir.$B$BAlexstrasza la Protectora'), + (2145, 'frFR', '', NULL), + (2145, 'zhCN', '千奇百怪的漫长旅行', '随着远方漫天战鼓的响起,对于你们这些艾泽拉斯的外来人来说,忘记生命的意义是一件再正常不过的事情。$B$B你,从另一个角度来说,用你的所作所为来扞卫艾泽拉斯一个高贵种族的尊严,并且去记住我们为之奋斗的东西。 不是为了庆祝我们的胜利,也许是我们在另一个方面的胜利更合适。记住你所做过的事情,旅行者。$B$B希望其他人会为你的行为而欢呼。$B$B阿莱克丝塔萨,生命缚誓者'), + (2186, 'frFR', '', NULL), + (2187, 'frFR', '', NULL), + (2188, 'frFR', '', NULL), + (2336, 'frFR', '', NULL), + (2516, 'deDE', 'Wie man sich Freunde macht', 'Hallo!$B$BWie ich gehört habe, habt Ihr dem kleinen Stinker ein warmes und liebevolles Zuhause geschaffen... Ich frage mich nun, ob Ihr vielleicht Interesse daran hättet, ein weiteres, eigensinniges Waisenkind aufzunehmen?$B$BDieses kleine Kitz ist zwar ein wenig schüchtern, doch sollte es Euch dank des mitgesandten Gegenstandes ein leichtes sein, seine Freundschaft zu gewinnen: seinem Lieblingsleckstein!$B$B--Breanni'), + (2516, 'esES', 'Una amiga muy "salá"', '¡Hola!$B$BTengo entendido que has conseguido un dulce y acogedor hogar incluso para ese travieso de Cuesqui... Tenía la esperanza de que quisieras acoger a otro huérfano inesperado.$B$BEsta Cervatilla es algo tímida, pero no tendrás ningún problema para ganarte su amistad con lo que te envío: ¡Su piedra de sal favorita!$B$B--Breanni'), + (2516, 'esMX', 'Una amiga muy "salá"', '¡Hola!$B$BTengo entendido que has conseguido un dulce y acogedor hogar incluso para ese travieso de Cuesqui... Tenía la esperanza de que quisieras acoger a otro huérfano inesperado.$B$BEsta Cervatilla es algo tímida, pero no tendrás ningún problema para ganarte su amistad con lo que te envío: ¡Su piedra de sal favorita!$B$B--Breanni'), + (2516, 'frFR', '', NULL), + (2516, 'zhCN', '小宠物猎人', '你好!$B$B我知道你已经给了淘气的臭臭一个温暖而又舒适的小窝,我希望你更加乐意收留这只迷你又可爱的小鹿。$B$B这只小鹿很害羞的,但是我想你用这个附赠的小鹿的盐块就能很轻易地和它建立起牢固的友情哦!$B$B--布琳妮'), + (2536, 'deDE', 'Tierisch viele Reittiere', 'Ich habe gehört, dass Eure Ställe inzwischen fast so groß sind wie meine. Beeindruckend! Vielleicht könnten wir einander aushelfen...$B$BIch habe einen Drachenfalken zuviel und hoffe, dass Ihr ihm ein neues Zuhause geben könnt. Natürlich ist es zum Reittier und nicht zum Jagdtier ausgebildet worden und Ihr werdet sehen, dass es Euch genauso loyal und unermüdlich wie jedes meiner anderen Tiere zur Seite stehen wird.$B$BMit freundlichen Grüßen,$BMei'), + (2536, 'esES', 'Un montón de monturas', 'Escuché que tus establos son casi tan extensos como los míos ahora. ¡Impresionante! Quizás podamos ayudarnos tu y yo... Tengo demasiados dracohalcones y esperaba que pudieras darle un hogar a este. Naturalmente, ha sido entrenado como montura y no como mascota de caza, y lo encontrarás tan leal e incansable como cualquier otro corcel que críe.$B$BTuya de nuevo, Mei'), + (2536, 'esMX', 'Un montón de monturas', 'Escuché que tus establos son casi tan extensos como los míos ahora. ¡Impresionante! Quizás podamos ayudarnos tu y yo... Tengo demasiados dracohalcones y esperaba que pudieras darle un hogar a este. Naturalmente, ha sido entrenado como montura y no como mascota de caza, y lo encontrarás tan leal e incansable como cualquier otro corcel que críe.$B$BTuya de nuevo, Mei'), + (2536, 'frFR', '', NULL), + (2536, 'zhCN', '堆积如山的坐骑', '我听说现在你的坐骑数量几乎要和我一样多了,真令人钦佩啊! 也许你能帮我一件事情,我这里有太多的龙鹰了, 希望你能给它一个家? 当然,它是被训练成一只合格的坐骑而不是,额,猎人的宠物。你会发现它的优点:不知疲倦,用不完的力气。哈哈。$B$B--梅尔·弗兰希斯'), + (2537, 'deDE', 'Tierisch viele Reittiere', 'Ich habe gehört, dass Eure Ställe inzwischen fast so groß sind wie meine. Beeindruckend! Vielleicht könnten wir einander aushelfen...$B$BIch habe einen Drachenfalken zuviel und hoffe, dass Ihr ihm ein neues Zuhause geben könnt. Natürlich ist es zum Reittier und nicht zum Jagdtier ausgebildet worden und Ihr werdet sehen, dass es Euch genauso loyal und unermüdlich wie jedes meiner anderen Tiere zur Seite stehen wird.$B$BMit freundlichen Grüßen,$BMei'), + (2537, 'esES', 'Un montón de monturas', 'Escuché que tus establos son casi tan extensos como los míos ahora. ¡Impresionante! Quizás podamos ayudarnos tu y yo... Tengo demasiados dracohalcones y esperaba que pudieras darle un hogar a este. Naturalmente, ha sido entrenado como montura y no como mascota de caza, y lo encontrarás tan leal e incansable como cualquier otro corcel que críe.$B$BTuya de nuevo, Mei'), + (2537, 'esMX', 'Un montón de monturas', 'Escuché que tus establos son casi tan extensos como los míos ahora. ¡Impresionante! Quizás podamos ayudarnos tu y yo... Tengo demasiados dracohalcones y esperaba que pudieras darle un hogar a este. Naturalmente, ha sido entrenado como montura y no como mascota de caza, y lo encontrarás tan leal e incansable como cualquier otro corcel que críe.$B$BTuya de nuevo, Mei'), + (2537, 'frFR', '', NULL), + (2537, 'zhCN', '堆积如山的坐骑', '我听说现在你的坐骑数量几乎要和我一样多了,真令人钦佩啊! 也许你能帮我一件事情,我这里有太多的龙鹰了, 希望你能给它一个家? 当然,它是被训练成一只合格的坐骑而不是,额,猎人的宠物。你会发现它的优点:不知疲倦,用不完的力气。哈哈。$B$B--梅尔·弗兰希斯'), + (2760, 'frFR', '', NULL), + (2761, 'frFR', '', NULL), + (2762, 'frFR', '', NULL), + (2763, 'frFR', '', NULL), + (2764, 'frFR', '', NULL), + (2765, 'frFR', '', NULL), + (2766, 'frFR', '', NULL), + (2767, 'frFR', '', NULL), + (2768, 'frFR', '', NULL), + (2769, 'frFR', '', NULL), + (2796, 'deDE', 'Willkommen im Club Bier des Monats e.V.!', '$N,$B$BWillkommen im Club Bier des Monats e.V.! Dieser Club hat es sich zur Aufgabe gemacht Euch einige der besten Biere der Welt anzubieten. $B$BJeden Monat wird Euch ein neues Gebräu zugeschickt. Wenn Euch dieses Gebräu gefällt und Ihr noch mehr davon wollt, sprecht einfach mit den Mitgliedern des Bier des Monats e.V..$B$BNochmals, willkommen im Club, $N.$B$B- Bier des Monats e.V.'), + (2796, 'frFR', '', NULL), + (2796, 'zhCN', '欢迎来到本月的美酒俱乐部!', '$N,$B$B欢迎来到每月美酒俱乐部.$B$B每个月你都会收到我们邮寄给你的美酒. $B$B再次欢迎你的加入, $N.$B$B- 来自每月美酒俱乐部!'), + (2797, 'frFR', '', NULL), + (2798, 'frFR', '', NULL), + (2816, 'frFR', '', NULL), + (2817, 'frFR', '', NULL), + (2903, 'frFR', '', NULL), + (2904, 'frFR', '', NULL), + (2957, 'deDE', 'Ruhm des Schlachtzüglers von Ulduar', '$GLieber:Liebe; $N,$B$BIch hoffe, dass es Euch gut geht und dass Ihr Zeit hattet Euch von unseren Mätzchen in Ulduar zu erholen.$B$BMeine Jungs vom Erkundungsteam sind auf dieses arme halbtote Reitdrachen-Jungtier gestoßen. Das muss eine Art Experiment der Eisenzwerge gewesen sein.$B$BWir haben es wieder gesund gemacht und Ihr werdet feststellen, dass es nicht mehr so klein ist! Keiner von uns weiß viel über das Reiten von etwas anderem als Widdern und Maultieren und da wir euch für das was ihr da hinten gemacht habt etwas schuldig sind... Wir dachten Ihr würdet es vielleicht als Geschenk annehmen.$B$BEuer Brann Bronzebart'), + (2957, 'esES', 'La gloria del asaltante de Ulduar', '$gEstimado:Estimada; $n,$B$BEspero que estés bien y que hayas tenido tiempo de recuperarte de nuestras travesuras en Ulduar.$B$BMis muchachos del equipo de prospección se toparon con esta pobre cría de dragón de montar medio muerta. Debe haber sido un experimento de Enano de Hierro de algún tipo.$B$B¡Lo hemos cuidado para que recupere la salud y descubrirás que ya no es tan pequeño! Ninguno de nosotros sabe mucho acerca de montar otra cosa que no sean carneros y mulas de carga, y como te debíamos uno por lo que hiciste allí... Pensamos que quizás lo aceptarías como un regalo.$B$BTuyo,$BBrann Barbabronce'), + (2957, 'esMX', 'La gloria del asaltante de Ulduar', '$gEstimado:Estimada; $n,$B$BEspero que estés bien y que hayas tenido tiempo de recuperarte de nuestras travesuras en Ulduar.$B$BMis muchachos del equipo de prospección se toparon con esta pobre cría de dragón de montar medio muerta. Debe haber sido un experimento de Enano de Hierro de algún tipo.$B$B¡Lo hemos cuidado para que recupere la salud y descubrirás que ya no es tan pequeño! Ninguno de nosotros sabe mucho acerca de montar otra cosa que no sean carneros y mulas de carga, y como te debíamos uno por lo que hiciste allí... Pensamos que quizás lo aceptarías como un regalo.$B$BTuyo,$BBrann Barbabronce'), + (2957, 'frFR', '', NULL), + (2957, 'zhCN', '奥杜尔团队高手的荣耀', '亲爱的$N,$B$B我希望你能做的不错,然后我们就能夺回对奥杜尔的控制权。$B$B我的那些来自探险者协会的小伙子们决定送你这只铁锈始祖幼龙作为你的奖励。$B$B我想你会很喜欢它吧。你们团队在奥杜尔的征程将铭记史册,继续奋斗吧。$B$B布莱恩·铜须'), + (2958, 'deDE', 'Heroisch: Ruhm des Schlachtzüglers von Ulduar', '$GLieber:Liebe; $N,$B$BIch hoffe, dass es Euch gut geht und dass Ihr Zeit hattet Euch von unseren Mätzchen in Ulduar zu erholen.$B$BMeine Jungs vom Erkundungsteam sind auf dieses arme halbtote Reitdrachen-Jungtier gestoßen. Das muss eine Art Experiment der Eisenzwerge gewesen sein.$B$BWir haben es wieder gesund gemacht und Ihr werdet feststellen, dass es nicht mehr so klein ist! Keiner von uns weiß viel über das Reiten von etwas anderem als Widdern und Maultieren und da wir euch für das was ihr da hinten gemacht habt etwas schuldig sind... Wir dachten Ihr würdet es vielleicht als Geschenk annehmen.$B$BEuer Brann Bronzebart'), + (2958, 'esES', 'La gloria del asaltante de Ulduar', '$gEstimado:Estimada; $n,$B$BEspero que estés bien y que hayas tenido tiempo de recuperarte de nuestras travesuras en Ulduar.$B$BMis muchachos del equipo de prospección se toparon con esta pobre cría de dragón de montar medio muerta. Debe haber sido un experimento de Enano de Hierro de algún tipo.$B$B¡Lo hemos cuidado para que recupere la salud y descubrirás que ya no es tan pequeño! Ninguno de nosotros sabe mucho acerca de montar otra cosa que no sean carneros y mulas de carga, y como te debíamos uno por lo que hiciste allí... Pensamos que quizás lo aceptarías como un regalo.$B$BTuyo,$BBrann Barbabronce'), + (2958, 'esMX', 'La gloria del asaltante de Ulduar', '$gEstimado:Estimada; $n,$B$BEspero que estés bien y que hayas tenido tiempo de recuperarte de nuestras travesuras en Ulduar.$B$BMis muchachos del equipo de prospección se toparon con esta pobre cría de dragón de montar medio muerta. Debe haber sido un experimento de Enano de Hierro de algún tipo.$B$B¡Lo hemos cuidado para que recupere la salud y descubrirás que ya no es tan pequeño! Ninguno de nosotros sabe mucho acerca de montar otra cosa que no sean carneros y mulas de carga, y como te debíamos uno por lo que hiciste allí... Pensamos que quizás lo aceptarías como un regalo.$B$BTuyo,$BBrann Barbabronce'), + (2958, 'frFR', '', NULL), + (2958, 'zhCN', '英雄:奥杜尔团队高手的荣耀', '亲爱的$N,$B$B我希望你能做的不错,然后我们就能夺回对奥杜尔的控制权。$B$B我的那些来自探险者协会的小伙子们决定送你这只铁缚始祖幼龙作为你的奖励。$B$B我想你会很喜欢它吧。你们团队在奥杜尔的征程将铭记史册,继续奋斗吧。$B$B布莱恩·铜须'), + (3036, 'frFR', '', NULL), + (3037, 'frFR', '', NULL), + (3117, 'frFR', '', NULL), + (3259, 'frFR', '', NULL), + (3316, 'frFR', '', NULL), + (3478, 'deDE', 'Der vergessene Puter', 'Könnt Ihr begreifen, wie es dieser fette Truthahn es lebendig durch den November geschaft hat?!$B$BAlle seine Freunde sind auf den reich gedeckten Tischen serviert worden. Mit Moosbeerenchutney und Gewürzbrotfüllung und... OOOH... jetzt bekomme ich Hunger. Egal! Er ist jetzt ganz allein. Deswegen habe ich überlegt, ob Ihr Euch vielleicht um Ihn kümmern würdet. In meinem Laden ist einfach nicht mehr genug Platz für ihn!$B$BHaltet ihn nur bitte von Kochstellen fern. Er bekommt in ihrer Nähe immer so einen merkwürdigen Blick...$B$B--Breanni'), + (3478, 'esES', 'Un pavo aún no engullido', '¿Puedes creer que este pavo regordete sobrevivió a noviembre?$B$BDado que todos sus amigos se han servido en abundantes mesas con salsa de arándanos y rellenos de pan con especias y... ooo... tengo hambre. ¡Pero de todos modos! Ahora está solo, así que esperaba que estuvieras dispuesto a cuidar de él. ¡Simplemente no queda suficiente espacio en mi tienda!$B$BMantenlo alejado de los fogones de cocina, por favor. Tiene esta extraña mirada en sus ojos alrededor de los fogones...'), + (3478, 'esMX', 'Un pavo aún no engullido', '¿Puedes creer que este pavo regordete sobrevivió a noviembre?$B$BDado que todos sus amigos se han servido en abundantes mesas con salsa de arándanos y rellenos de pan con especias y... ooo... tengo hambre. ¡Pero de todos modos! Ahora está solo, así que esperaba que estuvieras dispuesto a cuidar de él. ¡Simplemente no queda suficiente espacio en mi tienda!$B$BMantenlo alejado de los fogones de cocina, por favor. Tiene esta extraña mirada en sus ojos alrededor de los fogones...'), + (3478, 'frFR', '', NULL), + (3478, 'zhCN', '不会咕咕的火鸡!', '你能相信是这只滚圆的火鸡让整个十一月都洋溢着节日的气氛吗?$B$B然后好多朋友聚集在丰盛的饭桌前,上面放满了蔓越橘果酱、一片片切好的面包以及…哦哦哦…我感觉到自己都要流口水了!但是,它依然是孤零零的一只,所以我希望你能好好地照顾它,给它温暖—别吃掉它!虽然它也不会占多少地方,可是我店里早就已经拥挤不堪啦!$B$B嗯,记得让它远离烹饪用火,因为那些小火在它眼里是一种特殊的存在…'), + (3656, 'deDE', 'Der vergessene Puter', 'Könnt Ihr begreifen, wie es dieser fette Truthahn es lebendig durch den November geschaft hat?!$B$BAlle seine Freunde sind auf den reich gedeckten Tischen serviert worden. Mit Moosbeerenchutney und Gewürzbrotfüllung und... OOOH... jetzt bekomme ich Hunger. Egal! Er ist jetzt ganz allein. Deswegen habe ich überlegt, ob Ihr Euch vielleicht um Ihn kümmern würdet. In meinem Laden ist einfach nicht mehr genug Platz für ihn!$B$BHaltet ihn nur bitte von Kochstellen fern. Er bekommt in ihrer Nähe immer so einen merkwürdigen Blick...$B$B--Breanni'), + (3656, 'esES', 'Un pavo aún no engullido', '¿Puedes creer que este pavo regordete sobrevivió a noviembre?$B$BDado que todos sus amigos se han servido en abundantes mesas con salsa de arándanos y rellenos de pan con especias y... ooo... tengo hambre. ¡Pero de todos modos! Ahora está solo, así que esperaba que estuvieras dispuesto a cuidar de él. ¡Simplemente no queda suficiente espacio en mi tienda!$B$BMantenlo alejado de los fogones de cocina, por favor. Tiene esta extraña mirada en sus ojos alrededor de los fogones...'), + (3656, 'esMX', 'Un pavo aún no engullido', '¿Puedes creer que este pavo regordete sobrevivió a noviembre?$B$BDado que todos sus amigos se han servido en abundantes mesas con salsa de arándanos y rellenos de pan con especias y... ooo... tengo hambre. ¡Pero de todos modos! Ahora está solo, así que esperaba que estuvieras dispuesto a cuidar de él. ¡Simplemente no queda suficiente espacio en mi tienda!$B$BMantenlo alejado de los fogones de cocina, por favor. Tiene esta extraña mirada en sus ojos alrededor de los fogones...'), + (3656, 'frFR', '', NULL), + (3656, 'zhCN', '不会咕咕的火鸡!', '你能相信是这只滚圆的火鸡让整个十一月都洋溢着节日的气氛吗?$B$B然后好多朋友聚集在丰盛的饭桌前,上面放满了蔓越橘果酱、一片片切好的面包以及…哦哦哦…我感觉到自己都要流口水了!但是,它依然是孤零零的一只,所以我希望你能好好地照顾它,给它温暖—别吃掉它!虽然它也不会占多少地方,可是我店里早就已经拥挤不堪啦!$B$B嗯,记得让它远离烹饪用火,因为那些小火在它眼里是一种特殊的存在…'), + (3857, 'deDE', 'Meister der Insel der Eroberung', '$GEhrenvoller:Ehrenvolle; $N,$B$BFür Eure Taten auf der Insel der Eroberung ist es mir eine Ehre Euch diesen Wappenrock zu überreichen. Tragt ihn mit Stolz.$B$BHochkommandant Halford Wyrmbann, 7. Legion'), + (3857, 'esES', '$gMaestro:Maestra; de la Isla de la Conquista', 'Honorable $N,$B$BPor tus hazañas en la Isla de la Conquista, es un honor para mí presentarte este tabardo. Úselo con orgullo.$B$BAlto Comandante, Séptima Legión'), + (3857, 'esMX', '$gMaestro:Maestra; de la Isla de la Conquista', 'Honorable $N,$B$BPor tus hazañas en la Isla de la Conquista, es un honor para mí presentarte este tabardo. Úselo con orgullo.$B$BAlto Comandante, Séptima Legión'), + (3857, 'frFR', 'Maître de l\'île des Conquérants', NULL), + (3857, 'zhCN', '征服之岛的主人', '荣耀属于你,$N,$B$B你在征服之岛的英雄表现,为我们军团做出了卓越的贡献,为此,送你这件战袍以示感谢。$B$B第七军团高阶指挥官'), + (3957, 'deDE', 'Meister der Insel der Eroberung', '$GEhrenvoller:Ehrenvolle; $N,$B$BFür Eure Taten auf der Insel der Eroberung ist es mir eine Ehre Euch diesen Wappenrock zu überreichen. Tragt ihn mit Stolz.$B$BOberanführer Agmar'), + (3957, 'esES', '$gMaestro:Maestra; de la Isla de la Conquista', 'Honorable $N,$B$BPor tus hazañas en la Isla de la Conquista, es un honor para mí presentarte este tabardo. Úselo con orgullo.$B$BAlto Comandante, Séptima Legión'), + (3957, 'esMX', '$gMaestro:Maestra; de la Isla de la Conquista', 'Honorable $N,$B$BPor tus hazañas en la Isla de la Conquista, es un honor para mí presentarte este tabardo. Úselo con orgullo.$B$BAlto Comandante, Séptima Legión'), + (3957, 'frFR', 'Maître de l\'île des Conquérants', NULL), + (3957, 'zhCN', '征服之岛的主人', '尊敬的$N,$B$B在征服之岛的战场上,你英勇杀敌,功绩卓着,给你送上这件战袍是我的荣耀。$B$B奥格瑞玛大领主'), + (4078, 'frFR', '', NULL), + (4079, 'deDE', 'Ein Tribut an die Unsterblichkeit', '$GLieber:Liebe; $N,$B$BGeschichten über Eure jüngste Leistung in der Prüfung des obersten Kreuzfahrers werden noch lange Zeit erzählt und nacherzählt werden. Als der Argentumkreuzzug die größten Meister von Azeroth aufrief ihren Kampfgeist im Schmelztiegel des Kolosseums zu erproben, hoffte ich wider Erwarten, dass Leuchtfeuer wie Ihr und Eure Gefährten aus dem Kampf hervorgehen würden.$B$BWir werden Euch in der kommenden Schlacht gegen den Lichkönig dringend brauchen. Aber an diesem Tag solltet Ihr Euch freuen und Eure ruhmreiche Leistung feiern und dieses Geschenk eines unserer besten Schlachtrösser annehmen. Wenn die Geißel ihr Banner am Horizont auftauchen sieht, Held, wird ihr Ende nahe sein!$B$BMit freundlichen Grüßen,$BTirion Fordring'), + (4079, 'esES', 'Un tributo a la inmortalidad', 'Estimado $n,$B$BLos relatos de su actuación reciente en la Prueba del Gran Cruzado se contarán y volverán a contar durante siglos. Mientras la Cruzada Argenta hizo un llamado a los más grandes campeones de Azeroth para que pusieran a prueba su temple en el crisol del Coliseo, esperaba contra toda esperanza que los faros de luz como tú y tus compañeros pudieran emerger de la refriega.$B$BTe necesitaremos desesperadamente en la próxima batalla contra el Rey Exánime. Pero en este día, regocíjate y celebra tu glorioso logro y acepta este regalo; uno de nuestros mejores caballos de guerra. ¡Cuando la Plaga vea su estandarte asomándose en el horizonte, $ghéroe:heroína;, su fin estará cerca!$B$BTuyo con honor,$BTirion Vadin'), + (4079, 'esMX', 'Un tributo a la inmortalidad', 'Estimado $n,$B$BLos relatos de su actuación reciente en la Prueba del Gran Cruzado se contarán y volverán a contar durante siglos. Mientras la Cruzada Argenta hizo un llamado a los más grandes campeones de Azeroth para que pusieran a prueba su temple en el crisol del Coliseo, esperaba contra toda esperanza que los faros de luz como tú y tus compañeros pudieran emerger de la refriega.$B$BTe necesitaremos desesperadamente en la próxima batalla contra el Rey Exánime. Pero en este día, regocíjate y celebra tu glorioso logro y acepta este regalo; uno de nuestros mejores caballos de guerra. ¡Cuando la Plaga vea su estandarte asomándose en el horizonte, $ghéroe:heroína;, su fin estará cerca!$B$BTuyo con honor,$BTirion Vadin'), + (4079, 'frFR', 'Une offrande à l\'immortalité', NULL), + (4079, 'zhCN', '对不朽的嘉奖', '亲爱的$N,$B$B你在大十字军竞技场的事迹这么久以来被反复传颂。大十字军竞技场是为了选拔以后进军冰冠城塞的勇士而设立的一座竞技场,我希望有越来越多的勇士能在这座竞技场里脱颖而出,然后直捣冰冠城塞。很显然,你们引起了我的注意。$B$B我们需要你们的力量来对抗巫妖王。不过这么些天来,你们一直在举办庆祝活动,我也不好意思打扰你们,现在把这匹最好的战马送给你,当天灾军团看到竖立在它后边的银白十字军战旗时,那胆战心惊的模样想必你也很乐意看到吧?$B$B荣耀伴随着你$B提里奥·弗丁'), + (4080, 'frFR', '', NULL), + (4156, 'deDE', 'Ein Tribut an die Unsterblichkeit', '$GLieber:Liebe; $N,$B$BGeschichten über Eure jüngste Leistung in der Prüfung des obersten Kreuzfahrers werden noch lange Zeit erzählt und nacherzählt werden. Als der Argentumkreuzzug die größten Meister von Azeroth aufrief ihren Kampfgeist im Schmelztiegel des Kolosseums zu erproben, hoffte ich wider Erwarten, dass Leuchtfeuer wie Ihr und Eure Gefährten aus dem Kampf hervorgehen würden.$B$BWir werden Euch in der kommenden Schlacht gegen den Lichkönig dringend brauchen. Aber an diesem Tag solltet Ihr Euch freuen und Eure ruhmreiche Leistung feiern und dieses Geschenk eines unserer besten Schlachtrösser annehmen. Wenn die Geißel ihr Banner am Horizont auftauchen sieht, Held, wird ihr Ende nahe sein!$B$BMit freundlichen Grüßen,$BTirion Fordring'), + (4156, 'esES', 'Un tributo a la inmortalidad', 'Estimado $n,$B$BLos relatos de su actuación reciente en la Prueba del Gran Cruzado se contarán y volverán a contar durante siglos. Mientras la Cruzada Argenta hizo un llamado a los más grandes campeones de Azeroth para que pusieran a prueba su temple en el crisol del Coliseo, esperaba contra toda esperanza que los faros de luz como tú y tus compañeros pudieran emerger de la refriega.$B$BTe necesitaremos desesperadamente en la próxima batalla contra el Rey Exánime. Pero en este día, regocíjate y celebra tu glorioso logro y acepta este regalo; uno de nuestros mejores caballos de guerra. ¡Cuando la Plaga vea su estandarte asomándose en el horizonte, $ghéroe:heroína;, su fin estará cerca!$B$BTuyo con honor,$BTirion Vadin'), + (4156, 'esMX', 'Un tributo a la inmortalidad', 'Estimado $n,$B$BLos relatos de su actuación reciente en la Prueba del Gran Cruzado se contarán y volverán a contar durante siglos. Mientras la Cruzada Argenta hizo un llamado a los más grandes campeones de Azeroth para que pusieran a prueba su temple en el crisol del Coliseo, esperaba contra toda esperanza que los faros de luz como tú y tus compañeros pudieran emerger de la refriega.$B$BTe necesitaremos desesperadamente en la próxima batalla contra el Rey Exánime. Pero en este día, regocíjate y celebra tu glorioso logro y acepta este regalo; uno de nuestros mejores caballos de guerra. ¡Cuando la Plaga vea su estandarte asomándose en el horizonte, $ghéroe:heroína;, su fin estará cerca!$B$BTuyo con honor,$BTirion Vadin'), + (4156, 'frFR', 'Une offrande à l\'immortalité', NULL), + (4156, 'zhCN', '对不朽的嘉奖', '亲爱的$N,$B$B你在大十字军竞技场的事迹这么久以来被反复传颂。大十字军竞技场是为了选拔以后进军冰冠城塞的勇士而设立的一座竞技场,我希望有越来越多的勇士能在这座竞技场里脱颖而出,然后直捣冰冠城塞。很显然,你们引起了我的注意。$B$B我们需要你们的力量来对抗巫妖王。不过这么些天来,你们一直在举办庆祝活动,我也不好意思打扰你们,现在把这匹最好的战马送给你,当天灾军团看到竖立在它后边的银白十字军战旗时,那胆战心惊的模样想必你也很乐意看到吧?$B$B荣耀伴随着你$B提里奥·弗丁'), + (4477, 'frFR', '', NULL), + (4478, 'deDE', 'Streuner', 'Werter Meister der Geduld, wir möchten Eure Beharrlichkeit belohnen, mit der Ihr immer wieder Dungeons mit Leuten betretet, die Ihr wahrscheinlich noch nie zuvor getroffen habt. Hoffentlich habt Ihr ein paar Jungspunden zeigen können, wie der Hase läuft.$B$BLange Rede, kurzer Sinn. Wir haben zufällig gehört, dass Ihr mit Zufallsgruppen herumstreunt. Und wie der Zufall so will ist hier also ein kleiner Streuner, den wir Euch zufallen lassen, um mit Euch zu streunen, während Ihr zufälligen Zufällen zufallt, oder so.$B$BKnuddels.$B$BDas Entwickler-Team von WoW'), + (4478, 'esES', 'P.U.G.', 'Estimado individuo muy paciente,$B$BNos gustaría reconocer su tenacidad en la gestión de mazmorras con personas que probablemente no haya conocido antes. Con suerte, incluso les enseñaste a algunos novatos las cuerdas en tus grupos de recogida.$B$BEn resumen, escuchamos que te gustan los pugs. Así que aquí tienes un pug para tu pug, para que puedas pug mientras pug. O algo.$B$BAbrazos,$B$BTus amigos del equipo de desarrollo de WoW.'), + (4478, 'esMX', 'P.U.G.', 'Estimado individuo muy paciente,$B$BNos gustaría reconocer su tenacidad en la gestión de mazmorras con personas que probablemente no haya conocido antes. Con suerte, incluso les enseñaste a algunos novatos las cuerdas en tus grupos de recogida.$B$BEn resumen, escuchamos que te gustan los pugs. Así que aquí tienes un pug para tu pug, para que puedas pug mientras pug. O algo.$B$BAbrazos,$B$BTus amigos del equipo de desarrollo de WoW.'), + (4478, 'frFR', 'Groupe improvisé', '$gCher membre assidu:Chère membre assidue;,\n\nnous aimerions récompenser votre ténacité à parcourir les donjons avec des personnes que vous n\'aviez probablement jamais rencontrées auparavant. Vous avez peut-être même appris les ficelles du métier à quelques petits nouveaux.\n\nBref, nous avons entendu dire que vous aimiez les groupes improvisés. Alors voici le petit Groopy, qui proclamera à tout le monde : « Vous savez quoi ? J\'suis groupé ! »\n\nAvec toute notre affection,\n\nVos amis de l\'équipe de développement de WoW'), + (4478, 'zhCN', '活泼的地雷犬', '非常有耐心的冒险者,$B$B你在地城中和或许以前连面都没见过的伙伴一同战斗的事情我们已经知道了,我们很高兴还有你这样的人存在,希望你能在以后的地城旅行中能和伙伴们处理好关系,一定要和谐哦。$B$B长话短说吧,为了奖励你在地城中的行为,无论你以前在地城中什么样,希望你在以后能认真对待每一个副本和朋友。嗯,先送你一只地雷犬吧,它是一个很活泼的狗狗。$B$B拥抱你$B$B你在魔兽世界开发组里的朋友'), + (4530, 'frFR', '', NULL), + (4530, 'zhCN', '冰封王座(10人)', '勇士们,你们在冰封王座上摧毁了巫妖王,黯刃骑士团佩服你们,这是我们给你的礼物!'), + (4583, 'frFR', '', NULL), + (4583, 'zhCN', '冰河踏破者', '勇士们,你们在冰封王座上摧毁了巫妖王,黯刃骑士团佩服你们,这是我们给你的礼物!'), + (4584, 'frFR', '', NULL), + (4584, 'zhCN', '黎明之光', '勇士们,你们在冰封王座上摧毁了巫妖王,黯刃骑士团佩服你们,这是我们给你的礼物!'), + (4597, 'frFR', '', NULL), + (4597, 'zhCN', '冰封王座(25人)', '勇士们,你们在冰封王座上摧毁了巫妖王,黯刃骑士团佩服你们,这是我们给你的礼物!'), + (4598, 'frFR', '', NULL), + (4602, 'deDE', 'Ruhm des Schlachtzüglers von Eiskrone', '$N,$B$BAls der Einfluss des Lichkönigs schwand, haben sich einige seiner mächtigeren Schergen aus seinem Griff befreit.$B$BDieser von meinen Männern gefangen genommene Frostwyrm Drache ist ein Paradebeispiel dafür. Sie hat einen eigenen Willen und noch mehr.$B$BEiner meiner Männer verlor einen Arm als er sie einritt, aber sie kann jetzt recht gut mit Reitern umgehen - vorausgesetzt Ihr seid geschickt und habt einen starken Willen.$B$BBitte nehmt diese prächtige Bestie als Geschenk der Ritter der Schwarzen Klinge an. Es war mir eine Ehre, an Eurer Seite in der größten aller Schlachten zu kämpfen.$B$BHochachtungsvoll,$BDarion Mograine.'), + (4602, 'esES', 'La gloria del asaltante de Corona de Hielo', '$n,$B$BA medida que la influencia del Rey Exánime se desvanece, algunos de sus secuaces más poderosos se han liberado de sus manos.$B$BEste dragón vermis de hielo que mis hombres capturaron es un excelente ejemplo. Ella tiene voluntad propia y algo más.$B$BUno de mis hombres perdió un brazo al domarla, pero ahora se adapta bastante bien a los jinetes, siempre que ellos mismos sean hábiles y de voluntad fuerte.$B$BAcepta esta magnífica bestia como regalo de los Caballeros de la Espada de Ébano. Fue un honor luchar a tu lado en esta gran batalla.$B$BCon honor,$BDarion Mograine.'), + (4602, 'esMX', 'La gloria del asaltante de Corona de Hielo', '$n,$B$BA medida que la influencia del Rey Exánime se desvanece, algunos de sus secuaces más poderosos se han liberado de sus manos.$B$BEste dragón vermis de hielo que mis hombres capturaron es un excelente ejemplo. Ella tiene voluntad propia y algo más.$B$BUno de mis hombres perdió un brazo al domarla, pero ahora se adapta bastante bien a los jinetes, siempre que ellos mismos sean hábiles y de voluntad fuerte.$B$BAcepta esta magnífica bestia como regalo de los Caballeros de la Espada de Ébano. Fue un honor luchar a tu lado en esta gran batalla.$B$BCon honor,$BDarion Mograine.'), + (4602, 'frFR', '', NULL), + (4602, 'zhCN', '冰河踏破者的荣耀(10人)', '$N,$B$B当巫妖王的影响力日渐薄弱的时候,有不少昔日在他麾下很强力的人脱离了他的控制。$B$B这只被我们捕获的冰霜巨龙就是一个很好的例子。它有强烈的自主意识,并且我们还有更多的这种巨龙。$B$B我们当中的一个人虽然在一次战斗中光荣地失去了一只胳膊,不过依然能很好的驾驭它。—很明显,它被驯服的很好,并且给了他们自信。$B$B请接受这只来自黑锋骑士团的礼物,在这场伟大的战斗中有你们陪同,真的很荣幸。$B$B荣誉属于你们。$B达利安·莫格莱尼'), + (4603, 'deDE', 'Ruhm des Schlachtzüglers von Eiskrone', '$N,$B$BAls der Einfluss des Lichkönigs schwand, haben sich einige seiner mächtigeren Schergen aus seinem Griff befreit.$B$BDieser von meinen Männern gefangen genommene Frostwyrm Drache ist ein Paradebeispiel dafür. Sie hat einen eigenen Willen und noch mehr.$B$BEiner meiner Männer verlor einen Arm als er sie einritt, aber sie kann jetzt recht gut mit Reitern umgehen - vorausgesetzt Ihr seid geschickt und habt einen starken Willen.$B$BBitte nehmt diese prächtige Bestie als Geschenk der Ritter der Schwarzen Klinge an. Es war mir eine Ehre, an Eurer Seite in der größten aller Schlachten zu kämpfen.$B$BHochachtungsvoll,$BDarion Mograine.'), + (4603, 'esES', 'La gloria del asaltante de Corona de Hielo', '$n,$B$BA medida que la influencia del Rey Exánime se desvanece, algunos de sus secuaces más poderosos se han liberado de sus manos.$B$BEste dragón vermis de hielo que mis hombres capturaron es un excelente ejemplo. Ella tiene voluntad propia y algo más.$B$BUno de mis hombres perdió un brazo al domarla, pero ahora se adapta bastante bien a los jinetes, siempre que ellos mismos sean hábiles y de voluntad fuerte.$B$BAcepta esta magnífica bestia como regalo de los Caballeros de la Espada de Ébano. Fue un honor luchar a tu lado en esta gran batalla.$B$BCon honor,$BDarion Mograine.'), + (4603, 'esMX', 'La gloria del asaltante de Corona de Hielo', '$n,$B$BA medida que la influencia del Rey Exánime se desvanece, algunos de sus secuaces más poderosos se han liberado de sus manos.$B$BEste dragón vermis de hielo que mis hombres capturaron es un excelente ejemplo. Ella tiene voluntad propia y algo más.$B$BUno de mis hombres perdió un brazo al domarla, pero ahora se adapta bastante bien a los jinetes, siempre que ellos mismos sean hábiles y de voluntad fuerte.$B$BAcepta esta magnífica bestia como regalo de los Caballeros de la Espada de Ébano. Fue un honor luchar a tu lado en esta gran batalla.$B$BCon honor,$BDarion Mograine.'), + (4603, 'frFR', 'Gloire à l\'écumeur de raids de la Couronne de glace', NULL), + (4603, 'zhCN', '冰河踏破者的荣耀(25人)', '$N,$B$B当巫妖王的影响力日渐薄弱的时候,有不少昔日在他麾下很强力的人脱离了他的控制。$B$B这只被我们捕获的冰霜巨龙就是一个很好的例子。它有强烈的自主意识,并且我们还有更多的这种巨龙。$B$B我们当中的一个人虽然在一次战斗中光荣地失去了一只胳膊,不过依然能很好的驾驭它。—很明显,它被驯服的很好,并且给了他们自信。$B$B请接受这只来自黑锋骑士团的礼物,在这场伟大的战斗中有你们陪同,真的很荣幸。$B$B荣誉属于你们。$B达利安·莫格莱尼'), + (4784, 'deDE', 'Emblem Rüstmeister in Dalaran\'s Silbernen Enklave', 'Eure Erfolge in Nordend sind nicht unbemerkt geblieben, Freund.$B$BDie verdienten Embleme können benutzt werden, um Gegenstände bei den verschiedenen Rüstmeistern für Embleme zu kaufen.$B$BIhr findet uns in der Silbernen Enklave, wo jede Emblemart einen eigenen Rüstmeister hat.$B$BWir freuen uns auf Eure Ankunft!'), + (4784, 'esES', 'Intendente de emblemas en el Enclave de Plata de Dalaran', 'Tus logros en Rasganorte no han pasado desapercibidos, amigo.$B$BLos emblemas que hayas ganado se pueden usar para comprar equipo de los distintos Intendente de emblemas en Dalaran.$B$BPuede encontrarnos en el Enclave de Plata, donde cada variedad de emblema tiene su propio intendente.$B$B¡Esperamos tu llegada!'), + (4784, 'esMX', 'Intendente de emblemas en el Enclave de Plata de Dalaran', 'Tus logros en Rasganorte no han pasado desapercibidos, amigo.$B$BLos emblemas que hayas ganado se pueden usar para comprar equipo de los distintos Intendente de emblemas en Dalaran.$B$BPuede encontrarnos en el Enclave de Plata, donde cada variedad de emblema tiene su propio intendente.$B$B¡Esperamos tu llegada!'), + (4784, 'frFR', '', NULL), + (4784, 'zhCN', '银色盟约的纹章收集者', '朋友,你在诺森德所取得的成就令人不得不注目。$B$B你所获取的每枚纹章都能在达拉然兑换到各种强力的装备,然后武装自己,不是件很快乐的事么?$B$B我们就在达拉然的银色盟约,在那儿,每种纹章都有对应的兑换师,来看看吧。$B$B我们期待你的到来!'), + (4785, 'deDE', 'Emblem Rüstmeister in Dalaran\'s Sonnenhäschers Zuflucht', 'Eure Erfolge in Nordend sind nicht unbemerkt geblieben, Freund.$B$BDie verdienten Embleme können benutzt werden, um Gegenstände bei den verschiedenen Rüstmeistern für Embleme zu kaufen.$B$BIhr findet uns in Sonnenhäschers Zuflucht, wo jede Emblemart einen eigenen Rüstmeister hat.$B$BWir freuen uns auf Eure Ankunft!'), + (4785, 'esES', 'Intendente de emblemas en el Santuario Atracasol de Dalaran', 'Tus logros en Rasganorte no han pasado desapercibidos, amigo.$B$BLos emblemas que hayas ganado se pueden usar para comprar equipo de los distintos Intendente de emblemas en Dalaran.$B$BPuede encontrarnos en el Santuario Atracasol, donde cada variedad de emblema tiene su propio intendente.$B$B¡Esperamos tu llegada!'), + (4785, 'esMX', 'Intendente de emblemas en el Santuario Atracasol de Dalaran', 'Tus logros en Rasganorte no han pasado desapercibidos, amigo.$B$BLos emblemas que hayas ganado se pueden usar para comprar equipo de los distintos Intendente de emblemas en Dalaran.$B$BPuede encontrarnos en el Santuario Atracasol, donde cada variedad de emblema tiene su propio intendente.$B$B¡Esperamos tu llegada!'), + (4785, 'frFR', '', NULL), + (4785, 'zhCN', '达拉然夺日者圣堂的纹章收集者', '朋友,你在诺森德所取得的成就让人不得不注意。$B$B你所获取的每枚纹章都能在达拉然换取对应的装备,武装自己来更强大,不是每个人都乐意的么?$B$B在达拉然的夺日者圣堂,你能找到每一种纹章所对应的兑换师,在他的身上,你能收获许多。$B$B期待你的到来!'); +/*!40000 ALTER TABLE `achievement_reward_locale` ENABLE KEYS */; + +/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; +/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; diff --git a/sql/custom/mangos/0002_classic_achievements_update.sql b/sql/custom/mangos/0002_classic_achievements_update.sql new file mode 100644 index 0000000000..576d9987a1 --- /dev/null +++ b/sql/custom/mangos/0002_classic_achievements_update.sql @@ -0,0 +1,689 @@ +-- Fix Staghelm Point (Silithus) exploration +UPDATE `achievement_criteria_dbc` SET `Asset_Id`='1022' WHERE `ID`=1472; +-- Delete new zones from exploration +-- EK +DELETE FROM `achievement_criteria_dbc` WHERE `ID`=1550; +DELETE FROM `achievement_criteria_dbc` WHERE `ID`=1551; +DELETE FROM `achievement_criteria_dbc` WHERE `ID`=1796; +-- Kalimdor +DELETE FROM `achievement_criteria_dbc` WHERE `ID`=1600; +DELETE FROM `achievement_criteria_dbc` WHERE `ID`=1601; +-- Ruins of Scarlet Enclave +DELETE FROM `achievement_criteria_dbc` WHERE `ID`=8749; +-- Add Pathfinder Achievement for exploring old world +-- Set World Explorer achievement to wrath +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=46; +-- ghostlands +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID`=858; +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Supercedes`, `Title_Lang_enUS`, `Title_Lang_enGB`, `Title_Lang_koKR`, `Title_Lang_frFR`, `Title_Lang_deDE`, `Title_Lang_enCN`, `Title_Lang_zhCN`, `Title_Lang_enTW`, `Title_Lang_zhTW`, `Title_Lang_esES`, `Title_Lang_esMX`, `Title_Lang_ruRU`, `Title_Lang_ptPT`, `Title_Lang_ptBR`, `Title_Lang_itIT`, `Title_Lang_Unk`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_enGB`, `Description_Lang_koKR`, `Description_Lang_frFR`, `Description_Lang_deDE`, `Description_Lang_enCN`, `Description_Lang_zhCN`, `Description_Lang_enTW`, `Description_Lang_zhTW`, `Description_Lang_esES`, `Description_Lang_esMX`, `Description_Lang_ruRU`, `Description_Lang_ptPT`, `Description_Lang_ptBR`, `Description_Lang_itIT`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_enUS`, `Reward_Lang_enGB`, `Reward_Lang_koKR`, `Reward_Lang_frFR`, `Reward_Lang_deDE`, `Reward_Lang_enCN`, `Reward_Lang_zhCN`, `Reward_Lang_enTW`, `Reward_Lang_zhTW`, `Reward_Lang_esES`, `Reward_Lang_esMX`, `Reward_Lang_ruRU`, `Reward_Lang_ptPT`, `Reward_Lang_ptBR`, `Reward_Lang_itIT`, `Reward_Lang_Unk`, `Reward_Lang_Mask`, `Minimum_Criteria`, `Shares_Criteria`, `patch`) VALUES +(47, -1, -1, 0, 'Pathfinder', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 'Explore Eastern Kingdoms and Kalimdor.', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 97, 50, 5, 0, 3720, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 0, 0, 0); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Ui_Order`) VALUES ('93', '47', '8', '42', '1', 'Eastern Kingdoms', '16712190', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Ui_Order`) VALUES ('92', '47', '8', '43', '1', 'Kalimdor', '16712190', '2'); +-- Fix INVALID CRITERIA in Explore due to wrong order +-- EK +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='13' WHERE `ID`=1291; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='14' WHERE `ID`=1292; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='15' WHERE `ID`=1293; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='16' WHERE `ID`=1294; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='17' WHERE `ID`=1295; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='18' WHERE `ID`=1297; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='19' WHERE `ID`=1298; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='20' WHERE `ID`=1282; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='21' WHERE `ID`=1296; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='22' WHERE `ID`=1286; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='4' WHERE `ID`=1489; +-- Kalimdor +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='5' WHERE `ID`=1490; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='6' WHERE `ID`=1491; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='7' WHERE `ID`=1492; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='8' WHERE `ID`=1493; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='9' WHERE `ID`=1494; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='20' WHERE `ID`=1495; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='11' WHERE `ID`=1496; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='10' WHERE `ID`=1495; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='12' WHERE `ID`=1497; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='13' WHERE `ID`=1498; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='14' WHERE `ID`=1499; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='15' WHERE `ID`=1500; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='16' WHERE `ID`=1501; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='17' WHERE `ID`=1502; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='18' WHERE `ID`=1503; +-- Make PvP Rank achievements normal and superceded +-- UPDATE `achievement_dbc` SET `Supercedes`='442' WHERE `ID`=470; +-- UPDATE `achievement_dbc` SET `Supercedes`='470' WHERE `ID`=471; +-- UPDATE `achievement_dbc` SET `Supercedes`='471' WHERE `ID`=441; +-- UPDATE `achievement_dbc` SET `Supercedes`='441' WHERE `ID`=440; +-- UPDATE `achievement_dbc` SET `Supercedes`='440' WHERE `ID`=439; + +-- Add Custom 6 Bank Slots achievement +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Description_Lang_enUS`, `Category`, `Points`, `Ui_Order`, `IconID`, `Reward_Lang_Mask`) VALUES ('548', '-1', '-1', 'Bank You Very Much', 'Buy 6 additional bank slots.', '92', '10', '11', '2', '16712174'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Quantity`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Flags`, `Ui_Order`) VALUES ('751', '548', '45', '6', 'Purchase 6 bank slots', '16712190', '1', '1'); +-- Lock out 7 Bank Slots to wrath +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=546; +-- Cenarius Circle and Refuge reputation lock to tbc+ +UPDATE `classicmangos`.`achievement_dbc` SET `patch`='1' WHERE `ID`=953; + +-- Emblem achievements are for wotlk +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID` IN (4785,4784,4729,4730,3838,3839,3840,3841,3842,3843,3844,3876,4316); + +-- Champ of Frozen Wastes +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=1658; + +-- Glory of Wotlk PvE +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=2136; +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=2137; +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=2138; + +-- Visit Barbershop +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=545; + +-- Grand Master Proffs (wotlk) +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID` IN (125,130,135,734,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427); +-- Master Proffs (tbc) +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID` IN (124,129,134,733); +-- Master Angler (booty bay or wotlk stuff) +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=306; + +-- Grand Master in 2 proff +-- lock wotlk achievement +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=735; +-- add new +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Description_Lang_enUS`, `Category`, `Points`, `Ui_Order`, `IconID`, `Minimum_Criteria`) VALUES ('737', '-1', '-1', 'Working Overtime', 'Become an Artisan in two professions.', '169', '10', '6', '2840', '2'); +-- add new criteria +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_enGB`, `Description_Lang_koKR`, `Description_Lang_frFR`, `Description_Lang_deDE`, `Description_Lang_enCN`, `Description_Lang_zhCN`, `Description_Lang_enTW`, `Description_Lang_zhTW`, `Description_Lang_esES`, `Description_Lang_esMX`, `Description_Lang_ruRU`, `Description_Lang_ptPT`, `Description_Lang_ptBR`, `Description_Lang_itIT`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (9, 737, 40, 171, 6, 0, 0, 0, 0, 'Alchemy', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 1); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_enGB`, `Description_Lang_koKR`, `Description_Lang_frFR`, `Description_Lang_deDE`, `Description_Lang_enCN`, `Description_Lang_zhCN`, `Description_Lang_enTW`, `Description_Lang_zhTW`, `Description_Lang_esES`, `Description_Lang_esMX`, `Description_Lang_ruRU`, `Description_Lang_ptPT`, `Description_Lang_ptBR`, `Description_Lang_itIT`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (10, 737, 40, 164, 6, 0, 0, 0, 0, 'Blacksmithing', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 2); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_enGB`, `Description_Lang_koKR`, `Description_Lang_frFR`, `Description_Lang_deDE`, `Description_Lang_enCN`, `Description_Lang_zhCN`, `Description_Lang_enTW`, `Description_Lang_zhTW`, `Description_Lang_esES`, `Description_Lang_esMX`, `Description_Lang_ruRU`, `Description_Lang_ptPT`, `Description_Lang_ptBR`, `Description_Lang_itIT`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (11, 737, 40, 333, 6, 0, 0, 0, 0, 'Enchanting', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 3); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_enGB`, `Description_Lang_koKR`, `Description_Lang_frFR`, `Description_Lang_deDE`, `Description_Lang_enCN`, `Description_Lang_zhCN`, `Description_Lang_enTW`, `Description_Lang_zhTW`, `Description_Lang_esES`, `Description_Lang_esMX`, `Description_Lang_ruRU`, `Description_Lang_ptPT`, `Description_Lang_ptBR`, `Description_Lang_itIT`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (12, 737, 40, 202, 6, 0, 0, 0, 0, 'Engineering', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 4); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_enGB`, `Description_Lang_koKR`, `Description_Lang_frFR`, `Description_Lang_deDE`, `Description_Lang_enCN`, `Description_Lang_zhCN`, `Description_Lang_enTW`, `Description_Lang_zhTW`, `Description_Lang_esES`, `Description_Lang_esMX`, `Description_Lang_ruRU`, `Description_Lang_ptPT`, `Description_Lang_ptBR`, `Description_Lang_itIT`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (13, 737, 40, 182, 6, 0, 0, 0, 0, 'Herbalism', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 5); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_enGB`, `Description_Lang_koKR`, `Description_Lang_frFR`, `Description_Lang_deDE`, `Description_Lang_enCN`, `Description_Lang_zhCN`, `Description_Lang_enTW`, `Description_Lang_zhTW`, `Description_Lang_esES`, `Description_Lang_esMX`, `Description_Lang_ruRU`, `Description_Lang_ptPT`, `Description_Lang_ptBR`, `Description_Lang_itIT`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (14, 737, 40, 165, 6, 0, 0, 0, 0, 'Leatherworking', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 6); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_enGB`, `Description_Lang_koKR`, `Description_Lang_frFR`, `Description_Lang_deDE`, `Description_Lang_enCN`, `Description_Lang_zhCN`, `Description_Lang_enTW`, `Description_Lang_zhTW`, `Description_Lang_esES`, `Description_Lang_esMX`, `Description_Lang_ruRU`, `Description_Lang_ptPT`, `Description_Lang_ptBR`, `Description_Lang_itIT`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (15, 737, 40, 186, 6, 0, 0, 0, 0, 'Mining', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 7); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_enGB`, `Description_Lang_koKR`, `Description_Lang_frFR`, `Description_Lang_deDE`, `Description_Lang_enCN`, `Description_Lang_zhCN`, `Description_Lang_enTW`, `Description_Lang_zhTW`, `Description_Lang_esES`, `Description_Lang_esMX`, `Description_Lang_ruRU`, `Description_Lang_ptPT`, `Description_Lang_ptBR`, `Description_Lang_itIT`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (16, 737, 40, 393, 6, 0, 0, 0, 0, 'Skinning', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 8); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_enGB`, `Description_Lang_koKR`, `Description_Lang_frFR`, `Description_Lang_deDE`, `Description_Lang_enCN`, `Description_Lang_zhCN`, `Description_Lang_enTW`, `Description_Lang_zhTW`, `Description_Lang_esES`, `Description_Lang_esMX`, `Description_Lang_ruRU`, `Description_Lang_ptPT`, `Description_Lang_ptBR`, `Description_Lang_itIT`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (17, 737, 40, 197, 6, 0, 0, 0, 0, 'Tailoring', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 16712190, 2, 0, 0, 0, 9); + +-- Skills to pay the bills (grand master fish, first aid, cook) +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=730; + +-- First Aid +-- Stock Up (frost bandage) +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=137; +-- Replace Stock up +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Description_Lang_enUS`, `Category`, `Points`, `Ui_Order`, `IconID`) VALUES ('138', '-1', '-1', 'Bandage Dispenser', 'Create 500 Heavy Runecloth Bandages.', '172', '10', '6', '1621'); +-- criteria +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Flags`, `Ui_Order`) VALUES ('1833', '138', '29', '18630', '500', 'Create 500 Heavy Runecloth Bandages', '16712190', '1', '1'); +-- Ultimate Triage (frost bandage) +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=141; +-- Replace +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Description_Lang_enUS`, `Category`, `Points`, `Ui_Order`, `IconID`) VALUES ('142', '-1', '-1', 'Medic!', 'Use a Heavy Runecloth Bandage to heal another player or yourself with less than 5% health.', '172', '10', '7', '3840'); +-- criteria +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Flags`, `Ui_Order`) VALUES ('6801', '142', '110', '18610', '1', 'First Aid Below 5%', '16712190', '2', '1'); +-- criteria data +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`) VALUES ('6801', '3', '5'); + +-- COOKING +-- tbc +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID` IN (1800); +-- wotlk achievements +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID` IN (1563,3296,2002,2001,2000,1999,1998,1801,1801,1784,1781,1782,1783,1777,1778,1779,906,877,1780); + +-- FISHING +-- tbc +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID` IN (144,726,905,1225,1243,1257,1836,1837); +-- wotlk +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID` IN (1516,1517,1957,1958,2094,2095,2096,3217,3218); +-- TODO copy 1257 achievement with removed 1 criteroa that is TBC + +-- QUESTS +-- Daily quest tbc +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID` IN (97,759,973,974,975,976,977,1525,1526,31,759); +-- Nesingwary +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=941; +-- Nagrand + Zul Drak arena +-- TODO Separate for tbc +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=1576; +-- Loremaster +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=1681; +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=1682; + +-- FIRST REALM +-- First BE 80 +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID`=1405; + +-- PVP +-- Kill every class - remove DK and fix order +DELETE FROM `achievement_criteria_dbc` WHERE `ID`=2359; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='1' WHERE `ID`=2360; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='2' WHERE `ID`=2361; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='3' WHERE `ID`=2362; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='4' WHERE `ID`=2363; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='5' WHERE `ID`=2364; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='6' WHERE `ID`=2365; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='7' WHERE `ID`=2366; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='8' WHERE `ID`=2367; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='9' WHERE `ID`=2368; +-- Kill every race - remove blood elf +UPDATE `achievement_dbc` SET `Description_Lang_enUS`='Get an honorable, killing blow on four different races.' WHERE `ID`=246; +UPDATE `achievement_dbc` SET `Description_Lang_enUS`='Get an honorable, killing blow on four different races.' WHERE `ID`=1005; +DELETE FROM `achievement_criteria_dbc` WHERE `ID`=2369; +DELETE FROM `achievement_criteria_dbc` WHERE `ID`=2374; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='1' WHERE `ID`=2370; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='2' WHERE `ID`=2371; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='3' WHERE `ID`=2372; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='4' WHERE `ID`=2373; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='1' WHERE `ID`=2375; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='2' WHERE `ID`=2376; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='3' WHERE `ID`=2377; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='4' WHERE `ID`=2378; +-- Kill in every city - remove tbc cities +DELETE FROM `achievement_criteria_dbc` WHERE `ID`=6639; +DELETE FROM `achievement_criteria_dbc` WHERE `ID`=6634; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='3' WHERE `ID`=6640; +UPDATE `achievement_criteria_dbc` SET `Ui_Order`='2' WHERE `ID`=6635; +-- Kill Blood elf leader +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID`=613; +-- Kill Draenei leader +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID`=618; +-- Kill Varian +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=615; +-- New Achievement Kill Bolvar (classic) +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `IconID`, `Reward_Lang_Mask`) VALUES ('620', '0', '0', 'Do I smell fire?', '16712190', 'Kill Highlord Bolvar Fordragon.', '16712190', '95', '10', '26', '3671', '16712174'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('5204', '620', '0', '1748', '1', 'Highlord Bolvar Fordragon', '2', '1'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`) VALUES ('5204', '0', '0'); +-- Grizzled Veteran (wotlk) +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=2016; +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=2017; +-- Kill Enemy Leaders - set to tbc+ +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID`=619; +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID`=614; +-- New achievement Kill Enemy Leaders (classic) +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `IconID`, `Reward_Lang_Mask`) VALUES ('702', '0', '-1', 'For The Horde!', '16712190', 'Slay the leaders of the Alliance.', '16712190', '95', '20', '30', '1703', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('574', '702', '8', '620', '0', 'Do I smell fire?', '0', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('575', '702', '8', '616', '0', 'Death to the King!', '0', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('576', '702', '8', '617', '0', 'Immortal No More', '0', '3'); +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `IconID`, `Reward_Lang_Mask`) VALUES ('703', '1', '-1', 'For The Alliance!', '16712190', 'Slay the leaders of the Horde.', '16712190', '95', '20', '25', '1704', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('577', '703', '8', '610', '0', 'Death to the Warchief!', '0', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('578', '703', '8', '611', '0', 'Bleeding Bloodhoof', '0', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('579', '703', '8', '612', '0', 'Downing the Dark Lady', '0', '3'); + +-- PVE +-- Naxxramas +-- Achievement Kill KT +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Title_Lang_enUS`, `Description_Lang_enUS`, `Category`, `Points`, `Ui_Order`, `IconID`, `Minimum_Criteria`) VALUES ('715', '-1', 'Naxxramas', 'Defeat Kel\'Thuzad', '14808', '10', '26', '4075', '1'); +-- Move Leeroy Achievement after Naxx +UPDATE `achievement_dbc` SET `Ui_Order`='27' WHERE `ID`=2188; +-- criteria +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('593', '715', '15990', '1', 'Kel\'Thuzad', '2', '1'); +-- add Naxx to Classic Raider +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Description_Lang_enUS`, `Ui_Order`) VALUES ('4008', '1285', '8', '715', 'Naxxramas', '6'); +-- tbc achievements +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID` IN (4476,4477,4478); + +-- GENERAL +-- Riding skill flying +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID`=890; +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID`=892; +-- Higher Learning (wotlk) +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=1956; +-- wotlk achievements +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID` IN (2076,2078,2081,2084,2097,2557,2716); +-- Master of Arms (wotlk) +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=705; +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`, `Minimum_Criteria`) VALUES ('930', '-1', '-1', 'Master of Arms', '16712190', 'Raise four weapon skills to 300.', '16712190', '92', '10', '9', '0', '279', '16712190', '4'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1759', '930', '7', '44', '300', 'Axes', '0', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1760', '930', '7', '45', '300', 'Bows', '0', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1761', '930', '7', '226', '300', 'Crossbows', '0', '3'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1769', '930', '7', '173', '300', 'Daggers', '0', '4'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1774', '930', '7', '46', '300', 'Guns', '0', '5'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1790', '930', '7', '54', '300', 'Maces', '0', '6'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1796', '930', '7', '229', '300', 'Polearms', '0', '7'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1797', '930', '7', '136', '300', 'Staves', '0', '8'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1798', '930', '7', '43', '300', 'Swords', '0', '9'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1948', '930', '7', '172', '300', 'Two-Handed Axes', '0', '10'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1967', '930', '7', '55', '300', 'Two-Handed Swords', '0', '11'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1968', '930', '7', '160', '300', 'Two-Handed Maces', '0', '12'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1969', '930', '7', '162', '300', 'Unarmed', '0', '13'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1970', '930', '7', '228', '300', 'Wands', '0', '14'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1972', '930', '7', '176', '300', 'Thrown', '0', '15'); +-- Did Somebody Order a Knuckle Sandwich? (wotlk) +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=16; +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('935', '-1', '-1', 'Did Somebody Order a Knuckle Sandwich?', '16712190', 'Raise your unarmed skill to 300.', '16712190', '92', '10', '10', '0', '1997', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1973', '935', '7', '162', '300', 'Unarmed skill raised to 300', '1', '1'); +-- Epic (wotlk) +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=556; +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('936', '-1', '-1', 'Epic', '16712190', 'Equip an epic item in every slot with a minimum item level of 65.', '16712190', '92', '25', '31', '0', '2808', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1974', '936', '49', '0', '1', 'Head', '0', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1975', '936', '49', '1', '1', 'Neck', '0', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1976', '936', '49', '2', '1', 'Shoulder', '0', '3'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1977', '936', '49', '4', '1', 'Chest', '0', '4'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1978', '936', '49', '5', '1', 'Waist', '0', '5'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1979', '936', '49', '6', '1', 'Legs', '0', '6'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1980', '936', '49', '7', '1', 'Feet', '0', '7'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1981', '936', '49', '8', '1', 'Wrist', '0', '8'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1982', '936', '49', '9', '1', 'Hands', '0', '9'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1983', '936', '49', '10', '1', 'Left Ring', '0', '10'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1984', '936', '49', '12', '1', 'First Trinket', '0', '12'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1985', '936', '49', '14', '1', 'Cloak', '0', '14'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1986', '936', '49', '15', '1', 'Weapon', '0', '15'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1987', '936', '49', '17', '1', 'Ranged', '0', '16'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1988', '936', '49', '11', '1', 'Right Ring', '0', '11'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1989', '936', '49', '13', '1', 'Second Trinket', '0', '13'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1974', '19', '65', '4'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1975', '19', '65', '4'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1976', '19', '65', '4'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1977', '19', '65', '4'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1978', '19', '65', '4'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1979', '19', '65', '4'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1980', '19', '65', '4'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1981', '19', '65', '4'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1982', '19', '65', '4'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1983', '19', '65', '4'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1984', '19', '65', '4'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1985', '19', '65', '4'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1986', '19', '65', '4'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1987', '19', '65', '4'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1988', '19', '65', '4'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1989', '19', '65', '4'); +-- Superior (wotlk) +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=557; +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('954', '-1', '-1', 'Superior', '16712190', 'Equip an superior item in every slot with a minimum item level of 57.', '16712190', '92', '10', '32', '0', '133', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1990', '954', '49', '0', '1', 'Head', '0', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1994', '954', '49', '1', '1', 'Neck', '0', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1995', '954', '49', '2', '1', 'Shoulder', '0', '3'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1996', '954', '49', '4', '1', 'Chest', '0', '4'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('2018', '954', '49', '5', '1', 'Waist', '0', '5'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('2019', '954', '49', '6', '1', 'Legs', '0', '6'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('2021', '954', '49', '7', '1', 'Feet', '0', '7'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('2025', '954', '49', '8', '1', 'Wrist', '0', '8'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('2026', '954', '49', '9', '1', 'Hands', '0', '9'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('2027', '954', '49', '10', '1', 'Left Ring', '0', '10'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('2028', '954', '49', '12', '1', 'First Trinket', '0', '12'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('2029', '954', '49', '14', '1', 'Cloak', '0', '14'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('2038', '954', '49', '15', '1', 'Weapon', '0', '15'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('2047', '954', '49', '17', '1', 'Ranged', '0', '16'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('2088', '954', '49', '11', '1', 'Right Ring', '0', '11'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('2089', '954', '49', '13', '1', 'Second Trinket', '0', '13'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1990', '19', '57', '3'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1994', '19', '57', '3'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1995', '19', '57', '3'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('1996', '19', '57', '3'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('2018', '19', '57', '3'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('2019', '19', '57', '3'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('2021', '19', '57', '3'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('2025', '19', '57', '3'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('2026', '19', '57', '3'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('2027', '19', '57', '3'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('2028', '19', '57', '3'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('2029', '19', '57', '3'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('2038', '19', '57', '3'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('2047', '19', '57', '3'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('2088', '19', '57', '3'); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`) VALUES ('2089', '19', '57', '3'); + +-- REPUTATION +-- Argent Champion (Wotlk faction) +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=945; +-- The Diplomat (TBC factions) +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID`=942; +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID`=943; +-- Ambassador Achievement +-- ALLIANCE +-- old achievement set patch to tbc+ +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID`=948; +-- new achievement (Agent of the Alliance) +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Description_Lang_enUS`, `Category`, `Points`, `Ui_Order`, `IconID`) VALUES ('1001', '1', '-1', 'Agent of the Alliance', 'Earn exalted reputation with 4 home cities.', '201', '10', '11', '3375'); +-- new criteria +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Ui_Order`) VALUES ('5', '1001', '46', '72', '42000', 'Exalted Stormwind', '16712190', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Ui_Order`) VALUES ('6', '1001', '46', '47', '42000', 'Exalted Ironforge', '16712190', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Ui_Order`) VALUES ('7', '1001', '46', '69', '42000', 'Exalted Darnassus', '16712190', '3'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Ui_Order`) VALUES ('8', '1001', '46', '54', '42000', 'Exalted Gnomeregan Exiles', '16712190', '4'); +-- HORDE +-- old achievement set patch to tbc+ +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID`=762; +-- new achievement (Agent of the Horde) +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Description_Lang_enUS`, `Category`, `Points`, `Ui_Order`, `IconID`) VALUES ('1002', '0', '-1', 'Agent of the Horde', 'Earn exalted reputation with 4 home cities.', '201', '10', '10', '3374'); +-- new criteria +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Ui_Order`) VALUES ('1', '1002', '46', '76', '42000', 'Exalted Orgrimmar', '16712190', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Ui_Order`) VALUES ('2', '1002', '46', '81', '42000', 'Exalted Thunder Bluff', '16712190', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Ui_Order`) VALUES ('3', '1002', '46', '68', '42000', 'Exalted Undercity', '16712190', '3'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Ui_Order`) VALUES ('4', '1002', '46', '530', '42000', 'Exalted Darkspear Trolls', '16712190', '4'); + +-- WORLD EVENTS +-- Halloween +-- A Mask for All Occasions +-- old achievement set patch to tbc+ +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID`=284; +-- new achievement +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Description_Lang_enUS`, `Category`, `Points`, `Ui_Order`, `IconID`) VALUES ('982', '-1', '-1', 'A Mask for All Occasions', 'Collect the 16 unique Flimsy Masks listed below.', '158', '20', '22', '2953'); +-- new criteria +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1799, 982, 36, 20562, 1, 0, 0, 0, 0, 'Flimsy Female Dwarf Mask', '', 16712190, 0, 0, 0, 0, 1); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1836, 982, 36, 20392, 1, 0, 0, 0, 0, 'Flimsy Female Gnome Mask', '', 16712190, 0, 0, 0, 0, 2); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1845, 982, 36, 20565, 1, 0, 0, 0, 0, 'Flimsy Female Human Mask', '', 16712190, 0, 0, 0, 0, 3); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1861, 982, 36, 20563, 1, 0, 0, 0, 0, 'Flimsy Female Nightelf Mask', '', 16712190, 0, 0, 0, 0, 4); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1862, 982, 36, 20569, 1, 0, 0, 0, 0, 'Flimsy Female Orc Mask', '', 16712190, 0, 0, 0, 0, 5); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1864, 982, 36, 20571, 1, 0, 0, 0, 0, 'Flimsy Female Tauren Mask', '', 16712190, 0, 0, 0, 0, 6); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1865, 982, 36, 20567, 1, 0, 0, 0, 0, 'Flimsy Female Troll Mask', '', 16712190, 0, 0, 0, 0, 7); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1866, 982, 36, 20574, 1, 0, 0, 0, 0, 'Flimsy Female Undead Mask', '', 16712190, 0, 0, 0, 0, 8); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1876, 982, 36, 20561, 1, 0, 0, 0, 0, 'Flimsy Male Dwarf Mask', '', 16712190, 0, 0, 0, 0, 9); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1885, 982, 36, 20391, 1, 0, 0, 0, 0, 'Flimsy Male Gnome Mask', '', 16712190, 0, 0, 0, 0, 10); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1895, 982, 36, 20566, 1, 0, 0, 0, 0, 'Flimsy Male Human Mask', '', 16712190, 0, 0, 0, 0, 11); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1897, 982, 36, 20564, 1, 0, 0, 0, 0, 'Flimsy Male Nightelf Mask', '', 16712190, 0, 0, 0, 0, 12); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1898, 982, 36, 20570, 1, 0, 0, 0, 0, 'Flimsy Male Orc Mask', '', 16712190, 0, 0, 0, 0, 13); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1900, 982, 36, 20572, 1, 0, 0, 0, 0, 'Flimsy Male Tauren Mask', '', 16712190, 0, 0, 0, 0, 14); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1928, 982, 36, 20568, 1, 0, 0, 0, 0, 'Flimsy Male Troll Mask', '', 16712190, 0, 0, 0, 0, 15); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Start_Event`, `Start_Asset`, `Fail_Event`, `Fail_Asset`, `Description_Lang_enUS`, `Description_Lang_Unk`, `Description_Lang_Mask`, `Flags`, `Timer_Start_Event`, `Timer_Asset_Id`, `Timer_Time`, `Ui_Order`) VALUES (1929, 982, 36, 20573, 1, 0, 0, 0, 0, 'Flimsy Male Undead Mask', '', 16712190, 0, 0, 0, 0, 16); + +-- TBC+ achievements +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID` IN (255,288,289,291,292,963,965,966,967,968,969,970,971,972,981,1261); + +-- Winter Veil +-- TBC+ achievements +UPDATE `achievement_dbc` SET `patch`='1' WHERE `ID` IN (277,1295,1687,1688,1690,4436); + +-- Custom +-- Ironman Challenge +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `IconID`, `Reward_Lang_Mask`) VALUES ('704', '-1', '-1', 'I Can\'t Believe You Have Done That!', '16712190', 'Reach max level without dying once.', '16712190', '81', '0', '161', '3582', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('580', '704', '5', '0', '100', 'Reach max level without dying once.', '0', '1'); + +-- Kalimdor Quests Achievements +-- (Horde) Durotar + Valley of Trials + Ragefire Chasm +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('716', '0', '-1', 'Durotar Loremaster', '16712190', 'Complete 46 quests in Durotar.', '16712190', '14861', '10', '6', '136', '3532', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('581', '716', '11', '14', '46', 'Durotar', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('582', '716', '11', '363', '46', 'Valley of Trials', '3', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('583', '716', '11', '2437', '46', 'Ragefire Chasm', '3', '3'); +-- (Horde) Mulgore + Red Cloud Mesa +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('717', '0', '-1', 'Mulgore Loremaster', '16712190', 'Complete 35 quests in Mulgore.', '16712190', '14861', '10', '7', '136', '3562', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('584', '717', '11', '215', '35', 'Mulgore', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('704', '717', '11', '220', '35', 'Red Cloud Mesa', '3', '2'); +-- (Horde) The Barrens + Wailing Caverns + Razorfen Kraul + Razorfen Downs +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('718', '0', '-1', 'The Barrens Loremaster', '16712190', 'Complete 98 quests in The Barrens.', '16712190', '14861', '10', '8', '136', '3547', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('585', '718', '11', '17', '98', 'The Barrens', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('586', '718', '11', '718', '98', 'Wailing Caverns', '3', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('587', '718', '11', '1717', '98', 'Razorfen Kraul', '3', '3'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('588', '718', '11', '722', '98', 'Razorfen Downs', '3', '4'); +-- (Horde) Thousand Needles +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('719', '0', '-1', 'Thousand Needles Loremaster', '16712190', 'Complete 52 quests in Thousand Needles.', '16712190', '14861', '10', '9', '136', '3580', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('589', '719', '11', '400', '52', 'Thousand Needles', '3', '1'); +-- (Horde) Tanaris + Zul'Farrak +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('720', '0', '-1', 'Tanaris Loremaster', '16712190', 'Complete 76 quests in Tanaris.', '16712190', '14861', '10', '10', '136', '3577', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('590', '720', '11', '440', '76', 'Tanaris', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('591', '720', '11', '978', '76', 'Zul\'Farrak', '3', '1'); +-- (Horde) Un'Goro Crater +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('721', '0', '-1', 'Un\'Goro Crater Loremaster', '16712190', 'Complete 41 quests in Un\'Goro Crater.', '16712190', '14861', '10', '11', '136', '3588', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('627', '721', '11', '490', '41', 'Un\'Goro Crater', '3', '1'); +-- (Horde) Silithus +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('722', '0', '-1', 'Silithus Loremaster', '16712190', 'Complete 88 quests in Silithus.', '16712190', '14861', '10', '12', '136', '3567', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('628', '722', '11', '1377', '88', 'Silithus', '3', '1'); +-- (Horde) Stonetalon Mountains +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('723', '0', '-1', 'Stonetalon Mountains Loremaster', '16712190', 'Complete 25 quests in Stonetalon Mountains.', '16712190', '14861', '10', '13', '136', '3578', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('629', '723', '11', '406', '25', 'Stonetalon Mountains', '3', '1'); +-- (Horde) Dustwallow Marsh +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('724', '0', '-1', 'Dustwallow Marsh Loremaster', '16712190', 'Complete 30 quests in Dustwallow Marsh.', '16712190', '14861', '10', '14', '136', '3534', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('630', '724', '11', '15', '30', 'Dustwallow Marsh', '3', '1'); +-- (Horde) Ashenvale + Blackfathom Deeps +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('738', '0', '-1', 'Ashenvale Loremaster', '16712190', 'Complete 29 quests in Ashenvale.', '16712190', '14861', '10', '15', '136', '3543', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('631', '738', '11', '331', '29', 'Ashenvale', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('632', '738', '11', '719', '29', 'Blackfathom Deeps', '3', '2'); +-- (Horde) Feralas + Dire Maul +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('739', '0', '-1', 'Feralas Loremaster', '16712190', 'Complete 54 quests in Feralas.', '16712190', '14861', '10', '16', '136', '3539', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('633', '739', '11', '357', '54', 'Feralas', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('634', '739', '11', '2557', '54', 'Dire Maul', '3', '2'); +-- (Horde) Desolace + Maraudon +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('740', '0', '-1', 'Desolace Loremaster', '16712190', 'Complete 38 quests in Desolace.', '16712190', '14861', '10', '17', '136', '3530', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('635', '740', '11', '405', '38', 'Desolace', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('636', '740', '11', '2100', '38', 'Maraudon', '3', '2'); +-- (Horde) Felwood +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('741', '0', '-1', 'Felwood Loremaster', '16712190', 'Complete 54 quests in Felwood.', '16712190', '14861', '10', '18', '136', '3538', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('637', '741', '11', '361', '54', 'Felwood', '3', '1'); +-- (Horde) Winterspring +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('742', '0', '-1', 'Winterspring Loremaster', '16712190', 'Complete 34 quests in Winterspring.', '16712190', '14861', '10', '19', '136', '3587', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('638', '742', '11', '618', '34', 'Winterspring', '3', '1'); +-- (Horde) Azshara +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('743', '0', '-1', 'Azshara Loremaster', '16712190', 'Complete 26 quests in Azshara.', '16712190', '14861', '10', '20', '136', '3544', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('639', '743', '11', '16', '26', 'Azshara', '3', '1'); +-- (Horde) old Kalimdor Lorenmaster achievement set patch to wotlk+ +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=1680; +-- (Horde) new Kalimdor Lorenmaster achievement +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('744', '0', '-1', 'Loremaster of Kalimdor', '16712190', 'Complete the quests in all zones of Kalimdor.', '16712190', '14861', '10', '21', '0', '3491', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('640', '744', '8', '716', '0', 'Durotar', '0', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('642', '744', '8', '717', '0', 'Mulgore', '0', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('643', '744', '8', '718', '0', 'The Barrens', '0', '3'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('644', '744', '8', '719', '0', 'Thousand Needles', '0', '4'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('647', '744', '8', '720', '0', 'Tanaris', '0', '5'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('649', '744', '8', '721', '0', 'Un\'Goro', '0', '6'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('650', '744', '8', '722', '0', 'Silithus', '0', '7'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('658', '744', '8', '723', '0', 'Stonetalon Mountains', '0', '8'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('659', '744', '8', '724', '0', 'Dustwallow Marsh', '0', '9'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('660', '744', '8', '738', '0', 'Ashenvale', '0', '10'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('661', '744', '8', '739', '0', 'Feralas', '0', '11'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('662', '744', '8', '740', '0', 'Desolace', '0', '12'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('663', '744', '8', '741', '0', 'Felwood', '0', '13'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('664', '744', '8', '742', '0', 'Winterspring', '0', '14'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('665', '744', '8', '743', '0', 'Azshara', '0', '15'); + +-- (Alliance) The Barrens + Wailing Caverns + Razorfen Kraul + Razorfen Downs +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('745', '1', '-1', 'The Barrens Loremaster', '16712190', 'Complete 25 quests in The Barrens.', '16712190', '14861', '10', '6', '136', '3547', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('666', '745', '11', '17', '25', 'The Barrens', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('667', '745', '11', '718', '25', 'Wailing Caverns', '3', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('668', '745', '11', '1717', '25', 'Razorfen Kraul', '3', '3'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('669', '745', '11', '722', '25', 'Razorfen Downs', '3', '4'); +-- (Alliance) Thousand Needles +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('746', '1', '-1', 'Thousand Needles Loremaster', '16712190', 'Complete 31 quests in Thousand Needles.', '16712190', '14861', '10', '7', '136', '3580', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('670', '746', '11', '400', '31', 'Thousand Needles', '3', '1'); +-- (Alliance) Tanaris + Zul'Farrak +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('747', '1', '-1', 'Tanaris Loremaster', '16712190', 'Complete 75 quests in Tanaris.', '16712190', '14861', '10', '8', '136', '3577', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('671', '747', '11', '440', '75', 'Tanaris', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('672', '747', '11', '978', '75', 'Zul\'Farrak', '3', '1'); +-- (Alliance) Un'Goro Crater +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('748', '1', '-1', 'Un\'Goro Crater Loremaster', '16712190', 'Complete 41 quests in Un\'Goro Crater.', '16712190', '14861', '10', '9', '136', '3588', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('673', '748', '11', '490', '41', 'Un\'Goro Crater', '3', '1'); +-- (Alliance) Silithus +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('749', '1', '-1', 'Silithus Loremaster', '16712190', 'Complete 86 quests in Silithus.', '16712190', '14861', '10', '10', '136', '3567', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('674', '749', '11', '1377', '86', 'Silithus', '3', '1'); +-- (Alliance) Stonetalon Mountains +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('751', '1', '-1', 'Stonetalon Mountains Loremaster', '16712190', 'Complete 20 quests in Stonetalon Mountains.', '16712190', '14861', '10', '11', '136', '3578', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('675', '751', '11', '406', '20', 'Stonetalon Mountains', '3', '1'); +-- (Alliance) Dustwallow Marsh +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('754', '1', '-1', 'Dustwallow Marsh Loremaster', '16712190', 'Complete 23 quests in Dustwallow Marsh.', '16712190', '14861', '10', '12', '136', '3534', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('676', '754', '11', '15', '23', 'Dustwallow Marsh', '3', '1'); +-- (Alliance) Ashenvale + Blackfathom Deeps +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('755', '1', '-1', 'Ashenvale Loremaster', '16712190', 'Complete 44 quests in Ashenvale.', '16712190', '14861', '10', '13', '136', '3543', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('677', '755', '11', '331', '44', 'Ashenvale', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('678', '755', '11', '719', '44', 'Blackfathom Deeps', '3', '2'); +-- (Alliance) Feralas + Dire Maul +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('756', '1', '-1', 'Feralas Loremaster', '16712190', 'Complete 60 quests in Feralas.', '16712190', '14861', '10', '14', '136', '3539', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('679', '756', '11', '357', '60', 'Feralas', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('680', '756', '11', '2557', '60', 'Dire Maul', '3', '2'); +-- (Alliance) Desolace + Maraudon +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('757', '1', '-1', 'Desolace Loremaster', '16712190', 'Complete 40 quests in Desolace.', '16712190', '14861', '10', '15', '136', '3530', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('681', '757', '11', '405', '40', 'Desolace', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('682', '757', '11', '2100', '40', 'Maraudon', '3', '2'); +-- (Alliance) Felwood +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('758', '1', '-1', 'Felwood Loremaster', '16712190', 'Complete 53 quests in Felwood.', '16712190', '14861', '10', '16', '136', '3538', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('683', '758', '11', '361', '53', 'Felwood', '3', '1'); +-- (Alliance) Winterspring +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('785', '1', '-1', 'Winterspring Loremaster', '16712190', 'Complete 40 quests in Winterspring.', '16712190', '14861', '10', '17', '136', '3587', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('684', '785', '11', '618', '40', 'Winterspring', '3', '1'); +-- (Alliance) Azshara +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('786', '1', '-1', 'Azshara Loremaster', '16712190', 'Complete 20 quests in Azshara.', '16712190', '14861', '10', '18', '136', '3544', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('685', '786', '11', '16', '20', 'Azshara', '3', '1'); +-- (Alliance) Darkshore +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('787', '1', '-1', 'Darkshore Loremaster', '16712190', 'Complete 62 quests in Darkshore.', '16712190', '14861', '10', '19', '136', '3553', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('686', '787', '11', '148', '62', 'Darkshore', '3', '1'); +-- (Alliance) Teldrassil + Shadowglen +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('788', '1', '-1', 'Teldrassil Loremaster', '16712190', 'Complete 40 quests in Teldrassil.', '16712190', '14861', '10', '20', '136', '3528', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('687', '788', '11', '141', '40', 'Teldrassil', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('688', '788', '11', '188', '40', 'Shadowglen', '3', '2'); +-- (Alliance) old Kalimdor Lorenmaster achievement set patch to wotlk+ +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=1678; +-- (Alliance) new Kalimdor Lorenmaster achievement +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('789', '1', '-1', 'Loremaster of Kalimdor', '16712190', 'Complete the quests in all zones of Kalimdor.', '16712190', '14861', '10', '21', '0', '3491', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('689', '789', '8', '745', '0', 'The Barrens', '0', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('690', '789', '8', '746', '0', 'Thousand Needles', '0', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('691', '789', '8', '747', '0', 'Tanaris', '0', '3'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('692', '789', '8', '748', '0', 'Un\'Goro', '0', '4'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('693', '789', '8', '749', '0', 'Silithus', '0', '5'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('694', '789', '8', '751', '0', 'Stonetalon Mountains', '0', '6'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('695', '789', '8', '754', '0', 'Dustwallow Marsh', '0', '7'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('696', '789', '8', '755', '0', 'Ashenvale', '0', '8'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('697', '789', '8', '756', '0', 'Feralas', '0', '9'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('698', '789', '8', '757', '0', 'Desolace', '0', '10'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('699', '789', '8', '758', '0', 'Felwood', '0', '11'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('700', '789', '8', '785', '0', 'Winterspring', '0', '12'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('701', '789', '8', '786', '0', 'Azshara', '0', '13'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('702', '789', '8', '787', '0', 'Darkshore', '0', '14'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('703', '789', '8', '788', '0', 'Teldrassil', '0', '15'); + +-- Eastern Kingdoms Quests Achievements +-- (Horde) Tirisfal Glades + Deathknell + Scarlet Monastery +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('790', '0', '-1', 'Tirisfal Glades Loremaster', '16712190', 'Complete 45 quests in Tirisfal Glades.', '16712190', '14861', '10', '22', '136', '3570', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('705', '790', '11', '85', '45', 'Tirisfal Glades', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('706', '790', '11', '154', '45', 'Deathknell', '3', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('715', '790', '11', '796', '45', 'Scarlet Monastery', '3', '3'); +-- (Horde) Western Plaguelands + Scholomance +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('791', '0', '-1', 'Western Plaguelands Loremaster', '16712190', 'Complete 60 quests in Western Plaguelands.', '16712190', '14861', '10', '23', '136', '3571', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('716', '791', '11', '28', '60', 'Western Plaguelands', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('717', '791', '11', '2057', '60', 'Scholomance', '3', '2'); +-- (Horde) Eastern Plaguelands + Stratholme +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('792', '0', '-1', 'Eastern Plaguelands Loremaster', '16712190', 'Complete 96 quests in Eastern Plaguelands.', '16712190', '14861', '10', '24', '136', '3535', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('718', '792', '11', '139', '96', 'Eastern Plaguelands', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('719', '792', '11', '2017', '96', 'Stratholme', '3', '2'); +-- (Horde) Silverpine Forest + Shadowfang Keep +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('793', '0', '-1', 'Silverpine Forest Loremaster', '16712190', 'Complete 38 quests in Silverpine Forest.', '16712190', '14861', '10', '25', '136', '3576', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('720', '793', '11', '130', '38', 'Silverpine Forest', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('743', '793', '11', '209', '38', 'Shadowfang Keep', '3', '2'); +-- (Horde) Hinterlands +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('794', '0', '-1', 'The Hinterlands Loremaster', '16712190', 'Complete 27 quests in The Hinterlands.', '16712190', '14861', '10', '26', '136', '3556', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('800', '794', '11', '47', '27', 'The Hinterlands', '3', '1'); +-- (Horde) Hillsbrad Foothills +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('795', '0', '-1', 'Hillsbrad Foothills Loremaster', '16712190', 'Complete 33 quests in Hillsbrad Foothills.', '16712190', '14861', '10', '27', '136', '3555', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('801', '795', '11', '267', '33', 'Hillsbrad Foothills', '3', '1'); +-- (Horde) Arathi Highlands +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('810', '0', '-1', 'Arathi Highlands Loremaster', '16712190', 'Complete 31 quests in Arathi Highlands.', '16712190', '14861', '10', '28', '136', '3542', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('802', '810', '11', '45', '31', 'Arathi Highlands', '3', '1'); +-- (Horde) Badlands + Uldaman +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('813', '0', '-1', 'Badlands Loremaster', '16712190', 'Complete 31 quests in Badlands.', '16712190', '14861', '10', '29', '136', '3546', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('803', '813', '11', '3', '31', 'Badlands', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('804', '813', '11', '1337', '31', 'Uldaman', '3', '2'); +-- (Horde) Searing Gorge + Blackrock Depths +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('814', '0', '-1', 'Searing Gorge Loremaster', '16712190', 'Complete 43 quests in Searing Gorge.', '16712190', '14861', '10', '30', '136', '3566', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('805', '814', '11', '51', '43', 'Searing Gorge', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('806', '814', '11', '1584', '43', 'Blackrock Depths', '3', '2'); +-- (Horde) Burning Steppes +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('815', '0', '-1', 'Burning Steppes Loremaster', '16712190', 'Complete 10 quests in Burning Steppes.', '16712190', '14861', '10', '31', '136', '3552', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('807', '815', '11', '46', '10', 'Burning Steppes', '3', '1'); +-- (Horde) Swamp of Sorrows + Sunken Temple +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('816', '0', '-1', 'Swamp of Sorrows Loremaster', '16712190', 'Complete 21 quests in Swamp of Sorrows.', '16712190', '14861', '10', '32', '136', '3569', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('808', '816', '11', '8', '21', 'Swamp of Sorrows', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('809', '816', '11', '1417', '21', 'Sunken Temple', '3', '2'); +-- (Horde) Blasted Lands +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('817', '0', '-1', 'Blasted Lands Loremaster', '16712190', 'Complete 21 quests in Blasted Lands.', '16712190', '14861', '10', '33', '136', '3550', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('810', '817', '11', '4', '21', 'Blasted Lands', '3', '1'); +-- (Horde) Stranglethorn Vale +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('818', '0', '-1', 'Stranglethorn Vale Loremaster', '16712190', 'Complete 66 quests in Stranglethorn Vale.', '16712190', '14861', '10', '34', '136', '3568', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('811', '818', '11', '33', '66', 'Stranglethorn Vale', '3', '1'); +-- (Horde) old Eastern Kingdoms Lorenmaster achievement set patch to wotlk+ +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=1677; +-- (Horde) new Eastern Kingdoms Lorenmaster achievement +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('819', '0', '-1', 'Loremaster of Eastern Kingdoms', '16712190', 'Complete the quests in all zones of Eastern Kingdoms.', '16712190', '14861', '10', '35', '0', '3490', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('812', '819', '8', '790', '0', 'Tirisfal Glades', '0', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('813', '819', '8', '791', '0', 'Western Plaguelands', '0', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('814', '819', '8', '792', '0', 'Eastern Plaguelands', '0', '3'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('815', '819', '8', '793', '0', 'Silverpine Forest', '0', '4'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('816', '819', '8', '794', '0', 'The Hinterlands', '0', '5'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('817', '819', '8', '795', '0', 'Hillsbrad Foothills', '0', '6'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('818', '819', '8', '810', '0', 'Arathi Highlands', '0', '7'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('819', '819', '8', '813', '0', 'Badlands', '0', '8'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('820', '819', '8', '814', '0', 'Searing Gorge', '0', '9'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('821', '819', '8', '815', '0', 'Burning Steppes', '0', '10'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('997', '819', '8', '816', '0', 'Swamp of Sorrows', '0', '11'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('998', '819', '8', '817', '0', 'Blasted Lands', '0', '12'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('999', '819', '8', '818', '0', 'Stranglethorn Vale', '0', '13'); + +-- (Alliance) Western Plaguelands + Scholomance +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('820', '1', '-1', 'Western Plaguelands Loremaster', '16712190', 'Complete 60 quests in Western Plaguelands.', '16712190', '14861', '10', '22', '136', '3571', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1000', '820', '11', '28', '60', 'Western Plaguelands', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1001', '820', '11', '2057', '60', 'Scholomance', '3', '2'); +-- (Alliance) Eastern Plaguelands + Stratholme +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('821', '1', '-1', 'Eastern Plaguelands Loremaster', '16712190', 'Complete 92 quests in Eastern Plaguelands.', '16712190', '14861', '10', '23', '136', '3535', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1002', '821', '11', '139', '92', 'Eastern Plaguelands', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1600', '821', '11', '2017', '92', 'Stratholme', '3', '2'); +-- (Alliance) Hinterlands +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('822', '1', '-1', 'The Hinterlands Loremaster', '16712190', 'Complete 13 quests in The Hinterlands.', '16712190', '14861', '10', '24', '136', '3556', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1601', '822', '11', '47', '13', 'The Hinterlands', '3', '1'); +-- (Alliance) Hillsbrad Foothills +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('823', '1', '-1', 'Hillsbrad Foothills Loremaster', '16712190', 'Complete 11 quests in Hillsbrad Foothills.', '16712190', '14861', '10', '25', '136', '3555', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1602', '823', '11', '267', '11', 'Hillsbrad Foothills', '3', '1'); +-- (Alliance) Arathi Highlands +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('824', '1', '-1', 'Arathi Highlands Loremaster', '16712190', 'Complete 22 quests in Arathi Highlands.', '16712190', '14861', '10', '26', '136', '3542', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1637', '824', '11', '45', '22', 'Arathi Highlands', '3', '1'); +-- (Alliance) Alterac Mountains +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('825', '1', '-1', 'Alterac Mountains Loremaster', '16712190', 'Complete 11 quests in Alterac Mountains.', '16712190', '14861', '10', '27', '136', '3541', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1640', '825', '11', '36', '11', 'Alterac Mountains', '3', '1'); +-- (Alliance) Wetlands +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('826', '1', '-1', 'Wetlands Loremaster', '16712190', 'Complete 34 quests in Wetlands.', '16712190', '14861', '10', '28', '136', '3573', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1642', '826', '11', '11', '34', 'Wetlands', '3', '1'); +-- (Alliance) Loch Modan +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('827', '1', '-1', 'Loch Modan Loremaster', '16712190', 'Complete 34 quests in Loch Modan.', '16712190', '14861', '10', '29', '136', '3558', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1643', '827', '11', '38', '34', 'Loch Modan', '3', '1'); +-- (Alliance) Dun Morogh + Coldridge Valley + Gnomeregan +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('828', '1', '-1', 'Dun Morogh Loremaster', '16712190', 'Complete 53 quests in Dun Morogh.', '16712190', '14861', '10', '30', '136', '3531', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1644', '828', '11', '38', '53', 'Dun Morogh', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1645', '828', '11', '132', '53', 'Coldridge Valley', '3', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1646', '828', '11', '721', '53', 'Gnomeregan', '3', '3'); +-- (Alliance) Badlands + Uldaman +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('831', '1', '-1', 'Badlands Loremaster', '16712190', 'Complete 42 quests in Badlands.', '16712190', '14861', '10', '31', '136', '3546', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1660', '831', '11', '3', '42', 'Badlands', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1661', '831', '11', '1337', '42', 'Uldaman', '3', '2'); +-- (Alliance) Searing Gorge + Blackrock Depths +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('832', '1', '-1', 'Searing Gorge Loremaster', '16712190', 'Complete 48 quests in Searing Gorge.', '16712190', '14861', '10', '32', '136', '3566', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1662', '832', '11', '51', '48', 'Searing Gorge', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1663', '832', '11', '1584', '48', 'Blackrock Depths', '3', '2'); +-- (Alliance) Burning Steppes +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('833', '1', '-1', 'Burning Steppes Loremaster', '16712190', 'Complete 18 quests in Burning Steppes.', '16712190', '14861', '10', '33', '136', '3552', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1664', '833', '11', '46', '18', 'Burning Steppes', '3', '1'); +-- (Alliance) Elwynn Forest + Northshire Valley + The Stockade +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('834', '1', '-1', 'Elwynn Forest Loremaster', '16712190', 'Complete 45 quests in Elwynn Forest.', '16712190', '14861', '10', '34', '136', '3536', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1665', '834', '11', '12', '45', 'Elwynn Forest', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1666', '834', '11', '9', '45', 'Northshire Valley', '3', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1676', '834', '11', '717', '45', 'The Stockade', '3', '3'); +-- (Alliance) Redridge Mountains +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('835', '1', '-1', 'Redridge Mountains Loremaster', '16712190', 'Complete 31 quests in Redridge Mountains.', '16712190', '14861', '10', '35', '136', '3565', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1677', '835', '11', '44', '31', 'Redridge Mountains', '3', '1'); +-- (Alliance) Westfall + The Deadmines +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('836', '1', '-1', 'Westfall Loremaster', '16712190', 'Complete 34 quests in Westfall.', '16712190', '14861', '10', '36', '136', '3572', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1678', '836', '11', '40', '34', 'Westfall', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1680', '836', '11', '1581', '34', 'The Deadmines', '3', '2'); +-- (Alliance) Duskwood +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('874', '1', '-1', 'Duskwood Loremaster', '16712190', 'Complete 61 quests in Duskwood.', '16712190', '14861', '10', '37', '136', '3533', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1681', '874', '11', '10', '61', 'Duskwood', '3', '1'); +-- (Alliance) Swamp of Sorrows + Sunken Temple +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('895', '1', '-1', 'Swamp of Sorrows Loremaster', '16712190', 'Complete 14 quests in Swamp of Sorrows.', '16712190', '14861', '10', '38', '136', '3569', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1682', '895', '11', '8', '14', 'Swamp of Sorrows', '3', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1683', '895', '11', '1417', '14', 'Sunken Temple', '3', '2'); +-- (Alliance) Blasted Lands +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('904', '1', '-1', 'Blasted Lands Loremaster', '16712190', 'Complete 20 quests in Blasted Lands.', '16712190', '14861', '10', '39', '136', '3550', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1684', '904', '11', '4', '20', 'Blasted Lands', '3', '1'); +-- (Alliance) Stranglethorn Vale +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('920', '1', '-1', 'Stranglethorn Vale Loremaster', '16712190', 'Complete 70 quests in Stranglethorn Vale.', '16712190', '14861', '10', '40', '136', '3568', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1685', '920', '11', '33', '70', 'Stranglethorn Vale', '3', '1'); +-- (Alliance) old Eastern Kingdoms Lorenmaster achievement set patch to wotlk+ +UPDATE `achievement_dbc` SET `patch`='2' WHERE `ID`=1676; +-- (Alliance) new Eastern Kingdoms Lorenmaster achievement +INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Title_Lang_enUS`, `Title_Lang_Mask`, `Description_Lang_enUS`, `Description_Lang_Mask`, `Category`, `Points`, `Ui_Order`, `Flags`, `IconID`, `Reward_Lang_Mask`) VALUES ('929', '1', '-1', 'Loremaster of Eastern Kingdoms', '16712190', 'Complete the quests in all zones of Eastern Kingdoms.', '16712190', '14861', '10', '41', '0', '3490', '16712190'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1686', '929', '8', '820', '0', 'Western Plaguelands', '0', '1'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1687', '929', '8', '821', '0', 'Eastern Plaguelands', '0', '2'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1709', '929', '8', '822', '0', 'The Hinterlands', '0', '3'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1710', '929', '8', '823', '0', 'Hillsbrad Foothills', '0', '4'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1711', '929', '8', '824', '0', 'Arathi Highlands', '0', '5'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1712', '929', '8', '825', '0', 'Wetlands', '0', '6'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1730', '929', '8', '827', '0', 'Loch Modan', '0', '7'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1748', '929', '8', '828', '0', 'Dun Morogh', '0', '8'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1749', '929', '8', '831', '0', 'Badlands', '0', '9'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1750', '929', '8', '832', '0', 'Searing Gorge', '0', '10'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1751', '929', '8', '833', '0', 'Burning Steppes', '0', '11'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1752', '929', '8', '834', '0', 'Elwynn Forest', '0', '12'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1753', '929', '8', '835', '0', 'Redridge Mountains', '0', '13'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1754', '929', '8', '836', '0', 'Westfall', '0', '14'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1755', '929', '8', '874', '0', 'Duskwood', '0', '15'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1756', '929', '8', '895', '0', 'Swamp of Sorrows', '0', '16'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1757', '929', '8', '904', '0', 'Blasted Lands', '0', '17'); +INSERT INTO `achievement_criteria_dbc` (`ID`, `Achievement_Id`, `Type`, `Asset_Id`, `Quantity`, `Description_Lang_enUS`, `Flags`, `Ui_Order`) VALUES ('1758', '929', '8', '920', '0', 'Stranglethorn Vale', '0', '18'); \ No newline at end of file diff --git a/sql/custom/mangos/0003_classic_achievements_locales.sql b/sql/custom/mangos/0003_classic_achievements_locales.sql new file mode 100644 index 0000000000..fca9616e85 --- /dev/null +++ b/sql/custom/mangos/0003_classic_achievements_locales.sql @@ -0,0 +1,9887 @@ +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Nivel 10', `Description_Lang_esES`='Alcanza el nivel 10.' WHERE `ID`=6; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Nivel 20', `Description_Lang_esES`='Alcanza el nivel 20.' WHERE `ID`=7; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Nivel 30', `Description_Lang_esES`='Alcanza el nivel 30.' WHERE `ID`=8; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Nivel 40', `Description_Lang_esES`='Alcanza el nivel 40.' WHERE `ID`=9; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Nivel 50', `Description_Lang_esES`='Alcanza el nivel 50.' WHERE `ID`=10; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Nivel 60', `Description_Lang_esES`='Alcanza el nivel 60.' WHERE `ID`=11; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Nivel 70', `Description_Lang_esES`='Alcanza el nivel 70.' WHERE `ID`=12; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Nivel 80', `Description_Lang_esES`='Alcanza el nivel 80.' WHERE `ID`=13; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muchas mascotas', `Description_Lang_esES`='Reúne 15 mascotas de compañía únicas.' WHERE `ID`=15; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¿Alguien ha pedido un bocadillo de nudillos?', `Description_Lang_esES`='Aumenta tu habilidad sin armas a 400.' WHERE `ID`=16; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Una re-misión sencilla', `Description_Lang_esES`='Completa una misión diaria durante cinco días consecutivos.' WHERE `ID`=31; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='2000 misiones completadas', `Description_Lang_esES`='Completa 2000 misiones.' WHERE `ID`=32; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Tundra no tiene nada de aburrida', `Description_Lang_esES`='Completa 130 misiones en la Tundra Boreal.' WHERE `ID`=33; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='He paseado por el Fiordo', `Description_Lang_esES`='Completa 130 misiones en el Fiordo Aquilonal.' WHERE `ID`=34; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El poder del Cementerio de Dragones', `Description_Lang_esES`='Completa 115 misiones en el Cementerio de Dragones.' WHERE `ID`=35; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El imperio de Zul\'Drak', `Description_Lang_esES`='Completa 100 misiones en Zul\'Drak.' WHERE `ID`=36; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mi furia por las pardas', `Description_Lang_esES`='Completa 85 misiones en las Colinas Pardas.' WHERE `ID`=37; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La cima de Las Cumbres Tormentosas', `Description_Lang_esES`='Completa 100 misiones en Las Cumbres Tormentosas.' WHERE `ID`=38; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Dentro de la Cuenca', `Description_Lang_esES`='Completa 75 misiones en la Cuenca de Sholazar.' WHERE `ID`=39; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Corona de Hielo: la meta final', `Description_Lang_esES`='Completa 140 misiones en el Glaciar Corona de Hielo.' WHERE `ID`=40; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro cultural de Rasganorte', `Description_Lang_esES`='Completa todos los logros de misiones de Rasganorte listados a continuación.' WHERE `ID`=41; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Explora los Reinos del Este', `Description_Lang_esES`='Explora las regiones de los Reinos del Este.' WHERE `ID`=42; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Explora Kalimdor', `Description_Lang_esES`='Explora las regiones de Kalimdor.' WHERE `ID`=43; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Explora Terrallende', `Description_Lang_esES`='Explora las regiones de Terrallende.' WHERE `ID`=44; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Explora Rasganorte', `Description_Lang_esES`='Explora las regiones de Rasganorte.' WHERE `ID`=45; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Explorador del mundo', `Description_Lang_esES`='Explora los Reinos del Este, Kalimdor, Terrallende y Rasganorte.' WHERE `ID`=46; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Buscador de Caminos', `Description_Lang_esES`='Explora los Reinos del Este y Kalimdor.' WHERE `ID`=47; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias en el Valle de Alterac', `Description_Lang_esES`='Victorias en el Valle de Alterac' WHERE `ID`=49; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias en el Ojo de la Tormenta', `Description_Lang_esES`='Victorias en el Ojo de la Tormenta' WHERE `ID`=50; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias en la Cuenca de Arathi', `Description_Lang_esES`='Victorias en la Cuenca de Arathi' WHERE `ID`=51; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Batallas en la Garganta Grito de Guerra', `Description_Lang_esES`='Batallas en la Garganta Grito de Guerra' WHERE `ID`=52; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Batallas en el Valle de Alterac', `Description_Lang_esES`='Batallas en el Valle de Alterac' WHERE `ID`=53; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Batallas en el Ojo de la Tormenta', `Description_Lang_esES`='Batallas en el Ojo de la Tormenta' WHERE `ID`=54; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Batallas en la Cuenca de Arathi', `Description_Lang_esES`='Batallas en la Cuenca de Arathi' WHERE `ID`=55; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes en la Garganta Grito de Guerra', `Description_Lang_esES`='Muertes en la Garganta Grito de Guerra' WHERE `ID`=56; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes en el Valle de Alterac', `Description_Lang_esES`='Muertes en el Valle de Alterac' WHERE `ID`=57; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes contra Drek\'Thar', `Description_Lang_esES`='Muertes contra Drek\'Thar' WHERE `ID`=58; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes en la Cuenca de Arathi', `Description_Lang_esES`='Muertes en la Cuenca de Arathi' WHERE `ID`=59; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes propias', `Description_Lang_esES`='Muertes propias' WHERE `ID`=60; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Deshonrar la Cuenca', `Description_Lang_esES`='Asalta 3 bases en una sola batalla por la Cuenca de Arathi.' WHERE `ID`=73; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Misiones abandonadas', `Description_Lang_esES`='Misiones abandonadas' WHERE `ID`=94; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad media de misiones completadas cada día', `Description_Lang_esES`='Cantidad media de misiones completadas cada día' WHERE `ID`=95; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Misiones diarias completadas', `Description_Lang_esES`='Misiones diarias completadas' WHERE `ID`=97; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Misiones completadas', `Description_Lang_esES`='Misiones completadas' WHERE `ID`=98; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Encuentros en las Ruinas de Lordaeron', `Description_Lang_esES`='Encuentros en las Ruinas de Lordaeron' WHERE `ID`=99; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias en El Círculo de los Retos', `Description_Lang_esES`='Victorias en El Círculo de los Retos' WHERE `ID`=100; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Encuentros en El Círculo de los Retos', `Description_Lang_esES`='Encuentros en El Círculo de los Retos' WHERE `ID`=101; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias en las Ruinas de Lordaeron', `Description_Lang_esES`='Victorias en las Ruinas de Lordaeron' WHERE `ID`=102; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Encuentros en el Anillo de Sangre', `Description_Lang_esES`='Encuentros en el Anillo de Sangre' WHERE `ID`=103; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias en el Anillo de Sangre', `Description_Lang_esES`='Victorias en el Anillo de Sangre' WHERE `ID`=104; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias en la Garganta Grito de Guerra', `Description_Lang_esES`='Victorias en la Garganta Grito de Guerra' WHERE `ID`=105; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Criaturas muertas', `Description_Lang_esES`='Criaturas muertas' WHERE `ID`=107; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Alimañas muertas', `Description_Lang_esES`='Alimañas muertas' WHERE `ID`=108; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Jefe asesinado más veces (5 j.)', `Description_Lang_esES`='Lich King: Jefe asesinado más veces (5 j.)' WHERE `ID`=110; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes por ahogamiento', `Description_Lang_esES`='Muertes por ahogamiento' WHERE `ID`=112; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes por fatiga', `Description_Lang_esES`='Muertes por fatiga' WHERE `ID`=113; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes por caída', `Description_Lang_esES`='Muertes por caída' WHERE `ID`=114; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes por fuego y lava', `Description_Lang_esES`='Muertes por fuego y lava' WHERE `ID`=115; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Oficial profesional', `Description_Lang_esES`='Conviértete en oficial de una profesión.' WHERE `ID`=116; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Oficial cocinero', `Description_Lang_esES`='Conviértete en oficial cocinero.' WHERE `ID`=121; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cocinero experto', `Description_Lang_esES`='Conviértete en cocinero experto.' WHERE `ID`=122; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cocinero artesano', `Description_Lang_esES`='Conviértete en cocinero artesano.' WHERE `ID`=123; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro cocinero', `Description_Lang_esES`='Conviértete en maestro cocinero.' WHERE `ID`=124; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gran maestro cocinero', `Description_Lang_esES`='Conviértete en gran maestro cocinero.' WHERE `ID`=125; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Oficial pescador', `Description_Lang_esES`='Conviértete en oficial pescador.' WHERE `ID`=126; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pescador experto', `Description_Lang_esES`='Conviértete en pescador experto.' WHERE `ID`=127; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pescador artesano', `Description_Lang_esES`='Conviértete en pescador artesano.' WHERE `ID`=128; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro pescador', `Description_Lang_esES`='Conviértete en maestro pescador.' WHERE `ID`=129; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gran maestro pescador', `Description_Lang_esES`='Conviértete en gran maestro pescador.' WHERE `ID`=130; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Oficial en primeros auxilios', `Description_Lang_esES`='Conviértete en oficial en primeros auxilios.' WHERE `ID`=131; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Experto en primeros auxilios', `Description_Lang_esES`='Conviértete en experto en primeros auxilios.' WHERE `ID`=132; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Artesano en primeros auxilios', `Description_Lang_esES`='Conviértete en artesano en primeros auxilios.' WHERE `ID`=133; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro en primeros auxilios', `Description_Lang_esES`='Conviértete en maestro en primeros auxilios.' WHERE `ID`=134; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gran maestro en primeros auxilios', `Description_Lang_esES`='Conviértete en gran maestro en primeros auxilios.' WHERE `ID`=135; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Abastecerse', `Description_Lang_esES`='Crea 500 vendas de tejido de Escarcha gruesas.' WHERE `ID`=137; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Dispensador de vendajes', `Description_Lang_esES`='Crea 500 Vendas de Paño Rúnico Gruesas.' WHERE `ID`=138; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Elección final', `Description_Lang_esES`='Venda a otro jugador o a ti mismo con vendas de tejido de Escarcha gruesas cuando la salud esté por debajo del 5%.' WHERE `ID`=141; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Medico!', `Description_Lang_esES`='Usa una Vendas de Paño Rúnico Gruesa para curar a un jugador o a ti mismo con menos del 5% de la vida restante.' WHERE `ID`=142; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Rondador de arriba', `Description_Lang_esES`='Pesca a El Rondador de abajo en la Caverna Santuario Serpiente.' WHERE `ID`=144; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El diplomático pescador', `Description_Lang_esES`='Pesca algo en Orgrimmar y Ventormenta.' WHERE `ID`=150; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El viejo gnomo y el mar', `Description_Lang_esES`='Pesca un pez en un banco.' WHERE `ID`=153; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victoria en la Cuenca de Arathi', `Description_Lang_esES`='Gana en la Cuenca de Arathi.' WHERE `ID`=154; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veterano de la Cuenca de Arathi', `Description_Lang_esES`='Completa 100 victorias en la Cuenca de Arathi.' WHERE `ID`=155; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Dominio territorial', `Description_Lang_esES`='Gana 10 batallas por la Cuenca de Arathi en posesión de 5 banderas.' WHERE `ID`=156; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Al rescate!', `Description_Lang_esES`='Defiende una base en la Cuenca de Arathi 50 veces volviendo a capturar la bandera.' WHERE `ID`=157; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Capitán y yo lo conseguimos', `Description_Lang_esES`='Coge 50 banderas en la Cuenca de Arathi.' WHERE `ID`=158; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hagámoslo', `Description_Lang_esES`='Gana en la Cuenca de Arathi en 6 minutos.' WHERE `ID`=159; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victoria elástica', `Description_Lang_esES`='Supera una desventaja de 500 recursos en una batalla por la Cuenca de Arathi y vence.' WHERE `ID`=161; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La victoria estaba clara *ejem*', `Description_Lang_esES`='Gana en la Cuenca de Arathi por una diferencia de 10 puntos (1600 a 1590).' WHERE `ID`=162; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Perfección en la Cuenca de Arathi', `Description_Lang_esES`='Gana en la Cuenca de Arathi con una puntuación de 1600 a 0.' WHERE `ID`=165; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victoria en la Garganta Grito de Guerra', `Description_Lang_esES`='Gana en la Garganta Grito de Guerra.' WHERE `ID`=166; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veterano de la Garganta Grito de Guerra', `Description_Lang_esES`='Completa 100 victorias en la Garganta Grito de Guerra.' WHERE `ID`=167; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Perfección en la Garganta Grito de Guerra', `Description_Lang_esES`='Gana en la Garganta Grito de Guerra con una puntuación de 3 a 0.' WHERE `ID`=168; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Fórmulas de encantamiento aprendidas', `Description_Lang_esES`='Fórmulas de encantamiento aprendidas' WHERE `ID`=178; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Objetos desencantados', `Description_Lang_esES`='Objetos desencantados' WHERE `ID`=181; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Materiales producidos al desencantar', `Description_Lang_esES`='Materiales producidos al desencantar' WHERE `ID`=183; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayor sanación realizada', `Description_Lang_esES`='Mayor sanación realizada' WHERE `ID`=189; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayor golpe asestado', `Description_Lang_esES`='Mayor golpe asestado' WHERE `ID`=193; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Daño total infligido', `Description_Lang_esES`='Daño total infligido' WHERE `ID`=197; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sanación total realizada', `Description_Lang_esES`='Sanación total realizada' WHERE `ID`=198; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Captura la bandera', `Description_Lang_esES`='Lleva y captura la bandera de la Garganta Grito de Guerra personalmente.' WHERE `ID`=199; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Defensor persistente', `Description_Lang_esES`='Como defensor, devuelve 50 banderas en la Garganta Grito de Guerra.' WHERE `ID`=200; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Conveniencia Grito de Guerra', `Description_Lang_esES`='Gana en la Garganta Grito de Guerra en menos de 7 minutos.' WHERE `ID`=201; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Captura rápida', `Description_Lang_esES`='Coge la bandera y captúrala en menos de 75 segundos.' WHERE `ID`=202; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='En mi casa no', `Description_Lang_esES`='En una sola batalla por la Garganta Grito de Guerra, mata a 2 portadores de la bandera antes de que abandonen la Sala de la Bandera Ala de Plata.' WHERE `ID`=203; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hombre de hierro', `Description_Lang_esES`='En una sola batalla por la Garganta Grito de Guerra, lleva y captura la bandera 3 veces sin morir.' WHERE `ID`=204; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Defensor supremo', `Description_Lang_esES`='Mata a 100 portadores de la bandera en la Garganta Grito de Guerra.' WHERE `ID`=206; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Eres mi héroe', `Description_Lang_esES`='Mata al enemigo que lleva tu bandera en la sala de la bandera del equipo contrario, mientras la bandera del equipo contrario está en su base, bajo control.' WHERE `ID`=207; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victoria en el Ojo de la Tormenta', `Description_Lang_esES`='Gana en el Ojo de la Tormenta.' WHERE `ID`=208; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veterano del Ojo de la Tormenta', `Description_Lang_esES`='Completa 100 victorias en el Ojo de la Tormenta.' WHERE `ID`=209; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gloria de la tormenta', `Description_Lang_esES`='Mientras tu equipo controle 4 de las bases del Ojo de la Tormenta, coge la bandera personalmente y captúrala.' WHERE `ID`=211; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rematar la tormenta', `Description_Lang_esES`='Lleva y captura la bandera en el Ojo de la Tormenta personalmente.' WHERE `ID`=212; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Soldado de asalto', `Description_Lang_esES`='Mata a 5 portadores de la bandera en una sola batalla por el Ojo de la Tormenta.' WHERE `ID`=213; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Aluvión', `Description_Lang_esES`='Gana en el Ojo de la Tormenta en menos de 6 minutos.' WHERE `ID`=214; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Destinado a la gloria', `Description_Lang_esES`='En una sola batalla por el Ojo de la Tormenta, captura la bandera 3 veces sin morir.' WHERE `ID`=216; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victoria en el Valle de Alterac', `Description_Lang_esES`='Gana en el Valle de Alterac.' WHERE `ID`=218; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veterano del Valle de Alterac', `Description_Lang_esES`='Consigue 100 victorias en el Valle de Alterac.' WHERE `ID`=219; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Perfección Pico Tormenta', `Description_Lang_esES`='Gana en el Valle de Alterac sin perder ninguna torre ni Capitán. También debes controlar todas las torres de la Horda.' WHERE `ID`=220; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ladrón de tumbas de Alterac', `Description_Lang_esES`='Toma 50 cementerios en el Valle de Alterac.' WHERE `ID`=221; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Defensa de torres', `Description_Lang_esES`='Defiende 50 torres en el Valle de Alterac.' WHERE `ID`=222; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La gacela enfermiza', `Description_Lang_esES`='En el Valle de Alterac, mata a un enemigo en la Tierra de Disputa antes de que desmonte.' WHERE `ID`=223; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Leal defensor', `Description_Lang_esES`='En el Valle de Alterac, mata a 50 jugadores enemigos en la Cámara de los Lobo Gélido.' WHERE `ID`=224; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Todo cuenta', `Description_Lang_esES`='Gana en el Valle de Alterac mientras tu equipo controla ambas minas.' WHERE `ID`=225; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El rayo de Alterac', `Description_Lang_esES`='Gana en el Valle de Alterac en 6 minutos.' WHERE `ID`=226; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Control de daños', `Description_Lang_esES`='Inflige 300000 p. de daño o de sanación en cualquier campo de batalla. El daño o la sanación deben realizarse a un jugador.' WHERE `ID`=227; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La parca', `Description_Lang_esES`='Consigue 30 muertes con honor en una sola batalla, en cualquier campo de batalla.' WHERE `ID`=229; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de batalla', `Description_Lang_esES`='Completa los logros de campos de batalla listados a continuación.' WHERE `ID`=230; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bola de demolición', `Description_Lang_esES`='Consigue 20 golpes de gracia en una sola batalla, en cualquier campo de batalla sin morir.' WHERE `ID`=231; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rabioso sediento de sangre', `Description_Lang_esES`='Consigue un golpe de gracia bajo los efectos de la ventaja rabiosa en el Ojo de la Tormenta.' WHERE `ID`=233; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Una muerte con honor', `Description_Lang_esES`='Consigue una muerte con honor.' WHERE `ID`=238; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='25000 muertes con honor', `Description_Lang_esES`='Consigue 25000 muertes con honor.' WHERE `ID`=239; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hace falta clase', `Description_Lang_esES`='Consigue un golpe de gracia con honor con un jugador de cada clase.' WHERE `ID`=245; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Conoce a tu enemigo', `Description_Lang_esES`='Consigue un golpe de gracia con honor con cinco razas diferentes.' WHERE `ID`=246; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Haz el amor, no Warcraft', `Description_Lang_esES`='Usa la emoción /abrazo con 1 enemigo muerto antes de que libere su espíritu.' WHERE `ID`=247; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El traje de domingo', `Description_Lang_esES`='Descubre la Camisa de esmoquin blanca y los Pantalones de esmoquin negros abriendo huevos de colores vivos durante la celebración del Jardín Noble.' WHERE `ID`=248; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vestido para la ocasión', `Description_Lang_esES`='Descubre un Vestido elegante abriendo huevos de colores vivos durante la celebración del Jardín Noble.' WHERE `ID`=249; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Con un poco de ayuda de mis amigos', `Description_Lang_esES`='Consigue 50 muertes con honor como pequeño ayudante de la máquina del Maravoltio Invernal.' WHERE `ID`=252; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tráeme la cabeza de... esto, vaya', `Description_Lang_esES`='Mata al Jinete decapitado.' WHERE `ID`=255; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Avaricioso', `Description_Lang_esES`='Lanza una bola de nieve a Cairne Pezuña de Sangre en el festín del Festival de Invierno.' WHERE `ID`=259; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Encantador', `Description_Lang_esES`='Crea 12 pulseras de talismanes preciosos.' WHERE `ID`=260; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hiela al Señor de la Escarcha', `Description_Lang_esES`='Mata a Ahune en el Recinto de los Esclavos.' WHERE `ID`=263; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Baile ardiente en el poste caliente', `Description_Lang_esES`='Baila durante 60 segundos en el poste de fuego mientras llevas puesto el conjunto completo del solsticio.' WHERE `ID`=271; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Malabarista', `Description_Lang_esES`='Haz malabarismos con 40 antorchas durante 15 segundos en Dalaran.' WHERE `ID`=272; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Vamos, Metzen!', `Description_Lang_esES`='Salva a Metzen el Reno.' WHERE `ID`=273; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Niñera veterana', `Description_Lang_esES`='Consigue a Willy el Dormilón, el huevo de Egbert y la collera de entrenamiento de elekk con un solo personaje.' WHERE `ID`=275; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Es la temporada', `Description_Lang_esES`='Durante el festín del Festival de Invierno, ponte tres prendas de invierno y come pastel de macedonia y carne de Graccu.' WHERE `ID`=277; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Simplemente abominable', `Description_Lang_esES`='Completa la misión para recuperar los regalitos robados de los Pastos de Bosquehumeante y recibe Un agradecimiento de los Pastos de Bosquehumeante.' WHERE `ID`=279; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Habilidad en primeros auxilios', `Description_Lang_esES`='Habilidad en primeros auxilios' WHERE `ID`=281; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Mascarada', `Description_Lang_esES`='Haz que te transformen con las varitas de Halloween listadas a continuación.' WHERE `ID`=283; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Una máscara para todas las ocasiones', `Description_Lang_esES`='Reúne las 20 máscaras endebles de la lista.' WHERE `ID`=284; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sácalo', `Description_Lang_esES`='Come dulces de Halloween hasta que te duela la barriga.' WHERE `ID`=288; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El salvador de Halloween', `Description_Lang_esES`='Completa todas las misiones para salvar a un poblado del Jinete decapitado.' WHERE `ID`=289; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Búscate la cabeza', `Description_Lang_esES`='Usa Calabazas iluminadas pesadas para colocar cabezas de calabaza a las razas listadas a continuación.' WHERE `ID`=291; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Llamada siniestra', `Description_Lang_esES`='Consigue una mascota de calabacino siniestro y un yelmo sacralizado.' WHERE `ID`=292; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Perturbar la paz', `Description_Lang_esES`='Ponte 3 prendas de la Fiesta de la cerveza, acaba totalmente borracho y baila en Dalaran.' WHERE `ID`=293; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Fiesta de la Cerveza Temible', `Description_Lang_esES`='Mata a Coren Cerveza Temible.' WHERE `ID`=295; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Viajará gracias al barril', `Description_Lang_esES`='Consigue una montura de la Fiesta de la cerveza, o transforma la tuya en una usando lúpulo de la Fiesta de la cerveza.' WHERE `ID`=303; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro pescador de Azeroth', `Description_Lang_esES`='Gana el concurso de pesca de Bahía del Botín o la competición de pesca Kalu\'ak.' WHERE `ID`=306; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veces que te ha matado la facción contraria', `Description_Lang_esES`='' WHERE `ID`=318; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Duelos ganados', `Description_Lang_esES`='Duelos ganados' WHERE `ID`=319; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Duelos perdidos', `Description_Lang_esES`='Duelos perdidos' WHERE `ID`=320; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes en mazmorra y banda', `Description_Lang_esES`='Muertes en mazmorra y banda' WHERE `ID`=321; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Muertes contra jefes (5 j.)', `Description_Lang_esES`='Lich King: Muertes contra jefes (5 j.)' WHERE `ID`=322; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Muertes contra jefes (10 j.)', `Description_Lang_esES`='Lich King: Muertes contra jefes (10 j.)' WHERE `ID`=323; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Muertes contra jefes (25 j.)', `Description_Lang_esES`='Lich King: Muertes contra jefes (25 j.)' WHERE `ID`=324; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Oro obtenido como recompensa de misiones', `Description_Lang_esES`='Oro obtenido como recompensa de misiones' WHERE `ID`=326; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Oro total adquirido', `Description_Lang_esES`='Oro total adquirido' WHERE `ID`=328; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad de subastas creadas', `Description_Lang_esES`='Cantidad de subastas creadas' WHERE `ID`=329; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Compras realizadas en la casa de subastas', `Description_Lang_esES`='Compras realizadas en la casa de subastas' WHERE `ID`=330; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La puja más alta realizada en una subasta', `Description_Lang_esES`='La puja más alta realizada en una subasta' WHERE `ID`=331; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Venta más cara realizada en una subasta', `Description_Lang_esES`='Venta más cara realizada en una subasta' WHERE `ID`=332; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad de oro despojado', `Description_Lang_esES`='Cantidad de oro despojado' WHERE `ID`=333; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayor cantidad de oro jamás poseída', `Description_Lang_esES`='Mayor cantidad de oro jamás poseída' WHERE `ID`=334; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Objetos legendarios adquiridos', `Description_Lang_esES`='Objetos legendarios adquiridos' WHERE `ID`=336; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mascotas de vanidad poseídas', `Description_Lang_esES`='Mascotas de vanidad poseídas' WHERE `ID`=338; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Monturas poseídas', `Description_Lang_esES`='Monturas poseídas' WHERE `ID`=339; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Objetos épicos despojados', `Description_Lang_esES`='Objetos épicos despojados' WHERE `ID`=341; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Objetos épicos adquiridos', `Description_Lang_esES`='Objetos épicos adquiridos' WHERE `ID`=342; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vendas usadas', `Description_Lang_esES`='Vendas usadas' WHERE `ID`=344; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pociones de salud consumidas', `Description_Lang_esES`='Pociones de salud consumidas' WHERE `ID`=345; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bebidas consumidas', `Description_Lang_esES`='Bebidas consumidas' WHERE `ID`=346; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Comida consumida', `Description_Lang_esES`='Comida consumida' WHERE `ID`=347; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rutas de vuelo tomadas', `Description_Lang_esES`='Rutas de vuelo tomadas' WHERE `ID`=349; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Portales de mago atravesados', `Description_Lang_esES`='Portales de mago atravesados' WHERE `ID`=350; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veces que has usado la piedra de hogar', `Description_Lang_esES`='Veces que has usado la piedra de hogar' WHERE `ID`=353; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias 5c5', `Description_Lang_esES`='Victorias 5c5' WHERE `ID`=362; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Encuentros 5c5', `Description_Lang_esES`='Encuentros 5c5' WHERE `ID`=363; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias 3c3', `Description_Lang_esES`='Victorias 3c3' WHERE `ID`=364; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Encuentros 3c3', `Description_Lang_esES`='Encuentros 3c3' WHERE `ID`=365; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias 2c2', `Description_Lang_esES`='Victorias 2c2' WHERE `ID`=366; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Encuentros 2c2', `Description_Lang_esES`='Encuentros 2c2' WHERE `ID`=367; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayor índice personal en grupos de 2 personas', `Description_Lang_esES`='Calificación personal más alta de 2 hombres' WHERE `ID`=370; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayor índice de equipo en grupos de 2 personas', `Description_Lang_esES`='Calificación más alta de equipo de 2 hombres' WHERE `ID`=374; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayoría de facciones a nivel Exaltado', `Description_Lang_esES`='Mayoría de facciones a nivel Exaltado' WHERE `ID`=377; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayoría de facciones en Venerado o superior', `Description_Lang_esES`='Mayoría de facciones en Venerado o superior' WHERE `ID`=378; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes con honor en el mundo', `Description_Lang_esES`='Muertes con honor en el mundo' WHERE `ID`=381; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes con honor en campos de batalla', `Description_Lang_esES`='Muertes con honor en campos de batalla' WHERE `ID`=382; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes con honor en la arena', `Description_Lang_esES`='Muertes con honor en la arena' WHERE `ID`=383; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Defensor de la ciudad', `Description_Lang_esES`='Mata a 50 jugadores enemigos en cualquiera de tus capitales.' WHERE `ID`=388; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de la Arena Gurubashi', `Description_Lang_esES`='Despoja el abalorio del maestro de arena en la Arena Gurubashi.' WHERE `ID`=389; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Torres defendidas en el Valle de Alterac', `Description_Lang_esES`='Torres defendidas en el Valle de Alterac' WHERE `ID`=393; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Torres capturadas en el Valle de Alterac', `Description_Lang_esES`='Torres capturadas en el Valle de Alterac' WHERE `ID`=394; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Banderas capturadas en la Garganta Grito de Guerra', `Description_Lang_esES`='Banderas capturadas en la Garganta Grito de Guerra' WHERE `ID`=395; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gran Maestro de la Arena Gurubashi', `Description_Lang_esES`='Completa la misión del Corto John Mitril para obtener el abalorio de gran maestro de arena.' WHERE `ID`=396; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Entra en la arena', `Description_Lang_esES`='Gana un encuentro en la arena puntuado en nivel 80.' WHERE `ID`=397; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Despiadadamente entregado', `Description_Lang_esES`='Gana 100 encuentros en la arena puntuados en nivel 80.' WHERE `ID`=398; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Entre tú y yo: 1550', `Description_Lang_esES`='Consigue un índice personal de 1550 en la rama de la arena 2c2 en el nivel 80.' WHERE `ID`=399; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Entre tú y yo: 1750', `Description_Lang_esES`='Consigue un índice personal de 1750 en la rama de la arena 2c2 en el nivel 80.' WHERE `ID`=400; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Entre tú y yo: 2000', `Description_Lang_esES`='Consigue un índice personal de 2000 en la rama de la arena 2c2 en el nivel 80.' WHERE `ID`=401; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tres son multitud: 1550', `Description_Lang_esES`='Consigue un índice personal de 1550 en la rama de la arena 3c3 en el nivel 80.' WHERE `ID`=402; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tres son multitud: 1750', `Description_Lang_esES`='Consigue un índice personal de 1750 en la rama de la arena 3c3 en el nivel 80.' WHERE `ID`=403; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Choca esos cinco: 2000', `Description_Lang_esES`='Consigue un índice personal de 2000 en la rama de la arena 5c5 en el nivel 80.' WHERE `ID`=404; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tres son multitud: 2000', `Description_Lang_esES`='Consigue un índice personal de 2000 en la rama de la arena 3c3 en el nivel 80.' WHERE `ID`=405; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Choca esos cinco: 1550', `Description_Lang_esES`='Consigue un índice personal de 1550 en la rama de la arena 5c5 en el nivel 80.' WHERE `ID`=406; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Choca esos cinco: 1750', `Description_Lang_esES`='Consigue un índice personal de 1750 en la rama de la arena 5c5 en el nivel 80.' WHERE `ID`=407; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Una buena racha', `Description_Lang_esES`='Gana diez encuentros puntuados seguidos en nivel 80.' WHERE `ID`=408; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El último hombre en pie', `Description_Lang_esES`='Sé el único superviviente al final de un encuentro puntuado de 5c5 en el nivel 80.' WHERE `ID`=409; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Murky', `Description_Lang_esES`='Propietario orgulloso de un Murky de la BlizzCon 2005 en Anaheim, California.' WHERE `ID`=411; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Traje de múrloc', `Description_Lang_esES`='Propietario orgulloso del traje de múrloc de la BlizzCon 2007 en Anaheim, California.' WHERE `ID`=412; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Empuñadura de Tyrael', `Description_Lang_esES`='Propietario orgulloso la Empuñadura de Tyrael de la World Wide Invitational 2008 en París, Francia.' WHERE `ID`=414; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gran oso de Blizzard', `Description_Lang_esES`='Propietario orgulloso del gran oso de Blizzard de la BlizzCon 2008.' WHERE `ID`=415; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Señor Escarabajo', `Description_Lang_esES`='Has abierto las puertas de Ahn\'Qiraj.' WHERE `ID`=416; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gladiador despiadado', `Description_Lang_esES`='Has conseguido el título de Gladiador despiadado.' WHERE `ID`=418; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gladiador vengativo', `Description_Lang_esES`='Has conseguido el título de Gladiador vengativo.' WHERE `ID`=419; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gladiador brutal', `Description_Lang_esES`='Has conseguido el título de Gladiador brutal.' WHERE `ID`=420; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¿Por qué? Porque es rojo', `Description_Lang_esES`='Consigue un cristal resonador qiraji rojo.' WHERE `ID`=424; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Atiesh, gran báculo del Guardián', `Description_Lang_esES`='Poseedor de Atiesh, gran báculo del Guardián.' WHERE `ID`=425; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gujas de Azzinoth', `Description_Lang_esES`='Equípate con un conjunto de gujas de guerra de Azzinoth.' WHERE `ID`=426; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Trueno furioso, espada bendita del Hijo del Viento', `Description_Lang_esES`='Poseedor de Trueno furioso, espada bendita del Hijo del Viento.' WHERE `ID`=428; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sulfuras, Mano de Ragnaros', `Description_Lang_esES`='Poseedor de Sulfuras, Mano de Ragnaros.' WHERE `ID`=429; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Oso de guerra Amani', `Description_Lang_esES`='Poseedor del oso de guerra Amani.' WHERE `ID`=430; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mano de A\'dal', `Description_Lang_esES`='Recibido el título "Mano de A\'dal".' WHERE `ID`=431; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón de los naaru', `Description_Lang_esES`='Recibido el título "Campeón de los naaru".' WHERE `ID`=432; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gran mariscal', `Description_Lang_esES`='Recibido el título "Gran mariscal".' WHERE `ID`=433; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mariscal de campo', `Description_Lang_esES`='Recibido el título "Mariscal de campo".' WHERE `ID`=434; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Comandante', `Description_Lang_esES`='Recibido el título "Comandante".' WHERE `ID`=435; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Teniente coronel', `Description_Lang_esES`='Recibido el título "Teniente coronel".' WHERE `ID`=436; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón caballero', `Description_Lang_esES`='Recibido el título "Campeón caballero".' WHERE `ID`=437; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Capitán caballero', `Description_Lang_esES`='Recibido el título "Capitán caballero".' WHERE `ID`=438; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Caballero', `Description_Lang_esES`='Recibido el título "Caballero".' WHERE `ID`=439; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Alférez', `Description_Lang_esES`='Recibido el título "Alférez".' WHERE `ID`=440; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sargento primero', `Description_Lang_esES`='Recibido el título "Sargento primero".' WHERE `ID`=441; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Soldado', `Description_Lang_esES`='Recibido el título "Soldado".' WHERE `ID`=442; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gran Señor de la Guerra', `Description_Lang_esES`='Recibido el título "Gran Señor de la Guerra".' WHERE `ID`=443; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='General', `Description_Lang_esES`='Recibido el título "General".' WHERE `ID`=444; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Señor de la Guerra', `Description_Lang_esES`='Recibido el título "Señor de la Guerra".' WHERE `ID`=445; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gran general', `Description_Lang_esES`='Recibido el título "Gran general".' WHERE `ID`=446; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón', `Description_Lang_esES`='Recibido el título "Campeón".' WHERE `ID`=447; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Centurión', `Description_Lang_esES`='Recibido el título "Centurión".' WHERE `ID`=448; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Guardia de sangre', `Description_Lang_esES`='Recibido el título "Guardia de sangre".' WHERE `ID`=449; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Capataz primero', `Description_Lang_esES`='Recibido el título "Capataz primero".' WHERE `ID`=450; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Guardia de piedra', `Description_Lang_esES`='Recibido el título "Guardia de piedra".' WHERE `ID`=451; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gran capataz', `Description_Lang_esES`='Recibido el título "Gran capataz".' WHERE `ID`=452; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Capataz', `Description_Lang_esES`='Recibido el título "Capataz".' WHERE `ID`=453; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rastreador', `Description_Lang_esES`='Recibido el título "Rastreador".' WHERE `ID`=454; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Destripador obsidiana', `Description_Lang_esES`='Participante en la primera derrota del reino de Sartharion el Guardián ónice en el modo de 25 jugadores.' WHERE `ID`=456; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino con Nivel 80!', `Description_Lang_esES`='Primera persona del reino que llega a nivel 80.' WHERE `ID`=457; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Pícaro nivel 80', `Description_Lang_esES`='Primer pícaro del reino que llega a nivel 80.' WHERE `ID`=458; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Guerrero nivel 80', `Description_Lang_esES`='Primer guerrero del reino que llega a nivel 80.' WHERE `ID`=459; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Mago nivel 80', `Description_Lang_esES`='Primer mago del reino en alcanzar el nivel 80.' WHERE `ID`=460; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Caballero de la Muerte nivel 80', `Description_Lang_esES`='Primer caballero de la Muerte del reino que llega a nivel 80.' WHERE `ID`=461; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Cazador nivel 80', `Description_Lang_esES`='Primer cazador del reino en alcanzar el nivel 80.' WHERE `ID`=462; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Brujo nivel 80', `Description_Lang_esES`='Primer brujo del reino que llega a nivel 80.' WHERE `ID`=463; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Sacerdote nivel 80', `Description_Lang_esES`='Primer sacerdote del reino que llega a nivel 80.' WHERE `ID`=464; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Paladín nivel 80', `Description_Lang_esES`='Primer paladín del reino en alcanzar el nivel 80.' WHERE `ID`=465; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Druida nivel 80', `Description_Lang_esES`='Primer druida del reino en alcanzar el nivel 80.' WHERE `ID`=466; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Chamán nivel 80', `Description_Lang_esES`='Primer chamán del reino que llega a nivel 80.' WHERE `ID`=467; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bruto', `Description_Lang_esES`='Recibido el título "Bruto".' WHERE `ID`=468; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Legionario', `Description_Lang_esES`='Recibido el título "Legionario".' WHERE `ID`=469; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cabo', `Description_Lang_esES`='Recibido el título "Cabo".' WHERE `ID`=470; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sargento', `Description_Lang_esES`='Recibido el título "Sargento".' WHERE `ID`=471; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Teniente caballero', `Description_Lang_esES`='Recibido el título "Teniente caballero".' WHERE `ID`=472; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mariscal', `Description_Lang_esES`='Recibido el título "Mariscal".' WHERE `ID`=473; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Fortaleza de Utgarde', `Description_Lang_esES`='Derrota a los jefes de la Fortaleza de Utgarde.' WHERE `ID`=477; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Nexo', `Description_Lang_esES`='Derrota a los jefes de El Nexo.' WHERE `ID`=478; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Matanza de Stratholme', `Description_Lang_esES`='Derrota a los jefes de las Cavernas del Tiempo: Stratholme.' WHERE `ID`=479; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Azjol-Nerub', `Description_Lang_esES`='Derrota a los jefes de Azjol-Nerub.' WHERE `ID`=480; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ahn’kahet: El Antiguo Reino', `Description_Lang_esES`='Derrota a los jefes de Ahn’kahet: El Antiguo Reino.' WHERE `ID`=481; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Fortaleza de Drak\'Tharon', `Description_Lang_esES`='Derrota a los jefes de la Fortaleza de Drak\'Tharon.' WHERE `ID`=482; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Bastión Violeta', `Description_Lang_esES`='Derrota a Cianigosa en El Bastión Violeta.' WHERE `ID`=483; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gundrak', `Description_Lang_esES`='Derrota a los jefes de Gundrak.' WHERE `ID`=484; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cámaras de Piedra', `Description_Lang_esES`='Derrota a los jefes de los encuentros de las Cámaras de Piedra.' WHERE `ID`=485; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cámaras de Relámpagos', `Description_Lang_esES`='Derrota a los jefes de las Cámaras de Relámpagos.' WHERE `ID`=486; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Oculus', `Description_Lang_esES`='Derrota a los jefes de El Oculus.' WHERE `ID`=487; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pináculo de Utgarde', `Description_Lang_esES`='Derrota a los jefes del Pináculo de Utgarde.' WHERE `ID`=488; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Fortaleza de Utgarde', `Description_Lang_esES`='Derrota a los jefes de la Fortaleza de Utgarde en dificultad heroica.' WHERE `ID`=489; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: El Nexo', `Description_Lang_esES`='Derrota a los jefes de El Nexo en dificultad heroica.' WHERE `ID`=490; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Azjol-Nerub', `Description_Lang_esES`='Derrota a los jefes de Azjol-Nerub en dificultad heroica.' WHERE `ID`=491; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Ahn\'kahet: El Antiguo Reino', `Description_Lang_esES`='Derrota a los jefes de Ahn’kahet: El Antiguo Reino en dificultad heroica.' WHERE `ID`=492; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: La Fortaleza de Drak\'Tharon', `Description_Lang_esES`='Derrota a los jefes de la Fortaleza de Drak\'Tharon en dificultad heroica.' WHERE `ID`=493; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: El Bastión Violeta', `Description_Lang_esES`='Derrota a Cianigosa en El Bastión Violeta en dificultad heroica.' WHERE `ID`=494; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Gundrak', `Description_Lang_esES`='Derrota a los jefes de Gundrak en dificultad heroica.' WHERE `ID`=495; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Cámaras de Piedra', `Description_Lang_esES`='Derrota a los jefes de los encuentros de las Cámaras de Piedra en dificultad heroica.' WHERE `ID`=496; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Cámaras de Relámpagos', `Description_Lang_esES`='Derrota a los jefes de las Cámaras de Relámpagos en dificultad heroica.' WHERE `ID`=497; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: El Oculus', `Description_Lang_esES`='Derrota a los jefes de El Oculus en dificultad heroica.' WHERE `ID`=498; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: El Pináculo de Utgarde', `Description_Lang_esES`='Derrota a los jefes del Pináculo de Utgarde en dificultad heroica.' WHERE `ID`=499; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: La Matanza de Stratholme', `Description_Lang_esES`='Derrota a los jefes de las Cavernas del Tiempo: Stratholme en modo heroico.' WHERE `ID`=500; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='50 misiones completadas', `Description_Lang_esES`='Completa 50 misiones.' WHERE `ID`=503; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='100 misiones completadas', `Description_Lang_esES`='Completa 100 misiones.' WHERE `ID`=504; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='250 misiones completadas', `Description_Lang_esES`='Completa 250 misiones.' WHERE `ID`=505; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='500 misiones completadas', `Description_Lang_esES`='Completa 500 misiones.' WHERE `ID`=506; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='1000 misiones completadas', `Description_Lang_esES`='Completa 1000 misiones.' WHERE `ID`=507; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='1500 misiones completadas', `Description_Lang_esES`='Completa 1500 misiones.' WHERE `ID`=508; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='10000 muertes con honor', `Description_Lang_esES`='Consigue 10000 muertes con honor.' WHERE `ID`=509; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='5000 muertes con honor', `Description_Lang_esES`='Consigue 5000 muertes con honor.' WHERE `ID`=512; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='100 muertes con honor', `Description_Lang_esES`='Consigue 100 muertes con honor.' WHERE `ID`=513; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='500 muertes con honor', `Description_Lang_esES`='Consigue 500 muertes con honor.' WHERE `ID`=515; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='1000 muertes con honor', `Description_Lang_esES`='Consigue 1000 muertes con honor.' WHERE `ID`=516; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='30 reputaciones Exaltado', `Description_Lang_esES`='Eleva 30 reputaciones a Exaltado.' WHERE `ID`=518; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='25 reputaciones Exaltado', `Description_Lang_esES`='Eleva 25 reputaciones a Exaltado.' WHERE `ID`=519; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='20 reputaciones Exaltado', `Description_Lang_esES`='Eleva 20 reputaciones a Exaltado.' WHERE `ID`=520; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='15 reputaciones Exaltado', `Description_Lang_esES`='Eleva 15 reputaciones a Exaltado.' WHERE `ID`=521; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='A alguien le gusto', `Description_Lang_esES`='Eleva una reputación a Exaltado.' WHERE `ID`=522; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='5 reputaciones Exaltado', `Description_Lang_esES`='Eleva 5 reputaciones a Exaltado.' WHERE `ID`=523; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='10 reputaciones Exaltado', `Description_Lang_esES`='Eleva 10 reputaciones a Exaltado.' WHERE `ID`=524; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayor golpe recibido', `Description_Lang_esES`='Mayor golpe recibido' WHERE `ID`=527; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Daño total recibido', `Description_Lang_esES`='Daño total recibido' WHERE `ID`=528; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayoría de facciones en Honorable o superior', `Description_Lang_esES`='Mayoría de facciones en Honorable o superior' WHERE `ID`=529; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cortar y peinar', `Description_Lang_esES`='Visita una peluquería y córtate el pelo.' WHERE `ID`=545; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Depósito seguro', `Description_Lang_esES`='Compra 7 ranuras adicionales en el banco.' WHERE `ID`=546; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veterano de la Puerta de Cólera', `Description_Lang_esES`='Completa las misiones del Cementerio de Dragones hasta Regreso a Angrathar incluida.' WHERE `ID`=547; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Banquero Profesional', `Description_Lang_esES`='Compra 6 ranuras del banco.' WHERE `ID`=548; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Épico', `Description_Lang_esES`='Equipa un objeto épico en cada ranura con nivel mínimo de 213.' WHERE `ID`=556; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Superior', `Description_Lang_esES`='Equipa un objeto superior en cada ranura, con nivel mínimo de 187.' WHERE `ID`=557; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Avaricioso', `Description_Lang_esES`='Gana un tiro por codicia por un objeto superior o mejor por encima del nivel 185 y saca un 100 en la tirada.' WHERE `ID`=558; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Necesitado', `Description_Lang_esES`='Gana un tiro por necesidad por un objeto superior o mejor por encima del nivel 185 y saca un 100 en la tirada.' WHERE `ID`=559; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La presa más mortífera', `Description_Lang_esES`='Pesca a Gahz’ranka en Zul’Gurub con el cebo de Fangoapestoso.' WHERE `ID`=560; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El quebradero de cabeza de D.E.H.T.A', `Description_Lang_esES`='Defiende las creencias de D.E.H.T.A completando todas las misiones hasta el asesinato de Harold Sendero incluida.' WHERE `ID`=561; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Arrabal Arácnido (10 j.)', `Description_Lang_esES`='Derrota a los jefes de El Arrabal Arácnido de Naxxramas en el modo de 10 jugadores.' WHERE `ID`=562; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Arrabal Arácnido (25 j.)', `Description_Lang_esES`='Derrota a los jefes de El Arrabal Arácnido de Naxxramas en el modo de 25 jugadores.' WHERE `ID`=563; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Arrabal de los Ensamblajes (10 j.)', `Description_Lang_esES`='Derrota a los jefes de El Arrabal de los Ensamblajes de Naxxramas en el modo de 10 jugadores.' WHERE `ID`=564; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Arrabal de los Ensamblajes (25 j.)', `Description_Lang_esES`='Derrota a los jefes de El Arrabal de los Ensamblajes de Naxxramas en el modo de 25 jugadores.' WHERE `ID`=565; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Arrabal de la Peste (10 j.)', `Description_Lang_esES`='Derrota a los jefes de El Arrabal de la Peste de Naxxramas en el modo de 10 jugadores.' WHERE `ID`=566; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Arrabal de la Peste (25 j.)', `Description_Lang_esES`='Derrota a los jefes de El Arrabal de la Peste de Naxxramas en el modo de 25 jugadores.' WHERE `ID`=567; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Arrabal Militar (10 j.)', `Description_Lang_esES`='Derrota a los jefes de El Arrabal Militar de Naxxramas en el modo de 10 jugadores.' WHERE `ID`=568; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Arrabal Militar (25 j.)', `Description_Lang_esES`='Derrota a los jefes de El Arrabal Militar de Naxxramas en el modo de 25 jugadores.' WHERE `ID`=569; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La muerte de Sapphiron (10 j.)', `Description_Lang_esES`='Derrota a Sapphiron en Naxxramas en el modo de 10 jugadores.' WHERE `ID`=572; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La muerte de Sapphiron (25 j.)', `Description_Lang_esES`='Derrota a Sapphiron en Naxxramas en el modo de 25 jugadores.' WHERE `ID`=573; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La derrota de Kel\'Thuzad (10 j.)', `Description_Lang_esES`='Derrota a Kel\'Thuzad en Naxxramas en el modo de 10 jugadores.' WHERE `ID`=574; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La derrota de Kel\'Thuzad (25 j.)', `Description_Lang_esES`='Derrota a Kel\'Thuzad en Naxxramas en el modo de 25 jugadores.' WHERE `ID`=575; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La caída de Naxxramas (10 j.)', `Description_Lang_esES`='Derrota a todos los jefes de Naxxramas en el modo de 10 jugadores.' WHERE `ID`=576; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La caída de Naxxramas (25 j.)', `Description_Lang_esES`='Derrota a todos los jefes de Naxxramas en el modo de 25 jugadores.' WHERE `ID`=577; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los valientes (10 j.)', `Description_Lang_esES`='Derrota a los jefes de Naxxramas en dificultad normal con menos de 9 personas en la zona en el modo de 10 jugadores.' WHERE `ID`=578; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los valientes (25 j.)', `Description_Lang_esES`='Derrota a los jefes de Naxxramas en dificultad heroica con menos de 21 personas en la zona en el modo de 25 jugadores.' WHERE `ID`=579; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Estrella del Valle de Alterac', `Description_Lang_esES`='En una sola batalla por el Valle de Alterac, asalta un cementerio, defiende un cementerio, asalta una torre, defiende una torre y mata a alguien en la Tierra de Disputa.' WHERE `ID`=582; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Estrella de la Cuenca de Arathi', `Description_Lang_esES`='Asalta y defiende 2 bases en una sola batalla por la Cuenca de Arathi.' WHERE `ID`=583; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Asesino de la Cuenca de Arathi', `Description_Lang_esES`='Consigue cinco muertes con honor en cada una de las bases en una sola batalla por la Cuenca de Arathi.' WHERE `ID`=584; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Banderas del Ojo de la Tormenta capturadas', `Description_Lang_esES`='Banderas del Ojo de la Tormenta capturadas' WHERE `ID`=585; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Banderas devueltas en la Garganta Grito de Guerra', `Description_Lang_esES`='Banderas devueltas en la Garganta Grito de Guerra' WHERE `ID`=586; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Asesino tormentoso', `Description_Lang_esES`='En una sola batalla por el Ojo de la Tormenta, consigue 5 muertes con honor en cada una de las bases.' WHERE `ID`=587; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes con honor', `Description_Lang_esES`='Muertes con honor' WHERE `ID`=588; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayor índice de equipo en grupos de 5 personas', `Description_Lang_esES`='La calificación más alta del equipo de 5 hombres' WHERE `ID`=589; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayor índice de equipo en grupos de 3 personas', `Description_Lang_esES`='Calificación más alta de equipo de 3 hombres' WHERE `ID`=590; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes contra Vanndar Pico Tormenta', `Description_Lang_esES`='Muertes contra Vanndar Pico Tormenta' WHERE `ID`=593; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes contra Hogger', `Description_Lang_esES`='Muertes contra Hogger' WHERE `ID`=594; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayor índice personal en grupos de 3 personas', `Description_Lang_esES`='Calificación personal más alta de 3 hombres' WHERE `ID`=595; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayor índice personal en grupos de 5 personas', `Description_Lang_esES`='Calificación personal más alta de 5 hombres' WHERE `ID`=596; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cólera de la Horda', `Description_Lang_esES`='Mata a 5 jugadores de la Alianza en cada una de las ciudades listadas a continuación.' WHERE `ID`=603; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cólera de la Alianza', `Description_Lang_esES`='Mata a 5 jugadores de la Horda en cada una de las ciudades listadas a continuación.' WHERE `ID`=604; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Una moneda de linaje', `Description_Lang_esES`='Recibe una moneda de linaje.' WHERE `ID`=605; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='5 monedas de linaje', `Description_Lang_esES`='Recibe 5 monedas de linaje.' WHERE `ID`=606; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='10 monedas de linaje', `Description_Lang_esES`='Recibe 10 monedas de linaje.' WHERE `ID`=607; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='25 monedas de linaje', `Description_Lang_esES`='Recibe 25 monedas de linaje.' WHERE `ID`=608; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='50 monedas de linaje', `Description_Lang_esES`='Recibe 50 monedas de linaje.' WHERE `ID`=609; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Muerte al Jefe de Guerra!', `Description_Lang_esES`='Mata a Thrall.' WHERE `ID`=610; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pezuña de Sangre sangrante', `Description_Lang_esES`='Mata a Cairne Pezuña de Sangre.' WHERE `ID`=611; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Abajo con la Dama Oscura', `Description_Lang_esES`='Mata a Lady Sylvanas Brisaveloz.' WHERE `ID`=612; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Asesinado en Quel\'Thalas', `Description_Lang_esES`='Mata a Lor\'themar Theron.' WHERE `ID`=613; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Por la Alianza!', `Description_Lang_esES`='Mata a los líderes de la Horda.' WHERE `ID`=614; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Asaltar Ventormenta', `Description_Lang_esES`='Mata al rey Varian Wrynn.' WHERE `ID`=615; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Muerte al Rey!', `Description_Lang_esES`='Mata al rey Magni Barbabronce.' WHERE `ID`=616; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ya no es inmortal', `Description_Lang_esES`='Mata a la suma sacerdotisa Tyrande Susurravientos.' WHERE `ID`=617; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apagar la luz', `Description_Lang_esES`='Mata al profeta Velen.' WHERE `ID`=618; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Por la Horda!', `Description_Lang_esES`='Mata a los líderes de la Alianza.' WHERE `ID`=619; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Aqui huele a chamusquina...', `Description_Lang_esES`='Mata al Alto Señor Bolvar Fordragon' WHERE `ID`=620; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Representa', `Description_Lang_esES`='Equipa un tabardo.' WHERE `ID`=621; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La caída del Tejehechizos (10 j.)', `Description_Lang_esES`='Derrota a Malygos en el modo de 10 jugadores.' WHERE `ID`=622; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La caída del Tejehechizos (25 j.)', `Description_Lang_esES`='Derrota a Malygos en el modo de 25 jugadores.' WHERE `ID`=623; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Menos es más (10 j.)', `Description_Lang_esES`='Derrota a Sartharion el Guardián ónice y a los dracos crepusculares en dificultad normal con menos de 9 personas en el modo de 10 jugadores.' WHERE `ID`=624; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vencer al Vuelo Negro (25 j.)', `Description_Lang_esES`='Derrota a Sartharion el Guardián ónice en el modo de 25 jugadores.' WHERE `ID`=625; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Las mejores para el Festival Lunar', `Description_Lang_esES`='Compra un traje pantalón de fiesta o un vestido de fiesta con monedas de linaje.' WHERE `ID`=626; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Dun Morogh', `Description_Lang_esES`='Explora Dun Morogh y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=627; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Minas de la Muerte', `Description_Lang_esES`='Derrota a Edwin VanCleef.' WHERE `ID`=628; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sima Ígnea', `Description_Lang_esES`='Derrota a Taragaman el Hambriento.' WHERE `ID`=629; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cuevas de los Lamentos', `Description_Lang_esES`='Derrota a Mutanus el Devorador.' WHERE `ID`=630; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Castillo de Colmillo Oscuro', `Description_Lang_esES`='Derrota al archimago Arugal.' WHERE `ID`=631; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cavernas de Brazanegra', `Description_Lang_esES`='Derrota a Aku\'mai.' WHERE `ID`=632; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mazmorras de Ventormenta', `Description_Lang_esES`='Derrota a Bazil Thredd.' WHERE `ID`=633; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gnomeregan', `Description_Lang_esES`='Derrota al mekigeniero Termochufe.' WHERE `ID`=634; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Horado Rajacieno', `Description_Lang_esES`='Derrota a Charlga Filonavaja.' WHERE `ID`=635; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Zahúrda Rajacieno', `Description_Lang_esES`='Derrota a Amnennar el Gélido.' WHERE `ID`=636; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Monasterio Escarlata', `Description_Lang_esES`='Derrota a la Cruzada Escarlata en el Monasterio Escarlata.' WHERE `ID`=637; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Uldaman', `Description_Lang_esES`='Derrota a Archaedas.' WHERE `ID`=638; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Zul\'Farrak', `Description_Lang_esES`='Derrota al jefe Ukorz Cabellarena.' WHERE `ID`=639; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maraudon', `Description_Lang_esES`='Derrota a la princesa Theradras.' WHERE `ID`=640; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Templo Sumergido', `Description_Lang_esES`='Derrota a la Sombra de Eranikus.' WHERE `ID`=641; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Profundidades de Roca Negra', `Description_Lang_esES`='Derrota al emperador Dagran Thaurissan.' WHERE `ID`=642; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cumbre de Roca Negra inferior', `Description_Lang_esES`='Derrota al señor supremo Vermiothalak.' WHERE `ID`=643; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rey de La Masacre', `Description_Lang_esES`='Derrota cada ala de La Masacre.' WHERE `ID`=644; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Scholomance', `Description_Lang_esES`='Derrota a los líderes de Scholomance.' WHERE `ID`=645; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Stratholme', `Description_Lang_esES`='Derrota a los diabólicos organizadores que habitan en Stratholme.' WHERE `ID`=646; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Murallas del Fuego Infernal', `Description_Lang_esES`='Derrota a Omor el Sinmarcas.' WHERE `ID`=647; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Horno de Sangre', `Description_Lang_esES`='Derrota a Keli\'dan el Ultrajador.' WHERE `ID`=648; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Recinto de los Esclavos', `Description_Lang_esES`='Derrota a Quagmirran.' WHERE `ID`=649; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Sotiénaga', `Description_Lang_esES`='Derrota a la Acechadora Negra.' WHERE `ID`=650; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tumbas de Maná', `Description_Lang_esES`='Derrota al príncipe-nexo Shaffar.' WHERE `ID`=651; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Fuga de Durnholde', `Description_Lang_esES`='Derrota al cazador de Época.' WHERE `ID`=652; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Salas Sethekk', `Description_Lang_esES`='Derrota al Rey Garra Ikiss.' WHERE `ID`=653; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Laberinto de las Sombras', `Description_Lang_esES`='Derrota a Murmullo.' WHERE `ID`=654; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apertura de El Portal Oscuro', `Description_Lang_esES`='Derrota a Aeonus.' WHERE `ID`=655; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Cámara de Vapor', `Description_Lang_esES`='Derrota al señor de la guerra Kalithresh.' WHERE `ID`=656; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Las Salas Arrasadas', `Description_Lang_esES`='Derrota al Jefe de Guerra Kargath Garrafilada.' WHERE `ID`=657; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Mechanar', `Description_Lang_esES`='Derrota a Pathaleon el Calculador.' WHERE `ID`=658; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Invernáculo', `Description_Lang_esES`='Derrota al disidente de distorsión.' WHERE `ID`=659; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Arcatraz', `Description_Lang_esES`='Derrota al presagista Cieloriss.' WHERE `ID`=660; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bancal del Magister', `Description_Lang_esES`='Derrota a Kael\'thas Caminante del Sol.' WHERE `ID`=661; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Edición de coleccionista: Mini Diablo', `Description_Lang_esES`='Poseedor de la mascota mini diablo de la edición de coleccionista de World of Warcraft.' WHERE `ID`=662; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Edición de coleccionista: Panda', `Description_Lang_esES`='Poseedor de la mascota panda de la edición de coleccionista de World of Warcraft.' WHERE `ID`=663; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Edición de coleccionista: Zergling', `Description_Lang_esES`='Poseedor de la mascota zergling de la edición de coleccionista de World of Warcraft.' WHERE `ID`=664; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Edición de coleccionista: Cría abisal', `Description_Lang_esES`='Poseedor de la mascota cría abisal de la edición de coleccionista de The Burning Crusade.' WHERE `ID`=665; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Criptas Auchenai', `Description_Lang_esES`='Derrota al exarca Maladaar.' WHERE `ID`=666; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Murallas del Fuego Infernal', `Description_Lang_esES`='Derrota a los líderes de las Murallas del Fuego Infernal en dificultad heroica.' WHERE `ID`=667; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: El Horno de Sangre', `Description_Lang_esES`='Derrota a Keli\'dan el Ultrajador en dificultad heroica.' WHERE `ID`=668; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: El Recinto de los Esclavos', `Description_Lang_esES`='Derrota a Quagmirran en dificultad heroica.' WHERE `ID`=669; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: La Sotiénaga', `Description_Lang_esES`='Derrota a la Acechadora Negra en dificultad heroica.' WHERE `ID`=670; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Tumbas de Maná', `Description_Lang_esES`='Derrota al príncipe-nexo Shaffar en dificultad heroica.' WHERE `ID`=671; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Criptas Auchenai', `Description_Lang_esES`='Derrota al exarca Maladaar en dificultad heroica.' WHERE `ID`=672; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: La Fuga de Durnholde', `Description_Lang_esES`='Derrota al cazador de Época en dificultad heroica.' WHERE `ID`=673; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Salas Sethekk', `Description_Lang_esES`='Derrota al Rey Garra Ikiss en dificultad heroica.' WHERE `ID`=674; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Laberinto de las Sombras', `Description_Lang_esES`='Derrota a Murmullo en dificultad heroica.' WHERE `ID`=675; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Apertura del Portal Oscuro', `Description_Lang_esES`='Derrota a Aeonus en dificultad heroica.' WHERE `ID`=676; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: La Cámara de Vapor', `Description_Lang_esES`='Derrota al señor de la guerra Kalithresh en dificultad heroica.' WHERE `ID`=677; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Las Salas Arrasadas', `Description_Lang_esES`='Derrota al Jefe de Guerra Kargath Garrafilada en dificultad heroica.' WHERE `ID`=678; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: El Mechanar', `Description_Lang_esES`='Derrota a Pathaleon el Calculador en dificultad heroica.' WHERE `ID`=679; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: El Invernáculo', `Description_Lang_esES`='Derrota al disidente de distorsión en dificultad heroica.' WHERE `ID`=680; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: El Arcatraz', `Description_Lang_esES`='Derrota al presagista Cieloriss en dificultad heroica.' WHERE `ID`=681; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Bancal del Magister', `Description_Lang_esES`='Derrota a Kael\'thas Caminante del Sol en dificultad heroica.' WHERE `ID`=682; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Edición de coleccionista: Cría de vermis de escarcha', `Description_Lang_esES`='Poseedor de la mascota cría de vermis de escarcha de la edición de coleccionista de Wrath of the Lich King.' WHERE `ID`=683; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Guarida de Onyxia (Nivel 60)', `Description_Lang_esES`='Derrota a la versión clásica de nivel 60 de Onyxia.' WHERE `ID`=684; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Guarida Alanegra', `Description_Lang_esES`='Derrota a Nefarian.' WHERE `ID`=685; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Núcleo de Magma', `Description_Lang_esES`='Derrota a Ragnaros.' WHERE `ID`=686; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Templo de Ahn\'Qiraj', `Description_Lang_esES`='Derrota a C\'Thun.' WHERE `ID`=687; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Zul\'Gurub', `Description_Lang_esES`='Derrota a Hakkar.' WHERE `ID`=688; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ruinas de Ahn\'Qiraj', `Description_Lang_esES`='Derrota a Osirio el Sinmarcas.' WHERE `ID`=689; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Karazhan', `Description_Lang_esES`='Derrota al príncipe Malchezaar en Karazhan.' WHERE `ID`=690; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Zul\'Aman', `Description_Lang_esES`='Derrota a Zul\'jin en Zul\'Aman.' WHERE `ID`=691; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Guarida de Gruul', `Description_Lang_esES`='Derrota a Gruul el Asesino de Dragones en la Guarida de Gruul.' WHERE `ID`=692; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Guarida de Magtheridon', `Description_Lang_esES`='Derrota a Magtheridon en la Guarida de Magtheridon.' WHERE `ID`=693; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Caverna Santuario Serpiente', `Description_Lang_esES`='Derrota a lady Vashj en la Caverna Santuario Serpiente.' WHERE `ID`=694; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Batalla de El Monte Hyjal', `Description_Lang_esES`='Derrota a Archimonde en la Batalla del Monte Hyjal.' WHERE `ID`=695; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Castillo de la Tempestad', `Description_Lang_esES`='Derrota a Kael\'thas Caminante del Sol en El Castillo de la Tempestad.' WHERE `ID`=696; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Templo Oscuro', `Description_Lang_esES`='Derrota a Illidan Tempestira en El Templo Oscuro.' WHERE `ID`=697; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Meseta de La Fuente del Sol', `Description_Lang_esES`='Derrota a Kil\'jaeden en la Meseta de La Fuente del Sol.' WHERE `ID`=698; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ganador mundial', `Description_Lang_esES`='Gana un encuentro en la arena puntuado en las Montañas Filospada, Nagrand, las Cloacas de Dalaran y las Ruinas de Lordaeron en nivel 80.' WHERE `ID`=699; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Libertad de la Horda', `Description_Lang_esES`='Consigue una insignia o medallón de la Horda.' WHERE `ID`=700; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Libertad de la Alianza', `Description_Lang_esES`='Consigue una insignia o medallón de la Alianza.' WHERE `ID`=701; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Por la Horda!', `Description_Lang_esES`='Mata a los líderes de la Alianza.' WHERE `ID`=702; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Por la Alianza!', `Description_Lang_esES`='Mata a los líderes de la Horda.' WHERE `ID`=703; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡No me puedo creer que lo hayas hecho!', `Description_Lang_esES`='Llega al nivel máximo sin morir ninguna vez.' WHERE `ID`=704; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro armero', `Description_Lang_esES`='Eleva cuatro habilidades con armas a 400.' WHERE `ID`=705; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Aullador Lobo Gélido', `Description_Lang_esES`='Consigue un aullador Lobo Gélido.' WHERE `ID`=706; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Carnero de batalla Pico Tormenta', `Description_Lang_esES`='Consigue un carnero de batalla Pico Tormenta.' WHERE `ID`=707; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Héroe del clan Lobo Gélido', `Description_Lang_esES`='Alcanza la reputación Exaltado con el clan Lobo Gélido.' WHERE `ID`=708; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Héroe de la Guardia Pico Tormenta', `Description_Lang_esES`='Alcanza la reputación Exaltado con la Guardia Pico Tormenta.' WHERE `ID`=709; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Rapiñador', `Description_Lang_esES`='Alcanza la reputación Exaltado con los Rapiñadores Renegados.' WHERE `ID`=710; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Caballero de Arathor', `Description_Lang_esES`='Alcanza la reputación Exaltado con la Liga de Arathor.' WHERE `ID`=711; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Escolta Grito de Guerra', `Description_Lang_esES`='Alcanza la reputación Exaltado con los Escoltas Grito de Guerra.' WHERE `ID`=712; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Centinela Ala de Plata', `Description_Lang_esES`='Alcanza la reputación Exaltado con los Centinelas Ala de Plata.' WHERE `ID`=713; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El conquistador', `Description_Lang_esES`='Eleva tu nivel de reputación en la Garganta Grito de Guerra, la Cuenca de Arathi y el Valle de Alterac a Exaltado.' WHERE `ID`=714; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Naxxramas', `Description_Lang_esES`='Derrota a Kel\'Thuzad' WHERE `ID`=715; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Durotar', `Description_Lang_esES`='Completa 46 misiones en Durotar.' WHERE `ID`=716; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Mulgore', `Description_Lang_esES`='Completa 35 misiones en Mulgore.' WHERE `ID`=717; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Los Baldíos', `Description_Lang_esES`='Completa 98 misiones en Los Baldíos.' WHERE `ID`=718; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Mil Agujas', `Description_Lang_esES`='Completa 52 misiones en Mil Agujas.' WHERE `ID`=719; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Tanaris', `Description_Lang_esES`='Completa 76 misiones en Tanaris.' WHERE `ID`=720; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural del Cráter de Un\'Goro', `Description_Lang_esES`='Completa 41 misiones en el Cráter de Un\'Goro' WHERE `ID`=721; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Silithus', `Description_Lang_esES`='Completa 88 misiones en Silithus.' WHERE `ID`=722; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Sierra Espolón', `Description_Lang_esES`='Completa 25 misiones en Sierra Espolón.' WHERE `ID`=723; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural del Marjal Revolcafango', `Description_Lang_esES`='Completa 30 misiones en el Marjal Revolcafango.' WHERE `ID`=724; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Thori\'dal, la furia de las estrellas', `Description_Lang_esES`='Equípate con Thori\'dal, la furia de las estrellas.' WHERE `ID`=725; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Caja de cigalas mágicas de Tenacitas', `Description_Lang_esES`='Pesca la caja de cigalas mágicas de Tenacitas.' WHERE `ID`=726; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='A mí la caballería', `Description_Lang_esES`='Consigue una de las monturas de guerra con el sistema de honor.' WHERE `ID`=727; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Durotar', `Description_Lang_esES`='Explora Durotar y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=728; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Riendas de destrero de la muerte', `Description_Lang_esES`='Consigue las riendas de destrero de la muerte del Barón Osahendido en Stratholme.' WHERE `ID`=729; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Habilidades que pagan las facturas', `Description_Lang_esES`='Conviértete en gran maestro en pesca, primeros auxilios y cocina.' WHERE `ID`=730; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Experto profesional', `Description_Lang_esES`='Conviértete en experto en una profesión.' WHERE `ID`=731; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Artesano profesional', `Description_Lang_esES`='Conviértete en artesano en una profesión.' WHERE `ID`=732; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro profesional', `Description_Lang_esES`='Conviértete en maestro en una profesión.' WHERE `ID`=733; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gran maestro profesional', `Description_Lang_esES`='Conviértete en gran maestro en una profesión.' WHERE `ID`=734; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Trabajar día y noche', `Description_Lang_esES`='Conviértete en gran maestro en dos profesiones.' WHERE `ID`=735; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mulgore', `Description_Lang_esES`='Explora Mulgore y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=736; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Trabajando horas extra', `Description_Lang_esES`='Conviertete en un Artesano en dos profesiones.' WHERE `ID`=737; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Vallefresno', `Description_Lang_esES`='Completa 29 misiones en Vallefresno.' WHERE `ID`=738; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Feralas', `Description_Lang_esES`='Completa 54 misiones en Feralas.' WHERE `ID`=739; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Desolace', `Description_Lang_esES`='Completa 38 misiones en Desolace.' WHERE `ID`=740; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Frondavil', `Description_Lang_esES`='Completa 54 misiones en Frondavil.' WHERE `ID`=741; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Cuna de Invierno', `Description_Lang_esES`='Completa 34 misiones en Cuna de Invierno.' WHERE `ID`=742; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Azshara', `Description_Lang_esES`='Completa 26 misiones en Azshara.' WHERE `ID`=743; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Kalimdor', `Description_Lang_esES`='Completa las misiones en todas las zonas de Kalimdor.' WHERE `ID`=744; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Los Baldíos', `Description_Lang_esES`='Completa 25 misiones en Los Baldíos.' WHERE `ID`=745; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Mil Agujas', `Description_Lang_esES`='Completa 31 misiones en Mil Agujas.' WHERE `ID`=746; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Tanaris', `Description_Lang_esES`='Completa 75 misiones en Tanaris.' WHERE `ID`=747; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural del Cráter de Un\'Goro', `Description_Lang_esES`='Completa 41 misiones en el Cráter de Un\'Goro' WHERE `ID`=748; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Silithus', `Description_Lang_esES`='Completa 86 misiones en Silithus.' WHERE `ID`=749; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los Baldíos', `Description_Lang_esES`='Explora Los Baldíos y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=750; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Sierra Espolón', `Description_Lang_esES`='Completa 20 misiones en Sierra Espolón.' WHERE `ID`=751; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes en Naxxramas', `Description_Lang_esES`='Muertes en Naxxramas' WHERE `ID`=752; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad media de oro obtenida cada día', `Description_Lang_esES`='Cantidad media de oro obtenida cada día' WHERE `ID`=753; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural del Marjal Revolcafango', `Description_Lang_esES`='Completa 23 misiones en el Marjal Revolcafango.' WHERE `ID`=754; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Vallefresno', `Description_Lang_esES`='Completa 44 misiones en Vallefresno.' WHERE `ID`=755; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Feralas', `Description_Lang_esES`='Completa 60 misiones en Feralas.' WHERE `ID`=756; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Desolace', `Description_Lang_esES`='Completa 40 misiones en Desolace.' WHERE `ID`=757; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Frondavil', `Description_Lang_esES`='Completa 53 misiones en Frondavil.' WHERE `ID`=758; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad media de misiones diarias completadas cada día', `Description_Lang_esES`='Cantidad media de misiones diarias completadas cada día' WHERE `ID`=759; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Montañas de Alterac', `Description_Lang_esES`='Explora las Montañas de Alterac y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=760; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tierras Altas de Arathi', `Description_Lang_esES`='Explora las Tierras Altas de Arathi y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=761; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Embajador de la Horda', `Description_Lang_esES`='Alcanza la reputación Exaltado con 5 capitales.' WHERE `ID`=762; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El cruzado ardiente', `Description_Lang_esES`='Eleva todas las reputaciones de mazmorras de The Burning Crusade a Exaltado.' WHERE `ID`=763; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El cruzado ardiente', `Description_Lang_esES`='Eleva todas las reputaciones de mazmorras de The Burning Crusade a Exaltado.' WHERE `ID`=764; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tierras Inhóspitas', `Description_Lang_esES`='Explora las Tierras Inhóspitas y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=765; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Las Tierras Devastadas', `Description_Lang_esES`='Explora Las Tierras Devastadas y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=766; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Claros de Tirisfal', `Description_Lang_esES`='Explora los Claros de Tirisfal y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=768; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bosque de Argénteos', `Description_Lang_esES`='Explora el Bosque de Argénteos y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=769; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tierras de la Peste del Oeste', `Description_Lang_esES`='Explora las Tierras de la Peste del Oeste y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=770; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tierras de la Peste del Este', `Description_Lang_esES`='Explora las Tierras de la Peste del Este y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=771; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Laderas de Trabalomas', `Description_Lang_esES`='Explora las Laderas de Trabalomas y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=772; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Las Tierras del Interior', `Description_Lang_esES`='Explora Las Tierras del Interior y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=773; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Garganta de Fuego', `Description_Lang_esES`='Explora La Garganta de Fuego y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=774; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Las Estepas Ardientes', `Description_Lang_esES`='Explora Las Estepas Ardientes y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=775; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bosque de Elwynn', `Description_Lang_esES`='Explora el Bosque de Elwynn y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=776; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Paso de la Muerte', `Description_Lang_esES`='Explora el Paso de la Muerte y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=777; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bosque del Ocaso', `Description_Lang_esES`='Explora el Bosque del Ocaso y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=778; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Loch Modan', `Description_Lang_esES`='Explora Loch Modan y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=779; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Montañas Crestagrana', `Description_Lang_esES`='Explora las Montañas Crestagrana y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=780; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vega de Tuercespina', `Description_Lang_esES`='Explora la Vega de Tuercespina y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=781; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pantano de las Penas', `Description_Lang_esES`='Explora el Pantano de las Penas y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=782; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La tormenta perfecta', `Description_Lang_esES`='Gana en el Ojo de la Tormenta con una puntuación de 1600 a 0.' WHERE `ID`=783; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Dominio en el Ojo de la Tormenta', `Description_Lang_esES`='Gana en el Ojo de la Tormenta 10 veces mientras controlas las 4 bases.' WHERE `ID`=784; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Cuna de Invierno', `Description_Lang_esES`='Completa 40 misiones en Cuna de Invierno.' WHERE `ID`=785; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Azshara', `Description_Lang_esES`='Completa 20 misiones en Azshara.' WHERE `ID`=786; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Costa Oscura', `Description_Lang_esES`='Completa 62 misiones en Costa Oscura.' WHERE `ID`=787; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Teldrassil', `Description_Lang_esES`='Completa 40 misiones en Teldrassil.' WHERE `ID`=788; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Kalimdor', `Description_Lang_esES`='Completa las misiones en todas las zonas de Kalimdor.' WHERE `ID`=789; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de los Claros de Tirisfal', `Description_Lang_esES`='Completa 45 misiones en los Claros de Tirisfal' WHERE `ID`=790; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Tierras de la Peste del Oeste', `Description_Lang_esES`='Completa 60 misiones en las Tierras de la Peste del Oeste' WHERE `ID`=791; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Tierras de la Peste del Este', `Description_Lang_esES`='Completa 96 misiones en las Tierras de la Peste del Este' WHERE `ID`=792; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural del Bosque de Argenteos', `Description_Lang_esES`='Completa 38 misiones en el Bosque de Argenteos' WHERE `ID`=793; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Tierras del Interior', `Description_Lang_esES`='Completa 27 misiones en las Tierras del Interior' WHERE `ID`=794; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Laderas Trabalomas', `Description_Lang_esES`='Completa 33 misiones en las Laderas Trabalomas' WHERE `ID`=795; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Resucitado por sacerdotes', `Description_Lang_esES`='Resucitado por sacerdotes' WHERE `ID`=796; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Renacer por druidas', `Description_Lang_esES`='Renacer por druidas' WHERE `ID`=798; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Espíritu devuelto al cuerpo por chamanes', `Description_Lang_esES`='Espíritu devuelto al cuerpo por chamanes' WHERE `ID`=799; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Redimido por paladines', `Description_Lang_esES`='Redimido por paladines' WHERE `ID`=800; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Resucitado con piedras de alma', `Description_Lang_esES`='Resucitado con piedras de alma' WHERE `ID`=801; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Páramos de Poniente', `Description_Lang_esES`='Explora los Páramos de Poniente y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=802; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Tierras Altas de Arathi', `Description_Lang_esES`='Completa 31 misiones en las Tierras Altas de Arathi' WHERE `ID`=810; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Frascos consumidos', `Description_Lang_esES`='Frascos consumidos' WHERE `ID`=811; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Piedras de salud usadas', `Description_Lang_esES`='Piedras de salud usadas' WHERE `ID`=812; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Tierras Inhóspitas', `Description_Lang_esES`='Completa 31 misiones en las Tierras Inhóspitas' WHERE `ID`=813; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de la Garganta de Fuego', `Description_Lang_esES`='Completa 43 misiones en la Garganta de Fuego' WHERE `ID`=814; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Estepas Ardientes', `Description_Lang_esES`='Completa 10 misiones en las Estepas Ardientes' WHERE `ID`=815; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural del Pantano de las Penas', `Description_Lang_esES`='Completa 21 misiones en el Pantano de las Penas' WHERE `ID`=816; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Tierras Devastadas', `Description_Lang_esES`='Completa 21 misiones en las Tierras Devastadas' WHERE `ID`=817; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Vega de Tuercespina', `Description_Lang_esES`='Completa 66 misiones en Vega de Tuercespina' WHERE `ID`=818; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de los Reinos del Este', `Description_Lang_esES`='Completa las misiones en todas las zonas de los Reinos del Este' WHERE `ID`=819; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Tierras de la Peste del Oeste', `Description_Lang_esES`='Completa 60 misiones en las Tierras de la Peste del Oeste' WHERE `ID`=820; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Tierras de la Peste del Este', `Description_Lang_esES`='Completa 92 misiones en las Tierras de la Peste del Este' WHERE `ID`=821; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Tierras del Interior', `Description_Lang_esES`='Completa 13 misiones en las Tierras del Interior' WHERE `ID`=822; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Laderas Trabalomas', `Description_Lang_esES`='Completa 11 misiones en las Laderas Trabalomas' WHERE `ID`=823; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Tierras Altas de Arathi', `Description_Lang_esES`='Completa 22 misiones en las Tierras Altas de Arathi' WHERE `ID`=824; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Montañas de Alterac', `Description_Lang_esES`='Completa 11 misiones en las Montañas de Alterac' WHERE `ID`=825; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Los Humedales', `Description_Lang_esES`='Completa 34 misiones en Los Humedales' WHERE `ID`=826; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Loch Modan', `Description_Lang_esES`='Completa 34 misiones en Loch Modan' WHERE `ID`=827; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Dun Morogh', `Description_Lang_esES`='Completa 53 misiones en Dun Morogh' WHERE `ID`=828; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayor sanación recibida', `Description_Lang_esES`='Mayor sanación recibida' WHERE `ID`=829; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sanación total recibida', `Description_Lang_esES`='Sanación total recibida' WHERE `ID`=830; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Tierras Inhóspitas', `Description_Lang_esES`='Completa 42 misiones en las Tierras Inhóspitas' WHERE `ID`=831; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de la Garganta de Fuego', `Description_Lang_esES`='Completa 48 misiones en la Garganta de Fuego' WHERE `ID`=832; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Estepas Ardientes', `Description_Lang_esES`='Completa 18 misiones en las Estepas Ardientes' WHERE `ID`=833; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural del Bosque de Elwynn', `Description_Lang_esES`='Completa 45 misiones en el Bosque de Elwynn' WHERE `ID`=834; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Montañas Crestagrana', `Description_Lang_esES`='Completa 31 misiones en las Montañas Crestagrana' WHERE `ID`=835; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de los Páramos de Poniente', `Description_Lang_esES`='Completa 34 misiones en los Páramos de Poniente' WHERE `ID`=836; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Arenas ganadas', `Description_Lang_esES`='Arenas ganadas' WHERE `ID`=837; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Arenas jugadas', `Description_Lang_esES`='Arenas jugadas' WHERE `ID`=838; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campos de batalla jugados', `Description_Lang_esES`='Campos de batalla jugados' WHERE `ID`=839; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campos de batalla ganados', `Description_Lang_esES`='Campos de batalla ganados' WHERE `ID`=840; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los Humedales', `Description_Lang_esES`='Explora Los Humedales y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=841; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Teldrassil', `Description_Lang_esES`='Explora Teldrassil y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=842; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tormenta Abisal', `Description_Lang_esES`='Explora Tormenta Abisal y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=843; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Costa Oscura', `Description_Lang_esES`='Explora Costa Oscura y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=844; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vallefresno', `Description_Lang_esES`='Explora Vallefresno y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=845; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Las Mil Agujas', `Description_Lang_esES`='Explora Las Mil Agujas y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=846; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sierra Espolón', `Description_Lang_esES`='Explora Sierra Espolón y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=847; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Desolace', `Description_Lang_esES`='Explora Desolace y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=848; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Feralas', `Description_Lang_esES`='Explora Feralas y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=849; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Marjal Revolcafango', `Description_Lang_esES`='Explora el Marjal Revolcafango y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=850; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Desierto de Tanaris', `Description_Lang_esES`='Explora el Desierto de Tanaris y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=851; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Azshara', `Description_Lang_esES`='Explora Azshara y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=852; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Frondavil', `Description_Lang_esES`='Explora Frondavil y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=853; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cráter de Un\'Goro', `Description_Lang_esES`='Explora el Cráter de Un\'Goro y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=854; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Claro de la Luna', `Description_Lang_esES`='Explora el Claro de la Luna y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=855; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Silithus', `Description_Lang_esES`='Explora Silithus y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=856; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cuna del Invierno', `Description_Lang_esES`='Explora la Cuna del Invierno y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=857; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tierras Fantasma', `Description_Lang_esES`='Explora las Tierras Fantasma y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=858; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bosque Canción Eterna', `Description_Lang_esES`='Explora el Bosque Canción Eterna y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=859; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Isla Bruma Azur', `Description_Lang_esES`='Explora la Isla Bruma Azur y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=860; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Isla Bruma de Sangre', `Description_Lang_esES`='Explora la Isla Bruma de Sangre y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=861; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Península del Fuego Infernal', `Description_Lang_esES`='Explora la Península del Fuego Infernal y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=862; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Marisma de Zangar', `Description_Lang_esES`='Explora la Marisma de Zangar y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=863; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Valle Sombraluna', `Description_Lang_esES`='Explora el Valle Sombraluna y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=864; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Montañas Filospada', `Description_Lang_esES`='Explora las Montañas Filospada y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=865; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Nagrand', `Description_Lang_esES`='Explora Nagrand y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=866; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bosque de Terokkar', `Description_Lang_esES`='Explora el Bosque de Terokkar y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=867; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Isla de Quel\'Danas', `Description_Lang_esES`='Explora la Isla de Quel\'Danas y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=868; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='50000 muertes con honor', `Description_Lang_esES`='Consigue 50000 muertes con honor.' WHERE `ID`=869; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='100000 muertes con honor', `Description_Lang_esES`='Consigue 100000 muertes con honor.' WHERE `ID`=870; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Adelante, Almirante!', `Description_Lang_esES`='Consigue el Sombrero de almirante Velasangre... e intenta tomar un poco de aire fresco de vez en cuando.' WHERE `ID`=871; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Defensor frenético', `Description_Lang_esES`='Devuelve 5 banderas en una sola batalla por la Garganta Grito de Guerra.' WHERE `ID`=872; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Perfección Lobo Gélido', `Description_Lang_esES`='Gana en el Valle de Alterac sin perder ninguna torre ni Capitán. También debes controlar todas las torres de la Alianza.' WHERE `ID`=873; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural del Bosque del Ocaso', `Description_Lang_esES`='Completa 61 misiones en el Bosque del Ocaso' WHERE `ID`=874; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vengativamente entregado', `Description_Lang_esES`='Gana 200 encuentros en la arena puntuados en nivel 80.' WHERE `ID`=875; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Brutalmente entregado', `Description_Lang_esES`='Gana 300 encuentros en la arena puntuados en nivel 80.' WHERE `ID`=876; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La tarta es de verdad', `Description_Lang_esES`='Hornea un pastel de chocolate delicioso.' WHERE `ID`=877; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Este no se escapó', `Description_Lang_esES`='Pesca uno de los peces poco comunes de la lista a continuación.' WHERE `ID`=878; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Montura a la antigua usanza', `Description_Lang_esES`='Poseedor de una de las monturas épicas originales que ya no se pueden conseguir.' WHERE `ID`=879; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tigre Zulian presto', `Description_Lang_esES`='Consigue el tigre Zulian presto del sumo sacerdote Thekal en Zul\'Gurub.' WHERE `ID`=880; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Raptor Razzashi presto', `Description_Lang_esES`='Consigue el raptor Razzashi presto del señor sangriento Mandokir en Zul\'Gurub.' WHERE `ID`=881; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Riendas de caballo de guerra ígneo', `Description_Lang_esES`='Consigue las riendas de caballo de guerra ígneo de Attumen el Montero en Karazhan.' WHERE `ID`=882; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Riendas de Lord Cuervo', `Description_Lang_esES`='Consigue las riendas del lord Cuervo de Anzu en las Salas Sethekk.' WHERE `ID`=883; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Halcón zancudo blanco presto', `Description_Lang_esES`='Consigue el halcón zancudo blanco presto de Kael\'thas Caminante del Sol en el Bancal del Magister.' WHERE `ID`=884; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cenizas de Al\'ar', `Description_Lang_esES`='Consigue las cenizas de Al\'ar de Kael\'thas Caminante del Sol en El Castillo de la Tempestad.' WHERE `ID`=885; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Draco abisal presto', `Description_Lang_esES`='Consigue el draco abisal presto de la temporada 1 de arenas de The Burning Crusade.' WHERE `ID`=886; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Draco abisal despiadado', `Description_Lang_esES`='Consigue el draco abisal despiadado de la temporada 2 de arenas de The Burning Crusade.' WHERE `ID`=887; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Draco abisal vengativo', `Description_Lang_esES`='Consigue el draco abisal vengativo de la temporada 3 de arenas de The Burning Crusade.' WHERE `ID`=888; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='A todo gas', `Description_Lang_esES`='Aprende la habilidad oficial jinete.' WHERE `ID`=889; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hacia la azul y salvaje lejanía', `Description_Lang_esES`='Aprende la habilidad experto jinete.' WHERE `ID`=890; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Arre!', `Description_Lang_esES`='Aprende la habilidad aprendiz jinete.' WHERE `ID`=891; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Elegido para la gloria', `Description_Lang_esES`='Aprende la habilidad Artesano jinete.' WHERE `ID`=892; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hipogrifo de guerra Cenarion', `Description_Lang_esES`='Consigue un hipogrifo de guerra Cenarion de la Expedición Cenarion en las Marismas de Zangar.' WHERE `ID`=893; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sobrevolando Skettis', `Description_Lang_esES`='Alcanza la reputación Exaltado con la Guardia del cielo Sha\'tari.' WHERE `ID`=894; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural del Pantano de las Penas', `Description_Lang_esES`='Completa 14 misiones en el Pantano de las Penas' WHERE `ID`=895; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Una misión al día llena a los ogros de alegría', `Description_Lang_esES`='Alcanza la reputación Exaltado con Ogri\'la.' WHERE `ID`=896; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Resultas muy ofensivo', `Description_Lang_esES`='Alcanza la reputación Exaltado con la Ofensiva Sol Devastado.' WHERE `ID`=897; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sobre alas abisales', `Description_Lang_esES`='Alcanza la reputación Exaltado con el Ala Abisal.' WHERE `ID`=898; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Qué guay, Kurenai', `Description_Lang_esES`='Alcanza la reputación Exaltado con los Kurenai.' WHERE `ID`=899; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El zar de Esporaggar', `Description_Lang_esES`='Alcanza la reputación Exaltado con Esporaggar.' WHERE `ID`=900; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mag\'har de Draenor', `Description_Lang_esES`='Alcanza la reputación Exaltado con los Mag\'har.' WHERE `ID`=901; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Oficial jefe Exaltado', `Description_Lang_esES`='Alcanza la reputación Exaltado con El Consorcio.' WHERE `ID`=902; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Shattrath dividida', `Description_Lang_esES`='Alcanza la reputación Exaltado con los Arúspices o los Aldor.' WHERE `ID`=903; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de las Tierras Devastadas', `Description_Lang_esES`='Completa 20 misiones en las Tierras Devastadas' WHERE `ID`=904; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Superar al Viejo Barlo', `Description_Lang_esES`='Completa las 5 misiones diarias de pesca del viejo Barlo listadas a continuación.' WHERE `ID`=905; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Dale caña!', `Description_Lang_esES`='Completa las 4 misiones diarias de cocina de El Rokk listadas a continuación.' WHERE `ID`=906; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El justicar', `Description_Lang_esES`='Eleva tu nivel de reputación en la Garganta Grito de Guerra, la Cuenca de Arathi y el Valle de Alterac a Exaltado.' WHERE `ID`=907; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Llamamiento a las armas!', `Description_Lang_esES`='Completa las versiones de nivel 80 de las misiones diarias de los campos de batalla Llamamiento a las armas listadas a continuación.' WHERE `ID`=908; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Llamamiento a las armas!', `Description_Lang_esES`='Completa las versiones de nivel 80 de las misiones diarias de los campos de batalla Llamamiento a las armas listadas a continuación.' WHERE `ID`=909; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ancestros de las mazmorras', `Description_Lang_esES`='Honra a los ancestros que se encuentran dentro de las mazmorras.' WHERE `ID`=910; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ancestros de Kalimdor', `Description_Lang_esES`='Honra a los ancestros que se encuentran en Kalimdor.' WHERE `ID`=911; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ancestros de los Reinos del Este', `Description_Lang_esES`='Honra a los ancestros que se encuentran en los Reinos del Este.' WHERE `ID`=912; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Honrar a los ancestros personales', `Description_Lang_esES`='Completa los logros del Festival Lunar listados a continuación.' WHERE `ID`=913; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ancestros de la Horda', `Description_Lang_esES`='Honra a los ancestros que se encuentran en las capitales de la Horda.' WHERE `ID`=914; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ancestros de la Alianza', `Description_Lang_esES`='Honra a los ancestros que se encuentran en las capitales de la Alianza.' WHERE `ID`=915; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes totales en banda (25 j.)', `Description_Lang_esES`='Muertes totales en banda (25 j.)' WHERE `ID`=916; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes totales en banda (10 j.)', `Description_Lang_esES`='Muertes totales en banda (10 j.)' WHERE `ID`=917; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes totales en mazmorras (5 j.)', `Description_Lang_esES`='Muertes totales en mazmorras (5 j.)' WHERE `ID`=918; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Oro total ganado en subastas', `Description_Lang_esES`='Oro total ganado en subastas' WHERE `ID`=919; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de Vega de Tuercespina', `Description_Lang_esES`='Completa 70 misiones en Vega de Tuercespina' WHERE `ID`=920; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad de oro recibido de vendedores', `Description_Lang_esES`='Cantidad de oro recibido de vendedores' WHERE `ID`=921; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pociones de maná consumidas', `Description_Lang_esES`='Pociones de maná consumidas' WHERE `ID`=922; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Elixires consumidos', `Description_Lang_esES`='Elixires consumidos' WHERE `ID`=923; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayoría de facciones de Rasganorte a nivel Exaltado', `Description_Lang_esES`='Mayoría de facciones de Rasganorte a nivel Exaltado' WHERE `ID`=924; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayoría de facciones de Terrallende a nivel Exaltado', `Description_Lang_esES`='Mayoría de facciones de Terrallende a nivel Exaltado' WHERE `ID`=925; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayoría de facciones de la Horda a nivel Exaltado', `Description_Lang_esES`='Mayoría de facciones de la Horda a nivel Exaltado' WHERE `ID`=926; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Objetos épicos equipados en ranuras', `Description_Lang_esES`='Objetos épicos equipados en ranuras' WHERE `ID`=927; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ranuras adicionales compradas en el banco', `Description_Lang_esES`='Ranuras adicionales compradas en el banco' WHERE `ID`=928; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro Cultural de los Reinos del Este', `Description_Lang_esES`='Completa las misiones en todas las zonas de los Reinos del Este' WHERE `ID`=929; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro armero', `Description_Lang_esES`='Eleva cuatro habilidades con arma a 300.' WHERE `ID`=930; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad total de facciones encontradas', `Description_Lang_esES`='Cantidad total de facciones encontradas' WHERE `ID`=931; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veces totales en mazmorras (5 j.)', `Description_Lang_esES`='Veces totales en mazmorras (5 j.)' WHERE `ID`=932; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veces totales en bandas (10 j.)', `Description_Lang_esES`='Veces totales en bandas (10 j.)' WHERE `ID`=933; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veces totales en bandas (25 j.)', `Description_Lang_esES`='Veces totales en bandas (25 j.)' WHERE `ID`=934; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¿Alguien ha pedido un bocadillo de nudillos?', `Description_Lang_esES`='Aumenta tu habilidad sin armas a 300.' WHERE `ID`=935; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Épico', `Description_Lang_esES`='Equipa un objeto épico en cada ranura con nivel mínimo de 65.' WHERE `ID`=936; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La bendición de Elune', `Description_Lang_esES`='Completa la misión La bendición de Elune al derrotar a Augurio.' WHERE `ID`=937; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Las nieves de Rasganorte', `Description_Lang_esES`='Completa todas las misiones de Hemet Nesingwary en Rasganorte hasta Agresión posparto incluida.' WHERE `ID`=938; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Montes como elekk blancos', `Description_Lang_esES`='Completa todas las misiones de Hemet Nesingwary en Nagrand hasta El deporte sangriento definitivo incluida.' WHERE `ID`=939; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Las verdes colinas de Tuercespina', `Description_Lang_esES`='Completa todas las misiones de Hemet Nesingwary en la Vega de Tuercespina hasta Las verdes colinas de Tuercespina y Caza mayor incluidas.' WHERE `ID`=940; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hemet Nesingwary: las misiones recopiladas', `Description_Lang_esES`='Completa los logros de Las verdes colinas de Tuercespina, Montes como elekk blancos y Las nieves de Rasganorte.' WHERE `ID`=941; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El diplomático', `Description_Lang_esES`='Eleva tu nivel de reputación desde Adverso a Exaltado con el Bastión Fauces de Madera, Esporaggar y los Kurenai.' WHERE `ID`=942; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El diplomático', `Description_Lang_esES`='Eleva tu nivel de reputación desde Adverso a Exaltado con el Bastión Fauces de Madera, Esporaggar y los Mag\'har.' WHERE `ID`=943; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='En ese túnel me adoran', `Description_Lang_esES`='Alcanza la reputación Exaltado con el Bastión Fauces de Madera.' WHERE `ID`=944; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Campeón Argenta', `Description_Lang_esES`='Alcanza la reputación Exaltado con El Alba Argenta y la Cruzada Argenta.' WHERE `ID`=945; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Alba Argenta', `Description_Lang_esES`='Alcanza la reputación Exaltado con El Alba Argenta.' WHERE `ID`=946; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Cruzada Argenta', `Description_Lang_esES`='Alcanza la reputación Exaltado con la Cruzada Argenta.' WHERE `ID`=947; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Embajador de la Alianza', `Description_Lang_esES`='Alcanza la reputación Exaltado con 5 capitales.' WHERE `ID`=948; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Colmillarrmagedón', `Description_Lang_esES`='Alcanza la reputación Exaltado con los Kalu\'ak.' WHERE `ID`=949; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tribu Corazón Frenético', `Description_Lang_esES`='Alcanza la reputación Exaltado con la tribu Corazón Frenético.' WHERE `ID`=950; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los Oráculos', `Description_Lang_esES`='Alcanza la reputación Exaltado con los Oráculos.' WHERE `ID`=951; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mercenario de Sholazar', `Description_Lang_esES`='Alcanza la reputación Exaltado con los Oráculos y la tribu Corazón Frenético.' WHERE `ID`=952; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Guardián de Cenarius', `Description_Lang_esES`='Alcanza la reputación Exaltado con el Círculo Cenarion y la Expedición Cenarion.' WHERE `ID`=953; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Superior', `Description_Lang_esES`='Equipa un objeto superior en cada ranura, con nivel mínimo de 57.' WHERE `ID`=954; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Srs. del Agua de Hydraxis', `Description_Lang_esES`='Alcanza la reputación Exaltado con los Srs. del Agua de Hydraxis.' WHERE `ID`=955; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Linaje de Nozdormu', `Description_Lang_esES`='Alcanza la reputación Exaltado con el Linaje de Nozdormu.' WHERE `ID`=956; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Héroe de la tribu Zandalar', `Description_Lang_esES`='Alcanza la reputación Exaltado con la tribu Zandalar.' WHERE `ID`=957; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pleitesía para los Juramorte', `Description_Lang_esES`='Alcanza la reputación Exaltado con los Juramorte Lengua de ceniza.' WHERE `ID`=958; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Escama de las Arenas', `Description_Lang_esES`='Alcanza la reputación Exaltado con La Escama de las Arenas.' WHERE `ID`=959; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Ojo Violeta', `Description_Lang_esES`='Alcanza la reputación Exaltado con El Ojo Violeta.' WHERE `ID`=960; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Corazón Frenético honorario', `Description_Lang_esES`='Completa las 8 misiones diarias de los Corazón Frenético listadas a continuación.' WHERE `ID`=961; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Salvador de los Oráculos', `Description_Lang_esES`='Completa las 8 misiones diarias de los Oráculos listadas a continuación.' WHERE `ID`=962; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Truco o trato en Kalimdor', `Description_Lang_esES`='Visita los cubos de caramelos de Kalimdor.' WHERE `ID`=963; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¿Bajas?', `Description_Lang_esES`='Cae desde una altura de 65 metros sin morir.' WHERE `ID`=964; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Truco o trato en Kalimdor', `Description_Lang_esES`='Visita los cubos de caramelos de Kalimdor.' WHERE `ID`=965; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Truco o trato en los Reinos del Este', `Description_Lang_esES`='Visita los cubos de caramelos de los Reinos del Este.' WHERE `ID`=966; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Truco o trato en los Reinos del Este', `Description_Lang_esES`='Visita los cubos de caramelos de los Reinos del Este.' WHERE `ID`=967; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Truco o trato en Terrallende', `Description_Lang_esES`='Visita los cubos de caramelos de Terrallende.' WHERE `ID`=968; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Truco o trato en Terrallende', `Description_Lang_esES`='Visita los cubos de caramelos de Terrallende.' WHERE `ID`=969; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Truco o trato en Azeroth', `Description_Lang_esES`='Completa los logros Truco o trato de los Reinos del Este, Kalimdor y Terrallende.' WHERE `ID`=970; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Truco o trato en Azeroth', `Description_Lang_esES`='Completa los logros Truco o trato de los Reinos del Este, Kalimdor y Terrallende.' WHERE `ID`=971; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Truco o trato!', `Description_Lang_esES`='Recibe un puñado de caramelos de uno de los cubos de caramelos situados en una posada.' WHERE `ID`=972; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='5 misiones diarias completadas', `Description_Lang_esES`='Completa 5 misiones diarias.' WHERE `ID`=973; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='50 misiones diarias completadas', `Description_Lang_esES`='Completa 50 misiones diarias.' WHERE `ID`=974; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='200 misiones diarias completadas', `Description_Lang_esES`='Completa 200 misiones diarias.' WHERE `ID`=975; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='500 misiones diarias completadas', `Description_Lang_esES`='Completa 500 misiones diarias.' WHERE `ID`=976; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='1000 misiones diarias completadas', `Description_Lang_esES`='Completa 1000 misiones diarias.' WHERE `ID`=977; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='3000 misiones completadas', `Description_Lang_esES`='Completa 3000 misiones.' WHERE `ID`=978; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La tarea de la máscara', `Description_Lang_esES`='Consigue una máscara endeble durante Halloween.' WHERE `ID`=979; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Riendas de Jinete decapitado', `Description_Lang_esES`='Consigue las Riendas de Jinete decapitado del Jinete decapitado en el Monasterio Escarlata durante Halloween.' WHERE `ID`=980; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Esa deslumbrante sonrisa', `Description_Lang_esES`='Farda de sonrisa reluciente usando un mondadientes.' WHERE `ID`=981; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Una máscara para todas las ocasiones', `Description_Lang_esES`='Reúne las 16 máscaras endebles de la lista.' WHERE `ID`=982; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Agente de la Alianza', `Description_Lang_esES`='Conviertete en exaltado con 4 ciduades principales.' WHERE `ID`=1001; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Agente de la Horda', `Description_Lang_esES`='Conviertete en exaltado con 4 ciduades principales.' WHERE `ID`=1002; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Conoce a tu enemigo', `Description_Lang_esES`='Consigue un golpe de gracia con honor con cinco razas diferentes.' WHERE `ID`=1005; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Defensor de la ciudad', `Description_Lang_esES`='Mata a 50 jugadores enemigos en cualquiera de tus capitales.' WHERE `ID`=1006; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Acuerdo del Reposo del Dragón', `Description_Lang_esES`='Alcanza la reputación Exaltado con El Acuerdo del Reposo del Dragón.' WHERE `ID`=1007; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Kirin Tor', `Description_Lang_esES`='Alcanza la reputación Exaltado con el Kirin Tor.' WHERE `ID`=1008; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Caballeros de la Espada de Ébano', `Description_Lang_esES`='Alcanza la reputación Exaltado con los Caballeros de la Espada de Ébano.' WHERE `ID`=1009; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vanguardia de Rasganorte', `Description_Lang_esES`='Alcanza la reputación Exaltado con la Cruzada Argenta, El Acuerdo del Reposo del Dragón, el Kirin Tor, y los Caballeros de la Espada de Ébano.' WHERE `ID`=1010; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los vientos del Norte', `Description_Lang_esES`='Alcanza la reputación Exaltado con la Expedición de la Horda.' WHERE `ID`=1011; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los vientos del Norte', `Description_Lang_esES`='Alcanza la reputación Exaltado con la Vanguardia de la Alianza.' WHERE `ID`=1012; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='35 reputaciones Exaltado', `Description_Lang_esES`='Eleva 35 reputaciones a Exaltado.' WHERE `ID`=1014; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='40 reputaciones Exaltado', `Description_Lang_esES`='Eleva 40 reputaciones a Exaltado.' WHERE `ID`=1015; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¿Puedo quedármela?', `Description_Lang_esES`='Consigue una mascota de compañía.' WHERE `ID`=1017; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Diez tabardos', `Description_Lang_esES`='Equipa 10 tabardos únicos.' WHERE `ID`=1020; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Todo sobre los tabardos', `Description_Lang_esES`='Equipa 25 tabardos únicos.' WHERE `ID`=1021; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Celador de las llamas de los Reinos del Este', `Description_Lang_esES`='Honra las llamas de los Reinos del Este.' WHERE `ID`=1022; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Celador de las llamas de Kalimdor', `Description_Lang_esES`='Honra las llamas de Kalimdor.' WHERE `ID`=1023; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Celador de las llamas de Terrallende', `Description_Lang_esES`='Honra las llamas de Terrallende.' WHERE `ID`=1024; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vigilante de las llamas de los Reinos del Este', `Description_Lang_esES`='Honra las llamas de los Reinos del Este.' WHERE `ID`=1025; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vigilante de las llamas de Kalimdor', `Description_Lang_esES`='Honra las llamas de Kalimdor.' WHERE `ID`=1026; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vigilante de las llamas de Terrallende', `Description_Lang_esES`='Honra las llamas de Terrallende.' WHERE `ID`=1027; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apagar los Reinos del Este', `Description_Lang_esES`='Profana las hogueras de la Horda en los Reinos del Este.' WHERE `ID`=1028; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apagar Kalimdor', `Description_Lang_esES`='Profana las hogueras de la Horda en Kalimdor.' WHERE `ID`=1029; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apagar Terrallende', `Description_Lang_esES`='Profana las hogueras de la Horda en Terrallende.' WHERE `ID`=1030; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apagar los Reinos del Este', `Description_Lang_esES`='Profana las hogueras de la Alianza en los Reinos del Este.' WHERE `ID`=1031; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apagar Kalimdor', `Description_Lang_esES`='Profana las hogueras de la Alianza en Kalimdor.' WHERE `ID`=1032; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apagar Terrallende', `Description_Lang_esES`='Profana las hogueras de la Alianza en Terrallende.' WHERE `ID`=1033; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los fuegos de Azeroth', `Description_Lang_esES`='Completa los logros de Celador de las llamas en los Reinos del Este, Kalimdor y Terrallende.' WHERE `ID`=1034; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Profanación de la Horda', `Description_Lang_esES`='Completa los logros Apagar los Reinos del Este, Kalimdor y Terrallende.' WHERE `ID`=1035; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los fuegos de Azeroth', `Description_Lang_esES`='Completa los logros de Vigilante de las llamas en los Reinos del Este, Kalimdor y Terrallende.' WHERE `ID`=1036; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Profanación de la Alianza', `Description_Lang_esES`='Completa los logros Apagar los Reinos del Este, Kalimdor y Terrallende.' WHERE `ID`=1037; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El celador de las llamas', `Description_Lang_esES`='Completa los logros del Solsticio listados a continuación.' WHERE `ID`=1038; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El vigilante de las llamas', `Description_Lang_esES`='Completa los logros del Solsticio listados a continuación.' WHERE `ID`=1039; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Santificación podrida', `Description_Lang_esES`='Arruina la fiesta de Halloween de la Horda completando las misiones del Sargento Hartman que implican fastidiar el Festival del Hombre de Mimbre y limpiar las bombas fétidas de Costasur.' WHERE `ID`=1040; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Santificación podrida', `Description_Lang_esES`='Arruina la fiesta de Halloween de la Alianza completando las misiones de Clamasombra Yanka que implican ir a Costasur, estropear los barriles con huevos podridos y lanzar bombas fétidas en la ciudad.' WHERE `ID`=1041; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Número de personajes abrazados', `Description_Lang_esES`='Número de personajes abrazados' WHERE `ID`=1042; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tiros por codicia para el botín', `Description_Lang_esES`='Tiros por codicia para el botín' WHERE `ID`=1043; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tiros por necesidad para el botín', `Description_Lang_esES`='Tiros por necesidad para el botín' WHERE `ID`=1044; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veces que has animado', `Description_Lang_esES`='Veces que has animado' WHERE `ID`=1045; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veces que te has tapado la cara', `Description_Lang_esES`='Veces que te has tapado la cara' WHERE `ID`=1047; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes en 2c2', `Description_Lang_esES`='Muertes en 2c2' WHERE `ID`=1057; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veces que has hecho /saludar', `Description_Lang_esES`='Veces que has hecho /saludar' WHERE `ID`=1065; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veces que has hecho /jaja', `Description_Lang_esES`='Veces que has hecho /jaja' WHERE `ID`=1066; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veces que has tocado el violín más pequeño del mundo', `Description_Lang_esES`='Veces que has tocado el violín más pequeño del mundo' WHERE `ID`=1067; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Keli\'dan el Ultrajador (El Horno de Sangre)', `Description_Lang_esES`='Muertes de Keli\'dan el Ultrajador (El Horno de Sangre)' WHERE `ID`=1068; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del príncipe-nexo Shaffar (Tumbas de maná)', `Description_Lang_esES`='Muertes del príncipe-nexo Shaffar (Tumbas de maná)' WHERE `ID`=1069; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del cazador de Época (La Fuga de Durnholde)', `Description_Lang_esES`='Muertes del cazador de Época (La Fuga de Durnholde)' WHERE `ID`=1070; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Quagmirran (Recinto de los Esclavos)', `Description_Lang_esES`='Muertes de Quagmirran (Recinto de los Esclavos)' WHERE `ID`=1071; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de la acechadora negra (La Sotiénaga)', `Description_Lang_esES`='Muertes de la acechadora negra (La Sotiénaga)' WHERE `ID`=1072; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del exarca Maladaar (Criptas Auchenai)', `Description_Lang_esES`='Muertes del exarca Maladaar (Criptas Auchenai)' WHERE `ID`=1073; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Rey Garra Ikiss (Salas Sethekk)', `Description_Lang_esES`='Muertes del Rey Garra Ikiss (Salas Sethekk)' WHERE `ID`=1074; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Murmullo (Laberinto de las Sombras)', `Description_Lang_esES`='Muertes de Murmullo (Laberinto de las Sombras)' WHERE `ID`=1075; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Aeonus (Apertura del Portal Oscuro)', `Description_Lang_esES`='Muertes de Aeonus (Apertura del Portal Oscuro)' WHERE `ID`=1076; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del señor de la guerra Kalithresh (Cámara de Vapor)', `Description_Lang_esES`='Muertes del señor de la guerra Kalithresh (Cámara de Vapor)' WHERE `ID`=1077; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Jefe de Guerra K. Garrafilada (Salas Arrasadas)', `Description_Lang_esES`='Muertes del Jefe de Guerra K. Garrafilada (Salas Arrasadas)' WHERE `ID`=1078; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Pathaleon el Calculador (El Mechanar)', `Description_Lang_esES`='Muertes de Pathaleon el Calculador (El Mechanar)' WHERE `ID`=1079; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del disidente de distorsión (El Invernáculo)', `Description_Lang_esES`='Muertes del disidente de distorsión (El Invernáculo)' WHERE `ID`=1080; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del presagista Cieloriss (El Arcatraz)', `Description_Lang_esES`='Muertes del presagista Cieloriss (El Arcatraz)' WHERE `ID`=1081; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Kael\'thas Caminante del Sol (Bancal del Magister)', `Description_Lang_esES`='Muertes de Kael\'thas Caminante del Sol (Bancal del Magister)' WHERE `ID`=1082; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del príncipe Malchezaar (Karazhan)', `Description_Lang_esES`='Muertes del príncipe Malchezaar (Karazhan)' WHERE `ID`=1083; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Zul\'jin (Zul\'Aman)', `Description_Lang_esES`='Muertes de Zul\'jin (Zul\'Aman)' WHERE `ID`=1084; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Gruul (Guarida de Gruul)', `Description_Lang_esES`='Muertes de Gruul (Guarida de Gruul)' WHERE `ID`=1085; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Magtheridon (Guarida de Magtheridon)', `Description_Lang_esES`='Muertes de Magtheridon (Guarida de Magtheridon)' WHERE `ID`=1086; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de lady Vashj (Caverna Santuario Serpiente)', `Description_Lang_esES`='Muertes de lady Vashj (Caverna Santuario Serpiente)' WHERE `ID`=1087; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Kael\'thas Caminante del Sol (Castillo Tempestad)', `Description_Lang_esES`='Muertes de Kael\'thas Caminante del Sol (Castillo Tempestad)' WHERE `ID`=1088; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Illidan Tempestira (El Templo Oscuro)', `Description_Lang_esES`='Muertes de Illidan Tempestira (El Templo Oscuro)' WHERE `ID`=1089; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Kil\'jaeden (Meseta de La Fuente del Sol)', `Description_Lang_esES`='Muertes de Kil\'jaeden (Meseta de La Fuente del Sol)' WHERE `ID`=1090; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Edwin VanCleef (Minas de la Muerte)', `Description_Lang_esES`='Muertes de Edwin VanCleef (Minas de la Muerte)' WHERE `ID`=1091; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del archimago Arugal (Castillo de Colmillo Oscuro)', `Description_Lang_esES`='Muertes del archimago Arugal (Castillo de Colmillo Oscuro)' WHERE `ID`=1092; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Comandante Escarlata Mograine (Mon. Escarlata)', `Description_Lang_esES`='Muertes del Comandante Escarlata Mograine (Mon. Escarlata)' WHERE `ID`=1093; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del jefe Ukorz Cabellarena (Zul\'Farrak)', `Description_Lang_esES`='Muertes del jefe Ukorz Cabellarena (Zul\'Farrak)' WHERE `ID`=1094; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Emperador D. Thaurissan (Prof. de Roca Negra)', `Description_Lang_esES`='Muertes del Emperador D. Thaurissan (Prof. de Roca Negra)' WHERE `ID`=1095; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del General Drakkisath (Cumbre de Roca Negra)', `Description_Lang_esES`='Muertes del General Drakkisath (Cumbre de Roca Negra)' WHERE `ID`=1096; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Barón Osahendido (Stratholme)', `Description_Lang_esES`='Muertes del Barón Osahendido (Stratholme)' WHERE `ID`=1097; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Onyxia (Guarida de Onyxia)', `Description_Lang_esES`='Muertes de Onyxia (Guarida de Onyxia)' WHERE `ID`=1098; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Ragnaros (Núcleo de Magma)', `Description_Lang_esES`='Muertes de Ragnaros (Núcleo de Magma)' WHERE `ID`=1099; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Nefarian (Guarida de Alanegra)', `Description_Lang_esES`='Muertes de Nefarian (Guarida de Alanegra)' WHERE `ID`=1100; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de C\'Thun (Templo de Ahn\'Qiraj)', `Description_Lang_esES`='Muertes de C\'Thun (Templo de Ahn\'Qiraj)' WHERE `ID`=1101; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Hakkar (Zul\'Gurub)', `Description_Lang_esES`='Muertes de Hakkar (Zul\'Gurub)' WHERE `ID`=1102; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Mazmorras completadas (5 j.) (jefe final asesinado)', `Description_Lang_esES`='Lich King: Mazmorras completadas (5 j.) (jefe final asesinado)' WHERE `ID`=1103; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Bandas completadas (10 j.) (jefe final asesinado)', `Description_Lang_esES`='Lich King: Bandas completadas (10 j.) (jefe final asesinado)' WHERE `ID`=1104; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes en el Ojo de la Tormenta', `Description_Lang_esES`='Muertes en el Ojo de la Tormenta' WHERE `ID`=1106; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes en 3c3', `Description_Lang_esES`='Muertes en 3c3' WHERE `ID`=1107; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes en 5c5', `Description_Lang_esES`='Muertes en 5c5' WHERE `ID`=1108; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes con honor en la arena 5c5', `Description_Lang_esES`='Muertes con honor en la arena 5c5' WHERE `ID`=1109; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes con honor en la arena 3c3', `Description_Lang_esES`='Muertes con honor en la arena 3c3' WHERE `ID`=1110; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes con honor en la arena 2c2', `Description_Lang_esES`='Muertes con honor en la arena 2c2' WHERE `ID`=1111; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes con honor en el Ojo de la Tormenta', `Description_Lang_esES`='Muertes con honor en el Ojo de la Tormenta' WHERE `ID`=1112; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes con honor en el Valle de Alterac', `Description_Lang_esES`='Muertes con honor en el Valle de Alterac' WHERE `ID`=1113; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes con honor en la Cuenca de Arathi', `Description_Lang_esES`='Muertes con honor en la Cuenca de Arathi' WHERE `ID`=1114; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes con honor en la Garganta Grito de Guerra', `Description_Lang_esES`='Muertes con honor en la Garganta Grito de Guerra' WHERE `ID`=1115; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Venda más utilizada', `Description_Lang_esES`='Venda más utilizada' WHERE `ID`=1125; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rey del Festival de Fuego', `Description_Lang_esES`='Completa la misión "Una recompensa de ladrón" robando las llamas de las capitales de tus enemigos.' WHERE `ID`=1145; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad de oro gastada en viajes', `Description_Lang_esES`='Cantidad de oro gastada en viajes' WHERE `ID`=1146; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad de oro gastado en peluquerías', `Description_Lang_esES`='Cantidad de oro gastado en peluquerías' WHERE `ID`=1147; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad de oro gastado en mensajes', `Description_Lang_esES`='Cantidad de oro gastado en mensajes' WHERE `ID`=1148; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad de cambios del árbol de talentos', `Description_Lang_esES`='Cantidad de cambios del árbol de talentos' WHERE `ID`=1149; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad de oro gastado en cambiar el árbol de talentos', `Description_Lang_esES`='Cantidad de oro gastado en cambiar el árbol de talentos' WHERE `ID`=1150; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Leal defensor', `Description_Lang_esES`='En el Valle de Alterac, mata a 50 jugadores enemigos en la Cámara de los Pico Tormenta.' WHERE `ID`=1151; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Demasiado defensivo', `Description_Lang_esES`='Defiende 3 bases en una sola batalla por la Cuenca de Arathi.' WHERE `ID`=1153; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Duelicioso', `Description_Lang_esES`='Gana un duelo contra otro jugador.' WHERE `ID`=1157; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Entre tú y yo: 2200', `Description_Lang_esES`='Consigue un índice personal de 2200 en la rama de la arena 2c2 en el nivel 80.' WHERE `ID`=1159; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tres son multitud: 2200', `Description_Lang_esES`='Consigue un índice personal de 2200 en la rama de la arena 3c3 en el nivel 80.' WHERE `ID`=1160; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Choca esos cinco: 2200', `Description_Lang_esES`='Consigue un índice personal de 2200 en la rama de la arena 5c5 en el nivel 80.' WHERE `ID`=1161; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Una racha mejor', `Description_Lang_esES`='Gana diez encuentros puntuados seguidos con un índice superior a 1800 en nivel 80.' WHERE `ID`=1162; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Todo cuenta', `Description_Lang_esES`='Gana en el Valle de Alterac mientras tu equipo controla ambas minas.' WHERE `ID`=1164; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mi almacenamiento es "gigantesco"', `Description_Lang_esES`='Ponte la bolsa "gigantesca" de Haris Pilton.' WHERE `ID`=1165; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El que despoja manda', `Description_Lang_esES`='Despoja la foto autografiada de Tigule en el Valle de Alterac.' WHERE `ID`=1166; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro del Valle de Alterac', `Description_Lang_esES`='Completa los logros del Valle de Alterac listados a continuación.' WHERE `ID`=1167; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro del Valle de Alterac', `Description_Lang_esES`='Completa los logros del Valle de Alterac listados a continuación.' WHERE `ID`=1168; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de la Cuenca de Arathi', `Description_Lang_esES`='Completa los logros de la Cuenca de Arathi listados a continuación.' WHERE `ID`=1169; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de la Cuenca de Arathi', `Description_Lang_esES`='Completa los logros de la Cuenca de Arathi listados a continuación.' WHERE `ID`=1170; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro del Ojo de la Tormenta', `Description_Lang_esES`='Completa los logros del Ojo de la Tormenta listados a continuación.' WHERE `ID`=1171; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de la Garganta Grito de Guerra', `Description_Lang_esES`='Completa los logros de la Garganta Grito de Guerra listados a continuación.' WHERE `ID`=1172; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de la Garganta Grito de Guerra', `Description_Lang_esES`='Completa los logros de la Garganta Grito de Guerra listados a continuación.' WHERE `ID`=1173; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El maestro de la arena', `Description_Lang_esES`='Completa los logros de arena listados a continuación.' WHERE `ID`=1174; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de batalla', `Description_Lang_esES`='Completa los logros de campos de batalla listados a continuación.' WHERE `ID`=1175; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pienso en mi dinero', `Description_Lang_esES`='Despoja 100 de oro.' WHERE `ID`=1176; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pienso en mi dinero', `Description_Lang_esES`='Despoja 1000 de oro.' WHERE `ID`=1177; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pienso en mi dinero', `Description_Lang_esES`='Despoja 5000 de oro.' WHERE `ID`=1178; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pienso en mi dinero', `Description_Lang_esES`='Despoja 10000 de oro.' WHERE `ID`=1180; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pienso en mi dinero', `Description_Lang_esES`='Despoja 25000 de oro.' WHERE `ID`=1181; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El que trae el pan a casa', `Description_Lang_esES`='Obtén 10000 de oro como recompensa de misiones.' WHERE `ID`=1182; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La cerveza del año', `Description_Lang_esES`='Degusta 12 cervezas del Club de la Cerveza del Mes.' WHERE `ID`=1183; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Una extraña cerveza', `Description_Lang_esES`='Bebe las cervezas de la Fiesta de la cerveza listadas a continuación.' WHERE `ID`=1184; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La dieta de la Fiesta de la cerveza', `Description_Lang_esES`='Come 8 comidas de la Fiesta de la cerveza listadas a continuación.' WHERE `ID`=1185; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Abajo los Hierro Negro', `Description_Lang_esES`='Defiende el campamento de la Fiesta de la Cerveza ante el ataque de los Hierro Negro y completa la misión "Ese día, que estaba borracho…".' WHERE `ID`=1186; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Maestro de llaves', `Description_Lang_esES`='Consigue las llaves listadas a continuación.' WHERE `ID`=1187; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Pinchado!', `Description_Lang_esES`='Dispara a 10 jugadores con flechas con astil de plata.' WHERE `ID`=1188; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ida a Fuego Infernal y vuelta', `Description_Lang_esES`='Completa 80 misiones en la Península del Fuego Infernal.' WHERE `ID`=1189; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Misterios de la Marisma', `Description_Lang_esES`='Completa 54 misiones en la Marisma de Zangar.' WHERE `ID`=1190; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Terror de Terokkar', `Description_Lang_esES`='Completa 63 misiones en el Bosque de Terokkar.' WHERE `ID`=1191; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Embate de Nagrand', `Description_Lang_esES`='Completa 75 misiones en Nagrand.' WHERE `ID`=1192; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sobre el filo de la espada', `Description_Lang_esES`='Completa 86 misiones en las Montañas Filospada.' WHERE `ID`=1193; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='A la tormenta', `Description_Lang_esES`='Completa 120 misiones en Tormenta Abisal.' WHERE `ID`=1194; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sombra de El Traidor', `Description_Lang_esES`='Completa 90 misiones en el Valle Sombraluna.' WHERE `ID`=1195; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes realizadas', `Description_Lang_esES`='Muertes realizadas' WHERE `ID`=1197; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad de muertes que te han otorgado experiencia u honor', `Description_Lang_esES`='Cantidad de muertes que te han otorgado experiencia u honor' WHERE `ID`=1198; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Profesiones aprendidas', `Description_Lang_esES`='Profesiones aprendidas' WHERE `ID`=1199; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad de habilidades secundarias al máximo nivel', `Description_Lang_esES`='Cantidad de habilidades secundarias al máximo nivel' WHERE `ID`=1200; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad de profesiones al máximo nivel', `Description_Lang_esES`='Cantidad de profesiones al máximo nivel' WHERE `ID`=1201; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cantidad de habilidades con armas al máximo nivel', `Description_Lang_esES`='Cantidad de habilidades con armas al máximo nivel' WHERE `ID`=1202; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Una extraña cerveza', `Description_Lang_esES`='Bebe las cervezas de la Fiesta de la cerveza listadas a continuación.' WHERE `ID`=1203; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Héroe de Shattrath', `Description_Lang_esES`='Alcanza la reputación Exaltado con los Arúspices y los Aldor.' WHERE `ID`=1205; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='A todas las ardillas que he amado', `Description_Lang_esES`='Demuestra todo tu /amor a las alimañas de Azeroth.' WHERE `ID`=1206; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pescador de Terrallende', `Description_Lang_esES`='Pesca un pez en cada uno de los nodos específicos de la lista a continuación.' WHERE `ID`=1225; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Revivido por druidas', `Description_Lang_esES`='Revivido por druidas' WHERE `ID`=1229; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Keristrasza (El Nexo)', `Description_Lang_esES`='Muertes de Keristrasza (El Nexo)' WHERE `ID`=1231; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Anub\'arak (Azjol-Nerub)', `Description_Lang_esES`='Muertes de Anub\'arak (Azjol-Nerub)' WHERE `ID`=1232; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Heraldo Volazj (Ahn’kahet: El Antiguo Reino)', `Description_Lang_esES`='Muertes del Heraldo Volazj (Ahn’kahet: El Antiguo Reino)' WHERE `ID`=1233; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del profeta Tharon\'ja (Fortaleza de Drak\'Tharon)', `Description_Lang_esES`='Muertes del profeta Tharon\'ja (Fortaleza de Drak\'Tharon)' WHERE `ID`=1234; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Cianigosa (El Bastión Violeta)', `Description_Lang_esES`='Muertes de Cianigosa (El Bastión Violeta)' WHERE `ID`=1235; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Gal\'darah (Gundrak)', `Description_Lang_esES`='Muertes de Gal\'darah (Gundrak)' WHERE `ID`=1236; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Sjonnir el Afilador (Cámaras de Piedra)', `Description_Lang_esES`='Muertes de Sjonnir el Afilador (Cámaras de Piedra)' WHERE `ID`=1237; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Loken (Cámaras de Relámpagos)', `Description_Lang_esES`='Muertes de Loken (Cámaras de Relámpagos)' WHERE `ID`=1238; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Guardián-Ley Eregos (El Oculus)', `Description_Lang_esES`='Muertes del Guardián-Ley Eregos (El Oculus)' WHERE `ID`=1239; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Rey Ymiron (Pináculo de Utgarde)', `Description_Lang_esES`='Muertes del Rey Ymiron (Pináculo de Utgarde)' WHERE `ID`=1240; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Derrotas de Mal\'Ganis (Cavernas del Tiempo: Stratholme)', `Description_Lang_esES`='Derrotas de Mal\'Ganis (Cavernas del Tiempo: Stratholme)' WHERE `ID`=1241; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Ingvar el Desvalijador (Fortaleza de Utgarde)', `Description_Lang_esES`='Muertes de Ingvar el Desvalijador (Fortaleza de Utgarde)' WHERE `ID`=1242; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los peces no dejan huellas', `Description_Lang_esES`='Aprende la facultad de buscar pescado.' WHERE `ID`=1243; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Erudito', `Description_Lang_esES`='Lee los libros listados a continuación.' WHERE `ID`=1244; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Plétora de mascotas', `Description_Lang_esES`='Reúne 25 mascotas de compañía únicas.' WHERE `ID`=1248; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Compra con cabeza, compra mascotas... con cabeza', `Description_Lang_esES`='Reúne 50 mascotas de compañía únicas.' WHERE `ID`=1250; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='En mi casa no', `Description_Lang_esES`='En una sola batalla por la Garganta Grito de Guerra, mata a 2 portadores de la bandera antes de que abandonen la Sala de la Bandera Grito de Guerra.' WHERE `ID`=1251; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Defensor supremo', `Description_Lang_esES`='Mata a 100 portadores de la bandera en la Garganta Grito de Guerra.' WHERE `ID`=1252; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Convertido en un necrófago', `Description_Lang_esES`='Convertido en un necrófago' WHERE `ID`=1253; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¿Amigo o enemigo?', `Description_Lang_esES`='Mata 15 pavos en menos de 3 minutos.' WHERE `ID`=1254; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Avaricioso', `Description_Lang_esES`='Lanza una bola de nieve al rey Magni Barbabronce durante el festín del Festival de Invierno.' WHERE `ID`=1255; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El carroñero', `Description_Lang_esES`='Consigue pescar algo en cada uno de los nodos de basura listados a continuación.' WHERE `ID`=1257; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tómate un tranquilizante', `Description_Lang_esES`='En el Ojo de la Tormenta, mata a un jugador que se encuentre bajo los efectos de la ventaja rabiosa.' WHERE `ID`=1258; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='No tan deprisa', `Description_Lang_esES`='En la Garganta Grito de Guerra, mata a un jugador que se encuentre bajo los efectos de la ventaja de velocidad.' WHERE `ID`=1259; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Estupor de embriaguez', `Description_Lang_esES`='Cae desde una altura de 65 metros sin morir estando bebido durante la celebración de la Fiesta de la Cerveza.' WHERE `ID`=1260; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rabia C.H.U.C.H.E.G.', `Description_Lang_esES`='Consigue 50 muertes con honor con la ventaja C.H.U.C.H.E.G. ¡Es como un insulto!' WHERE `ID`=1261; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro cultural de Terrallende', `Description_Lang_esES`='Completa los logros de misiones de Terrallende listados a continuación.' WHERE `ID`=1262; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Fiordo Aquilonal', `Description_Lang_esES`='Explora el Fiordo Aquilonal y descubre las zonas cubiertas del mapa del mundo.' WHERE `ID`=1263; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tundra Boreal', `Description_Lang_esES`='Explora la Tundra Boreal y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=1264; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cementerio de Dragones', `Description_Lang_esES`='Explora el Cementerio de Dragones y descubre las zonas cubiertas del mapa del mundo.' WHERE `ID`=1265; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Colinas Pardas', `Description_Lang_esES`='Explora las Colinas Pardas y descubre las zonas cubiertas del mapa del mundo.' WHERE `ID`=1266; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Zul\'Drak', `Description_Lang_esES`='Explora Zul\'Drak y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=1267; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cuenca de Sholazar', `Description_Lang_esES`='Explora la Cuenca de Sholazar y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=1268; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Las Cumbres Tormentosas', `Description_Lang_esES`='Explora Las Cumbres Tormentosas y descubre las zonas cubiertas del mapa del mundo.' WHERE `ID`=1269; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Corona de Hielo', `Description_Lang_esES`='Explora Corona de Hielo y descubre las zonas cubiertas del mapa del mundo.' WHERE `ID`=1270; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ida a Fuego Infernal y vuelta', `Description_Lang_esES`='Completa 90 misiones en la Península del Fuego Infernal.' WHERE `ID`=1271; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Terror de Terokkar', `Description_Lang_esES`='Completa 68 misiones en el Bosque de Terokkar.' WHERE `ID`=1272; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Embate de Nagrand', `Description_Lang_esES`='Completa 87 misiones en Nagrand.' WHERE `ID`=1273; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro cultural de Terrallende', `Description_Lang_esES`='Completa los logros de misiones de Terrallende listados a continuación.' WHERE `ID`=1274; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bombas fuera', `Description_Lang_esES`='Completa la misión de El fuego sobre Skettis en menos de 2 minutos y 15 segundos sin formar parte de un grupo.' WHERE `ID`=1275; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bombardero de Filospada', `Description_Lang_esES`='Completa la misión ¡Bombardéalos de nuevo! en menos de 2 minutos y 15 segundos sin formar parte de un grupo.' WHERE `ID`=1276; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Defensa rápida', `Description_Lang_esES`='Completa la misión Defender el Templo del Reposo del Dragón en menos de 3 minutos sin formar parte de un grupo.' WHERE `ID`=1277; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Flirtear con el desastre', `Description_Lang_esES`='Acaba totalmente borracho, ponte tu mejor perfume, tira un puñado de pétalos de rosa encima de Sraaz y luego bésalo. Por la mañana lo lamentarás.' WHERE `ID`=1279; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Flirtear con el desastre', `Description_Lang_esES`='Acaba totalmente borracho, ponte tu mejor perfume, tira un puñado de pétalos de rosa encima de Jeremiah Payson y luego bésalo. Por la mañana lo lamentarás.' WHERE `ID`=1280; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El resplandor rojo del cohete', `Description_Lang_esES`='Lanza 10 tracas de cohetes rojos en menos de 25 segundos.' WHERE `ID`=1281; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tra-la-la-la-Ogri\'la', `Description_Lang_esES`='Completa la misión ¡Bombardéalos de nuevo! montado en un reno volador durante el festín del Festival de Invierno.' WHERE `ID`=1282; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de mazmorra clásico', `Description_Lang_esES`='Completa los logros de mazmorra clásica listados a continuación.' WHERE `ID`=1283; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de mazmorras de Terrallende', `Description_Lang_esES`='Completa los logros de mazmorra de The Burning Crusade listados a continuación.' WHERE `ID`=1284; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Banda clásica', `Description_Lang_esES`='Completa los logros de banda clásica listados a continuación.' WHERE `ID`=1285; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Banda de Terrallende', `Description_Lang_esES`='Completa los logros de bandas de The Burning Crusade listados a continuación.' WHERE `ID`=1286; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Héroe de mazmorra de Terrallende', `Description_Lang_esES`='Completa los logros de mazmorra heroica de The Burning Crusade listados a continuación.' WHERE `ID`=1287; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de mazmorra de Rasganorte', `Description_Lang_esES`='Completa los logros de mazmorra de Rasganorte listados a continuación.' WHERE `ID`=1288; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Héroe de mazmorra de Rasganorte', `Description_Lang_esES`='Completa los logros de mazmorra heroica de Rasganorte listados a continuación.' WHERE `ID`=1289; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¿Solo?', `Description_Lang_esES`='Disfruta una delicia de leche con alguien en Dalaran en un picnic romántico durante la celebración del Amor en el aire.' WHERE `ID`=1291; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Jarra de la Fiesta de la cerveza amarilla', `Description_Lang_esES`='Propietario orgulloso de la jarra de la Fiesta de la cerveza amarilla.' WHERE `ID`=1292; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Jarra de la Fiesta de la cerveza azul', `Description_Lang_esES`='Propietario orgulloso de la jarra de la Fiesta de la cerveza azul.' WHERE `ID`=1293; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Coches de choque', `Description_Lang_esES`='Gana 25 colisiones con el coche de carreras triturador durante el festín del Festival de Invierno.' WHERE `ID`=1295; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mira cómo muere', `Description_Lang_esES`='Derrota a Krik\'thir el Vigía de las puertas en Azjol-Nerub en dificultad heroica mientras los Vigías Gashra, Narjil y Silthik siguen vivos.' WHERE `ID`=1296; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hadronox rechazado', `Description_Lang_esES`='Derrota a Hadronox en dificultad heroica antes de que tape las puertas superiores y evite que aparezcan más criaturas.' WHERE `ID`=1297; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tipos de vendas diferentes usados', `Description_Lang_esES`='Tipos de vendas diferentes usados' WHERE `ID`=1298; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Poción de sanación más utilizada', `Description_Lang_esES`='Poción de sanación más utilizada' WHERE `ID`=1299; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pociones de salud diferentes usadas', `Description_Lang_esES`='Pociones de salud diferentes usadas' WHERE `ID`=1300; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Poción de maná más utilizada', `Description_Lang_esES`='Poción de maná más utilizada' WHERE `ID`=1301; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pociones de maná diferentes usadas', `Description_Lang_esES`='Pociones de maná diferentes usadas' WHERE `ID`=1302; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Elixir más consumido', `Description_Lang_esES`='Elixir más consumido' WHERE `ID`=1303; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Elixires diferentes usados', `Description_Lang_esES`='Elixires diferentes usados' WHERE `ID`=1304; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Frasco más consumido', `Description_Lang_esES`='Frasco más consumido' WHERE `ID`=1305; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Frascos diferentes usados', `Description_Lang_esES`='Frascos diferentes usados' WHERE `ID`=1306; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cumbre de Roca Negra superior', `Description_Lang_esES`='Derrota al General Drakkisath.' WHERE `ID`=1307; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victoria en la Playa de los Ancestros', `Description_Lang_esES`='Gana en la Playa de los Ancestros.' WHERE `ID`=1308; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veterano de la Playa de los Ancestros', `Description_Lang_esES`='Completa 100 victorias en la Playa de los Ancestros.' WHERE `ID`=1309; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Asalta la playa', `Description_Lang_esES`='Captura la reliquia de titán en menos de 4 minutos.' WHERE `ID`=1310; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bastante exótica', `Description_Lang_esES`='Mata a una de las criaturas extremadamente exóticas y difíciles de encontrar de Terrallende listadas a continuación.' WHERE `ID`=1311; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sangrientamente exóticas', `Description_Lang_esES`='Mata a todas las criaturas extremadamente exóticas y difíciles de encontrar de Terrallende listadas a continuación.' WHERE `ID`=1312; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tipo de criatura que has matado más veces', `Description_Lang_esES`='Tipo de criatura que has matado más veces' WHERE `ID`=1336; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tipos de criaturas diferentes que has matado', `Description_Lang_esES`='Tipos de criaturas diferentes que has matado' WHERE `ID`=1337; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Portal de mago que más veces has atravesado', `Description_Lang_esES`='Portal de mago que más veces has atravesado' WHERE `ID`=1339; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='He paseado por el Fiordo', `Description_Lang_esES`='Completa 105 misiones en el Fiordo Aquilonal.' WHERE `ID`=1356; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mi furia por las pardas', `Description_Lang_esES`='Completa 75 misiones en las Colinas Pardas.' WHERE `ID`=1357; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Tundra no tiene nada de aburrida', `Description_Lang_esES`='Completa 150 misiones en la Tundra Boreal.' WHERE `ID`=1358; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El poder del Cementerio de Dragones', `Description_Lang_esES`='Completa 130 misiones en el Cementerio de Dragones.' WHERE `ID`=1359; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro cultural de Rasganorte', `Description_Lang_esES`='Completa todos los logros de misiones de Rasganorte listados a continuación.' WHERE `ID`=1360; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Anub\'Rekhan (Naxxramas 10 j.)', `Description_Lang_esES`='Muertes de Anub\'Rekhan (Naxxramas 10 j.)' WHERE `ID`=1361; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de la Gran Viuda Faerlina (Naxxramas 10 j.)', `Description_Lang_esES`='Muertes de la Gran Viuda Faerlina (Naxxramas 10 j.)' WHERE `ID`=1362; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Maexxna (Naxxramas 10 j.)', `Description_Lang_esES`='Muertes de Maexxna (Naxxramas 10 j.)' WHERE `ID`=1363; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Remendejo (Naxxramas 10 j.)', `Description_Lang_esES`='Muertes de Remendejo (Naxxramas 10 j.)' WHERE `ID`=1364; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Noth el Pesteador (Naxxramas 10 j.)', `Description_Lang_esES`='Muertes de Noth el Pesteador (Naxxramas 10 j.)' WHERE `ID`=1365; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Gothik el Cosechador (Naxxramas 10 j.)', `Description_Lang_esES`='Muertes de Gothik el Cosechador (Naxxramas 10 j.)' WHERE `ID`=1366; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Remendejo (Naxxramas 25 j.)', `Description_Lang_esES`='Muertes de Remendejo (Naxxramas 25 j.)' WHERE `ID`=1367; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Anub\'Rekhan (Naxxramas 25 j.)', `Description_Lang_esES`='Muertes de Anub\'Rekhan (Naxxramas 25 j.)' WHERE `ID`=1368; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Heigan el Impuro (Naxxramas 10 j.)', `Description_Lang_esES`='Muertes de Heigan el Impuro (Naxxramas 10 j.)' WHERE `ID`=1369; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Loatheb (Naxxramas 10 j.)', `Description_Lang_esES`='Muertes de Loatheb (Naxxramas 10 j.)' WHERE `ID`=1370; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Grobbulus (Naxxramas 10 j.)', `Description_Lang_esES`='Muertes de Grobbulus (Naxxramas 10 j.)' WHERE `ID`=1371; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Gluth (Naxxramas 10 j.)', `Description_Lang_esES`='Muertes de Gluth (Naxxramas 10 j.)' WHERE `ID`=1372; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Thaddius (Naxxramas 10 j.)', `Description_Lang_esES`='Muertes de Thaddius (Naxxramas 10 j.)' WHERE `ID`=1373; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Instructor Razuvious (Naxxramas 10 j.)', `Description_Lang_esES`='Muertes del Instructor Razuvious (Naxxramas 10 j.)' WHERE `ID`=1374; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Los Cuatro Jinetes (Naxxramas 10 j.)', `Description_Lang_esES`='Muertes de Los Cuatro Jinetes (Naxxramas 10 j.)' WHERE `ID`=1375; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Sapphiron (Naxxramas 10 j.)', `Description_Lang_esES`='Muertes de Sapphiron (Naxxramas 10 j.)' WHERE `ID`=1376; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Kel\'Thuzad (Naxxramas 10 j.)', `Description_Lang_esES`='Muertes de Kel\'Thuzad (Naxxramas 10 j.)' WHERE `ID`=1377; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Gluth (Naxxramas 25 j.)', `Description_Lang_esES`='Muertes de Gluth (Naxxramas 25 j.)' WHERE `ID`=1378; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Gothik el Cosechador (Naxxramas 25 j.)', `Description_Lang_esES`='Muertes de Gothik el Cosechador (Naxxramas 25 j.)' WHERE `ID`=1379; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de la Gran Viuda Faerlina (Naxxramas 25 j.)', `Description_Lang_esES`='Muertes de la Gran Viuda Faerlina (Naxxramas 25 j.)' WHERE `ID`=1380; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Grobbulus (Naxxramas 25 j.)', `Description_Lang_esES`='Muertes de Grobbulus (Naxxramas 25 j.)' WHERE `ID`=1381; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Heigan el Impuro (Naxxramas 25 j.)', `Description_Lang_esES`='Muertes de Heigan el Impuro (Naxxramas 25 j.)' WHERE `ID`=1382; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Los Cuatro Jinetes (Naxxramas 25 j.)', `Description_Lang_esES`='Muertes de Los Cuatro Jinetes (Naxxramas 25 j.)' WHERE `ID`=1383; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Instructor Razuvious (Naxxramas 25 j.)', `Description_Lang_esES`='Muertes del Instructor Razuvious (Naxxramas 25 j.)' WHERE `ID`=1384; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Loatheb (Naxxramas 25 j.)', `Description_Lang_esES`='Muertes de Loatheb (Naxxramas 25 j.)' WHERE `ID`=1385; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Maexxna (Naxxramas 25 j.)', `Description_Lang_esES`='Muertes de Maexxna (Naxxramas 25 j.)' WHERE `ID`=1386; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Noth el Pesteador (Naxxramas 25 j.)', `Description_Lang_esES`='Muertes de Noth el Pesteador (Naxxramas 25 j.)' WHERE `ID`=1387; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Thaddius (Naxxramas 25 j.)', `Description_Lang_esES`='Muertes de Thaddius (Naxxramas 25 j.)' WHERE `ID`=1388; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Sapphiron (Naxxramas 25 j.)', `Description_Lang_esES`='Muertes de Sapphiron (Naxxramas 25 j.)' WHERE `ID`=1389; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Kel\'Thuzad (Naxxramas 25 j.)', `Description_Lang_esES`='Muertes de Kel\'Thuzad (Naxxramas 25 j.)' WHERE `ID`=1390; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Malygos (10 j.)', `Description_Lang_esES`='Muertes de Malygos (10 j.)' WHERE `ID`=1391; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Sartharion (Cámara de los Aspectos 10 j.)', `Description_Lang_esES`='Muertes de Sartharion (Cámara de los Aspectos 10 j.)' WHERE `ID`=1392; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Sartharion (Cámara de los Aspectos 25 j.)', `Description_Lang_esES`='Muertes de Sartharion (Cámara de los Aspectos 25 j.)' WHERE `ID`=1393; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Malygos (25 j.)', `Description_Lang_esES`='Muertes de Malygos (25 j.)' WHERE `ID`=1394; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ancestros de Rasganorte', `Description_Lang_esES`='Honra los ancestros situados en Rasganorte.' WHERE `ID`=1396; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Buscador de magia', `Description_Lang_esES`='Participante en la primera derrota del reino de Malygos en el modo de 25 jugadores.' WHERE `ID`=1400; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Conquistador de Naxxramas', `Description_Lang_esES`='Participante en la primera derrota del reino de Kel\'Thuzad en el modo de 25 jugadores.' WHERE `ID`=1402; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gnomo nivel 80', `Description_Lang_esES`='Primer gnomo del reino en alcanzar el nivel 80.' WHERE `ID`=1404; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Elfo de sangre nivel 80', `Description_Lang_esES`='Primer elfo de sangre del reino en alcanzar el nivel 80.' WHERE `ID`=1405; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Draenei nivel 80', `Description_Lang_esES`='Primer draenei del reino en alcanzar el nivel 80.' WHERE `ID`=1406; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Enano nivel 80', `Description_Lang_esES`='Primer enano del reino en alcanzar el nivel 80.' WHERE `ID`=1407; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Humano nivel 80', `Description_Lang_esES`='Primer humano del reino en alcanzar el nivel 80.' WHERE `ID`=1408; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Elfo de la noche nivel 80', `Description_Lang_esES`='Primer elfo de la noche del reino en alcanzar el nivel 80.' WHERE `ID`=1409; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Orco nivel 80', `Description_Lang_esES`='Primer orco del reino en alcanzar el nivel 80.' WHERE `ID`=1410; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Tauren nivel 80', `Description_Lang_esES`='Primer tauren del reino que llega a nivel 80.' WHERE `ID`=1411; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Trol nivel 80', `Description_Lang_esES`='Primer trol del reino que llega a nivel 80.' WHERE `ID`=1412; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Renegado nivel 80', `Description_Lang_esES`='Primer renegado del reino en alcanzar el nivel 80.' WHERE `ID`=1413; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gran maestro Herrero', `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad 450 en minería.' WHERE `ID`=1414; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gran maestro Alquimista', `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad 450 en alquimia.' WHERE `ID`=1415; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gran maestro Cocinero', `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en cocina.' WHERE `ID`=1416; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gran maestro Encantador', `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en encantamiento.' WHERE `ID`=1417; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gran maestro Ingeniero', `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en ingeniería.' WHERE `ID`=1418; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gran maestro en Primeros auxilios', `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en primeros auxilios.' WHERE `ID`=1419; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gran maestro Pescador', `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en pesca.' WHERE `ID`=1420; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gran maestro Herborista', `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en herboristería.' WHERE `ID`=1421; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gran maestro Escriba', `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en inscripción.' WHERE `ID`=1422; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gran maestro Joyero', `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en joyería.' WHERE `ID`=1423; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gran maestro Peletero', `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en peletería.' WHERE `ID`=1424; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gran maestro Minero', `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en minería.' WHERE `ID`=1425; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gran maestro Desollador', `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en desuello.' WHERE `ID`=1426; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gran maestro Sastre', `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en sastrería.' WHERE `ID`=1427; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Barredor de minas', `Description_Lang_esES`='Sufre 10 explosiones consecutivas de minas terrestres en el campo de Minas Encajebujía sin aterrizar.' WHERE `ID`=1428; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Amigos en lugares altos', `Description_Lang_esES`='Consigue una montura zhebra mediante el programa Recluta a un amigo.' WHERE `ID`=1436; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Peces y otras cosas pescadas', `Description_Lang_esES`='Peces y otras cosas pescadas' WHERE `ID`=1456; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bosque Canto de Cristal', `Description_Lang_esES`='Explora el Bosque Canto de Cristal y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=1457; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Continente con más número de muertes con honor', `Description_Lang_esES`='Continente con más número de muertes con honor' WHERE `ID`=1458; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Distintivos de justicia adquiridos', `Description_Lang_esES`='Distintivos de justicia adquiridos' WHERE `ID`=1462; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Vanguardia de Rasganorte', `Description_Lang_esES`='Primer jugador del reino en ganar reputación Exaltado con la Cruzada Argenta, el Acuerdo del Reposo del Dragón, el Kirin Tor y los caballeros de la Espada de Ébano.' WHERE `ID`=1463; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Emblemas de heroísmo adquiridos', `Description_Lang_esES`='Emblemas de heroísmo adquiridos' WHERE `ID`=1464; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Emblemas de valor adquiridos', `Description_Lang_esES`='Emblemas de valor adquiridos' WHERE `ID`=1465; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mayoría de facciones de la Alianza a nivel Exaltado', `Description_Lang_esES`='Mayoría de facciones de la Alianza a nivel Exaltado' WHERE `ID`=1466; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Jefes asesinados (5 j.)', `Description_Lang_esES`='Lich King: Jefes asesinados (5 j.)' WHERE `ID`=1467; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Jefes diferentes asesinados (5 j.)', `Description_Lang_esES`='Lich King: Jefes diferentes asesinados (5 j.)' WHERE `ID`=1485; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes con honor en la Playa de los Ancestros', `Description_Lang_esES`='Muertes con honor en la Playa de los Ancestros' WHERE `ID`=1486; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Golpes de gracia', `Description_Lang_esES`='Golpes de gracia' WHERE `ID`=1487; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Golpes de gracia del mundo', `Description_Lang_esES`='Acumulativo para Azeroth, Rasganorte, etc.' WHERE `ID`=1488; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Continente con más número de golpes de gracia', `Description_Lang_esES`='Continente con más número de golpes de gracia' WHERE `ID`=1489; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Golpes de gracia en la arena', `Description_Lang_esES`='Golpes de gracia en la arena' WHERE `ID`=1490; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Golpes de gracia en campos de batalla', `Description_Lang_esES`='Golpes de gracia en campos de batalla' WHERE `ID`=1491; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Golpes de gracia en la arena 2c2', `Description_Lang_esES`='Golpes de gracia en la arena 2c2' WHERE `ID`=1492; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Golpes de gracia en la arena 3c3', `Description_Lang_esES`='Golpes de gracia en la arena 3c3' WHERE `ID`=1493; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Golpes de gracia en la arena 5c5', `Description_Lang_esES`='Golpes de gracia en la arena 5c5' WHERE `ID`=1494; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Golpes de gracia en el Valle de Alterac', `Description_Lang_esES`='Golpes de gracia en el Valle de Alterac' WHERE `ID`=1495; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Golpes de gracia en la Cuenca de Arathi', `Description_Lang_esES`='Golpes de gracia en la Cuenca de Arathi' WHERE `ID`=1496; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Golpes de gracia en la Garganta Grito de Guerra', `Description_Lang_esES`='Golpes de gracia en la Garganta Grito de Guerra' WHERE `ID`=1497; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Golpes de gracia en el Ojo de la Tormenta', `Description_Lang_esES`='Golpes de gracia en el Ojo de la Tormenta' WHERE `ID`=1498; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Golpes de gracia en la Playa de los Ancestros', `Description_Lang_esES`='Golpes de gracia en la Playa de los Ancestros' WHERE `ID`=1499; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes en la Playa de los Ancestros', `Description_Lang_esES`='Muertes en la Playa de los Ancestros' WHERE `ID`=1500; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veces que te han matado otros jugadores', `Description_Lang_esES`='Veces que te han matado otros jugadores' WHERE `ID`=1501; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Captura rápida', `Description_Lang_esES`='Coge la bandera y captúrala en menos de 75 segundos.' WHERE `ID`=1502; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Ingvar el Desvalijador (Fortaleza de Utgarde H.)', `Description_Lang_esES`='Muertes de Ingvar el Desvalijador (Fortaleza de Utgarde H.)' WHERE `ID`=1504; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Keristrasza (El Nexo H.)', `Description_Lang_esES`='Muertes de Keristrasza (El Nexo H.)' WHERE `ID`=1505; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Anub\'arak (Azjol-Nerub H.)', `Description_Lang_esES`='Muertes de Anub\'arak (Azjol-Nerub H.)' WHERE `ID`=1506; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Heraldo Volazj (Ahn\'Kahet: El Antiguo Reino H.)', `Description_Lang_esES`='Muertes del Heraldo Volazj (Ahn\'Kahet: El Antiguo Reino H.)' WHERE `ID`=1507; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del profeta Tharon\'ja (Fortaleza de Drak\'Tharon H.)', `Description_Lang_esES`='Muertes del profeta Tharon\'ja (Fortaleza de Drak\'Tharon H.)' WHERE `ID`=1508; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Cianigosa (El Bastión Violeta H.)', `Description_Lang_esES`='Muertes de Cianigosa (El Bastión Violeta H.)' WHERE `ID`=1509; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Gal\'darah (Gundrak H.)', `Description_Lang_esES`='Muertes de Gal\'darah (Gundrak H.)' WHERE `ID`=1510; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Sjonnir el Afilador (Cámaras de Piedra H.)', `Description_Lang_esES`='Muertes de Sjonnir el Afilador (Cámaras de Piedra H.)' WHERE `ID`=1511; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Loken (Cámaras de Relámpagos H.)', `Description_Lang_esES`='Muertes de Loken (Cámaras de Relámpagos H.)' WHERE `ID`=1512; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Guardián-Ley Eregos (El Oculus H.)', `Description_Lang_esES`='Muertes del Guardián-Ley Eregos (El Oculus H.)' WHERE `ID`=1513; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Rey Ymiron (Pináculo de Utgarde H.)', `Description_Lang_esES`='Muertes del Rey Ymiron (Pináculo de Utgarde H.)' WHERE `ID`=1514; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Derrotas de Mal\'Ganis (Cavernas del Tiempo H.: Stratholme)', `Description_Lang_esES`='Derrotas de Mal\'Ganis (Cavernas del Tiempo H.: Stratholme)' WHERE `ID`=1515; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El mejor pescador', `Description_Lang_esES`='Completa los logros de pesca listados a continuación.' WHERE `ID`=1516; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pescador de Rasganorte', `Description_Lang_esES`='Pesca un pez en cada uno de los nodos específicos de la lista a continuación.' WHERE `ID`=1517; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Peces pescados', `Description_Lang_esES`='Peces pescados' WHERE `ID`=1518; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Habilidad en pesca', `Description_Lang_esES`='Habilidad en pesca' WHERE `ID`=1519; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Habilidad en cocina', `Description_Lang_esES`='Habilidad en cocina' WHERE `ID`=1524; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Misiones diarias de cocina completadas', `Description_Lang_esES`='Misiones diarias de cocina completadas' WHERE `ID`=1525; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Misiones diarias de pesca completadas', `Description_Lang_esES`='Misiones diarias de pesca completadas' WHERE `ID`=1526; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Habilidad en alquimia mayor', `Description_Lang_esES`='Habilidad en alquimia mayor' WHERE `ID`=1527; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Habilidad en herrería mayor', `Description_Lang_esES`='Habilidad en herrería mayor' WHERE `ID`=1532; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Habilidad en encantamiento mayor', `Description_Lang_esES`='Habilidad en encantamiento mayor' WHERE `ID`=1535; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Habilidad en peletería mayor', `Description_Lang_esES`='Habilidad en peletería mayor' WHERE `ID`=1536; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Habilidad en minería mayor', `Description_Lang_esES`='Habilidad en minería mayor' WHERE `ID`=1537; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Habilidad en herboristería mayor', `Description_Lang_esES`='Habilidad en herboristería mayor' WHERE `ID`=1538; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Habilidad en inscripción mayor', `Description_Lang_esES`='Habilidad en inscripción mayor' WHERE `ID`=1539; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Habilidad en joyería mayor', `Description_Lang_esES`='Habilidad en joyería mayor' WHERE `ID`=1540; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Habilidad en desuello mayor', `Description_Lang_esES`='Habilidad en desuello mayor' WHERE `ID`=1541; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Habilidad en sastrería mayor', `Description_Lang_esES`='Habilidad en sastrería mayor' WHERE `ID`=1542; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Habilidad en ingeniería mayor', `Description_Lang_esES`='Habilidad en ingeniería mayor' WHERE `ID`=1544; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Encuentros en el Círculo del Valor', `Description_Lang_esES`='Encuentros en el Círculo del Valor' WHERE `ID`=1545; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias en el Círculo del Valor', `Description_Lang_esES`='Victorias en el Círculo del Valor' WHERE `ID`=1546; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Encuentros en las Cloacas de Dalaran', `Description_Lang_esES`='Encuentros en las Cloacas de Dalaran' WHERE `ID`=1547; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias en las Cloacas de Dalaran', `Description_Lang_esES`='Victorias en las Cloacas de Dalaran' WHERE `ID`=1548; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Batallas en la Playa de los Ancestros', `Description_Lang_esES`='' WHERE `ID`=1549; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias en la Playa de los Ancestros', `Description_Lang_esES`='' WHERE `ID`=1550; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Petardo frenético', `Description_Lang_esES`='Lanza 10 petardos del Festival en menos de 30 segundos.' WHERE `ID`=1552; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='25 peces', `Description_Lang_esES`='Pesca 25 ejemplares.' WHERE `ID`=1556; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='50 peces', `Description_Lang_esES`='Pesca 50 ejemplares.' WHERE `ID`=1557; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='100 peces', `Description_Lang_esES`='Pesca 100 ejemplares.' WHERE `ID`=1558; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='250 peces', `Description_Lang_esES`='Pesca 250 ejemplares.' WHERE `ID`=1559; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='500 peces', `Description_Lang_esES`='Pesca 500 ejemplares.' WHERE `ID`=1560; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='1000 peces', `Description_Lang_esES`='Pesca 1000 ejemplares.' WHERE `ID`=1561; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Felicita al cocinero', `Description_Lang_esES`='Completa los logros de cocina listados a continuación.' WHERE `ID`=1563; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='De sangre y angustia', `Description_Lang_esES`='Completa las misiones de El Círculo de Sangre en Nagrand y las del Anfiteatro de la Angustia en Zul\'Drak.' WHERE `ID`=1576; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gurú de Drakuru', `Description_Lang_esES`='Completa las misiones de la historia principal de Drakuru listadas a continuación.' WHERE `ID`=1596; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tabardo de competidor', `Description_Lang_esES`='Propietario orgulloso de un tabardo de competidor del evento Espíritu de Competición de 2008.' WHERE `ID`=1636; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Espíritu de competición', `Description_Lang_esES`='Propietario orgulloso de una mascota espíritu de competición del evento Espíritu de Competición de 2008.' WHERE `ID`=1637; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Devastado', `Description_Lang_esES`='Derrota al capitán Devastador del Cielo en la carrera de Faucedracos del Arrecife del Ala Abisal.' WHERE `ID`=1638; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Santificado sea tu nombre', `Description_Lang_esES`='Completa los logros de Halloween listados a continuación.' WHERE `ID`=1656; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Santificado sea tu nombre', `Description_Lang_esES`='Completa los logros de Halloween listados a continuación.' WHERE `ID`=1657; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón de los baldíos helados', `Description_Lang_esES`='Derrota los jefes de bandas y mazmorras listados a continuación.' WHERE `ID`=1658; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro cultural de los Reinos del Este', `Description_Lang_esES`='Completa 700 misiones en los Reinos del Este.' WHERE `ID`=1676; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro cultural de los Reinos del Este', `Description_Lang_esES`='Completa 550 misiones en los Reinos del Este.' WHERE `ID`=1677; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro cultural de Kalimdor', `Description_Lang_esES`='Completa 700 misiones en Kalimdor.' WHERE `ID`=1678; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro cultural de Kalimdor', `Description_Lang_esES`='Completa 685 misiones en Kalimdor.' WHERE `ID`=1680; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El maestro cultural', `Description_Lang_esES`='Completa los logros de misiones listados a continuación.' WHERE `ID`=1681; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El maestro cultural', `Description_Lang_esES`='Completa los logros de misiones listados a continuación.' WHERE `ID`=1682; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro cervecero', `Description_Lang_esES`='Completa los logros de la Fiesta de la cerveza listados a continuación.' WHERE `ID`=1683; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro cervecero', `Description_Lang_esES`='Completa los logros de la Fiesta de la cerveza listados a continuación.' WHERE `ID`=1684; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¿Y mi beso?', `Description_Lang_esES`='Usa muérdago sobre los "hermanos" de la Horda durante el festín del Festival de Invierno.' WHERE `ID`=1685; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¿Y mi beso?', `Description_Lang_esES`='Usa muérdago sobre los "hermanos" de la Alianza durante el festín del Festival de Invierno.' WHERE `ID`=1686; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Que nieve!', `Description_Lang_esES`='Durante el festín del Festival de Invierno, usa un puñado de copos de nieve sobre cada una de las combinaciones de raza/clase listadas a continuación.' WHERE `ID`=1687; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El gourmet del Festival de Invierno', `Description_Lang_esES`='Durante el festín del Festival de Invierno Festival de Invierno, usa tu habilidad culinaria para crear una galleta de jengibre, ponche de huevo y sidra de manzana caliente.' WHERE `ID`=1688; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sabrá si has sido malo', `Description_Lang_esES`='Cuando estén disponibles, abre uno de los regalos que hay bajo el árbol del Festival de Invierno.' WHERE `ID`=1689; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Meneíto helado', `Description_Lang_esES`='Durante el Festival de Invierno, usa tu disfraz completo del Festival de Invierno para convertirte en un muñeco de nieve y después baila con otro muñeco de nieve en Dalaran.' WHERE `ID`=1690; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Juerguista', `Description_Lang_esES`='Completa los logros del Festival de Invierno listados a continuación.' WHERE `ID`=1691; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Juerguista', `Description_Lang_esES`='Completa los logros del Festival de Invierno listados a continuación.' WHERE `ID`=1692; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Loco de amor', `Description_Lang_esES`='Completa los logros de Amor en el aire listados a continuación.' WHERE `ID`=1693; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La preciosa suerte está de tu lado', `Description_Lang_esES`='Abre una caja de vestido precioso y recibe un vestido negro precioso.' WHERE `ID`=1694; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Amor peligroso', `Description_Lang_esES`='Ayuda al Cártel Bonvapor a detener el complot de la siniestra empresa Químicos La Corona, S.L.' WHERE `ID`=1695; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El resplandor rosa del cohete', `Description_Lang_esES`='Lanza 10 cohetes del amor en menos de 20 segundos.' WHERE `ID`=1696; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La nación de la adoración', `Description_Lang_esES`='Completa las misiones diarias de pulseras de talismanes preciosos para cada capital de la Alianza.' WHERE `ID`=1697; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La nación de la adoración', `Description_Lang_esES`='Completa las misiones diarias de pulseras de talismanes preciosos para cada capital de la Horda.' WHERE `ID`=1698; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Puñado de amor', `Description_Lang_esES`='Usa un puñado de pétalos de rosa sobre cada una de las combinaciones de raza/clase listadas debajo.' WHERE `ID`=1699; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pies Rápidos permanentes', `Description_Lang_esES`='Consigue una mascota Pies Rápidos permanente obteniendo una flecha con astil de veraplata.' WHERE `ID`=1700; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Sé mío!', `Description_Lang_esES`='Come los ocho corazones de la "bolsa de caramelos" listados a continuación.' WHERE `ID`=1701; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Goloso', `Description_Lang_esES`='Prueba las golosinas del Amor en el aire listadas a continuación.' WHERE `ID`=1702; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mi amor es como una rosa roja', `Description_Lang_esES`='Consigue un ramo de rosas rojas o un ramo de rosas de ébano durante la celebración del Amor en el aire.' WHERE `ID`=1703; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Me apiadé del loco', `Description_Lang_esES`='Apiádate del loco de amor en los lugares especificados a continuación.' WHERE `ID`=1704; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Robot cohete de cuerda', `Description_Lang_esES`='Propietario orgulloso del obsequio del Festival de Invierno de 2007, el robot cohete de cuerda.' WHERE `ID`=1705; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Coche de carreras triturador', `Description_Lang_esES`='Propietario orgulloso del obsequio del Festival de Invierno de 2008, el coche de carreras triturador.' WHERE `ID`=1706; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Loco de amor', `Description_Lang_esES`='Completa los logros de Amor en el aire listados a continuación.' WHERE `ID`=1707; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campo de batalla con más número de golpes de gracia', `Description_Lang_esES`='Campo de batalla con más número de golpes de gracia' WHERE `ID`=1716; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victoria en Conquista del Invierno', `Description_Lang_esES`='Gana la batalla por Conquista del Invierno.' WHERE `ID`=1717; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veterano de Conquista del Invierno', `Description_Lang_esES`='Gana 100 batallas por Conquista del Invierno.' WHERE `ID`=1718; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campo de batalla con más número de muertes con honor', `Description_Lang_esES`='Campo de batalla con más número de muertes con honor' WHERE `ID`=1719; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Archavon el Vigía de Piedra (25j.)', `Description_Lang_esES`='Mata a Archavon el Vigía de Piedra en el modo de 25 jugadores.' WHERE `ID`=1721; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Archavon el Vigía de Piedra (10 j.)', `Description_Lang_esES`='Mata a Archavon el Vigía de Piedra en el modo de 10 jugadores.' WHERE `ID`=1722; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Matanza de gnomos rodada', `Description_Lang_esES`='Mata a 100 jugadores en Conquista del Invierno utilizando un vehículo o un cañón.' WHERE `ID`=1723; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La torre inclinada', `Description_Lang_esES`='Destruye una torre en Conquista del Invierno.' WHERE `ID`=1727; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Recetas de alquimia conocidas', `Description_Lang_esES`='Recetas de alquimia conocidas' WHERE `ID`=1729; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Diseños de herrería conocidos', `Description_Lang_esES`='Diseños de herrería conocidos' WHERE `ID`=1730; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Esquemas de ingeniería conocidos', `Description_Lang_esES`='Esquemas de ingeniería conocidos' WHERE `ID`=1734; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Inscripciones conocidas', `Description_Lang_esES`='Inscripciones conocidas' WHERE `ID`=1735; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Derbi destructivo', `Description_Lang_esES`='Destruye cada uno de los vehículos listados a continuación.' WHERE `ID`=1737; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Diseños de joyería conocidos', `Description_Lang_esES`='Diseños de joyería conocidos' WHERE `ID`=1738; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Patrones de peletería conocidos', `Description_Lang_esES`='Patrones de peletería conocidos' WHERE `ID`=1740; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Patrones de sastrería conocidos', `Description_Lang_esES`='Patrones de sastrería conocidos' WHERE `ID`=1741; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Recetas de cocina conocidas', `Description_Lang_esES`='Recetas de cocina conocidas' WHERE `ID`=1745; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Manuales de primeros auxilios estudiados', `Description_Lang_esES`='Manuales de primeros auxilios estudiados' WHERE `ID`=1748; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='No tenían posibilidades', `Description_Lang_esES`='Mata a 20 jugadores que vayan sobre su montura con un cañón de la torre.' WHERE `ID`=1751; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de Conquista del Invierno', `Description_Lang_esES`='Completa los logros de Conquista del Invierno listados a continuación.' WHERE `ID`=1752; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Archavon el Vigía de Piedra (Conquista del Invierno 10 j.)', `Description_Lang_esES`='Muertes de Archavon el Vigía de Piedra (Conquista del Invierno 10 j.)' WHERE `ID`=1753; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Archavon el Vigía de Piedra (Conquista del Invierno 25 j.)', `Description_Lang_esES`='Muertes de Archavon el Vigía de Piedra (Conquista del Invierno 25 j.)' WHERE `ID`=1754; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='En nuestras manos', `Description_Lang_esES`='Ataca Conquista del Invierno y gana en menos de 10 minutos.' WHERE `ID`=1755; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Jefes asesinados (25 j.)', `Description_Lang_esES`='Lich King: Jefes asesinados (25 j.)' WHERE `ID`=1756; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Defensa de los Ancestros', `Description_Lang_esES`='Defiende la playa sin perder ninguna muralla.' WHERE `ID`=1757; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Jefes diferentes asesinados (25 j.)', `Description_Lang_esES`='Lich King: Jefes diferentes asesinados (25 j.)' WHERE `ID`=1759; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Jefe asesinado más veces (25 j.)', `Description_Lang_esES`='Lich King: Jefe asesinado más veces (25 j.)' WHERE `ID`=1760; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El zapador activo', `Description_Lang_esES`='Coloca 100 cargas de seforio que dañen una muralla.' WHERE `ID`=1761; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sin un rasguño', `Description_Lang_esES`='Gana una batalla en la Playa de los Ancestros sin perder ningún vehículo de asedio.' WHERE `ID`=1762; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veterano artillero', `Description_Lang_esES`='Destroza 100 vehículos usando una torreta.' WHERE `ID`=1763; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Suéltalo!', `Description_Lang_esES`='Mata a 100 jugadores que lleven seforio.' WHERE `ID`=1764; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Manos firmes', `Description_Lang_esES`='Desarma 5 cargas de seforio en una sola batalla.' WHERE `ID`=1765; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Protector de los Ancestros', `Description_Lang_esES`='Mata a 10 jugadores en el Patio de los Ancestros en una sola batalla.' WHERE `ID`=1766; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Bandas completadas (25 j.) (jefe final asesinado)', `Description_Lang_esES`='Lich King: Bandas completadas (25 j.) (jefe final asesinado)' WHERE `ID`=1768; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Jefes asesinados (10 j.)', `Description_Lang_esES`='Lich King: Jefes asesinados (10 j.)' WHERE `ID`=1770; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Jefes diferentes asesinados (10 j.)', `Description_Lang_esES`='Lich King: Jefes diferentes asesinados (10 j.)' WHERE `ID`=1771; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Jefe asesinado más veces (10 j.)', `Description_Lang_esES`='Lich King: Jefe asesinado más veces (10 j.)' WHERE `ID`=1772; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bebida más consumida', `Description_Lang_esES`='Bebida más consumida' WHERE `ID`=1773; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bebidas diferentes consumidas', `Description_Lang_esES`='Bebidas diferentes consumidas' WHERE `ID`=1774; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Comidas diferentes consumidas', `Description_Lang_esES`='Comidas diferentes consumidas' WHERE `ID`=1775; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Comida más consumida', `Description_Lang_esES`='Comida más consumida' WHERE `ID`=1776; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El gourmet de Rasganorte', `Description_Lang_esES`='Cocina 15 de las recetas de Rasganorte citadas a continuación.' WHERE `ID`=1777; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El gourmet de Rasganorte', `Description_Lang_esES`='Cocina 30 de las recetas de Rasganorte citadas a continuación.' WHERE `ID`=1778; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El gourmet de Rasganorte', `Description_Lang_esES`='Cocina 45 de las recetas de Rasganorte citadas a continuación.' WHERE `ID`=1779; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Secundar esa emoción', `Description_Lang_esES`='Come cada una de las comidas de "emoción" citadas a continuación.' WHERE `ID`=1780; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Coleccionista de alimañas', `Description_Lang_esES`='Utilizando aperitivos para alimañas, coacciona a 10 alimañas para que sean tu mascota en menos de 3 minutos.' WHERE `ID`=1781; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Nuestro pan de cada día', `Description_Lang_esES`='Completa todas las misiones de cocina diarias que te ofrece Katherine Lee en Dalaran.' WHERE `ID`=1782; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Nuestro pan de cada día', `Description_Lang_esES`='Completa todas las misiones de cocina diarias que te ofrece Awilo Lon\'gomba en Dalaran.' WHERE `ID`=1783; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Felicita al cocinero', `Description_Lang_esES`='Completa los logros de cocina listados a continuación.' WHERE `ID`=1784; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cena imposible', `Description_Lang_esES`='Presenta un gran festín en cada uno de los campos de batalla listados a continuación.' WHERE `ID`=1785; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Escuela de buenos golpes', `Description_Lang_esES`='Llévate a tu huérfano a los campos de batalla y completa las proezas listadas a continuación.' WHERE `ID`=1786; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mal ejemplo', `Description_Lang_esES`='Come los caramelos listados a continuación mientras tu huérfano te mira.' WHERE `ID`=1788; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Faenas diarias', `Description_Lang_esES`='Completa cinco misiones diarias con tu huérfano fuera.' WHERE `ID`=1789; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Saluda al rey, pequeño!', `Description_Lang_esES`='Derrota al Rey Ymiron en el Pináculo de Utgarde con tu huérfano fuera.' WHERE `ID`=1790; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Solo en casa', `Description_Lang_esES`='Usa tu piedra de hogar mientras tu huérfano está contigo.' WHERE `ID`=1791; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mira qué monada', `Description_Lang_esES`='Consigue una mascota recompensa de la Semana de los Niños.' WHERE `ID`=1792; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Para los niños', `Description_Lang_esES`='Completa los logros de la Semana de los Niños listados a continuación.' WHERE `ID`=1793; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cocinillas', `Description_Lang_esES`='Aprende 25 recetas de cocina.' WHERE `ID`=1795; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cocinerillo de tres al cuarto', `Description_Lang_esES`='Aprende 50 recetas de cocina.' WHERE `ID`=1796; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Chef encargado', `Description_Lang_esES`='Aprende 75 recetas de cocina.' WHERE `ID`=1797; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Asistente de chef', `Description_Lang_esES`='Aprende 100 recetas de cocina.' WHERE `ID`=1798; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Chef de cocina', `Description_Lang_esES`='Aprende 160 recetas de cocina.' WHERE `ID`=1799; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El gourmet de Terrallende', `Description_Lang_esES`='Cocina todas las recetas de Terrallende listadas a continuación.' WHERE `ID`=1800; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cerveza del capitán Rumsey', `Description_Lang_esES`='Prepara un poco de cerveza del capitán Rumsey.' WHERE `ID`=1801; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Indefensa', `Description_Lang_esES`='Derrota a Cianigosa en El Bastión Violeta en dificultad heroica sin usar los cristales de control de defensa y con integridad de sello de prisión a 100%.' WHERE `ID`=1816; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Matar el tiempo', `Description_Lang_esES`='Derrota al Corruptor Infinito en La Matanza de Stratholme en dificultad heroica.' WHERE `ID`=1817; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sabe a pollo', `Description_Lang_esES`='Degusta 50 tipos diferentes de platos exquisitos de Azeroth.' WHERE `ID`=1832; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Es la hora feliz en algún lugar', `Description_Lang_esES`='Bebe 25 tipos diferentes de bebidas.' WHERE `ID`=1833; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Descarga de relámpago', `Description_Lang_esES`='Derrota al general Gjarngrin en las Cámaras de Relámpagos en dificultad heroica mientras él sufre una descarga eléctrica temporal.' WHERE `ID`=1834; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El viejo Astuto', `Description_Lang_esES`='Pesca al viejo Astuto en Orgrimmar.' WHERE `ID`=1836; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El viejo Quijahierro', `Description_Lang_esES`='Pesca al viejo Quijahierro en Forjaz.' WHERE `ID`=1837; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hazle un buen remiendo (10 j.)', `Description_Lang_esES`='Derrota a Remendejo en Naxxramas en dificultad normal en menos de 3 minutos en el modo de10 jugadores.' WHERE `ID`=1856; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hazle un buen remiendo (25 j.)', `Description_Lang_esES`='Derrota a Remendejo en Naxxramas en el modo de 25 jugadores en menos de 3 minutos.' WHERE `ID`=1857; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Aracnofobia (10 j.)', `Description_Lang_esES`='Derrota a Maexxna en Naxxramas en el modo de 10 jugadores antes de que pasen 20 minutos de la muerte de Anub\'Rekhan.' WHERE `ID`=1858; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Aracnofobia (25 j.)', `Description_Lang_esES`='Derrota a Maexxna en Naxxramas en el modo de 25 jugadores antes de que pasen 20 minutos de la muerte de Anub\'Rekhan.' WHERE `ID`=1859; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Me voy de aquí!', `Description_Lang_esES`='Derrota a Anub\'arak en Azjol-Nerub en dificultad heroica en menos de 4 minutos.' WHERE `ID`=1860; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La rápida muerte de Volazj', `Description_Lang_esES`='Derrota al heraldo Volazj en Ahn\'kahet en dificultad heroica en menos de 2 minutos.' WHERE `ID`=1862; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¿Quéck pasa aquí?', `Description_Lang_esES`='Derrota a Gal\'darah en Gundrak mientras sufres el efecto de Residuo de Eck.' WHERE `ID`=1864; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Encerrados!', `Description_Lang_esES`='Derrota a Xevozz, Lavanthor, Ícoron, Zuramat el Obliterador, Erekem y Moragg en El Bastión Violeta en dificultad heroica.' WHERE `ID`=1865; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Qué pena!', `Description_Lang_esES`='Derrota a la Doncella de Pena en las Cámaras de Piedra en dificultad heroica en menos de 1 minuto.' WHERE `ID`=1866; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muerte calculada', `Description_Lang_esES`='Derrota a Loken en las Cámaras de Relámpagos en dificultad heroica en menos de 2 minutos.' WHERE `ID`=1867; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Haz que cuente', `Description_Lang_esES`='Derrota al Guardián-Ley Eregos en El Oculus en dificultad heroica en menos de 20 minutos después de la muerte de Drakos el Interrogador.' WHERE `ID`=1868; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El dedo en la llaga (10 j.)', `Description_Lang_esES`='Derrota a Malygos en el modo de 10 jugadores con menos de 9 personas.' WHERE `ID`=1869; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El dedo en la llaga (25 j.)', `Description_Lang_esES`='Derrota a Malygos en el modo de 25 jugadores con menos de 21 personas.' WHERE `ID`=1870; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Jinete de dracos experto', `Description_Lang_esES`='En 3 veces distintas en El Oculus, consigue crédito por derrotar al Guardián-Ley Eregos en dificultad heroica mientras estás montado en un draco ámbar, uno esmeralda y uno rubí.' WHERE `ID`=1871; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Fiesta de zombis!', `Description_Lang_esES`='Mata a 100 zombis resucitados en 1 minuto en La Matanza de Stratholme en dificultad heroica.' WHERE `ID`=1872; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tralarí, tralarí, nos encanta Skadi', `Description_Lang_esES`='Derrota a Skadi el Despiadado en el Pináculo de Utgarde en dificultad heroica en menos de 3 minutos de haber comenzado el evento del guantelete.' WHERE `ID`=1873; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='No tenemos toda la eternidad (10 j.)', `Description_Lang_esES`='Derrota a Malygos en 6 minutos o menos en el modo de 10 jugadores.' WHERE `ID`=1874; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='No tenemos toda la eternidad (25 j.)', `Description_Lang_esES`='Derrota a Malygos en 6 minutos o menos en el modo de 25 jugadores.' WHERE `ID`=1875; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vencer al Vuelo Negro (10 j.)', `Description_Lang_esES`='Derrota a Sartharion el Guardián ónice en el modo de 10 jugadores.' WHERE `ID`=1876; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Menos es más (25 j.)', `Description_Lang_esES`='Derrota a Sartharion el Guardián ónice y a los dracos crepusculares en el modo de 25 jugadores con menos de 21 personas.' WHERE `ID`=1877; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Con hielo', `Description_Lang_esES`='Derrota al príncipe Keleseth en la Fortaleza de Utgarde en dificultad heroica sin romper ninguna tumba de Escarcha.' WHERE `ID`=1919; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¿Es persistente tu wolpertinger?', `Description_Lang_esES`='Consigue una mascota wolpertinger.' WHERE `ID`=1936; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Conocimiento superior', `Description_Lang_esES`='Lee los libros de "Las Escuelas de la Magia Arcana" que se encuentran en Dalaran, listados a continuación.' WHERE `ID`=1956; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hay oro en esa fuente de ahí', `Description_Lang_esES`='Pesca las monedas de oro listadas a continuación de la fuente de Dalaran.' WHERE `ID`=1957; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Aquí huele a rata gigante', `Description_Lang_esES`='Pesca una rata de cloaca gigante de Los Bajos Fondos de Dalaran.' WHERE `ID`=1958; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Premios de cocina de Dalaran recibidos', `Description_Lang_esES`='Premios de cocina de Dalaran recibidos' WHERE `ID`=1976; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muestras de joyero de Dalaran recibidas', `Description_Lang_esES`='Muestras de joyero de Dalaran recibidas' WHERE `ID`=1977; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Baila por tu vida (10 j.)', `Description_Lang_esES`='Derrota a Heigan el Impuro en Naxxramas en el modo de 10 jugadores sin que muera nadie de tu banda.' WHERE `ID`=1996; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mamá me dijo que te pegara (10 j.)', `Description_Lang_esES`='Derrota a la gran viuda Faerlina en Naxxramas en el modo de 10 jugadores sin disipar o impedir frenesí.' WHERE `ID`=1997; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Premio de cocina de Dalaran', `Description_Lang_esES`='Consigue un premio de cocina de Dalaran.' WHERE `ID`=1998; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='10 Premios de cocina de Dalaran', `Description_Lang_esES`='Consigue 10 premios de cocina de Dalaran.' WHERE `ID`=1999; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='25 Premios de cocina de Dalaran', `Description_Lang_esES`='Consigue 25 premios de cocina de Dalaran.' WHERE `ID`=2000; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='50 Premios de cocina de Dalaran', `Description_Lang_esES`='Consigue 50 premios de cocina de Dalaran.' WHERE `ID`=2001; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='100 Premios de cocina de Dalaran', `Description_Lang_esES`='Consigue 100 premios de cocina de Dalaran.' WHERE `ID`=2002; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veterano Pardo', `Description_Lang_esES`='Completa las misiones diarias JcJ de las Colinas Pardas listadas a continuación.' WHERE `ID`=2016; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veterano Pardo', `Description_Lang_esES`='Completa las misiones diarias JcJ de las Colinas Pardas listadas a continuación.' WHERE `ID`=2017; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Previsiones Tiemporeja', `Description_Lang_esES`='Completa las misiones diarias en mazmorra de Rasganorte listadas a continuación.' WHERE `ID`=2018; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Prueba de defunción', `Description_Lang_esES`='Has completado las misiones diarias en mazmorra de Rasganorte listadas a continuación.' WHERE `ID`=2019; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Frío intenso', `Description_Lang_esES`='Derrota a Keristrasza en El Nexo en dificultad heroica sin permitir que Frío intenso se acumule más de dos veces.' WHERE `ID`=2036; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La teoría del caos', `Description_Lang_esES`='Derrota a Anomalus en El Nexo en dificultad heroica sin destruir ninguna falla caótica.' WHERE `ID`=2037; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Respeta a tus mayores', `Description_Lang_esES`='Derrota al Ancestro Nadox en Ahn\'kahet en dificultad heroica sin matar a ninguno de los guardianes de Ahn\'kahet.' WHERE `ID`=2038; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Antes muerto…', `Description_Lang_esES`='Entabla combate con el Rey Dred en Drak\'Tharon en dificultad heroica y mata a 6 arrancatripas Drakkari o segadores Drakkari durante su derrota.' WHERE `ID`=2039; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Menos Moorabi', `Description_Lang_esES`='Derrota a Moorabi en Gundrak en dificultad heroica mientras evitas que se transforme en mamut durante todo el combate.' WHERE `ID`=2040; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Deshidratación', `Description_Lang_esES`='Derrota a Ícoron en El Bastión Violeta en dificultad heroica sin permitir que se fusionen glóbulos de icor.' WHERE `ID`=2041; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Antipedacitos', `Description_Lang_esES`='Derrota a Volkhan en las Cámaras de Relámpagos en dificultad heroica sin dejar que destroce más de 4 gólems frágiles.' WHERE `ID`=2042; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La increíble mole', `Description_Lang_esES`='Haz que Svala Tumbapena mate a una Mole de la Plaga en el Pináculo de Utgarde en dificultad heroica.' WHERE `ID`=2043; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vacío rubí', `Description_Lang_esES`='Derrota al Guardián-Ley Eregos en El Oculus en dificultad heroica sin que nadie de tu grupo utilice un draco rubí.' WHERE `ID`=2044; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vacío esmeralda', `Description_Lang_esES`='Derrota al Guardián-Ley Eregos en El Oculus en dificultad heroica sin que nadie de tu grupo utilice un draco esmeralda.' WHERE `ID`=2045; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vacío ámbar', `Description_Lang_esES`='Derrota al Guardián-Ley Eregos en El Oculus en dificultad heroica sin que nadie de tu grupo utilice un draco ámbar.' WHERE `ID`=2046; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Me voy cuando el volcán entre en erupción (10 j.)', `Description_Lang_esES`='Derrota a Sartharion el Guardián ónice en el modo de 10 jugadores sin que te afecte Golpe de lava.' WHERE `ID`=2047; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Me voy cuando el volcán entre en erupción (25 j.)', `Description_Lang_esES`='Derrota a Sartharion el Guardián ónice en el modo de 25 jugadores sin que te afecte Golpe de lava.' WHERE `ID`=2048; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ayuda crepuscular (10 j.)', `Description_Lang_esES`='Con al menos un draco crepuscular vivo, combate y vence a Sartharion el Guardián ónice en el modo de 10 jugadores.' WHERE `ID`=2049; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Dúo crepuscular (10 j.)', `Description_Lang_esES`='Con al menos dos dracos crepusculares vivo, combate y vence a Sartharion el Guardián ónice en el modo de 10 jugadores.' WHERE `ID`=2050; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Dimensión desconocida (10 j.)', `Description_Lang_esES`='Con los tres dracos crepusculares vivos, combate y vence a Sartharion el Guardián ónice en el modo de 10 jugadores.' WHERE `ID`=2051; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ayuda crepuscular (25 j.)', `Description_Lang_esES`='Con al menos un draco crepuscular vivo, combate y vence a Sartharion el Guardián ónice en el modo de 25 jugadores.' WHERE `ID`=2052; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Dúo crepuscular (25 j.)', `Description_Lang_esES`='Con al menos dos dracos crepusculares vivos, combate y vence a Sartharion el Guardián ónice en el modo de 25 jugadores.' WHERE `ID`=2053; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Dimensión desconocida (25 j.)', `Description_Lang_esES`='Con los tres dracos crepusculares vivos, combate y vence a Sartharion el Guardián ónice en el modo de 25 jugadores.' WHERE `ID`=2054; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Trabajo de voluntario', `Description_Lang_esES`='Derrota a Jedoga Buscasombras en Ahn\'kahet en dificultad heroica sin matar a ninguno de los Voluntarios Crepusculares.' WHERE `ID`=2056; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Oh, ¡Novos!', `Description_Lang_esES`='Derrota a Novos el Invocador en la Fortaleza de Drak\'Tharon en dificultad heroica sin dejar que ningún esbirro no-muerto llegue al suelo.' WHERE `ID`=2057; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Serpientes. ¿Por qué serpientes?', `Description_Lang_esES`='Derrota a Slad\'ran en Gundrak en dificultad heroica sin que te atrape la trampa con serpientes.' WHERE `ID`=2058; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Oso marrón acorazado', `Description_Lang_esES`='Consigue un oso marrón acorazado de Mei Francis en Dalaran.' WHERE `ID`=2076; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mamut lanudo', `Description_Lang_esES`='Consigue un mamut lanudo de Mei Francis en Dalaran.' WHERE `ID`=2077; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mamut de tundra viajero', `Description_Lang_esES`='Consigue un mamut de tundra viajero de Mei Francis en Dalaran.' WHERE `ID`=2078; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tabardo del protector', `Description_Lang_esES`='Has conseguido un Tabardo del protector del evento del Portal Oscuro.' WHERE `ID`=2079; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mamut de guerra negro', `Description_Lang_esES`='Consigue un mamut de guerra negro.' WHERE `ID`=2080; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gran mamut de guerra negro', `Description_Lang_esES`='Consigue un gran mamut de guerra negro.' WHERE `ID`=2081; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mamut de hielo', `Description_Lang_esES`='Consigue un mamut de hielo.' WHERE `ID`=2082; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gran mamut de hielo', `Description_Lang_esES`='Consigue un gran mamut de hielo.' WHERE `ID`=2083; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Anillo del Kirin Tor', `Description_Lang_esES`='Compra un sello del Kirin Tor, sortija del Kirin Tor, aro del Kirin Tor o anillo del Kirin Tor en Dalaran.' WHERE `ID`=2084; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='50 fragmentos de vigilante de piedra', `Description_Lang_esES`='Despoja 50 fragmentos de vigilante de piedra.' WHERE `ID`=2085; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='100 fragmentos de vigilante de piedra', `Description_Lang_esES`='Despoja 100 fragmentos de vigilante de piedra.' WHERE `ID`=2086; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='250 fragmentos de vigilante de piedra', `Description_Lang_esES`='Despoja 250 fragmentos de vigilante de piedra.' WHERE `ID`=2087; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='500 fragmentos de vigilante de piedra', `Description_Lang_esES`='Despoja 500 fragmentos de vigilante de piedra.' WHERE `ID`=2088; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='1000 fragmentos de vigilante de piedra', `Description_Lang_esES`='Despoja 1000 fragmentos de vigilante de piedra.' WHERE `ID`=2089; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Contendiente', `Description_Lang_esES`='Consigue el título Contendiente en la temporada de arena de nivel 80.' WHERE `ID`=2090; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gladiador', `Description_Lang_esES`='Consigue el título Gladiador en la temporada de arena de nivel 80.' WHERE `ID`=2091; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Duelista', `Description_Lang_esES`='Consigue el título Duelista en la temporada de arena de nivel 80.' WHERE `ID`=2092; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rival', `Description_Lang_esES`='Consigue el título Rival en la temporada de arena de nivel 80.' WHERE `ID`=2093; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La fuente de los deseos', `Description_Lang_esES`='Pesca las monedas de cobre listadas a continuación de la fuente de Dalaran.' WHERE `ID`=2094; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Plata en la ciudad', `Description_Lang_esES`='Pesca las monedas de plata listadas a continuación de la fuente de Dalaran.' WHERE `ID`=2095; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El maestro de las monedas', `Description_Lang_esES`='Completa los logros de pesca de monedas listados a continuación.' WHERE `ID`=2096; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Móntate en la chopper!', `Description_Lang_esES`='Consigue una chopper de mekigeniero o una meca-jarly.' WHERE `ID`=2097; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tabardo de El Alba Argenta', `Description_Lang_esES`='Has conseguido un Tabardo de El Alba Argenta del evento Invasión de la Plaga.' WHERE `ID`=2116; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La gloria del héroe', `Description_Lang_esES`='Completa los logros de mazmorra heroica listados a continuación.' WHERE `ID`=2136; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La gloria del asaltante (10 j.)', `Description_Lang_esES`='Completa los logros de banda de 10 jugadores listados a continuación.' WHERE `ID`=2137; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La gloria del asaltante (25 j.)', `Description_Lang_esES`='Completa los logros de banda de 25 jugadores listados a continuación.' WHERE `ID`=2138; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Baila por tu vida (25 j.)', `Description_Lang_esES`='Derrota a Heigan el Impuro en Naxxramas en el modo de 25 jugadores sin que muera nadie de tu banda.' WHERE `ID`=2139; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mamá me dijo que te pegara (25 j.)', `Description_Lang_esES`='Derrota a la gran viuda Faerlina en Naxxramas en el modo de 25 jugadores sin disipar o impedir frenesí.' WHERE `ID`=2140; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vigilante de establos', `Description_Lang_esES`='Consigue 10 monturas.' WHERE `ID`=2141; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Llenar el establo', `Description_Lang_esES`='Consigue 25 monturas.' WHERE `ID`=2142; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Liderar la caballería', `Description_Lang_esES`='Consigue 50 monturas.' WHERE `ID`=2143; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ha sido un largo y raro viaje', `Description_Lang_esES`='Completa los logros de eventos del mundo listados a continuación.' WHERE `ID`=2144; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ha sido un largo y raro viaje', `Description_Lang_esES`='Completa los logros de eventos del mundo listados a continuación.' WHERE `ID`=2145; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El club de los Cien (10 j.)', `Description_Lang_esES`='Derrota a Sapphiron en Naxxramas en el modo de 10 jugadores sin que ningún miembro de la banda tenga un valor de resistencia a la Escarcha superior a 100.' WHERE `ID`=2146; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El club de los Cien (25 j.)', `Description_Lang_esES`='Derrota a Sapphiron en Naxxramas en el modo de 25 jugadores sin que ningún miembro de la banda tenga un valor de resistencia a la Escarcha superior a 100.' WHERE `ID`=2147; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rechazar al sucesor (10 j.)', `Description_Lang_esES`='Dale el golpe de gracia a un sucesor de la eternidad mientras que estás montado en un disco flotante en el modo de 10 jugadores.' WHERE `ID`=2148; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rechazar al sucesor (25 j.)', `Description_Lang_esES`='Dale el golpe de gracia a un sucesor de la eternidad mientras que estás montado en un disco flotante en el modo de 25 jugadores.' WHERE `ID`=2149; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Doble personalidad', `Description_Lang_esES`='Derrota a la Gran Maga Telestra en El Nexo en dificultad heroica después de haber matado a sus imágenes en menos de 5 segundos de que aparecieran en ambas divisiones.' WHERE `ID`=2150; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cruce de consumiciones', `Description_Lang_esES`='Derrota a Cuernotrol en la Fortaleza de Drak\'Tharon en dificultad heroica antes de que Consumir llegue a diez.' WHERE `ID`=2151; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Compartir el amor', `Description_Lang_esES`='Derrota a Gal\'darah en Gundrak en dificultad heroica y consigue que empale en toda la batalla a 5 únicos miembros del grupo.' WHERE `ID`=2152; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un baile con el vacío', `Description_Lang_esES`='Derrota a Zuramat el Obliterador en El Bastión Violeta en dificultad heroica sin matar a ningún centinela del vacío.' WHERE `ID`=2153; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Brann totalmente nuevo', `Description_Lang_esES`='Derrota el encuentro del Tribunal de los Tiempos en las Cámaras de Piedra en dificultad heroica sin permitir que Brann Barbabronce sufra daño.' WHERE `ID`=2154; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Abusar de los mocos', `Description_Lang_esES`='Derrota a Sjonnir el Afilador en las Cámaras de Piedra en dificultad heroica y mata a 5 lodoferros formados durante el encuentro.' WHERE `ID`=2155; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='A mi chica le encanta Skadi', `Description_Lang_esES`='Derrota a Skadi el Despiadado en el Pináculo de Utgarde en dificultad heroica después de haber matado a Grauf de 100% a cero en un solo intento.' WHERE `ID`=2156; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La pesadilla del Rey', `Description_Lang_esES`='Derrota al Rey Ymiron en el Pináculo de Utgarde en dificultad heroica sin que nadie en el grupo provoque Aterrar.' WHERE `ID`=2157; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Y todos caerán a la misma vez (10 j.)', `Description_Lang_esES`='Derrota a los 4 Jinetes en Naxxramas en el modo de 10 jugadores, asegurándote de que mueren con menos de 15 segundos de diferencia.' WHERE `ID`=2176; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Y todos caerán a la misma vez (25 j.)', `Description_Lang_esES`='Derrota a los 4 Jinetes en Naxxramas en el modo de 25 jugadores., asegurándote de que mueren con menos de 15 segundos de diferencia.' WHERE `ID`=2177; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Electrificante! (10 j.)', `Description_Lang_esES`='Derrota a Thaddius en Naxxramas en el modo de 10 jugadores sin que nadie en la banda cruce las cargas positivas y negativas.' WHERE `ID`=2178; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Electrificante! (25 j.)', `Description_Lang_esES`='Derrota a Thaddius en Naxxramas en el modo de 25 jugadores sin que nadie en la banda cruce las cargas positivas y negativas.' WHERE `ID`=2179; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sustraer (10 j.)', `Description_Lang_esES`='Derrota a Thaddius en Naxxramas en el modo de 10 jugadores con menos de 9 personas.' WHERE `ID`=2180; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sustraer (25 j.)', `Description_Lang_esES`='Derrota a Thaddius en Naxxramas en el modo de 25 jugadores con menos de 21 personas.' WHERE `ID`=2181; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Perder las esporas (10 j.)', `Description_Lang_esES`='Derrota a Loatheb en Naxxramas en el modo de 10 jugadores sin matar ninguna espora.' WHERE `ID`=2182; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Perder las esporas (25 j.)', `Description_Lang_esES`='Derrota a Loatheb en Naxxramas en el modo de 25 jugadores sin matar ninguna espora.' WHERE `ID`=2183; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Nunca es suficiente (10 j.)', `Description_Lang_esES`='Derrota a Kel\'Thuzad en Naxxramas en el modo de 10 jugadores mientras matas al menos 18 abominaciones en su cámara.' WHERE `ID`=2184; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Nunca es suficiente (25 j.)', `Description_Lang_esES`='Derrota a Kel\'Thuzad en Naxxramas en el modo de 25 jugadores mientras que matas al menos 18 abominaciones en su cámara.' WHERE `ID`=2185; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los inmortales', `Description_Lang_esES`='En el tiempo tope de la banda, derrota a todos los jefes de Naxxramas sin muertes de los miembros de la banda durante los enfrentamientos con estos (25 j.).' WHERE `ID`=2186; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los indestructibles', `Description_Lang_esES`='En el tiempo tope de la banda, derrota a todos los jefes de Naxxramas sin muertes de los miembros de la banda durante los enfrentamientos con estos (10 j.).' WHERE `ID`=2187; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Leeeeeeeeeeeeeroy!', `Description_Lang_esES`='Mata a 50 crías de El Grajero en 15 segundos.' WHERE `ID`=2188; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Experto artillero', `Description_Lang_esES`='Destroza 5 vehículos usando una torreta en una sola batalla.' WHERE `ID`=2189; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Suéltalo ahora!', `Description_Lang_esES`='Mata a 5 jugadores que lleven seforio en una sola batalla.' WHERE `ID`=2190; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Protector del Patio de los Ancestros', `Description_Lang_esES`='Mata a 100 jugadores en el Patio de los Ancestros.' WHERE `ID`=2191; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sin un rasguño', `Description_Lang_esES`='Gana una batalla en la Playa de los Ancestros sin perder ningún vehículo de asedio.' WHERE `ID`=2192; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Experto en explosivos', `Description_Lang_esES`='Coloca 5 cargas de seforio que dañen una muralla en una sola batalla.' WHERE `ID`=2193; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de la Playa de los Ancestros', `Description_Lang_esES`='Completa los logros en la Playa de los Ancestros listados a continuación.' WHERE `ID`=2194; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de la Playa de los Ancestros', `Description_Lang_esES`='Completa los logros en la Playa de los Ancestros listados a continuación.' WHERE `ID`=2195; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Forestal de Conquista del Invierno', `Description_Lang_esES`='Mata a 10 jugadores en cada una de las zonas de Conquista del Invierno listadas a continuación.' WHERE `ID`=2199; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Defensa de los Ancestros', `Description_Lang_esES`='Defiende la playa sin perder ninguna muralla.' WHERE `ID`=2200; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Jefe más mortífero (5 j.)', `Description_Lang_esES`='Lich King: Jefe más mortífero (5 j.)' WHERE `ID`=2216; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Jefe más mortífero (10 j.)', `Description_Lang_esES`='Lich King: Jefe más mortífero (10 j.)' WHERE `ID`=2217; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lich King: Jefe más mortífero (25 j.)', `Description_Lang_esES`='Lich King: Jefe más mortífero (25 j.)' WHERE `ID`=2218; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes totales en mazmorras heroicas (5 j.)', `Description_Lang_esES`='Muertes totales en mazmorras heroicas (5 j.)' WHERE `ID`=2219; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Expuesto a Rasganorte', `Description_Lang_esES`='Mata a una de las criaturas extremadamente exóticas y difíciles de encontrar de Rasganorte listadas a continuación.' WHERE `ID`=2256; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Congelado', `Description_Lang_esES`='Mata a todas las criaturas extremadamente exóticas y difíciles de encontrar de Rasganorte listadas a continuación.' WHERE `ID`=2257; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Invocaciones aceptadas', `Description_Lang_esES`='Invocaciones aceptadas' WHERE `ID`=2277; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Draco abisal brutal', `Description_Lang_esES`='Consigue el draco abisal brutal de la temporada 4 de arenas de The Burning Crusade.' WHERE `ID`=2316; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Demente supereminente', `Description_Lang_esES`='Eleva tu nivel de reputación con las zonas listadas a continuación:' WHERE `ID`=2336; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Corcel nefasto xorothiano', `Description_Lang_esES`='Has completado la misión de brujo Corcel nefasto xorothiano.' WHERE `ID`=2357; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Destrero', `Description_Lang_esES`='Has completado la misión de paladín para obtener un destrero.' WHERE `ID`=2358; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Forma de vuelo presto', `Description_Lang_esES`='Has completado la misión de druida para obtener la forma de vuelo presto.' WHERE `ID`=2359; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campo de batalla jugado más veces', `Description_Lang_esES`='Campo de batalla jugado más veces' WHERE `ID`=2396; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campo de batalla ganado más veces', `Description_Lang_esES`='Campo de batalla ganado más veces' WHERE `ID`=2397; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='4º aniversario de WoW', `Description_Lang_esES`='Conectado durante el 4º aniversario de WoW.' WHERE `ID`=2398; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Huevo duro', `Description_Lang_esES`='Pon un huevo en los Baños de Golakka del Cráter de Un\'Goro vestido de conejo durante la celebración de Jardín Noble.' WHERE `ID`=2416; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Chocolateee!', `Description_Lang_esES`='Come 25 chocolates del Jardín Noble durante la celebración del Jardín Noble.' WHERE `ID`=2417; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Chocohólico', `Description_Lang_esES`='Come 100 chocolates del Jardín Noble durante la celebración del Jardín Noble.' WHERE `ID`=2418; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La primavera, la sangre altera', `Description_Lang_esES`='Encuentra para tu mascota conejo primaveral alguien a quien dar amor en cada una de las ciudades listadas a continuación:' WHERE `ID`=2419; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Jardín Noble', `Description_Lang_esES`='Esconde un huevo de colores vivos en Ciudad de Lunargenta.' WHERE `ID`=2420; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Jardín Noble', `Description_Lang_esES`='Esconde un huevo de colores vivos en Ciudad de Ventormenta.' WHERE `ID`=2421; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sacude las orejitas', `Description_Lang_esES`='Usa las flores primaverales para colocar orejas de conejo en jugadores de nivel 18 o más.' WHERE `ID`=2422; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rosa del desierto', `Description_Lang_esES`='Utiliza unas togas primaverales para plantar una flor en cada uno de los desiertos listados a continuación:' WHERE `ID`=2436; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cazador de vampiros', `Description_Lang_esES`='Mata al príncipe Tenris Sangre Penumbra y consigue su murciabadejo vampírico.' WHERE `ID`=2456; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Derbi destructivo', `Description_Lang_esES`='Destruye cada uno de los vehículos listados a continuación.' WHERE `ID`=2476; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El quinto elemento', `Description_Lang_esES`='Consigue una quintaesencia de agua.' WHERE `ID`=2496; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La primavera, la sangre altera', `Description_Lang_esES`='Encuentra para tu mascota conejo primaveral alguien a quien dar amor en cada una de las ciudades listadas a continuación:' WHERE `ID`=2497; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Caza menor', `Description_Lang_esES`='Reúne 75 mascotas de compañía únicas.' WHERE `ID`=2516; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un montón de monturas', `Description_Lang_esES`='Consigue 100 monturas.' WHERE `ID`=2536; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un montón de monturas', `Description_Lang_esES`='Consigue 100 monturas.' WHERE `ID`=2537; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Control de plagas', `Description_Lang_esES`='Mata a las plagas listadas a continuación.' WHERE `ID`=2556; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='A todas las ardillas de mi vida', `Description_Lang_esES`='Demuestra a más alimañas de Azeroth todo tu /amor.' WHERE `ID`=2557; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El sonrojo de la novia', `Description_Lang_esES`='Besa a alguien que lleve un vestido elegante mientras llevas puesta una camisa de esmoquin blanca con unos pantalones de esmoquin negros.' WHERE `ID`=2576; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Baldomero', `Description_Lang_esES`='Muertes de Baldomero' WHERE `ID`=2596; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡He encontrado uno!', `Description_Lang_esES`='Encuentra un huevo de colores vivos.' WHERE `ID`=2676; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Doble especialización de talentos', `Description_Lang_esES`='Visita a tu instructor de clase cuando tengas al menos nivel 40 y activa tu doble especialización de talentos.' WHERE `ID`=2716; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Aspiración Argenta', `Description_Lang_esES`='Entrénate para competir en el Torneo Argenta convirtiéndote en Aspirante para la facción de tu raza.' WHERE `ID`=2756; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Valor Argenta', `Description_Lang_esES`='Entrénate para competir en el Torneo Argenta convirtiéndote en Valeroso para la facción de tu raza.' WHERE `ID`=2758; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón Exaltado de Darnassus', `Description_Lang_esES`='Alcanza la reputación Exaltado y el derecho a representar a Darnassus en el Torneo Argenta.' WHERE `ID`=2760; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón Exaltado de El Exodar', `Description_Lang_esES`='Alcanza la reputación Exaltado y el derecho a representar a El Exodar en el Torneo Argenta.' WHERE `ID`=2761; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón Exaltado de Gnomeregan', `Description_Lang_esES`='Alcanza la reputación Exaltado y el derecho a representar a los Exiliados de Gnomeregan en el Torneo Argenta.' WHERE `ID`=2762; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón Exaltado de Forjaz', `Description_Lang_esES`='Alcanza la reputación Exaltado y el derecho a representar a Forjaz en el Torneo Argenta.' WHERE `ID`=2763; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón Exaltado de Ventormenta', `Description_Lang_esES`='Alcanza la reputación Exaltado y el derecho a representar a Ventormenta en el Torneo Argenta.' WHERE `ID`=2764; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón Exaltado de Orgrimmar', `Description_Lang_esES`='Alcanza la reputación Exaltado y el derecho a representar a Orgrimmar en el Torneo Argenta.' WHERE `ID`=2765; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón Exaltado de Sen\'jin', `Description_Lang_esES`='Alcanza la reputación Exaltado y el derecho a representar a Sen\'jin en el Torneo Argenta.' WHERE `ID`=2766; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón Exaltado de Ciudad de Lunargenta', `Description_Lang_esES`='Alcanza la reputación Exaltado y el derecho a representar a Ciudad de Lunargenta en el Torneo Argenta.' WHERE `ID`=2767; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón Exaltado de Cima del Trueno', `Description_Lang_esES`='Alcanza la reputación Exaltado y el derecho a representar a Cima del Trueno en el Torneo Argenta.' WHERE `ID`=2768; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón Exaltado de Entrañas', `Description_Lang_esES`='Alcanza la reputación Exaltado y el derecho a representar a Entrañas en el Torneo Argenta.' WHERE `ID`=2769; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón Exaltado de la Alianza', `Description_Lang_esES`='Alcanza la reputación Exaltado y el derecho a representar a todas las facciones de las razas de la Alianza en el Torneo Argenta.' WHERE `ID`=2770; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón Exaltado de la Horda', `Description_Lang_esES`='Alcanza la reputación Exaltado y el derecho a representar a todas las facciones de las razas de la Horda en el Torneo Argenta.' WHERE `ID`=2771; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Lanza en ristre!', `Description_Lang_esES`='Derrota a otro jugador en duelo sobre montura en el Torneo Argenta.' WHERE `ID`=2772; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Solo es una herida superficial', `Description_Lang_esES`='Desenmascara y derrota al Caballero Negro en el Torneo Argenta.' WHERE `ID`=2773; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de Conquista del Invierno', `Description_Lang_esES`='Completa los logros de Conquista del Invierno listados a continuación.' WHERE `ID`=2776; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón de Darnassus', `Description_Lang_esES`='Consigue el derecho a representar a Darnassus en el Torneo Argenta.' WHERE `ID`=2777; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón de El Exodar', `Description_Lang_esES`='Consigue el derecho a representar a El Exodar en el Torneo Argenta.' WHERE `ID`=2778; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón de Gnomeregan', `Description_Lang_esES`='Consigue el derecho a representar a los Exiliados de Gnomeregan en el Torneo Argenta.' WHERE `ID`=2779; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón de Forjaz', `Description_Lang_esES`='Consigue el derecho a representar a Forjaz en el Torneo Argenta.' WHERE `ID`=2780; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón de Ventormenta', `Description_Lang_esES`='Consigue el derecho a representar a Ventormenta en el Torneo Argenta.' WHERE `ID`=2781; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón de la Alianza', `Description_Lang_esES`='Consigue el derecho a representar a todas las facciones de las razas de la Alianza en el Torneo Argenta.' WHERE `ID`=2782; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón de Orgrimmar', `Description_Lang_esES`='Consigue el derecho a representar a Orgrimmar en el Torneo Argenta.' WHERE `ID`=2783; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón de Sen\'jin', `Description_Lang_esES`='Consigue el derecho a representar a Sen\'jin en el Torneo Argenta.' WHERE `ID`=2784; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón de Ciudad de Lunargenta', `Description_Lang_esES`='Consigue el derecho a representar a Ciudad de Lunargenta en el Torneo Argenta.' WHERE `ID`=2785; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón de Cima del Trueno', `Description_Lang_esES`='Consigue el derecho a representar a Cima del Trueno en el Torneo Argenta.' WHERE `ID`=2786; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón de Entrañas', `Description_Lang_esES`='Consigue el derecho a representar a Entrañas en el Torneo Argenta.' WHERE `ID`=2787; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón de la Horda', `Description_Lang_esES`='Consigue el derecho a representar a todas las facciones de las razas de la Horda en el Torneo Argenta.' WHERE `ID`=2788; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La cerveza del mes', `Description_Lang_esES`='Únete al Club de la Cerveza del Mes.' WHERE `ID`=2796; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Jardinero Noble', `Description_Lang_esES`='Completa los logros del Jardín Noble listados a continuación.' WHERE `ID`=2797; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Jardinero Noble', `Description_Lang_esES`='Completa los logros del Jardín Noble listados a continuación.' WHERE `ID`=2798; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón Argenta Exaltado de la Horda', `Description_Lang_esES`='Alcanza la reputación Exaltado y el derecho a representar a todas las facciones de las razas de la Horda en el Torneo Argenta.' WHERE `ID`=2816; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón Argenta Exaltado de la Alianza', `Description_Lang_esES`='Alcanza la reputación Exaltado y el derecho a representar a todas las facciones de las razas de la Alianza en el Torneo Argenta.' WHERE `ID`=2817; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lanzalote', `Description_Lang_esES`='Derrota a un jinete de cada facción de cada raza en el Torneo Argenta.' WHERE `ID`=2836; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Leviatán de llamas (Ulduar 10 j.)', `Description_Lang_esES`='Muertes del Leviatán de llamas (Ulduar 10 j.)' WHERE `ID`=2856; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Tajoescama (Ulduar 10 j.)', `Description_Lang_esES`='Muertes de Tajoescama (Ulduar 10 j.)' WHERE `ID`=2857; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Ignis el Maestro de la Caldera (Ulduar 10 j.)', `Description_Lang_esES`='Muertes de Ignis el Maestro de la Caldera (Ulduar 10 j.)' WHERE `ID`=2858; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Desarmador XA-002 (Ulduar 10 j.)', `Description_Lang_esES`='Muertes del Desarmador XA-002 (Ulduar 10 j.)' WHERE `ID`=2859; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de la Asamblea de Hierro (Ulduar 10 j.)', `Description_Lang_esES`='Muertes de la Asamblea de Hierro (Ulduar 10 j.)' WHERE `ID`=2860; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Kologarn (Ulduar 10 j.)', `Description_Lang_esES`='Muertes de Kologarn (Ulduar 10 j.)' WHERE `ID`=2861; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre Hodir (Ulduar 10 j.)', `Description_Lang_esES`='Victorias sobre Hodir (Ulduar 10 j.)' WHERE `ID`=2862; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre Thorim (Ulduar 10 j.)', `Description_Lang_esES`='Victorias sobre Thorim (Ulduar 10 j.)' WHERE `ID`=2863; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre Freya (Ulduar 10 j.)', `Description_Lang_esES`='Victorias sobre Freya (Ulduar 10 j.)' WHERE `ID`=2864; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre Mimiron (Ulduar 10 j.)', `Description_Lang_esES`='Victorias sobre Mimiron (Ulduar 10 j.)' WHERE `ID`=2865; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del general Vezax (Ulduar 10 j.)', `Description_Lang_esES`='Muertes del general Vezax (Ulduar 10 j.)' WHERE `ID`=2866; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Algalon el Observador (Ulduar 10 j.)', `Description_Lang_esES`='Muertes de Algalon el Observador (Ulduar 10 j.)' WHERE `ID`=2867; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Auriaya (Ulduar 10 j.)', `Description_Lang_esES`='Muertes de Auriaya (Ulduar 10 j.)' WHERE `ID`=2868; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Yogg-Saron (Ulduar 10 j.)', `Description_Lang_esES`='Muertes de Yogg-Saron (Ulduar 10 j.)' WHERE `ID`=2869; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Emalon el Vigía de la Tormenta (Conquista del Invierno 10 j.)', `Description_Lang_esES`='Muertes de Emalon el Vigía de la Tormenta (Conquista del Invierno 10 j.)' WHERE `ID`=2870; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Leviatán de llamas (Ulduar 25 j.)', `Description_Lang_esES`='Muertes del Leviatán de llamas (Ulduar 25 j.)' WHERE `ID`=2872; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Tajoescama (Ulduar 25 j.)', `Description_Lang_esES`='Muertes de Tajoescama (Ulduar 25 j.)' WHERE `ID`=2873; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Ignis el Maestro de la Caldera (Ulduar 25 j.)', `Description_Lang_esES`='Muertes de Ignis el Maestro de la Caldera (Ulduar 25 j.)' WHERE `ID`=2874; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Kologarn (Ulduar 25 j.)', `Description_Lang_esES`='Muertes de Kologarn (Ulduar 25 j.)' WHERE `ID`=2875; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre Mimiron (Ulduar 25 j.)', `Description_Lang_esES`='Victorias sobre Mimiron (Ulduar 25 j.)' WHERE `ID`=2879; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del general Vezax (Ulduar 25 j.)', `Description_Lang_esES`='Muertes del general Vezax (Ulduar 25 j.)' WHERE `ID`=2880; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Algalon el Observador (Ulduar 25 j.)', `Description_Lang_esES`='Muertes de Algalon el Observador (Ulduar 25 j.)' WHERE `ID`=2881; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Auriaya (Ulduar 25 j.)', `Description_Lang_esES`='Muertes de Auriaya (Ulduar 25 j.)' WHERE `ID`=2882; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Yogg-Saron (Ulduar 25 j.)', `Description_Lang_esES`='Muertes de Yogg-Saron (Ulduar 25 j.)' WHERE `ID`=2883; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Desarmador XA-002 (Ulduar 25 j.)', `Description_Lang_esES`='Muertes del Desarmador XA-002 (Ulduar 25 j.)' WHERE `ID`=2884; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de la Asamblea de Hierro (Ulduar 25 j.)', `Description_Lang_esES`='Muertes de la Asamblea de Hierro (Ulduar 25 j.)' WHERE `ID`=2885; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El asedio de Ulduar (10 j.)', `Description_Lang_esES`='Derrota a los jefes del área del asedio de Ulduar en el modo de 10 jugadores.' WHERE `ID`=2886; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El asedio de Ulduar (25 j.)', `Description_Lang_esES`='Derrota a los jefes del área del asedio de Ulduar en el modo de 25 jugadores.' WHERE `ID`=2887; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Antecámara de Ulduar (10 j.)', `Description_Lang_esES`='Derrota a los jefes de La Antecámara de Ulduar en el modo de 10 jugadores.' WHERE `ID`=2888; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Antecámara de Ulduar (25 j.)', `Description_Lang_esES`='Derrota a los jefes de La Antecámara de Ulduar en el modo de 25 jugadores.' WHERE `ID`=2889; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los vigilantes de Ulduar (10 j.)', `Description_Lang_esES`='Derrota a los jefes vigilantes de Ulduar en el modo de 10 jugadores.' WHERE `ID`=2890; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los vigilantes de Ulduar (25 j.)', `Description_Lang_esES`='Derrota a los jefes vigilantes de Ulduar en el modo de 25 jugadores.' WHERE `ID`=2891; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Descenso a la Locura (10 j.)', `Description_Lang_esES`='Derrota a los jefes del área de El Descenso a la Locura de Ulduar en el modo de 10 jugadores.' WHERE `ID`=2892; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Descenso a la Locura (25 j.)', `Description_Lang_esES`='Derrota a los jefes del área de El Descenso a la Locura de Ulduar en el modo de 25 jugadores.' WHERE `ID`=2893; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los secretos de Ulduar (10 j.)', `Description_Lang_esES`='Derrota todos los jefes de Ulduar en el modo de 10 jugadores.' WHERE `ID`=2894; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los secretos de Ulduar (25 j.)', `Description_Lang_esES`='Derrota todos los jefes de Ulduar en el modo de 25 jugadores.' WHERE `ID`=2895; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Campeón de Ulduar', `Description_Lang_esES`='Derrota a todos los jefes de Ulduar en el modo de 10 jugadores sin que ningún miembro de la banda muera ante estos en ningún momento durante el tiempo tope de la banda.' WHERE `ID`=2903; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Conquistador de Ulduar', `Description_Lang_esES`='Derrota a todos los jefes de Ulduar en el modo de 25 jugadores sin que ningún miembro de la banda muera ante estos en ningún momento durante el tiempo tope de la banda.' WHERE `ID`=2904; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Irrompible (10 j.)', `Description_Lang_esES`='Derrota al Leviatán de llamas en el primer intento sin que nadie repare su vehículo en el modo de 10 jugadores.' WHERE `ID`=2905; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Irrompible (25 j.)', `Description_Lang_esES`='Derrota al Leviatán de llamas en el primer intento sin que nadie repare su vehículo en el modo de 25 jugadores.' WHERE `ID`=2906; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Garaje de tres plazas (10 j.)', `Description_Lang_esES`='Derrota al Leviatán de llamas estando en cada uno de los siguientes vehículos en el modo de 10 jugadores.' WHERE `ID`=2907; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Garaje de tres plazas (25 j.)', `Description_Lang_esES`='Derrota al Leviatán de llamas estando en cada uno de los siguientes vehículos en el modo de 25 jugadores.' WHERE `ID`=2908; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Derribad esas torretas (10 j.)', `Description_Lang_esES`='Destruye una torreta defensiva del Leviatán de llamas en el modo de 10 jugadores.' WHERE `ID`=2909; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Derribad esas torretas (25 j.)', `Description_Lang_esES`='Destruye una torreta defensiva del Leviatán de llamas en el modo de 25 jugadores.' WHERE `ID`=2910; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cerrado (10 j.)', `Description_Lang_esES`='Derrota al Leviatán de llamas sin causar una Desconexión de sistemas en el modo de 10 jugadores.' WHERE `ID`=2911; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cerrado (25 j.)', `Description_Lang_esES`='Derrota al Leviatán de llamas sin causar una Desconexión de sistemas en el modo de 25 jugadores.' WHERE `ID`=2912; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bombardeo orbital (10 j.)', `Description_Lang_esES`='Derrota al Leviatán de llamas con al menos 1 sistema de defensa orbital activo en el modo de 10 jugadores.' WHERE `ID`=2913; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Devastación orbital (10 j.)', `Description_Lang_esES`='Derrota al Leviatán de llamas con al menos 2 sistemas de defensa orbital activos en el modo de 10 jugadores.' WHERE `ID`=2914; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bombardeo atómico orbital (10 j.)', `Description_Lang_esES`='Derrota al Leviatán de llamas con al menos 3 sistemas de defensa orbital activos en el modo de 10 jugadores.' WHERE `ID`=2915; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Devastación orbital (25 j.)', `Description_Lang_esES`='Derrota al Leviatán de llamas con 2 sistemas de defensa orbital activos en el modo de 25 jugadores.' WHERE `ID`=2916; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bombardeo atómico orbital (25 j.)', `Description_Lang_esES`='Derrota al Leviatán de llamas con 3 sistemas de defensa orbital activos en el modo de 25 jugadores.' WHERE `ID`=2917; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bombardeo orbital (25 j.)', `Description_Lang_esES`='Derrota al Leviatán de llamas con 1 sistema de defensa orbital activo en el modo de 25 jugadores.' WHERE `ID`=2918; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un afeitado rápido (10 j.)', `Description_Lang_esES`='Derrota a Tajoescama sin permitir que levante el vuelo más de una vez en el modo de 10 jugadores.' WHERE `ID`=2919; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un afeitado rápido (25 j.)', `Description_Lang_esES`='Derrota a Tajoescama sin permitir que levante el vuelo más de una vez en el modo de 25 jugadores.' WHERE `ID`=2921; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Enano férreo, poco hecho (10 j.)', `Description_Lang_esES`='Derrota a 25 enanos guardián Runa Oscura con el Aliento de llamas de Tajoescama en el modo de 10 jugadores.' WHERE `ID`=2923; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Enano férreo, poco hecho (25 j.)', `Description_Lang_esES`='Derrota a 25 enanos guardián Runa Oscura con el Aliento de llamas de Tajoescama en el modo de 25 jugadores.' WHERE `ID`=2924; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Arrasado (10 j.)', `Description_Lang_esES`='Derrota a Ignis el Maestro de la Caldera después de destruir 2 ensamblajes férreos en 5 segundos en el modo de 10 jugadores.' WHERE `ID`=2925; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Arrasado (25 j.)', `Description_Lang_esES`='Derrota a Ignis el Maestro de la Caldera después de destruir 2 ensamblajes férreos en 5 segundos en el modo de 25 jugadores.' WHERE `ID`=2926; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Horneado (10 j.)', `Description_Lang_esES`='Sobrevive a ser arrojado a la Olla de escoria de Ignis el Maestro de la Caldera en el modo de 10 jugadores.' WHERE `ID`=2927; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Horneado (25 j.)', `Description_Lang_esES`='Sobrevive a ser arrojado a la Olla de escoria de Ignis el Maestro de la Caldera en el modo de 25 jugadores.' WHERE `ID`=2928; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Avivar las llamas (25 j.)', `Description_Lang_esES`='Derrota a Ignis el Maestro de la Caldera en 4 minutos en el modo de 25 jugadores.' WHERE `ID`=2929; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Avivar las llamas (10 j.)', `Description_Lang_esES`='Derrota a Ignis el Maestro de la Caldera en 4 minutos en el modo de 10 jugadores.' WHERE `ID`=2930; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apoca la ingeniería (10 j.)', `Description_Lang_esES`='Derrota al Desarmador XA-002 sin que recupere salud gracias a los robots chatarra XP-013 en el modo de 10 jugadores.' WHERE `ID`=2931; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apoca la ingeniería (25 j.)', `Description_Lang_esES`='Derrota al Desarmador XA-002 sin que recupere salud gracias a los robots chatarra XP-013 en el modo de 25 jugadores.' WHERE `ID`=2932; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apoca robots chatarra (10 j.)', `Description_Lang_esES`='Derrota 20 robots chatarra XP-013 en 12 segundos empleando robots bum XE-321 en el modo de 10 jugadores.' WHERE `ID`=2933; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apoca Bombas de gravedad (10 j.)', `Description_Lang_esES`='Derrota al Desarmador XA-002 sin que ningún miembro muera debido a una Bomba de gravedad en el modo de 10 jugadores.' WHERE `ID`=2934; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apoca robots chatarra (25 j.)', `Description_Lang_esES`='Derrota 20 robots chatarra XP-013 en 12 segundos empleando robots bum XE-321 en el modo de 25 jugadores.' WHERE `ID`=2935; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apoca Bombas de gravedad (25 j.)', `Description_Lang_esES`='Derrota al Desarmador XA-002 sin que ningún miembro muera debido a una Bomba de gravedad en el modo de 25 jugadores.' WHERE `ID`=2936; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hay que desarmar más deprisa (10 j.)', `Description_Lang_esES`='Derrota al Desarmador XA-002 en 205 segundos en el modo de 10 jugadores.' WHERE `ID`=2937; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hay que desarmar más deprisa (25 j.)', `Description_Lang_esES`='Derrota al Desarmador XA-002 en 205 segundos en el modo de 25 jugadores.' WHERE `ID`=2938; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Te elijo a ti, maestro de runas Molgeim (10 j.)', `Description_Lang_esES`='Derrota a la Asamblea de Hierro con el maestro de runas Molgeim como último miembro superviviente en el modo de 10 jugadores.' WHERE `ID`=2939; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Te elijo a ti, clamatormentas Brundir (10 j.)', `Description_Lang_esES`='Derrota a la Asamblea de Hierro con el clamatormentas Brundir como último miembro superviviente en el modo de 10 jugadores.' WHERE `ID`=2940; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Te elijo a ti, Rompeacero (10 j.)', `Description_Lang_esES`='Derrota a la Asamblea de Hierro con Rompeacero como último miembro superviviente en el modo de 10 jugadores.' WHERE `ID`=2941; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Te elijo a ti, maestro de runas Molgeim (25 j.)', `Description_Lang_esES`='Derrota a la Asamblea de Hierro con el maestro de runas Molgeim como último miembro superviviente en el modo de 25 jugadores.' WHERE `ID`=2942; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Te elijo a ti, clamatormentas Brundir (25 j.)', `Description_Lang_esES`='Derrota a la Asamblea de Hierro con el clamatormentas Brundir como último miembro superviviente en el modo de 25 jugadores.' WHERE `ID`=2943; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Te elijo a ti, Rompeacero (25 j.)', `Description_Lang_esES`='Derrota a la Asamblea de Hierro con Rompeacero como último miembro superviviente en el modo de 25 jugadores.' WHERE `ID`=2944; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pero estoy de vuestro lado (10 j.)', `Description_Lang_esES`='Derrota a la Asamblea de Hierro estando bajo los efectos de una petaca de hierro en el modo de 10 jugadores.' WHERE `ID`=2945; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pero estoy de vuestro lado (25 j.)', `Description_Lang_esES`='Derrota a la Asamblea de Hierro estando bajo los efectos de una petaca de hierro en el modo de 25 jugadores.' WHERE `ID`=2946; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='No puedes hacer eso mientras estés aturdido (10 j.)', `Description_Lang_esES`='Derrota a la Asamblea de Hierro sin permitir al clamatormentas Brundir dañar a nadie con Cadena de relámpagos o Remolino de relámpagos en el modo de 10 jugadores.' WHERE `ID`=2947; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='No puedes hacer eso mientras estés aturdido (25 j.)', `Description_Lang_esES`='Derrota a la Asamblea de Hierro sin permitir al clamatormentas Brundir dañar a nadie con Cadena de relámpagos o Remolino de relámpagos en el modo de 25 jugadores.' WHERE `ID`=2948; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Con los brazos abiertos (10 j.)', `Description_Lang_esES`='Derrota a Kologarn sin destruir ninguno de sus brazos en el modo de 10 jugadores.' WHERE `ID`=2951; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Con los brazos abiertos (25 j.)', `Description_Lang_esES`='Derrota a Kologarn sin destruir ninguno de sus brazos en el modo de 25 jugadores.' WHERE `ID`=2952; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Desarmado (10 j.)', `Description_Lang_esES`='Destruye ambos brazos de Kologarn y después al propio Kologarn en 12 segundos en el modo de 10 jugadores.' WHERE `ID`=2953; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Desarmado (25 j.)', `Description_Lang_esES`='Destruye ambos brazos de Kologarn y después al propio Kologarn en 12 segundos en el modo de 25 jugadores.' WHERE `ID`=2954; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Si las miradas mataran (10 j.)', `Description_Lang_esES`='Derrota a Kologarn sin que ningún miembro de la banda sea alcanzado por un Haz ocular enfocado en el modo de 10 jugadores.' WHERE `ID`=2955; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Si las miradas mataran (25 j.)', `Description_Lang_esES`='Derrota a Kologarn sin que ningún miembro de la banda sea alcanzado por un Haz ocular enfocado en el modo de 25 jugadores.' WHERE `ID`=2956; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La gloria del asaltante de Ulduar (10 j.)', `Description_Lang_esES`='Completa los logros de banda de 10 jugadores listados a continuación.' WHERE `ID`=2957; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La gloria del asaltante de Ulduar (25 j.)', `Description_Lang_esES`='Completa los logros de banda de 25 jugadores listados a continuación.' WHERE `ID`=2958; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Roca-nrol (10 j.)', `Description_Lang_esES`='Derrota a Kologarn después de provocar que aparezcan al menos 25 criaturas escombro en el modo de 10 jugadores.' WHERE `ID`=2959; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Roca-nrol (25 j.)', `Description_Lang_esES`='Derrota a Kologarn después de provocar que aparezcan al menos 25 criaturas escombro en el modo de 25 jugadores.' WHERE `ID`=2960; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Soporta el frío (10 j.)', `Description_Lang_esES`='Derrota a Hodir sin que ningún miembro de la banda sea alcanzado por Congelación apresurada en el modo de 10 jugadores.' WHERE `ID`=2961; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Soporta el frío (25 j.)', `Description_Lang_esES`='Derrota a Hodir sin que ningún miembro de la banda sea alcanzado por Congelación apresurada en el modo de 25 jugadores.' WHERE `ID`=2962; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mis amigos son unos frescos (10 j.)', `Description_Lang_esES`='Derrota a Hodir sin que ningún PNJ amistoso muera en el modo de 10 jugadores.' WHERE `ID`=2963; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mis amigos son unos frescos (25 j.)', `Description_Lang_esES`='Derrota a Hodir sin que ningún PNJ amistoso muera en el modo de 25 jugadores.' WHERE `ID`=2965; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Aquí hace frío (10 j.)', `Description_Lang_esES`='Derrota a Hodir sin que ningún miembro de la banda acumule Frío cortante más de 2 veces en el modo de 10 jugadores.' WHERE `ID`=2967; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Aquí hace frío (25 j.)', `Description_Lang_esES`='Derrota a Hodir sin que ningún miembro de la banda acumule Frío cortante más de 2 veces en el modo de 25 jugadores.' WHERE `ID`=2968; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pasar todo el invierno beneficiado (10 j.)', `Description_Lang_esES`='Posee los efectos de Fuego calentito, Poder de tormenta y Luz estelar al mismo tiempo en el modo de 10 jugadores.' WHERE `ID`=2969; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pasar todo el invierno beneficiado (25 j.)', `Description_Lang_esES`='Posee los efectos de Fuego calentito, Poder de tormenta y Luz estelar al mismo tiempo en el modo de 25 jugadores.' WHERE `ID`=2970; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apártate del rayo (10 j.)', `Description_Lang_esES`='Derrota a Thorim sin que ningún miembro de la banda sea alcanzado por Cargar relámpago en el modo de 10 jugadores.' WHERE `ID`=2971; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Apártate del rayo (25 j.)', `Description_Lang_esES`='Derrota a Thorim sin que ningún miembro de la banda sea alcanzado por Cargar relámpago en el modo de 25 jugadores.' WHERE `ID`=2972; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Me enfrentaré con todos (10 j.)', `Description_Lang_esES`='Derrota a Thorim, al gigante runa antigua y al coloso rúnico en el modo de 10 jugadores.' WHERE `ID`=2973; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Me enfrentaré con todos (25 j.)', `Description_Lang_esES`='Derrota a Thorim, al gigante runa antigua y al coloso rúnico en el modo de 25 jugadores.' WHERE `ID`=2974; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¿Quién necesita Ansia de sangre? (10 j.)', `Description_Lang_esES`='Derrota a Thorim bajo los efectos de Aura de celeridad en el modo de 10 jugadores.' WHERE `ID`=2975; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¿Quién necesita Ansia de sangre? (25 j.)', `Description_Lang_esES`='Derrota a Thorim bajo los efectos de Aura de celeridad en el modo de 25 jugadores.' WHERE `ID`=2976; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Con Sif (10 j.)', `Description_Lang_esES`='Obliga a Thorim a entrar en la arena mientras Sif está presente en el modo de 10 jugadores.' WHERE `ID`=2977; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Con Sif (25 j.)', `Description_Lang_esES`='Obliga a Thorim a entrar en la arena mientras Sif está presente en el modo de 25 jugadores.' WHERE `ID`=2978; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hecho leña (10 j.)', `Description_Lang_esES`='Derrota a los ancestros Hojabrillante, Hierrorrama y Cortezapiedra con menos de 15 segundos de diferencia en el modo de 10 jugadores.' WHERE `ID`=2979; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='In-veloz-ero (10 j.)', `Description_Lang_esES`='Derrota a Freya antes de que pasen 20 minutos después de matar tu primera criatura en El Invernadero de Vida en el modo de 10 jugadores.' WHERE `ID`=2980; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='In-veloz-ero (25 j.)', `Description_Lang_esES`='Derrota a Freya antes de que pasen 20 minutos después matar tu primera criatura en El Invernadero de Vida en el modo de 25 jugadores.' WHERE `ID`=2981; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Regresar a la naturaleza (10 j.)', `Description_Lang_esES`='Derrota a Freya mientras está afectada por 25 efectos acumulados de Acorde con la Naturaleza en el modo de 10 jugadores.' WHERE `ID`=2982; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Regresar a la naturaleza (25 j.)', `Description_Lang_esES`='Derrota a Freya mientras está afectada por 25 efectos acumulados de Acorde con la Naturaleza en el modo de 25 jugadores.' WHERE `ID`=2983; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Deforestación (25 j.)', `Description_Lang_esES`='Derrota 2 espíritus de agua antiguos, 2 azotadores de tormenta y 2 quiebrazotadores en 10 segundos en el modo de 25 jugadores.' WHERE `ID`=2984; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Deforestación (10 j.)', `Description_Lang_esES`='Derrota 2 espíritus de agua antiguos, 2 azotadores de tormenta y 2 quiebrazotadores en 10 segundos en el modo de 10 jugadores.' WHERE `ID`=2985; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ponednos una bomba (10 j.)', `Description_Lang_esES`='Derrota a Mimiron sin que nadie de la banda sea alcanzado por lo siguiente en el modo de 10 jugadores.' WHERE `ID`=2989; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un fuego no tan amistoso (25 j.)', `Description_Lang_esES`='Obliga a Mimiron a matar un Robot de asalto con un Golpe de cohete en el modo de 25 jugadores.' WHERE `ID`=2995; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Esquivasombras (10 j.)', `Description_Lang_esES`='Derrota al general Vezax sin que ningún miembro del equipo sea alcanzado por Fragor de sombra en el modo de 10 jugadores.' WHERE `ID`=2996; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Esquivasombras (25 j.)', `Description_Lang_esES`='Derrota al general Vezax sin que ningún miembro de la banda sea alcanzado por Fragor de sombra en el modo de 25 jugadores.' WHERE `ID`=2997; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Supermasivo (25 j.)', `Description_Lang_esES`='Derrota a Algalon el Observador después de cerrar 3 agujeros negros en 10 segundos en el modo de 25 jugadores.' WHERE `ID`=3002; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Supermasivo (10 j.)', `Description_Lang_esES`='Derrota a Algalon el Observador después de cerrar 3 agujeros negros en 10 segundos en el modo de 10 jugadores.' WHERE `ID`=3003; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Se alimenta de tus lágrimas (10 j.)', `Description_Lang_esES`='Derrota a Algalon el Observador en el modo de 10 jugadores sin que ningún miembro de la banda muera ante Algalon en ningún momento durante el tiempo tope de la banda.' WHERE `ID`=3004; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Se alimenta de tus lágrimas (25 j.)', `Description_Lang_esES`='Derrota a Algalon el Observador en el modo de 25 jugadores sin que ningún miembro de la banda muera ante Algalon en ningún momento durante el tiempo tope de la banda.' WHERE `ID`=3005; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La loca de los gatos (10 j.)', `Description_Lang_esES`='Derrota a Auriaya sin destruir sus centinelas del sagrario en el modo de 10 jugadores.' WHERE `ID`=3006; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La loca de los gatos (25 j.)', `Description_Lang_esES`='Derrota a Auriaya sin destruir sus centinelas del sagrario en el modo de 25 jugadores.' WHERE `ID`=3007; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vuélveme loco (10 j.)', `Description_Lang_esES`='Derrota a Yogg-Saron sin que ningún miembro de la banda pierda toda la cordura en el modo de 10 jugadores.' WHERE `ID`=3008; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Daos un beso y haced las paces (10 j.)', `Description_Lang_esES`='Tira un beso a Sara en Ulduar mientras está enfadada contigo en el modo de 10 jugadores.' WHERE `ID`=3009; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vuélveme loco (25 j.)', `Description_Lang_esES`='Derrota a Yogg-Saron sin que ningún miembro de la banda pierda toda la cordura en el modo de 25 jugadores.' WHERE `ID`=3010; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Daos un beso y haced las paces (25 j.)', `Description_Lang_esES`='Tira un beso a Sara en Ulduar mientras está enfadada contigo en el modo de 25 jugadores.' WHERE `ID`=3011; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='No se volverá más antiguo (10 j.)', `Description_Lang_esES`='Derrota a Yogg-Saron en 7 minutos en el modo de 10 jugadores.' WHERE `ID`=3012; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='No se volverá más antiguo (25 j.)', `Description_Lang_esES`='Derrota a Yogg-Saron en 7 minutos en el modo de 25 jugadores.' WHERE `ID`=3013; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Salen de las paredes (10 j.)', `Description_Lang_esES`='Derrota 9 guardianes de Yogg-Saron en 12 segundos en el modo de 10 jugadores.' WHERE `ID`=3014; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='En su hogar espera soñando (10 j.)', `Description_Lang_esES`='Experimenta las 3 visiones de la mente de Yogg-Saron en el modo de 10 jugadores.' WHERE `ID`=3015; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='En su hogar espera soñando (25 j.)', `Description_Lang_esES`='Experimenta las 3 visiones de la mente de Yogg-Saron en el modo de 25 jugadores.' WHERE `ID`=3016; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Salen de las paredes (25 j.)', `Description_Lang_esES`='Derrota 9 guardianes de Yogg-Saron en 12 segundos en el modo de 25 jugadores.' WHERE `ID`=3017; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Emblemas de conquista adquiridos', `Description_Lang_esES`='Emblemas de conquista adquiridos' WHERE `ID`=3018; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Observado (10 j.)', `Description_Lang_esES`='Derrota a Algalon el Observador en el modo de 10 jugadores.' WHERE `ID`=3036; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Observado (25 j.)', `Description_Lang_esES`='Derrota a Algalon el Observador en el modo de 25 jugadores.' WHERE `ID`=3037; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Orbituario (10 j.)', `Description_Lang_esES`='Derrota al Leviatán de llamas con los 4 sistemas de defensa orbital activos en el modo de 10 jugadores.' WHERE `ID`=3056; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Orbituario (25 j.)', `Description_Lang_esES`='Derrota al Leviatán de llamas con 4 sistemas de defensa orbital activos en el modo de 25 jugadores.' WHERE `ID`=3057; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rompecorazones (10 j.)', `Description_Lang_esES`='Derrota al Desarmador XA-002 después de destruir su corazón en el modo de 10 jugadores.' WHERE `ID`=3058; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rompecorazones (25 j.)', `Description_Lang_esES`='Derrota al Desarmador XA-002 después de destruir su corazón en el modo de 25 jugadores.' WHERE `ID`=3059; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Siete vidas (10 j.)', `Description_Lang_esES`='Derrota al defensor feral al tiempo que derrotas a Auriaya en el modo de 10 jugadores.' WHERE `ID`=3076; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Siete vidas (25 j.)', `Description_Lang_esES`='Derrota al defensor feral al tiempo que derrotas a Auriaya en el modo de 25 jugadores.' WHERE `ID`=3077; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vermis de escarcha de Gladiador mortal', `Description_Lang_esES`='Obtén el Vermis de escarcha de Gladiador mortal en la temporada 5 de arenas de Wrath of the Lich King.' WHERE `ID`=3096; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Enanicidio (10 j.)', `Description_Lang_esES`='Destruye 100 defensores de forja de acero en 10 segundos en la Explanada de Hierro de Ulduar en el modo de 10 jugadores.' WHERE `ID`=3097; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Enanicidio (25 j.)', `Description_Lang_esES`='Destruye 100 defensores de forja de acero en 10 segundos en la Explanada de Hierro de Ulduar en el modo de 25 jugadores.' WHERE `ID`=3098; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Heroico: Ejecutor de la muerte', `Description_Lang_esES`='Participante en la primera derrota del reino de Yogg-Saron sin la ayuda de ningún vigilante en el modo de 25 jugadores tras derrotar a la Asamblea de Hierro y a todos los vigilantes en modo difícil.' WHERE `ID`=3117; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hecho leña (25 j.)', `Description_Lang_esES`='Derrota a los ancestros Hojabrillante, Hierrorrama y Cortezapiedra con menos de 15 segundos de diferencia en el modo de 25 jugadores.' WHERE `ID`=3118; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Emalon el Vigía de la Tormenta (10 j.)', `Description_Lang_esES`='Derrota a Emalon el Vigía de la Tormenta en modo de 10 jugadores.' WHERE `ID`=3136; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Emalon el Vigía de la Tormenta (25 j.)', `Description_Lang_esES`='Derrota a Emalon el Vigía de la Tormenta en modo de 25 jugadores.' WHERE `ID`=3137; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un fuego no tan amistoso (10 j.)', `Description_Lang_esES`='Obliga a Mimiron a matar un Robot de asalto con un Golpe de cohete en el modo de 10 jugadores.' WHERE `ID`=3138; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Dos luces en la oscuridad (10 j.)', `Description_Lang_esES`='Derrota a Yogg-Saron con la ayuda de dos o menos vigilantes en el modo de 10 jugadores.' WHERE `ID`=3141; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Val\'anyr, Martillo de los antiguos reyes', `Description_Lang_esES`='Poseedor de Val\'anyr, Martillo de los antiguos reyes.' WHERE `ID`=3142; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tres luces en la oscuridad (10 j.)', `Description_Lang_esES`='Derrota a Yogg-Saron con la ayuda de tres o menos vigilantes en el modo de 10 jugadores.' WHERE `ID`=3157; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Una luz en la oscuridad (10 j.)', `Description_Lang_esES`='Derrota a Yogg-Saron con la ayuda de uno o menos vigilantes en el modo de 10 jugadores.' WHERE `ID`=3158; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Solo en la oscuridad (10 j.)', `Description_Lang_esES`='Derrota a Yogg-Saron sin la ayuda de ningún vigilante en el modo de 10 jugadores.' WHERE `ID`=3159; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tres luces en la oscuridad (25 j.)', `Description_Lang_esES`='Derrota a Yogg-Saron con la ayuda de tres o menos vigilantes en el modo de 25 jugadores.' WHERE `ID`=3161; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Dos luces en la oscuridad (25 j.)', `Description_Lang_esES`='Derrota a Yogg-Saron con la ayuda de dos o menos vigilantes en el modo de 25 jugadores.' WHERE `ID`=3162; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Una luz en la oscuridad (25 j.)', `Description_Lang_esES`='Derrota a Yogg-Saron con la ayuda de uno o menos vigilantes en el modo de 25 jugadores.' WHERE `ID`=3163; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Solo en la oscuridad (25 j.)', `Description_Lang_esES`='Derrota a Yogg-Saron sin la ayuda de ningún vigilante en el modo de 25 jugadores.' WHERE `ID`=3164; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pierde tu ilusión (10 j.)', `Description_Lang_esES`='Derrota a Thorim mientras Sif está presente en el modo de 10 jugadores.' WHERE `ID`=3176; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Toca madera (10 j.)', `Description_Lang_esES`='Derrota a Freya dejando al menos 1 ancestro vivo en el modo de 10 jugadores.' WHERE `ID`=3177; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Toca, toca madera (10 j.)', `Description_Lang_esES`='Derrota a Freya dejando al menos 2 ancestros vivos en el modo de 10 jugadores.' WHERE `ID`=3178; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Toca, toca, toca madera (10 j.)', `Description_Lang_esES`='Derrota a Freya dejando los 3 ancestros vivos en el modo de 10 jugadores.' WHERE `ID`=3179; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bombero (10 j.)', `Description_Lang_esES`='Derrota a Mimiron en el modo de 10 jugadores después de activar su mecanismo de autodestrucción.' WHERE `ID`=3180; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Me encanta el aroma de la saronita por la mañana (10 j.)', `Description_Lang_esES`='Derrota al general Vezax en el modo de 10 jugadores después de derrotar al animus de saronita.' WHERE `ID`=3181; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ya decía yo que este alijo era poco común (10 j.)', `Description_Lang_esES`='Derrota a Hodir antes de que destruya su alijo poco común en el modo de 10 jugadores.' WHERE `ID`=3182; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pierde tu ilusión (25 j.)', `Description_Lang_esES`='Derrota a Thorim mientras Sif está presente en el modo de 25 jugadores.' WHERE `ID`=3183; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ya decía yo que este alijo era poco común (25 j.)', `Description_Lang_esES`='Derrota a Hodir antes de que destruya su alijo poco común en el modo de 25 jugadores.' WHERE `ID`=3184; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Toca madera (25 j.)', `Description_Lang_esES`='Derrota a Freya dejando al menos 1 ancestro vivo en el modo de 25 jugadores.' WHERE `ID`=3185; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Toca, toca madera (25 j.)', `Description_Lang_esES`='Derrota a Freya dejando al menos 2 ancestros vivos en el modo de 25 jugadores.' WHERE `ID`=3186; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Toca, toca, toca madera (25 j.)', `Description_Lang_esES`='Derrota a Freya dejando los 3 ancestros vivos en el modo de 25 jugadores.' WHERE `ID`=3187; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Me encanta el aroma de la saronita por la mañana (25 j.)', `Description_Lang_esES`='Derrota al general Vezax en el modo de 25 jugadores después de derrotar al animus de saronita.' WHERE `ID`=3188; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bombero (25 j.)', `Description_Lang_esES`='Derrota a Mimiron en el modo de 25 jugadores después de activar su mecanismo de autodestrucción.' WHERE `ID`=3189; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Recetas de fundición aprendidas', `Description_Lang_esES`='Recetas de fundición aprendidas' WHERE `ID`=3216; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Marcia y sedal', `Description_Lang_esES`='Completa cada una de las 5 misiones diarias de Marcia Sedal listadas a continuación.' WHERE `ID`=3217; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tortugas hasta al fin', `Description_Lang_esES`='Pesca una tortuga marina en cualquier banco de pesca de Rasganorte.' WHERE `ID`=3218; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Emalon el Vigía de la Tormenta (Conquista del Invierno 25 j.)', `Description_Lang_esES`='Muertes de Emalon el Vigía de la Tormenta (Conquista del Invierno 25 j.)' WHERE `ID`=3236; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ponednos una bomba (25 j.)', `Description_Lang_esES`='Derrota a Mimiron sin que nadie de la banda sea alcanzado por lo siguiente en el modo de 25 jugadores.' WHERE `ID`=3237; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre Hodir (Ulduar 25 j.)', `Description_Lang_esES`='Victorias sobre Hodir (Ulduar 25 j.)' WHERE `ID`=3256; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre Thorim (Ulduar 25 j.)', `Description_Lang_esES`='Victorias sobre Thorim (Ulduar 25 j.)' WHERE `ID`=3257; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre Freya (Ulduar 25 j.)', `Description_Lang_esES`='Victorias sobre Freya (Ulduar 25 j.)' WHERE `ID`=3258; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Defensor celestial', `Description_Lang_esES`='Participante en la primera derrota del reino de Algalon el Observador en el modo de 25 jugadores.' WHERE `ID`=3259; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Cocinar con estilo', `Description_Lang_esES`='Obtén el Gorro de cocinero.' WHERE `ID`=3296; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heraldo de los titanes', `Description_Lang_esES`='Derrota a Algalon el observador en el modo de 10 jugadores sin que nadie en la banda lleve nada de equipo con un nivel superior a los disponibles en Ulduar para 10 jugadores.' WHERE `ID`=3316; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gladiador mortal', `Description_Lang_esES`='Logrado el título de Gladiador mortal.' WHERE `ID`=3336; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sable de Hielo de Cuna del Invierno', `Description_Lang_esES`='Obtén un Sable de Hielo de Cuna del Invierno.' WHERE `ID`=3356; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ravasaurio pellejo venenoso', `Description_Lang_esES`='Obtén un ravasaurio pellejo venenoso.' WHERE `ID`=3357; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gladiador furioso', `Description_Lang_esES`='Logrado el título de Gladiador furioso.' WHERE `ID`=3436; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Una fiesta de muerte', `Description_Lang_esES`='Baila con Catrina para convertirte en un esqueleto durante la Festividad de los Muertos.' WHERE `ID`=3456; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El botín de la capitana', `Description_Lang_esES`='Bebe con la capitana aterradora DeMeza para unirte a su tripulación durante el Día de los Piratas.' WHERE `ID`=3457; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Peregrino', `Description_Lang_esES`='Completa los logros de la Generosidad del Peregrino listados a continuación.' WHERE `ID`=3478; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Una montura de fiesta veloz', `Description_Lang_esES`='Consigue una montura épica de la Fiesta de la cerveza.' WHERE `ID`=3496; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes en Ulduar', `Description_Lang_esES`='Muertes en Ulduar' WHERE `ID`=3516; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El soldado marino', `Description_Lang_esES`='Propietario orgulloso del huevo de múrloc pesado de Grunty de la Blizzcon 2009.' WHERE `ID`=3536; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Panza del peregrino', `Description_Lang_esES`='Consigue El espíritu de compartir de un festín de mesa generosa completo en cada capital de la Alianza.' WHERE `ID`=3556; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Panza del peregrino', `Description_Lang_esES`='Consigue El espíritu de compartir de un festín de mesa generosa completo en cada capital de la Horda.' WHERE `ID`=3557; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Compartir es querer', `Description_Lang_esES`='Pasa un plato de cada en una mesa generosa.' WHERE `ID`=3558; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Acechapavos', `Description_Lang_esES`='Destroza a esos sucios y escurridizos pícaros con tu pavopistola.' WHERE `ID`=3559; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ahora estamos cocinando', `Description_Lang_esES`='Cocina cada plato de la Generosidad del Peregrino una vez.' WHERE `ID`=3576; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ahora estamos cocinando', `Description_Lang_esES`='Cocina cada plato de la Generosidad del Peregrino una vez.' WHERE `ID`=3577; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pavonator', `Description_Lang_esES`='Caza suficientes pavos salvajes suficientemente rápido como para obtener triunfo de pavos.' WHERE `ID`=3578; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='"¡GUERRA DE COMIDA!"', `Description_Lang_esES`='Tira comida a la cabeza de un compañero de festín en una mesa generosa.' WHERE `ID`=3579; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Riesgo del peregrino', `Description_Lang_esES`='Mientras llevas puesto un vestido, toga o atuendo de peregrino, siéntate en la mesa generosa de cada una de las capitales enemigas.' WHERE `ID`=3580; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Riesgo del peregrino', `Description_Lang_esES`='Mientras llevas puesto un vestido, toga o atuendo de peregrino, siéntate en la mesa generosa de cada una de las capitales enemigas.' WHERE `ID`=3581; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hora del pavo de Terokkar', `Description_Lang_esES`='Derrota al Rey Garra Ikiss mientras llevas puesto un sombrero de peregrino y un vestido, toga o atuendo de peregrino.' WHERE `ID`=3582; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Progreso del peregrino', `Description_Lang_esES`='Completa todas las diarias de la Generosidad del Peregrino.' WHERE `ID`=3596; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Progreso del peregrino', `Description_Lang_esES`='Completa todas las diarias de la Generosidad del Peregrino.' WHERE `ID`=3597; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Murkimus el Gladiador', `Description_Lang_esES`='Propietario orgulloso de la mascota Murkimus el Gladiador.' WHERE `ID`=3618; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tigre de jade', `Description_Lang_esES`='Conectado mientras se regalaban tigres de jade.' WHERE `ID`=3636; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Peregrino', `Description_Lang_esES`='Completa los logros de la Generosidad del Peregrino listados a continuación.' WHERE `ID`=3656; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Confidente de plata', `Description_Lang_esES`='Alcanza la reputación Exaltado con El Pacto de Plata y el derecho a representar a una ciudad en el Torneo Argenta.' WHERE `ID`=3676; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los Atracasol', `Description_Lang_esES`='Alcanza la reputación Exaltado con Los Atracasol y el derecho a representar a una ciudad en el Torneo Argenta.' WHERE `ID`=3677; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Arriba el poni!', `Description_Lang_esES`='Compra y usa un poni Argenta a la dama Evniki Kapsalis, la intendente de la Cruzada.' WHERE `ID`=3736; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vermis de escarcha de Gladiador furioso', `Description_Lang_esES`='Obtén la vermis de escarcha de Gladiador furioso de la temporada 6 de arenas de Wrath of the Lich King.' WHERE `ID`=3756; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vermis de escarcha de Gladiador incansable', `Description_Lang_esES`='Consigue la vermis de escarcha de Gladiador incansable de la temporada 7 de arenas de Wrath of the Lich King.' WHERE `ID`=3757; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gladiador incansable', `Description_Lang_esES`='Logrado el título de Gladiador incansable.' WHERE `ID`=3758; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victoria en la Isla de la Conquista', `Description_Lang_esES`='Gana en la Isla de la Conquista.' WHERE `ID`=3776; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veterano de la Isla de la Conquista', `Description_Lang_esES`='Consigue 100 victorias en la Isla de la Conquista.' WHERE `ID`=3777; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Prueba del Campeón', `Description_Lang_esES`='Derrota a los jefes de la Prueba del Campeón.' WHERE `ID`=3778; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lumbago (10 j.)', `Description_Lang_esES`='Derrota a Aullahielo con al menos 2 snóbolds restantes en el modo de 10 jugadores.' WHERE `ID`=3797; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El temple lo arreglará (10 j.)', `Description_Lang_esES`='Mata a todos los héroes enemigos en menos de 60 segundos desde que muera el primero en el modo de 10 jugadores.' WHERE `ID`=3798; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sal y pimienta (10 j.)', `Description_Lang_esES`='Derrota a las Gemelas Val\'kyr en tres minutos o menos en el modo de 10 jugadores.' WHERE `ID`=3799; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El rey traidor (10 j.)', `Description_Lang_esES`='Mata a 40 escarabajos de enjambre en 30 segundos en el modo de 10 jugadores.' WHERE `ID`=3800; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Confesora Argenta', `Description_Lang_esES`='En distintas visitas a la Prueba del Campeón, obtén crédito por derrotar a la confesora Argenta Cabelloclaro tras suprimir cinco recuerdos del pasado distintos en dificultad heroica.' WHERE `ID`=3802; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El aplastacaras', `Description_Lang_esES`='Derrota a Eadric el Puro en la Prueba del Campeón con su propio martillo en dificultad heroica.' WHERE `ID`=3803; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Podría ser peor', `Description_Lang_esES`='Derrota a El Caballero Negro en la Prueba del Campeón en dificultad heroica sin que ningún miembro del grupo sea alcanzado por una Explosión de necrófago.' WHERE `ID`=3804; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un tributo a la habilidad (10 j.)', `Description_Lang_esES`='En la Prueba del Gran Cruzado, consigue un cofre de tributo con 25 intentos restantes en el modo de 10 jugadores.' WHERE `ID`=3808; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un tributo a la habilidad loca (10 j.)', `Description_Lang_esES`='En la Prueba del Gran Cruzado, consigue un cofre de tributo con 45 intentos restantes en el modo de 10 jugadores.' WHERE `ID`=3809; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un tributo a la locura (10 j.)', `Description_Lang_esES`='En la Prueba del Gran Cruzado, consigue un cofre de tributo con 50 intentos restantes en el modo de 10 jugadores.' WHERE `ID`=3810; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Llamada de la Gran Cruzada (25 j.)', `Description_Lang_esES`='Derrota a todos los jefes de la Prueba del Gran Cruzado en el modo heroico de 25 jugadores.' WHERE `ID`=3812; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Lumbago (25 j.)', `Description_Lang_esES`='Derrota a Aullahielo con al menos 4 snóbolds restantes en el modo de 25 jugadores.' WHERE `ID`=3813; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El temple lo arreglará (25 j.)', `Description_Lang_esES`='Mata a todos los héroes enemigos en menos de 60 segundos desde que muera el primero en el modo de 25 jugadores.' WHERE `ID`=3814; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sal y pimienta (25 j.)', `Description_Lang_esES`='Derrota a las Gemelas Val\'kyr en tres minutos o menos en el modo de 25 jugadores.' WHERE `ID`=3815; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El rey traidor (25 j.)', `Description_Lang_esES`='Mata a 40 escarabajos de enjambre en 30 segundos en el modo de 25 jugadores.' WHERE `ID`=3816; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un tributo a la habilidad (25 j.)', `Description_Lang_esES`='En la Prueba del Gran Cruzado, consigue un cofre de tributo con 25 intentos restantes en el modo de 25 jugadores.' WHERE `ID`=3817; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un tributo a la habilidad loca (25 j.)', `Description_Lang_esES`='En la Prueba del Gran Cruzado, consigue un cofre de tributo con 45 intentos restantes en el modo de 25 jugadores.' WHERE `ID`=3818; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un tributo a la locura (25 j.)', `Description_Lang_esES`='En la Prueba del Gran Cruzado, consigue un cofre de tributo con 50 intentos restantes en el modo de 25 jugadores.' WHERE `ID`=3819; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Koralon el Vigía de las Llamas (10 j.)', `Description_Lang_esES`='Derrota a Koralon el Vigía de las Llamas en el modo de 10 jugadores.' WHERE `ID`=3836; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Koralon el Vigía de las Llamas (25 j.)', `Description_Lang_esES`='Derrota a Koralon el Vigía de las Llamas en el modo de 25 jugadores.' WHERE `ID`=3837; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Emblema de mazmorra y banda', `Description_Lang_esES`='Despoja un emblema de heroísmo, valor, conquista, triunfo o escarcha.' WHERE `ID`=3838; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='25 emblemas de mazmorras y bandas', `Description_Lang_esES`='Despoja 25 emblemas de heroísmo, valor, conquista, triunfo o escarcha.' WHERE `ID`=3839; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='50 emblemas de mazmorras y bandas', `Description_Lang_esES`='Despoja 50 emblemas de heroísmo, valor, conquista, triunfo o escarcha.' WHERE `ID`=3840; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='100 emblemas de mazmorras y bandas', `Description_Lang_esES`='Despoja 100 emblemas de heroísmo, valor, conquista, triunfo o escarcha.' WHERE `ID`=3841; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='250 emblemas de mazmorras y bandas', `Description_Lang_esES`='Despoja 250 emblemas de heroísmo, valor, conquista, triunfo o escarcha.' WHERE `ID`=3842; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='500 emblemas de mazmorras y bandas', `Description_Lang_esES`='Despoja 500 emblemas de heroísmo, valor, conquista, triunfo o escarcha.' WHERE `ID`=3843; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='1000 emblemas de mazmorras y bandas', `Description_Lang_esES`='Despoja 1000 emblemas de heroísmo, valor, conquista, triunfo o escarcha.' WHERE `ID`=3844; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Estrella de la Isla de la Conquista', `Description_Lang_esES`='En una sola batalla en la Isla de la Conquista, asalta una base, defiende una base, destruye un vehículo y mata a un jugador.' WHERE `ID`=3845; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Abundancia de recursos', `Description_Lang_esES`='Gana en la Isla de la Conquista mientras tu equipo controla la Cantera y la Refinería.' WHERE `ID`=3846; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Garaje para cuatro', `Description_Lang_esES`='Controla los siguientes vehículos en la Isla de la Conquista:' WHERE `ID`=3847; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='A-bombi-nable', `Description_Lang_esES`='Usa 5 bombas de seforio en las puertas del enemigo en una sola batalla en la Isla de la Conquista.' WHERE `ID`=3848; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='A-bombi-nación', `Description_Lang_esES`='Usa 5 bombas de seforio enormes en las puertas del enemigo en una sola batalla en la Isla de la Conquista.' WHERE `ID`=3849; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Acribillados', `Description_Lang_esES`='Destruye 10 vehículos y 100 jugadores con torretas en la Isla de la Conquista.' WHERE `ID`=3850; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mío', `Description_Lang_esES`='Gana en la Isla de la Conquista mientras controlas la Cantera, la Refinería, el Astillero, el Taller de Asedio y el Hangar.' WHERE `ID`=3851; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Corta el cable azul... ¡No! ¡El rojo!', `Description_Lang_esES`='Desarma 25 bombas en la Isla de la Conquista.' WHERE `ID`=3852; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Por toda la isla', `Description_Lang_esES`='En una sola batalla en la Isla de la Conquista, mata a un jugador en cada uno de estos lugares:' WHERE `ID`=3853; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Por la puerta trasera', `Description_Lang_esES`='Entra en el patio enemigo mientras sus puertas aún resisten en la Isla de la Conquista.' WHERE `ID`=3854; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tumba de guja', `Description_Lang_esES`='Mata a 10 jugadores con un lanzagujas sin morir en la Isla de la Conquista.' WHERE `ID`=3855; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Derbi demoledor', `Description_Lang_esES`='Destruye los siguientes vehículos en la Isla de la Conquista.' WHERE `ID`=3856; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de la Isla de la Conquista', `Description_Lang_esES`='Completa los logros de la Isla de la Conquista listados a continuación.' WHERE `ID`=3857; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='1500 emblemas de mazmorras y bandas', `Description_Lang_esES`='Despoja 1500 emblemas de heroísmo, valor, conquista, triunfo o escarcha.' WHERE `ID`=3876; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Pantera de ónice', `Description_Lang_esES`='Propietario orgulloso de la pantera de ónice.' WHERE `ID`=3896; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Llamada de la Cruzada (25 j.)', `Description_Lang_esES`='Derrota a todos los jefes de la Prueba del Cruzado en el modo de 25 jugadores.' WHERE `ID`=3916; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Llamada de la Cruzada (10 j.)', `Description_Lang_esES`='Derrota a todos los jefes de la Prueba del Cruzado en el modo de 10 jugadores.' WHERE `ID`=3917; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Llamada de la Gran Cruzada (10 j.)', `Description_Lang_esES`='Derrota a todos los jefes de la Prueba del Gran Cruzado en el modo heroico de 10 jugadores.' WHERE `ID`=3918; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='No uno, sino dos jormungar (10 j.)', `Description_Lang_esES`='Derrota a Fauceácida y a Aterraescama con una diferencia de 10 segundos en el modo de 10 jugadores.' WHERE `ID`=3936; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='No uno, sino dos jormungar (25 j.)', `Description_Lang_esES`='Derrota a Fauceácida y a Aterraescama con una diferencia de 10 segundos en el modo de 25 jugadores.' WHERE `ID`=3937; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Maestro de la Isla de la Conquista', `Description_Lang_esES`='Completa los logros de la Isla de la Conquista listados a continuación.' WHERE `ID`=3957; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='360 grados de púas de dolor (10 j.)', `Description_Lang_esES`='Derrota a Lord Jaraxxus mientras sigan vivas al menos 2 maestras del dolor en el modo de 10 jugadores.' WHERE `ID`=3996; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='360 grados de púas de dolor (25 j.)', `Description_Lang_esES`='Derrota a Lord Jaraxxus mientras sigan vivas al menos 2 maestras del dolor en el modo de 25 jugadores.' WHERE `ID`=3997; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tierra, viento y fuego (10 j.)', `Description_Lang_esES`='Derrota a Archavon el Vigía de Piedra, Emalon el Vigía de la Tormenta y Koralon el Vigía de las Llamas con una diferencia de 60 segundos de uno a otro en el modo de 10 jugadores.' WHERE `ID`=4016; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tierra, viento y fuego (25 j.)', `Description_Lang_esES`='Derrota a Archavon el Vigía de Piedra, Emalon el Vigía de la Tormenta y Koralon el Vigía de las Llamas con una diferencia de 60 segundos de uno a otro en el modo de 25 jugadores.' WHERE `ID`=4017; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre el Campeón cazador (Prueba del Campeón)', `Description_Lang_esES`='Victorias sobre el Campeón cazador (Prueba del Campeón)' WHERE `ID`=4018; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre el Campeón cazador (Prueba del Campeón heroica)', `Description_Lang_esES`='Victorias sobre el Campeón cazador (Prueba del Campeón heroica)' WHERE `ID`=4019; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre la confesora Argenta Cabelloclaro (Prueba del Campeón)', `Description_Lang_esES`='Victorias sobre la confesora Argenta Cabelloclaro (Prueba del Campeón)' WHERE `ID`=4022; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre la confesora Argenta Cabelloclaro (Prueba del Campeón heroica)', `Description_Lang_esES`='Victorias sobre la confesora Argenta Cabelloclaro (Prueba del Campeón heroica)' WHERE `ID`=4023; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre Eadric el Puro (Prueba del Campeón)', `Description_Lang_esES`='Victorias sobre Eadric el Puro (Prueba del Campeón)' WHERE `ID`=4024; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre Eadric el Puro (Prueba del Campeón heroica)', `Description_Lang_esES`='Victorias sobre Eadric el Puro (Prueba del Campeón heroica)' WHERE `ID`=4025; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de El Caballero Negro (Prueba del Campeón)', `Description_Lang_esES`='Muertes de El Caballero Negro (Prueba del Campeón)' WHERE `ID`=4026; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de El Caballero Negro (Prueba del Campeón heroica)', `Description_Lang_esES`='Muertes de El Caballero Negro (Prueba del Campeón heroica)' WHERE `ID`=4027; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre las bestias de Rasganorte (Prueba del Cruzado 10 j.)', `Description_Lang_esES`='Victorias sobre las bestias de Rasganorte (Prueba del Cruzado 10 j.)' WHERE `ID`=4028; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre las bestias de Rasganorte (Prueba del Gran Cruzado 25 j.)', `Description_Lang_esES`='Victorias sobre las bestias de Rasganorte (Prueba del Gran Cruzado 25 j.)' WHERE `ID`=4029; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre las bestias de Rasganorte (Prueba del Gran Cruzado 10 j.)', `Description_Lang_esES`='Victorias sobre las bestias de Rasganorte (Prueba del Gran Cruzado 10 j.)' WHERE `ID`=4030; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre las bestias de Rasganorte (Prueba del Cruzado 25 j.)', `Description_Lang_esES`='Victorias sobre las bestias de Rasganorte (Prueba del Cruzado 25 j.)' WHERE `ID`=4031; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Lord Jaraxxus (Prueba del Cruzado 10 j.)', `Description_Lang_esES`='Muertes de Lord Jaraxxus (Prueba del Cruzado 10 j.)' WHERE `ID`=4032; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Lord Jaraxxus (Prueba del Gran Cruzado 10 j.)', `Description_Lang_esES`='Muertes de Lord Jaraxxus (Prueba del Gran Cruzado 10 j.)' WHERE `ID`=4033; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Lord Jaraxxus (Prueba del Cruzado 25 j.)', `Description_Lang_esES`='Muertes de Lord Jaraxxus (Prueba del Cruzado 25 j.)' WHERE `ID`=4034; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Lord Jaraxxus (Prueba del Gran Cruzado 25 j.)', `Description_Lang_esES`='Muertes de Lord Jaraxxus (Prueba del Gran Cruzado 25 j.)' WHERE `ID`=4035; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre los campeones de la facción (Prueba del Cruzado 10 j.)', `Description_Lang_esES`='Victorias sobre los campeones de la facción (Prueba del Cruzado 10 j.)' WHERE `ID`=4036; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre los campeones de la facción (Prueba del Gran Cruzado 10 j.)', `Description_Lang_esES`='Victorias sobre los campeones de la facción (Prueba del Gran Cruzado 10 j.)' WHERE `ID`=4037; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre los campeones de la facción (Prueba del Cruzado 25 j.)', `Description_Lang_esES`='Victorias sobre los campeones de la facción (Prueba del Cruzado 25 j.)' WHERE `ID`=4038; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre los campeones de la facción (Prueba del Gran Cruzado 25 j.)', `Description_Lang_esES`='Victorias sobre los campeones de la facción (Prueba del Gran Cruzado 25 j.)' WHERE `ID`=4039; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de las Gemelas Val\'kyr (Prueba del Cruzado 10 j.)', `Description_Lang_esES`='Muertes de las Gemelas Val\'kyr (Prueba del Cruzado 10 j.)' WHERE `ID`=4040; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de las Gemelas Val\'kyr (Prueba del Gran Cruzado 10 j.)', `Description_Lang_esES`='Muertes de las Gemelas Val\'kyr (Prueba del Gran Cruzado 10 j.)' WHERE `ID`=4041; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de las Gemelas Val\'kyr (Prueba del Cruzado 25 j.)', `Description_Lang_esES`='Muertes de las Gemelas Val\'kyr (Prueba del Cruzado 25 j.)' WHERE `ID`=4042; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de las Gemelas Val\'kyr (Prueba del Gran Cruzado 25 j.)', `Description_Lang_esES`='Muertes de las Gemelas Val\'kyr (Prueba del Gran Cruzado 25 j.)' WHERE `ID`=4043; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veces que has completado la Prueba del Cruzado (10 j.)', `Description_Lang_esES`='Veces que has completado la Prueba del Cruzado (10 j.)' WHERE `ID`=4044; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veces que has completado la Prueba del Gran Cruzado (10 j.)', `Description_Lang_esES`='Veces que has completado la Prueba del Gran Cruzado (10 j.)' WHERE `ID`=4045; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veces que has completado la Prueba del Cruzado (25 j.)', `Description_Lang_esES`='Veces que has completado la Prueba del Cruzado (25 j.)' WHERE `ID`=4046; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Veces que has completado la Prueba del Gran Cruzado (25 j.)', `Description_Lang_esES`='Veces que has completado la Prueba del Gran Cruzado (25 j.)' WHERE `ID`=4047; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre el Campeón mago (Prueba del Campeón)', `Description_Lang_esES`='Victorias sobre el Campeón mago (Prueba del Campeón)' WHERE `ID`=4048; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre el Campeón mago (Prueba del Campeón heroica)', `Description_Lang_esES`='Victorias sobre el Campeón mago (Prueba del Campeón heroica)' WHERE `ID`=4049; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre el Campeón pícaro (Prueba del Campeón)', `Description_Lang_esES`='Victorias sobre el Campeón pícaro (Prueba del Campeón)' WHERE `ID`=4050; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre el Campeón pícaro (Prueba del Campeón heroica)', `Description_Lang_esES`='Victorias sobre el Campeón pícaro (Prueba del Campeón heroica)' WHERE `ID`=4051; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre el Campeón chamán (Prueba del Campeón)', `Description_Lang_esES`='Victorias sobre el Campeón chamán (Prueba del Campeón)' WHERE `ID`=4052; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre el Campeón chamán (Prueba del Campeón heroica)', `Description_Lang_esES`='Victorias sobre el Campeón chamán (Prueba del Campeón heroica)' WHERE `ID`=4053; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre el Campeón guerrero (Prueba del Campeón)', `Description_Lang_esES`='Victorias sobre el Campeón guerrero (Prueba del Campeón)' WHERE `ID`=4054; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre el Campeón guerrero (Prueba del Campeón heroica)', `Description_Lang_esES`='Victorias sobre el Campeón guerrero (Prueba del Campeón heroica)' WHERE `ID`=4055; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Koralon el Vigía de las Llamas (Conquista del Invierno 10 j.)', `Description_Lang_esES`='Muertes de Koralon el Vigía de las Llamas (Conquista del Invierno 10 j.)' WHERE `ID`=4074; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Koralon el Vigía de las Llamas (Conquista del Invierno 25 j.)', `Description_Lang_esES`='Muertes de Koralon el Vigía de las Llamas (Conquista del Invierno 25 j.)' WHERE `ID`=4075; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! Gran Cruzado', `Description_Lang_esES`='Participante de la primera conquista del reino de la Prueba del Gran Cruzado con 50 intentos restantes en el modo de 25 jugadores.' WHERE `ID`=4078; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un tributo a la inmortalidad', `Description_Lang_esES`='En la Prueba del Gran Cruzado, consigue un cofre de tributo con 50 intentos restantes sin que muera ningún jugador en los encuentros contra los jefes en el modo de 25 jugadores.' WHERE `ID`=4079; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un tributo a la locura entregada', `Description_Lang_esES`='Cumple los criterios de Un tributo a la locura sin que ningún jugador haya usado un objeto que solo se pueda obtener en el Coliseo de 25 jugadores, ni un objeto más poderoso.' WHERE `ID`=4080; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Batallas en la Isla de la Conquista', `Description_Lang_esES`='Batallas en la Isla de la Conquista' WHERE `ID`=4096; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias en la Isla de la Conquista', `Description_Lang_esES`='Victorias en la Isla de la Conquista' WHERE `ID`=4097; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Un tributo a la inmortalidad', `Description_Lang_esES`='En la Prueba del Gran Cruzado, consigue un cofre de tributo con 50 intentos restantes sin que muera ningún jugador en los encuentros contra los jefes en el modo de 25 jugadores.' WHERE `ID`=4156; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Abundancia de recursos', `Description_Lang_esES`='Gana en la Isla de la Conquista mientras tu equipo controla la Cantera y la Refinería.' WHERE `ID`=4176; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mío', `Description_Lang_esES`='Gana en la Isla de la Conquista mientras controlas la Cantera, la Refinería, el Astillero, el Taller de Asedio y el Hangar.' WHERE `ID`=4177; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Derbi demoledor', `Description_Lang_esES`='Destruye los siguientes vehículos en la Isla de la Conquista.' WHERE `ID`=4256; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Prueba del Campeón', `Description_Lang_esES`='Derrota a los jefes de la Prueba del Campeón.' WHERE `ID`=4296; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Prueba del Campeón', `Description_Lang_esES`='Derrota a los jefes de la Prueba del Campeón en dificultad heroica.' WHERE `ID`=4297; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Prueba del Campeón', `Description_Lang_esES`='Derrota a los jefes de la Prueba del Campeón en dificultad heroica.' WHERE `ID`=4298; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='2500 emblemas de mazmorras y bandas', `Description_Lang_esES`='Despoja 2500 emblemas de heroísmo, valor, conquista, triunfo o escarcha.' WHERE `ID`=4316; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Guarida de Onyxia (10 j.)', `Description_Lang_esES`='Derrota a Onyxia en el modo de 10 jugadores.' WHERE `ID`=4396; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Guarida de Onyxia (25 j.)', `Description_Lang_esES`='Derrota a Onyxia en el modo de 25 jugadores.' WHERE `ID`=4397; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='5º aniversario de WoW', `Description_Lang_esES`='Conectado durante el 5º aniversario de WoW.' WHERE `ID`=4400; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Más daño! (10 j.)', `Description_Lang_esES`='Derrota a Onyxia en menos de 5 minutos en el modo de 10 jugadores.' WHERE `ID`=4402; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Qué de vástagos! ¡Haz algo! (10 j.)', `Description_Lang_esES`='Haz que 50 vástagos de Onyxia salgan del cascarón durante 10 segundos mientras Onyxia levanta el vuelo, y después derrótala en el modo de 10 jugadores.' WHERE `ID`=4403; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Su aliento ahora es más profundo (10 j.)', `Description_Lang_esES`='Derrota a Onyxia sin que nadie reciba daño de Aliento profundo en el modo de 10 jugadores.' WHERE `ID`=4404; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Más daño! (25 j.)', `Description_Lang_esES`='Derrota a Onyxia en menos de 5 minutos en el modo de 25 jugadores.' WHERE `ID`=4405; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Qué de vástagos! ¡Haz algo! (25 j.)', `Description_Lang_esES`='Haz que 50 vástagos de Onyxia salgan del cascarón durante 10 segundos mientras Onyxia levanta el vuelo, y después derrótala en el modo de 25 jugadores.' WHERE `ID`=4406; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Su aliento ahora es más profundo (25 j.)', `Description_Lang_esES`='Derrota a Onyxia sin que nadie reciba daño de Aliento profundo en el modo de 25 jugadores.' WHERE `ID`=4407; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rey del Rifle', `Description_Lang_esES`='Acribilla a los líderes enemigos listados a continuación.' WHERE `ID`=4436; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rey del Rifle', `Description_Lang_esES`='Acribilla a los líderes enemigos listados a continuación.' WHERE `ID`=4437; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mazmorras aleatorias (normales) de Lich King completadas', `Description_Lang_esES`='Mazmorras normales de Lich King con BDG aleatoria completadas' WHERE `ID`=4456; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Buscar más', `Description_Lang_esES`='Utiliza la herramienta buscador de mazmorras para acabar mazmorras heroicas aleatorias hasta que te hayas agrupado con 10 jugadores aleatorios en total.' WHERE `ID`=4476; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Buscar mucho más', `Description_Lang_esES`='Utiliza la herramienta buscador de mazmorras para acabar mazmorras heroicas aleatorias hasta que te hayas agrupado con 50 jugadores aleatorios en total.' WHERE `ID`=4477; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Buscar muchísimo más', `Description_Lang_esES`='Utiliza la herramienta buscador de mazmorras para acabar mazmorras heroicas aleatorias hasta que te hayas agrupado con 100 jugadores aleatorios en total.' WHERE `ID`=4478; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Toma, 9000 puntazos!', `Description_Lang_esES`='Consigue más de 9000 puntos de logros.' WHERE `ID`=4496; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Forja de Almas', `Description_Lang_esES`='Derrota a los jefes de La Forja de Almas.' WHERE `ID`=4516; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Foso de Saron', `Description_Lang_esES`='Derrota a los jefes de El Foso de Saron.' WHERE `ID`=4517; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Las Cámaras de Reflexión', `Description_Lang_esES`='Derrota a los jefes de Las Cámaras de Reflexión.' WHERE `ID`=4518; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: La Forja de Almas', `Description_Lang_esES`='Derrota a los jefes de La Forja de Almas en dificultad heroica.' WHERE `ID`=4519; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: El Foso de Saron', `Description_Lang_esES`='Derrota a los jefes de El Foso de Saron en dificultad heroica.' WHERE `ID`=4520; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Las Cámaras de Reflexión', `Description_Lang_esES`='Derrota a los jefes de Las Cámaras de Reflexión en dificultad heroica.' WHERE `ID`=4521; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Ay mi alma', `Description_Lang_esES`='Derrota a Bronjahm en La Forja de Almas en dificultad heroica dejando vivos al menos a 4 trozos de alma corruptos.' WHERE `ID`=4522; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tres caras', `Description_Lang_esES`='Derrota al Devoraalmas en La Forja de Almas en dificultad heroica evitando que lance Explosión fantasma.' WHERE `ID`=4523; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Solo once campanadas', `Description_Lang_esES`='Derrota al maestro de forja Gargelus en el Foso de Saron en dificultad heroica antes de que un jugador acumule 11 veces el efecto Escarcha permanente.' WHERE `ID`=4524; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='No mires hacia arriba', `Description_Lang_esES`='Limpia la cámara antes del Señor de la Plaga Tyrannus en El Foso de Saron en dificultad heroica sin que nadie reciba daño de carámbanos en el primer intento.' WHERE `ID`=4525; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='No nos retiramos: avanzamos en otra dirección', `Description_Lang_esES`='Escapa del Rey Exánime en menos de 6 minutos.' WHERE `ID`=4526; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Las Cámaras de Alaescarcha (10 j.)', `Description_Lang_esES`='Derrota a los jefes de Las Cámaras de Alaescarcha en la Ciudadela de la Corona de Hielo en el modo de 10 jugadores.' WHERE `ID`=4527; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los Talleres de la Peste (10 j.)', `Description_Lang_esES`='Derrota a los jefes de Los Talleres de la Peste en la Ciudadela de la Corona de Hielo en el modo de 10 jugadores.' WHERE `ID`=4528; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Sala Carmesí (10 j.)', `Description_Lang_esES`='Derrota a los jefes de La Sala Carmesí en la Ciudadela de la Corona de Hielo en el modo de 10 jugadores.' WHERE `ID`=4529; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Trono Helado (10 j.)', `Description_Lang_esES`='Derrota al Rey Exánime en la Ciudadela de la Corona de Hielo en el modo de 10 jugadores.' WHERE `ID`=4530; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Asaltar la Ciudadela (10 j.)', `Description_Lang_esES`='Derrota los cuatro primeros jefes de la Ciudadela de la Corona de Hielo en el modo de 10 jugadores.' WHERE `ID`=4531; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La caída del Rey Exánime (10 j.)', `Description_Lang_esES`='Derrota a todos los jefes de la Ciudadela de la Corona de Hielo en el modo de 10 jugadores.' WHERE `ID`=4532; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Deshuesado (10 j.)', `Description_Lang_esES`='Derrota a Lord Tuétano sin que ningún miembro de la banda permanezca empalado más de 8 segundos en el modo de 10 jugadores.' WHERE `ID`=4534; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Full (10 j.)', `Description_Lang_esES`='Derrota a Lady Susurramuerte con al menos cinco tipos diferentes de cultores activos cuando muere en el modo de 10 jugadores.' WHERE `ID`=4535; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Al pasar la barca (10 j.)', `Description_Lang_esES`='Vence en la batalla de las naves de guerra sin que ningún miembro de la banda vaya a la nave enemiga más de dos veces en el modo de 10 jugadores.' WHERE `ID`=4536; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mira la que he montado (10 j.)', `Description_Lang_esES`='Derrota al Libramorte antes de que se lance Marca del campeón caído tres veces en el modo de 10 jugadores.' WHERE `ID`=4537; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bailando con mocos (10 j.)', `Description_Lang_esES`='Derrota a Carapútrea sin que ningún moco grande lance Deflagración de moco inestable en el modo de 10 jugadores.' WHERE `ID`=4538; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Devórame otra vez (10 j.)', `Description_Lang_esES`='Derrota a la Reina de Sangre Lana\'thel una vez siendo vampiro y otra sin convertirte en vampiro en el modo de 10 jugadores.' WHERE `ID`=4539; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mazmorras aleatorias (heroicas) de Lich King completadas', `Description_Lang_esES`='Mazmorras heroicas de Lich King con BDG aleatoria completadas' WHERE `ID`=4556; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Primero del reino! La caída del Rey Exánime', `Description_Lang_esES`='Participante en la primera derrota del reino del Rey Exánime en el modo de 25 jugadores heroico.' WHERE `ID`=4576; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sin vacunas (10 j.)', `Description_Lang_esES`='Derrota a Panzachancro sin que ningún jugador de tu banda haya acumulado el efecto de Inoculado 3 veces en el modo de 10 jugadores.' WHERE `ID`=4577; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Náuseas, acidez, indigestión (10 j.)', `Description_Lang_esES`='Derrota al Profesor Putricidio sin usar Mocos regurgitados sobre la abominación en el modo de 10 jugadores.' WHERE `ID`=4578; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sereno (10 j.)', `Description_Lang_esES`='Entra en todos los portales que genere Valthiria Caminasueños antes de restaurarle toda la salud en el modo de 10 jugadores.' WHERE `ID`=4579; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sacúdete (10 j.)', `Description_Lang_esES`='Derrota a Sindragosa en el modo de 10 jugadores sin que ningún miembro de tu banda acumule más de 5 veces el efecto de Sacudida mística.' WHERE `ID`=4580; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hasta arriba de espíritus malvados (10 j.)', `Description_Lang_esES`='Mata a todos los espíritus malvados que se generen antes de que exploten y después derrota al Rey Exánime en el modo de 10 jugadores.' WHERE `ID`=4581; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El hombre que susurraba a los orbes (10 j.)', `Description_Lang_esES`='Derrota al Consejo de Sangre sin que ningún miembro de la banda reciba más de 23000 p. de daño con hechizos de un solo golpe en el modo de 10 jugadores.' WHERE `ID`=4582; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La perdición del Rey caído', `Description_Lang_esES`='Derrota al Rey Exánime en la Ciudadela de la Corona de Hielo en el modo de 10 jugadores heroico.' WHERE `ID`=4583; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Luz del Alba', `Description_Lang_esES`='Derrota al Rey Exánime en la Ciudadela de la Corona de Hielo en el modo de 25 jugadores heroico.' WHERE `ID`=4584; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Toravon el Vigía de Hielo (10 j.)', `Description_Lang_esES`='Derrota a Toravon el Vigía de Hielo en el modo de 10 jugadores.' WHERE `ID`=4585; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Toravon el Vigía de Hielo (25 j.)', `Description_Lang_esES`='Derrota a Toravon el Vigía de Hielo en el modo de 25 jugadores.' WHERE `ID`=4586; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Espada prometida', `Description_Lang_esES`='Recupera la empuñadura perdida de Quel\'Delar, sácala de su lugar de descanso, vuelve a forjarla, purifícala en La Fuente del Sol y preséntala para obtener tu justa recompensa.' WHERE `ID`=4596; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Trono Helado (25 j.)', `Description_Lang_esES`='Derrota al Rey Exánime en la Ciudadela de la Corona de Hielo en el modo de 25 jugadores.' WHERE `ID`=4597; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Veredicto Cinéreo', `Description_Lang_esES`='Alcanza la reputación Exaltado con El Veredicto Cinéreo.' WHERE `ID`=4598; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Gladiador colérico', `Description_Lang_esES`='Logrado el título de Gladiador colérico.' WHERE `ID`=4599; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Vermis de escarcha de Gladiador colérico', `Description_Lang_esES`='Consigue la vermis de escarcha de Gladiador colérico de la temporada 8 de arenas de Wrath of the Lich King.' WHERE `ID`=4600; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hemos estado esperando mucho tiempo (10 j.)', `Description_Lang_esES`='Permite que Peste necrótica se acumule 30 veces antes de derrotar al Rey Exánime en el modo de 10 jugadores.' WHERE `ID`=4601; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La gloria del asaltante de Corona de Hielo (10 j.)', `Description_Lang_esES`='Completa los logros de banda de 10 jugadores listados a continuación.' WHERE `ID`=4602; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La gloria del asaltante de Corona de Hielo (25 j.)', `Description_Lang_esES`='Completa los logros de banda de 25 jugadores listados a continuación.' WHERE `ID`=4603; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Asaltar la Ciudadela (25 j.)', `Description_Lang_esES`='Derrota los cuatro primeros jefes de la Ciudadela de la Corona de Hielo en el modo de 25 jugadores.' WHERE `ID`=4604; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Los Talleres de la Peste (25 j.)', `Description_Lang_esES`='Derrota a los jefes de Los Talleres de la Peste en la Ciudadela de la Corona de Hielo en el modo de 25 jugadores.' WHERE `ID`=4605; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La Sala Carmesí (25 j.)', `Description_Lang_esES`='Derrota a los jefes de La Sala Carmesí en la Ciudadela de la Corona de Hielo en el modo de 25 jugadores.' WHERE `ID`=4606; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Las Cámaras de Alaescarcha (25 j.)', `Description_Lang_esES`='Derrota a los jefes de Las Cámaras de Alaescarcha en la Ciudadela de la Corona de Hielo en el modo de 25 jugadores.' WHERE `ID`=4607; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='La caída del Rey Exánime (25 j.)', `Description_Lang_esES`='Derrota a todos los jefes de la Ciudadela de la Corona de Hielo en el modo de 25 jugadores.' WHERE `ID`=4608; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Deshuesado (25 j.)', `Description_Lang_esES`='Derrota a Lord Tuétano sin que ningún miembro de la banda permanezca empalado más de 8 segundos en el modo de 25 jugadores.' WHERE `ID`=4610; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Full (25 j.)', `Description_Lang_esES`='Derrota a Lady Susurramuerte con al menos cinco tipos diferentes de cultores activos cuando muere en el modo de 25 jugadores.' WHERE `ID`=4611; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Al pasar la barca (25 j.)', `Description_Lang_esES`='Vence en la batalla de las naves de guerra sin que ningún miembro de la banda vaya a la nave enemiga más de una vez en el modo de 25 jugadores.' WHERE `ID`=4612; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Mira la que he montado (25 j.)', `Description_Lang_esES`='Derrota al Libramorte antes de que se lance Marca del campeón caído tres veces en el modo de 25 jugadores.' WHERE `ID`=4613; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Bailando con mocos (25 j.)', `Description_Lang_esES`='Derrota a Carapútrea sin que ningún moco grande lance Deflagración de moco inestable en el modo de 25 jugadores.' WHERE `ID`=4614; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sin vacunas (25 j.)', `Description_Lang_esES`='Derrota a Panzachancro sin que ningún jugador de tu banda haya acumulado el efecto de Inoculado 3 veces en el modo de 25 jugadores.' WHERE `ID`=4615; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Náuseas, acidez, indigestión (25 j.)', `Description_Lang_esES`='Derrota al Profesor Putricidio sin usar Mocos regurgitados sobre la abominación en el modo de 25 jugadores.' WHERE `ID`=4616; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El hombre que susurraba a los orbes (25 j.)', `Description_Lang_esES`='Derrota al Consejo de Sangre sin que ningún miembro de la banda reciba más de 25000 p. de daño con hechizos de un solo golpe en el modo de 25 jugadores.' WHERE `ID`=4617; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Devórame otra vez (25 j.)', `Description_Lang_esES`='Derrota a la Reina de Sangre Lana\'thel una vez siendo vampiro y otra sin convertirte en vampiro en el modo de 25 jugadores.' WHERE `ID`=4618; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sereno (25 j.)', `Description_Lang_esES`='Entra en todos los portales que genere Valthiria Caminasueños antes de restaurarle toda la salud en el modo de 25 jugadores.' WHERE `ID`=4619; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Sacúdete (25 j.)', `Description_Lang_esES`='Derrota a Sindragosa en el modo de 25 jugadores sin que ningún miembro de tu banda acumule más de 5 veces el efecto de Sacudida mística.' WHERE `ID`=4620; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hemos estado esperando mucho tiempo (25 j.)', `Description_Lang_esES`='Permite que Peste necrótica se acumule 30 veces antes de derrotar al Rey Exánime en el modo de 25 jugadores.' WHERE `ID`=4621; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Hasta arriba de espíritus malvados (25 j.)', `Description_Lang_esES`='Mata a todos los espíritus malvados que se generen antes de que exploten y después derrota al Rey Exánime en el modo de 25 jugadores.' WHERE `ID`=4622; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Agonía de Sombras', `Description_Lang_esES`='Poseedor de la Agonía de Sombras.' WHERE `ID`=4623; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El amor duele', `Description_Lang_esES`='Derrota al trío de boticarios de Químicos La Corona, S.L. en el Castillo de Colmillo Oscuro.' WHERE `ID`=4624; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Riendas de Invencible', `Description_Lang_esES`='Consigue a Invencible de Arthas en la Ciudadela de la Corona de Hielo.' WHERE `ID`=4625; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='¡Yo pongo la cabeza!', `Description_Lang_esES`='Consigue la cabeza de Mimiron en el combate contra Yogg-Saron de 25 jugadores sin la ayuda de ningún guardián.' WHERE `ID`=4626; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rompecorazones X-45', `Description_Lang_esES`='Consigue el Rompecorazones X-45 del boticario Hummel en el Castillo de Colmillo Oscuro durante Amor en el aire.' WHERE `ID`=4627; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Asaltar la Ciudadela (10 j.)', `Description_Lang_esES`='Derrota a los cuatro primeros jefes de la Ciudadela de la Corona de Hielo en el modo heroico de 10 jugadores.' WHERE `ID`=4628; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Los Talleres de la Peste (10 j.)', `Description_Lang_esES`='Derrota a los jefes de Los Talleres de la Peste en la Ciudadela de la Corona de Hielo en el modo heroico de 10 jugadores.' WHERE `ID`=4629; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: La Sala Carmesí (10 j.)', `Description_Lang_esES`='Derrota a los jefes de La Sala Carmesí en la Ciudadela de la Corona de Hielo en el modo heroico de 10 jugadores.' WHERE `ID`=4630; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Las Cámaras de Alaescarcha (10 j.)', `Description_Lang_esES`='Derrota a los jefes de Las Cámaras de Alaescarcha en la Ciudadela de la Corona de Hielo en el modo heroico de 10 jugadores.' WHERE `ID`=4631; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Asaltar la Ciudadela (25 j.)', `Description_Lang_esES`='Derrota a los cuatro primeros jefes de la Ciudadela de la Corona de Hielo en el modo heroico de 25 jugadores.' WHERE `ID`=4632; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Los Talleres de la Peste (25 j.)', `Description_Lang_esES`='Derrota a los jefes de Los Talleres de la Peste en la Ciudadela de la Corona de Hielo en el modo heroico de 25 jugadores.' WHERE `ID`=4633; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: La Sala Carmesí (25 j.)', `Description_Lang_esES`='Derrota a los jefes de La Sala Carmesí en la Ciudadela de la Corona de Hielo en el modo heroico de 25 jugadores.' WHERE `ID`=4634; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: Las Cámaras de Alaescarcha (25 j.)', `Description_Lang_esES`='Derrota a los jefes de Las Cámaras de Alaescarcha en la Ciudadela de la Corona de Hielo en el modo heroico de 25 jugadores.' WHERE `ID`=4635; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: La Caída del Rey Exánime (10 j.)', `Description_Lang_esES`='Derrota a todos los jefes de la Ciudadela de la Corona de Hielo en el modo heroico de 10 jugadores.' WHERE `ID`=4636; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: La Caída del Rey Exánime (25 j.)', `Description_Lang_esES`='Derrota a todos los jefes de la Ciudadela de la Corona de Hielo en el modo heroico de 25 jugadores.' WHERE `ID`=4637; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Lord Tuétano (Corona de Hielo 10 j.)', `Description_Lang_esES`='Muertes de Lord Tuétano (Corona de Hielo 10 j.)' WHERE `ID`=4639; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Lord Tuétano (Corona de Hielo heroica 10 j.)', `Description_Lang_esES`='Muertes de Lord Tuétano (Corona de Hielo heroica 10 j.)' WHERE `ID`=4640; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Lord Tuétano (Corona de Hielo 25 j.)', `Description_Lang_esES`='Muertes de Lord Tuétano (Corona de Hielo 25 j.)' WHERE `ID`=4641; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Lord Tuétano (Corona de Hielo heroica 25 j.)', `Description_Lang_esES`='Muertes de Lord Tuétano (Corona de Hielo heroica 25 j.)' WHERE `ID`=4642; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Lady Susurramuerte (Corona de Hielo 10 j.)', `Description_Lang_esES`='Muertes de Lady Susurramuerte (Corona de Hielo 10 j.)' WHERE `ID`=4643; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias en la Batalla de naves de guerra (Corona de Hielo 10 j.)', `Description_Lang_esES`='Victorias en la Batalla de naves de guerra (Corona de Hielo 10 j.)' WHERE `ID`=4644; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de El Libramorte (Corona de Hielo 10 j.)', `Description_Lang_esES`='Muertes de El Libramorte (Corona de Hielo 10 j.)' WHERE `ID`=4645; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Panzachancro (Corona de Hielo 10 j.)', `Description_Lang_esES`='Muertes de Panzachancro (Corona de Hielo 10 j.)' WHERE `ID`=4646; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Carapútrea (Corona de Hielo 10 j.)', `Description_Lang_esES`='Muertes de Carapútrea (Corona de Hielo 10 j.)' WHERE `ID`=4647; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Consejo de Príncipes de Sangre (Corona de Hielo 10 j.)', `Description_Lang_esES`='Muertes del Consejo de Príncipes de Sangre (Corona de Hielo 10 j.)' WHERE `ID`=4648; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rescates de Valithria Caminasueños (Corona de Hielo 10 j.)', `Description_Lang_esES`='Rescates de Valithria Caminasueños (Corona de Hielo 10 j.)' WHERE `ID`=4649; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del profesor Putricidio (Corona de Hielo 10 j.)', `Description_Lang_esES`='Muertes del profesor Putricidio (Corona de Hielo 10 j.)' WHERE `ID`=4650; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de la Reina de Sangre Lana\'thel (Corona de Hielo 10 j.)', `Description_Lang_esES`='Muertes de la Reina de Sangre Lana\'thel (Corona de Hielo 10 j.)' WHERE `ID`=4651; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Sindragosa (Corona de Hielo 10 j.)', `Description_Lang_esES`='Muertes de Sindragosa (Corona de Hielo 10 j.)' WHERE `ID`=4652; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre el Rey Exánime (Corona de Hielo 10 j.)', `Description_Lang_esES`='Victorias sobre el Rey Exánime (Corona de Hielo 10 j.)' WHERE `ID`=4653; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Lady Susurramuerte (Corona de Hielo heroica 10 j.)', `Description_Lang_esES`='Muertes de Lady Susurramuerte (Corona de Hielo heroica 10 j.)' WHERE `ID`=4654; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Lady Susurramuerte (Corona de Hielo 25 j.)', `Description_Lang_esES`='Muertes de Lady Susurramuerte (Corona de Hielo 25 j.)' WHERE `ID`=4655; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Lady Susurramuerte (Corona de Hielo heroica 25 j.)', `Description_Lang_esES`='Muertes de Lady Susurramuerte (Corona de Hielo heroica 25 j.)' WHERE `ID`=4656; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Toravon el Vigía de Hielo (Conquista del Invierno 10 j.)', `Description_Lang_esES`='Muertes de Toravon el Vigía de Hielo (Conquista del Invierno 10 j.)' WHERE `ID`=4657; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Toravon el Vigía de Hielo (Conquista del Invierno 25 j.)', `Description_Lang_esES`='Muertes de Toravon el Vigía de Hielo (Conquista del Invierno 25 j.)' WHERE `ID`=4658; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias en la Batalla de naves de guerra (Corona de Hielo heroica 10 j.)', `Description_Lang_esES`='Victorias en la Batalla de naves de guerra (Corona de Hielo heroica 10 j.)' WHERE `ID`=4659; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias en la Batalla de naves de guerra (Corona de Hielo 25 j.)', `Description_Lang_esES`='Victorias en la Batalla de naves de guerra (Corona de Hielo 25 j.)' WHERE `ID`=4660; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias en la Batalla de naves de guerra (Corona de Hielo heroica 25 j.)', `Description_Lang_esES`='Victorias en la Batalla de naves de guerra (Corona de Hielo heroica 25 j.)' WHERE `ID`=4661; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de El Libramorte (Corona de Hielo heroica 10 j.)', `Description_Lang_esES`='Muertes de El Libramorte (Corona de Hielo heroica 10 j.)' WHERE `ID`=4662; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de El Libramorte (Corona de Hielo 25 j.)', `Description_Lang_esES`='Muertes de El Libramorte (Corona de Hielo 25 j.)' WHERE `ID`=4663; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de El Libramorte (Corona de Hielo heroica 25 j.)', `Description_Lang_esES`='Muertes de El Libramorte (Corona de Hielo heroica 25 j.)' WHERE `ID`=4664; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Panzachancro (Corona de Hielo heroica 10 j.)', `Description_Lang_esES`='Muertes de Panzachancro (Corona de Hielo heroica 10 j.)' WHERE `ID`=4665; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Panzachancro (Corona de Hielo 25 j.)', `Description_Lang_esES`='Muertes de Panzachancro (Corona de Hielo 25 j.)' WHERE `ID`=4666; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Panzachancro (Corona de Hielo heroica 25 j.)', `Description_Lang_esES`='Muertes de Panzachancro (Corona de Hielo heroica 25 j.)' WHERE `ID`=4667; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Carapútrea (Corona de Hielo heroica 10 j.)', `Description_Lang_esES`='Muertes de Carapútrea (Corona de Hielo heroica 10 j.)' WHERE `ID`=4668; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Carapútrea (Corona de Hielo 25 j.)', `Description_Lang_esES`='Muertes de Carapútrea (Corona de Hielo 25 j.)' WHERE `ID`=4669; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Carapútrea (Corona de Hielo heroica 25 j.)', `Description_Lang_esES`='Muertes de Carapútrea (Corona de Hielo heroica 25 j.)' WHERE `ID`=4670; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Consejo de Príncipes de Sangre (Corona de Hielo heroica 10 j.)', `Description_Lang_esES`='Muertes del Consejo de Príncipes de Sangre (Corona de Hielo heroica 10 j.)' WHERE `ID`=4671; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Consejo de Príncipes de Sangre (Corona de Hielo 25 j.)', `Description_Lang_esES`='Muertes del Consejo de Príncipes de Sangre (Corona de Hielo 25 j.)' WHERE `ID`=4672; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Consejo de Príncipes de Sangre (Corona de Hielo heroica 25 j.)', `Description_Lang_esES`='Muertes del Consejo de Príncipes de Sangre (Corona de Hielo heroica 25 j.)' WHERE `ID`=4673; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rescates de Valithria Caminasueños (Corona de Hielo heroica 10 j.)', `Description_Lang_esES`='Rescates de Valithria Caminasueños (Corona de Hielo heroica 10 j.)' WHERE `ID`=4674; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rescates de Valithria Caminasueños (Corona de Hielo 25 j.)', `Description_Lang_esES`='Rescates de Valithria Caminasueños (Corona de Hielo 25 j.)' WHERE `ID`=4675; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Rescates de Valithria Caminasueños (Corona de Hielo heroica 25 j.)', `Description_Lang_esES`='Rescates de Valithria Caminasueños (Corona de Hielo heroica 25 j.)' WHERE `ID`=4676; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del profesor Putricidio (Corona de Hielo heroica 10 j.)', `Description_Lang_esES`='Muertes del profesor Putricidio (Corona de Hielo heroica 10 j.)' WHERE `ID`=4677; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del profesor Putricidio (Corona de Hielo 25 j.)', `Description_Lang_esES`='Muertes del profesor Putricidio (Corona de Hielo 25 j.)' WHERE `ID`=4678; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del profesor Putricidio (Corona de Hielo heroica 25 j.)', `Description_Lang_esES`='Muertes del profesor Putricidio (Corona de Hielo heroica 25 j.)' WHERE `ID`=4679; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de la Reina de Sangre Lana\'thel (Corona de Hielo heroica 10 j.)', `Description_Lang_esES`='Muertes de la Reina de Sangre Lana\'thel (Corona de Hielo heroica 10 j.)' WHERE `ID`=4680; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de la Reina de Sangre Lana\'thel (Corona de Hielo 25 j.)', `Description_Lang_esES`='Muertes de la Reina de Sangre Lana\'thel (Corona de Hielo 25 j.)' WHERE `ID`=4681; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de la Reina de Sangre Lana\'thel (Corona de Hielo heroica 25 j.)', `Description_Lang_esES`='Muertes de la Reina de Sangre Lana\'thel (Corona de Hielo heroica 25 j.)' WHERE `ID`=4682; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Sindragosa (Corona de Hielo 25 j.)', `Description_Lang_esES`='Muertes de Sindragosa (Corona de Hielo 25 j.)' WHERE `ID`=4683; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Sindragosa (Corona de Hielo heroica 10 j.)', `Description_Lang_esES`='Muertes de Sindragosa (Corona de Hielo heroica 10 j.)' WHERE `ID`=4684; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Sindragosa (Corona de Hielo heroica 25 j.)', `Description_Lang_esES`='Muertes de Sindragosa (Corona de Hielo heroica 25 j.)' WHERE `ID`=4685; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre el Rey Exánime (Corona de Hielo heroica 10 j.)', `Description_Lang_esES`='Victorias sobre el Rey Exánime (Corona de Hielo heroica 10 j.)' WHERE `ID`=4686; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre el Rey Exánime (Corona de Hielo 25 j.)', `Description_Lang_esES`='Victorias sobre el Rey Exánime (Corona de Hielo 25 j.)' WHERE `ID`=4687; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Victorias sobre el Rey Exánime (Corona de Hielo heroica 25 j.)', `Description_Lang_esES`='Victorias sobre el Rey Exánime (Corona de Hielo heroica 25 j.)' WHERE `ID`=4688; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Bronjahm (La Forja de Almas)', `Description_Lang_esES`='' WHERE `ID`=4713; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Bronjahm (La Forja de Almas heroica)', `Description_Lang_esES`='' WHERE `ID`=4714; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Devoraalmas (La Forja de Almas)', `Description_Lang_esES`='' WHERE `ID`=4715; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Devoraalmas (La Forja de Almas heroica)', `Description_Lang_esES`='' WHERE `ID`=4716; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del maestro de forja Gargelus (Foso de Saron)', `Description_Lang_esES`='' WHERE `ID`=4717; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Agh y Puagh (Foso de Saron)', `Description_Lang_esES`='' WHERE `ID`=4718; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Agh y Puagh (Foso de Saron heroico)', `Description_Lang_esES`='' WHERE `ID`=4719; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Señor de la Plaga Tyrannus (Foso de Saron)', `Description_Lang_esES`='' WHERE `ID`=4720; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del Señor de la Plaga Tyrannus (Foso de Saron heroico)', `Description_Lang_esES`='' WHERE `ID`=4721; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Falric (Cámaras de Reflexión)', `Description_Lang_esES`='' WHERE `ID`=4722; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Falric (Cámaras de Reflexión heroica)', `Description_Lang_esES`='' WHERE `ID`=4723; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Marwyn (Cámaras de Reflexión)', `Description_Lang_esES`='' WHERE `ID`=4724; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Marwyn (Cámaras de Reflexión heroica)', `Description_Lang_esES`='' WHERE `ID`=4725; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Huidas del Rey Exánime (Cámaras de Reflexión)', `Description_Lang_esES`='' WHERE `ID`=4726; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Huidas del Rey Exánime (Cámaras de Reflexión heroica)', `Description_Lang_esES`='' WHERE `ID`=4727; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes del maestro de forja Gargelus (Foso de Saron heroico)', `Description_Lang_esES`='' WHERE `ID`=4728; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Emblemas de triunfo adquiridos', `Description_Lang_esES`='Emblemas de triunfo adquiridos' WHERE `ID`=4729; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Emblemas de escarcha adquiridos', `Description_Lang_esES`='Emblemas de escarcha adquiridos' WHERE `ID`=4730; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Golpes de gracia en la Isla de la Conquista', `Description_Lang_esES`='Golpes de gracia en la Isla de la Conquista' WHERE `ID`=4777; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Tiros por desencantar para el botín', `Description_Lang_esES`='Tiros por desencantar para el botín' WHERE `ID`=4778; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes con honor en la Isla de la Conquista', `Description_Lang_esES`='Muertes con honor en la Isla de la Conquista' WHERE `ID`=4779; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes en la Prueba del Cruzado', `Description_Lang_esES`='Muertes en la Prueba del Cruzado' WHERE `ID`=4780; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes en la Ciudadela de la Corona de Hielo', `Description_Lang_esES`='Muertes en la Ciudadela de la Corona de Hielo' WHERE `ID`=4781; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Jarra de la Fiesta de la cerveza verde', `Description_Lang_esES`='Propietario orgulloso de la jarra de la Fiesta de la cerveza verde.' WHERE `ID`=4782; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Emblemático', `Description_Lang_esES`='Consigue cualquier variedad de emblema.' WHERE `ID`=4784; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Emblemático', `Description_Lang_esES`='Consigue cualquier variedad de emblema.' WHERE `ID`=4785; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Operación: Gnomeregan', `Description_Lang_esES`='Ayudaste al Manitas Mayor Mekkatorque y a los Exiliados de Gnomeregan a que recuperaran la superficie de Gnomeregan.' WHERE `ID`=4786; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Caída de Zalazane', `Description_Lang_esES`='Ayudaste a Vol\'jin en la derrota final de Zalazane, recuperando las Islas del Eco para los trols Lanza Negra.' WHERE `ID`=4790; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Destructor del Crepúsculo (25 j.)', `Description_Lang_esES`='Derrota a Halion en El Sagrario Rubí en el modo de 25 jugadores.' WHERE `ID`=4815; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: El Destructor del Crepúsculo (25 j.)', `Description_Lang_esES`='Derrota a Halion en El Sagrario Rubí en el modo de 25 jugadores en dificultad heroica.' WHERE `ID`=4816; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='El Destructor del Crepúsculo (10 j.)', `Description_Lang_esES`='Derrota a Halion en El Sagrario Rubí en el modo de 10 jugadores.' WHERE `ID`=4817; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Heroico: El Destructor del Crepúsculo (10 j.)', `Description_Lang_esES`='Derrota a Halion en El Sagrario Rubí en el modo de 10 jugadores en dificultad heroica.' WHERE `ID`=4818; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Halion (El Sagrario Rubí 25 j.)', `Description_Lang_esES`='Muertes de Halion (El Sagrario Rubí 25 j.)' WHERE `ID`=4820; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Halion (El Sagrario Rubí 10 j.)', `Description_Lang_esES`='Muertes de Halion (El Sagrario Rubí 10 j.)' WHERE `ID`=4821; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Halion (El Sagrario Rubí heroica 10 j.)', `Description_Lang_esES`='Muertes de Halion (El Sagrario Rubí heroica 10 j.)' WHERE `ID`=4822; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Muertes de Halion (El Sagrario Rubí heroica 25 j.)', `Description_Lang_esES`='Muertes de Halion (El Sagrario Rubí heroica 25 j.)' WHERE `ID`=4823; +UPDATE `achievement_dbc` SET `Title_Lang_esES`='Edición de coleccionista: Mini Thor', `Description_Lang_esES`='Propietario de la mascota Mini Thor de la edición de coleccionista de Starcraft II.' WHERE `ID`=4824; + +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Orgrimmar exaltado' WHERE `ID`=1; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cima del Trueno exaltado' WHERE `ID`=2; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Entrañas exaltado' WHERE `ID`=3; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trolls Lanza Negra exaltados' WHERE `ID`=4; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ventormenta exaltado' WHERE `ID`=5; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forjaz exaltado' WHERE `ID`=6; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Darnassus exaltado' WHERE `ID`=7; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exiliados de Gnomeregan exaltados' WHERE `ID`=8; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alquimia' WHERE `ID`=9; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Herrería' WHERE `ID`=10; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encantador' WHERE `ID`=11; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingeniería' WHERE `ID`=12; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='herboristería' WHERE `ID`=13; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peletería' WHERE `ID`=14; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Minería' WHERE `ID`=15; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desollar' WHERE `ID`=16; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sastrería' WHERE `ID`=17; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza el nivel 10.' WHERE `ID`=34; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza el nivel 20.' WHERE `ID`=35; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza el nivel 30.' WHERE `ID`=36; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza el nivel 40.' WHERE `ID`=37; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza el nivel 50.' WHERE `ID`=38; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza el nivel 60.' WHERE `ID`=39; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza el nivel 70.' WHERE `ID`=40; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza el nivel 80.' WHERE `ID`=41; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa una misión diaria durante cinco días consecutivos.' WHERE `ID`=72; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 2000 misiones.' WHERE `ID`=73; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 130 misiones en Tundra Boreal' WHERE `ID`=74; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 130 misiones en el Fiordo Aquilonal.' WHERE `ID`=75; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 115 misiones en el Cementerio de Dragones.' WHERE `ID`=76; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 100 misiones en Zul\'Drak.' WHERE `ID`=77; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 85 misiones en las Colinas Pardas.' WHERE `ID`=78; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 100 misiones en Las Cumbres Tormentosas.' WHERE `ID`=79; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 75 misiones en la Cuenca de Sholazar.' WHERE `ID`=80; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 140 misiones en el Glaciar Corona de Hielo.' WHERE `ID`=81; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nada aburrido sobre borean' WHERE `ID`=82; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='He recorrido el fiordo' WHERE `ID`=83; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poder del Cementerio de Dragones' WHERE `ID`=84; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Imperio de Zul\'Drak' WHERE `ID`=85; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fo\' Grizzle Mi Shizzle' WHERE `ID`=86; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Cumbre de las Cumbres Tormentosas' WHERE `ID`=87; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='en la cuenca' WHERE `ID`=88; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Corona de Hielo: El objetivo final' WHERE `ID`=89; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kalimdor' WHERE `ID`=92; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reinos del Este' WHERE `ID`=93; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reinos del Este' WHERE `ID`=94; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kalimdor' WHERE `ID`=95; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terrallende' WHERE `ID`=96; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rasganorte' WHERE `ID`=97; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias en el Valle de Alterac' WHERE `ID`=100; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias en la Cuenca de Arathi' WHERE `ID`=102; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Batallas en el Valle de Alterac' WHERE `ID`=104; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Batallas en el Ojo de la Tormenta' WHERE `ID`=105; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Batallas en la Cuenca de Arathi' WHERE `ID`=106; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en la Garganta Grito de Guerra' WHERE `ID`=107; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en el Valle de Alterac' WHERE `ID`=108; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en la Cuenca de Arathi' WHERE `ID`=110; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes propias' WHERE `ID`=111; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asalta 3 bases en una sola batalla por la Cuenca de Arathi.' WHERE `ID`=123; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias en la Garganta Grito de Guerra' WHERE `ID`=140; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes por ahogamiento' WHERE `ID`=147; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes por fatiga' WHERE `ID`=148; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes por caída' WHERE `ID`=149; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes por fuego y lava' WHERE `ID`=150; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes por fuego y lava' WHERE `ID`=151; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Daño total infligido' WHERE `ID`=162; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=164; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en la Cuenca de Arathi.' WHERE `ID`=166; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aumenta tu habilidad sin armas a 400.' WHERE `ID`=167; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conviértete en oficial cocinero.' WHERE `ID`=168; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='5 instancias de hombre' WHERE `ID`=169; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='10 instancias de hombre' WHERE `ID`=170; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='25 instancias de hombre' WHERE `ID`=171; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 100 victorias en la Cuenca de Arathi.' WHERE `ID`=176; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en la Garganta Grito de Guerra.' WHERE `ID`=177; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipe Keleseth' WHERE `ID`=189; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Skarvald el constructor' WHERE `ID`=190; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dalronn el controlador' WHERE `ID`=191; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingvar el Saqueador' WHERE `ID`=192; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran Mago Telestra' WHERE `ID`=195; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='anómalo' WHERE `ID`=196; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ormorok el Modelador de árboles' WHERE `ID`=197; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Keristrasza' WHERE `ID`=198; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='trollgore' WHERE `ID`=199; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Novos el Invocador' WHERE `ID`=200; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rey dred' WHERE `ID`=201; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Drakos el Interrogador' WHERE `ID`=203; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Varos zancanubes' WHERE `ID`=204; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mago-Señor Urom' WHERE `ID`=205; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardianes Ley Eregos' WHERE `ID`=206; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Svala Tristeza' WHERE `ID`=207; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gortok Pezuña Pálida' WHERE `ID`=208; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Skadi el Despiadado' WHERE `ID`=209; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Ymiron' WHERE `ID`=210; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gancho carnicero' WHERE `ID`=211; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salramm el artesano de la carne' WHERE `ID`=212; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Época de Chrono-Lord' WHERE `ID`=213; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='doncella del dolor' WHERE `ID`=215; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='krystallus' WHERE `ID`=216; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sjonnir el Modelador de Hierro' WHERE `ID`=217; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='General Bjarngrim' WHERE `ID`=218; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Volkhan' WHERE `ID`=219; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ionar' WHERE `ID`=220; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 100 victorias en la Garganta Grito de Guerra.' WHERE `ID`=221; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en el Ojo de la Tormenta.' WHERE `ID`=222; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 100 victorias en el Ojo de la Tormenta.' WHERE `ID`=223; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en el Valle de Alterac.' WHERE `ID`=224; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 100 victorias en el Valle de Alterac.' WHERE `ID`=225; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro del Valle de Alterac' WHERE `ID`=226; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro de la Cuenca de Arathi' WHERE `ID`=227; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro del Ojo de la Tormenta' WHERE `ID`=228; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro de la Quebrada Grito de Guerra' WHERE `ID`=229; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 50 misiones.' WHERE `ID`=230; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 100 misiones.' WHERE `ID`=231; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 250 misiones.' WHERE `ID`=232; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 500 misiones.' WHERE `ID`=233; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 1000 misiones.' WHERE `ID`=234; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 1500 misiones.' WHERE `ID`=236; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Regreso a Angrathar - Alianza' WHERE `ID`=285; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Regreso a Angrathar - Horda' WHERE `ID`=286; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana un encuentro en la arena puntuado en nivel 80.' WHERE `ID`=306; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana 100 encuentros en la arena puntuados en nivel 80.' WHERE `ID`=307; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coge 50 banderas en la Cuenca de Arathi.' WHERE `ID`=308; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sulfuras, Mano de Ragnaros' WHERE `ID`=318; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guja de guerra de Azzinoth (mano secundaria)' WHERE `ID`=325; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guja de guerra de Azzinoth (mano principal)' WHERE `ID`=326; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Has abierto las puertas de Ahn\'Qiraj.' WHERE `ID`=328; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un índice personal de 1550 en la rama de la arena 2c2 en el nivel 80.' WHERE `ID`=329; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un índice personal de 1550 en la rama de la arena 3c3 en el nivel 80.' WHERE `ID`=330; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un índice personal de 1550 en la rama de la arena 5c5 en el nivel 80.' WHERE `ID`=331; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un índice personal de 1750 en la rama de la arena 2c2 en el nivel 80.' WHERE `ID`=332; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un índice personal de 1750 en la rama de la arena 3c3 en el nivel 80.' WHERE `ID`=333; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un índice personal de 1750 en la rama de la arena 5c5 en el nivel 80.' WHERE `ID`=334; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un índice personal de 2000 en la rama de la arena 2c2 en el nivel 80.' WHERE `ID`=335; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un índice personal de 2000 en la rama de la arena 3c3 en el nivel 80.' WHERE `ID`=336; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un índice personal de 2000 en la rama de la arena 5c5 en el nivel 80.' WHERE `ID`=337; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defiende las creencias de D.E.H.T.A completando todas las misiones hasta el asesinato de Harold Sendero incluida.' WHERE `ID`=347; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Huevo de múrloc azul' WHERE `ID`=349; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Disfraz de múrloc' WHERE `ID`=350; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'Rekhan' WHERE `ID`=351; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran Viuda Faerlina' WHERE `ID`=352; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='maexxna' WHERE `ID`=353; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='patchwerk' WHERE `ID`=357; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grobbulus' WHERE `ID`=358; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='glúteo' WHERE `ID`=359; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tadeo' WHERE `ID`=360; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Noth el Pesteador' WHERE `ID`=365; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heigan el impuro' WHERE `ID`=366; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Detestob' WHERE `ID`=367; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Instructor Razuvious' WHERE `ID`=372; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gothik el Cosechador' WHERE `ID`=373; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Sapphiron en Naxxramas en el modo de 10 jugadores.' WHERE `ID`=379; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Kel\'Thuzad en Naxxramas en el modo de 10 jugadores.' WHERE `ID`=381; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Kel\'Thuzad en Naxxramas en el modo de 25 jugadores.' WHERE `ID`=382; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Barrio Arácnido' WHERE `ID`=383; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El barrio de la construcción' WHERE `ID`=384; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Barrio de la Peste' WHERE `ID`=385; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Barrio Militar' WHERE `ID`=386; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La muerte de Sapphiron' WHERE `ID`=387; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La derrota de Kel\'Thuzad' WHERE `ID`=388; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Barrio Arácnido' WHERE `ID`=389; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El barrio de la construcción' WHERE `ID`=390; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Barrio de la Peste' WHERE `ID`=391; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Barrio Militar' WHERE `ID`=392; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La muerte de Sapphiron' WHERE `ID`=393; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La derrota de Kel\'Thuzad' WHERE `ID`=394; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana el concurso de pesca de Booty Bay' WHERE `ID`=406; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata al Jinete decapitado.' WHERE `ID`=409; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defiende una base en la Cuenca de Arathi 50 veces volviendo a capturar la bandera.' WHERE `ID`=414; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lleva y captura la bandera de la Garganta Grito de Guerra personalmente.' WHERE `ID`=416; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Como defensor, devuelve 50 banderas en la Garganta Grito de Guerra.' WHERE `ID`=417; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lleva y captura la bandera en el Ojo de la Tormenta personalmente.' WHERE `ID`=418; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Toma 50 cementerios en el Valle de Alterac.' WHERE `ID`=419; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defiende 50 torres en el Valle de Alterac.' WHERE `ID`=420; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asaltar un cementerio' WHERE `ID`=421; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defiende un cementerio' WHERE `ID`=422; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asaltar una torre' WHERE `ID`=423; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='defender una torre' WHERE `ID`=424; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a alguien en el Campo de Conflictos' WHERE `ID`=425; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asalto 2 bases' WHERE `ID`=426; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defender 2 bases' WHERE `ID`=427; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 5 personas en el herrero.' WHERE `ID`=431; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 5 personas en la granja.' WHERE `ID`=432; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 5 personas en la mina de oro.' WHERE `ID`=433; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 5 personas en el aserradero.' WHERE `ID`=434; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 5 personas en los establos.' WHERE `ID`=435; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torres defendidas en el Valle de Alterac' WHERE `ID`=436; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torres capturadas en el Valle de Alterac' WHERE `ID`=437; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banderas del Ojo de la Tormenta capturadas' WHERE `ID`=438; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banderas capturadas en la Garganta Grito de Guerra' WHERE `ID`=439; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banderas devueltas en la Garganta Grito de Guerra' WHERE `ID`=440; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 5 personas en la Torre de los Elfos de Sangre' WHERE `ID`=441; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 5 personas en las Ruinas Draenei.' WHERE `ID`=442; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 5 personas en las ruinas de Fel Reaver' WHERE `ID`=443; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 5 personas en la Torre de los Magos.' WHERE `ID`=444; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Calificación personal más alta de 3 hombres' WHERE `ID`=447; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=448; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Calificación más alta de equipo de 3 hombres' WHERE `ID`=449; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La calificación más alta del equipo de 5 hombres' WHERE `ID`=450; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Calificación personal más alta de 2 hombres' WHERE `ID`=451; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Calificación personal más alta de 5 hombres' WHERE `ID`=452; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes por Hogger' WHERE `ID`=455; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes contra Drek\'Thar' WHERE `ID`=456; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibe una moneda de linaje.' WHERE `ID`=472; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibe 5 monedas de linaje.' WHERE `ID`=473; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibe 10 monedas de linaje.' WHERE `ID`=474; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibe 25 monedas de linaje.' WHERE `ID`=475; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibe 50 monedas de linaje.' WHERE `ID`=476; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ahune' WHERE `ID`=477; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='metzen guardado' WHERE `ID`=478; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='metzen guardado' WHERE `ID`=479; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a Thrall.' WHERE `ID`=480; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a Cairne Pezuña de Sangre.' WHERE `ID`=481; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a Lady Sylvanas Brisaveloz.' WHERE `ID`=482; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a Lor\'themar Theron.' WHERE `ID`=483; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Muerte al Jefe de Guerra!' WHERE `ID`=484; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pezuña sangrante' WHERE `ID`=485; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derribando a la Dama Oscura' WHERE `ID`=486; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asesinado en Quel\'Thalas' WHERE `ID`=487; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata al rey Magni Barbabronce.' WHERE `ID`=489; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a la suma sacerdotisa Tyrande Susurravientos.' WHERE `ID`=490; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata al profeta Velen.' WHERE `ID`=491; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tormenta de Ventormenta' WHERE `ID`=492; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Muerte al Rey!' WHERE `ID`=493; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ya no es inmortal' WHERE `ID`=494; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Apagar la luz' WHERE `ID`=495; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Traje pantalón negro festivo' WHERE `ID`=496; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Traje pantalón azul festivo' WHERE `ID`=497; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Traje pantalón festivo verde azulado' WHERE `ID`=498; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='vestido verde festivo' WHERE `ID`=499; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='vestido rosa festivo' WHERE `ID`=500; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='vestido morado festivo' WHERE `ID`=501; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Paso Crestagrana' WHERE `ID`=502; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de la brisa helada' WHERE `ID`=503; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta brillante' WHERE `ID`=504; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kharanos' WHERE `ID`=505; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Refugio de pino brumoso' WHERE `ID`=506; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las colinas tundridas' WHERE `ID`=507; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rancho Todavíaámbar' WHERE `ID`=508; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago de la cama de Helm' WHERE `ID`=509; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cantera de Gol\'Bolar' WHERE `ID`=510; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puesto avanzado de la puerta norte' WHERE `ID`=511; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión Melenaescarcha' WHERE `ID`=512; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pueblo de Brewnall' WHERE `ID`=513; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='yunquemar' WHERE `ID`=514; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La guarida canosa' WHERE `ID`=515; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puesto avanzado de la puerta sur' WHERE `ID`=516; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago corriente de hielo' WHERE `ID`=517; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gnomeregan' WHERE `ID`=518; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puertas de Forjaz' WHERE `ID`=519; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Malygos en el modo de 10 jugadores.' WHERE `ID`=520; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Malygos en el modo de 25 jugadores.' WHERE `ID`=521; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sartharion el guardián de ónix' WHERE `ID`=522; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Sartharion el Guardián ónice en el modo de 25 jugadores.' WHERE `ID`=523; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Edwin Van Cleef' WHERE `ID`=524; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Taragaman el Hambriento' WHERE `ID`=525; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mutano el Devorador' WHERE `ID`=526; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Archimago Arugal' WHERE `ID`=527; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Aku\'mai.' WHERE `ID`=528; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='bazil hilo' WHERE `ID`=529; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Termoenchufe de mekigeniero' WHERE `ID`=530; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Charlga Navaja' WHERE `ID`=531; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Amnennar el Portador de Frío' WHERE `ID`=532; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alto Inquisidor Melenablanca' WHERE `ID`=533; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Comandante Escarlata Mograine' WHERE `ID`=534; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Doan arcanista' WHERE `ID`=535; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Herodes' WHERE `ID`=536; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mago de sangre Thalnos' WHERE `ID`=537; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Archaedas' WHERE `ID`=538; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al jefe Ukorz Cabellarena.' WHERE `ID`=539; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='princesa theradras' WHERE `ID`=540; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sombra de Eranikus' WHERE `ID`=541; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emperador Dagran Thaurissan' WHERE `ID`=542; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor supremo Vermisthalak' WHERE `ID`=544; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alzzin el Formaferal' WHERE `ID`=545; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Immol\'thar' WHERE `ID`=546; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Gordok' WHERE `ID`=547; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ras Murmullo de Escarcha' WHERE `ID`=548; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro oscuro Gandling' WHERE `ID`=549; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Balnazzar' WHERE `ID`=550; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barón Osahendido' WHERE `ID`=551; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Omor el Sin Marcas' WHERE `ID`=552; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Keli\'dan el Ultrajador.' WHERE `ID`=555; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Quagmirran.' WHERE `ID`=556; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el acosador negro' WHERE `ID`=557; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nexo-Príncipe Shaffar' WHERE `ID`=558; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cazador de época' WHERE `ID`=559; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Garra Ikiss' WHERE `ID`=560; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Murmullo' WHERE `ID`=561; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='eón' WHERE `ID`=562; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor de la guerra Kalithresh' WHERE `ID`=563; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jefe de Guerra Kargath Garrafilada' WHERE `ID`=564; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pathaleon la calculadora' WHERE `ID`=565; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Astilla de disformidad' WHERE `ID`=566; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heraldo Skyriss' WHERE `ID`=567; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kael\'thas Caminante del Sol' WHERE `ID`=568; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra del Diablo' WHERE `ID`=569; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Collar de oso panda' WHERE `ID`=570; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Correa de zerguezno' WHERE `ID`=571; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Collar de cría abisal' WHERE `ID`=572; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exarca Maladaar' WHERE `ID`=573; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aqui huele a chamusquina...' WHERE `ID`=574; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Muerte al Rey!' WHERE `ID`=575; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ya no es inmortal' WHERE `ID`=576; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Muerte al Jefe de Guerra!' WHERE `ID`=577; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pezuña sangrante' WHERE `ID`=578; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derribando a la Dama Oscura' WHERE `ID`=579; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llega al nivel máximo sin morir ninguna vez.' WHERE `ID`=580; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Durotar' WHERE `ID`=581; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de las Pruebas' WHERE `ID`=582; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sima Ignea' WHERE `ID`=583; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mulgore' WHERE `ID`=584; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los Baldíos' WHERE `ID`=585; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuevas de los Lamentos' WHERE `ID`=586; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Horado Rajacieno' WHERE `ID`=587; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zahurda Rajacieno' WHERE `ID`=588; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mil Agujas' WHERE `ID`=589; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tanaris' WHERE `ID`=590; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Farrak' WHERE `ID`=591; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Collar de Frosty' WHERE `ID`=592; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kel\'Thuzad' WHERE `ID`=593; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='nefarian' WHERE `ID`=594; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ragnaros' WHERE `ID`=595; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='C\'Thun' WHERE `ID`=596; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hakkar' WHERE `ID`=597; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ossirian el Sin cicatrices' WHERE `ID`=598; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipe Malchezaar' WHERE `ID`=599; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'jin' WHERE `ID`=600; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gruul el matadragones' WHERE `ID`=601; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Magtheridon' WHERE `ID`=602; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='señora vashj' WHERE `ID`=603; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Archimonde' WHERE `ID`=604; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kael\'thas Caminante del Sol' WHERE `ID`=605; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Illidan Tempestira' WHERE `ID`=606; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kil\'jaeden' WHERE `ID`=607; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arena del Filo de la Espada' WHERE `ID`=608; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arena de Nagrand' WHERE `ID`=609; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Lordaeron' WHERE `ID`=610; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en la Cuenca de Arathi con una puntuación de 1600 a 0.' WHERE `ID`=611; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conviértete en cocinero experto.' WHERE `ID`=612; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conviértete en cocinero artesano.' WHERE `ID`=613; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conviértete en maestro cocinero.' WHERE `ID`=614; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conviértete en gran maestro cocinero.' WHERE `ID`=615; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alquimia' WHERE `ID`=616; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Herrería' WHERE `ID`=617; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encantador' WHERE `ID`=618; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingeniería' WHERE `ID`=619; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='herboristería' WHERE `ID`=620; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Inscripción' WHERE `ID`=621; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Joyería' WHERE `ID`=622; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peletería' WHERE `ID`=623; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Minería' WHERE `ID`=624; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='desollar' WHERE `ID`=625; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sastrería' WHERE `ID`=626; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cráter de Un\'Goro' WHERE `ID`=627; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Silithus' WHERE `ID`=628; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sierra Espolón' WHERE `ID`=629; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marjal Revolcafango' WHERE `ID`=630; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vallefresno' WHERE `ID`=631; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cavernas Brazanegra' WHERE `ID`=632; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Feralas' WHERE `ID`=633; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Masacre' WHERE `ID`=634; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desolace' WHERE `ID`=635; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maraudon' WHERE `ID`=636; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frondavil' WHERE `ID`=637; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuna de Invierno' WHERE `ID`=638; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Azshara' WHERE `ID`=639; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Durotar' WHERE `ID`=640; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hachas' WHERE `ID`=641; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mulgore' WHERE `ID`=642; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los Baldíos' WHERE `ID`=643; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mil Agujas' WHERE `ID`=644; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Héroe del clan Lobo Gélido' WHERE `ID`=645; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El profanador' WHERE `ID`=646; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tanaris' WHERE `ID`=647; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escolta Grito de Guerra' WHERE `ID`=648; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un\'Goro' WHERE `ID`=649; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Silithus' WHERE `ID`=650; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arcos' WHERE `ID`=651; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ballestas' WHERE `ID`=652; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dagas' WHERE `ID`=653; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Armas de fuego' WHERE `ID`=654; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mazas' WHERE `ID`=655; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Armas de asta' WHERE `ID`=656; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastones' WHERE `ID`=657; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sierra Espolón' WHERE `ID`=658; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marjal Revolcafango' WHERE `ID`=659; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vallefresno' WHERE `ID`=660; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Feralas' WHERE `ID`=661; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desolace' WHERE `ID`=662; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frondavil' WHERE `ID`=663; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuna de Invierno' WHERE `ID`=664; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Azshara' WHERE `ID`=665; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los Baldíos' WHERE `ID`=666; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuevas de los Lamentos' WHERE `ID`=667; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Horado Rajacieno' WHERE `ID`=668; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zahurda Rajacieno' WHERE `ID`=669; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mil Agujas' WHERE `ID`=670; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tanaris' WHERE `ID`=671; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Farrak' WHERE `ID`=672; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cráter de Un\'Goro' WHERE `ID`=673; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Silithus' WHERE `ID`=674; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sierra Espolón' WHERE `ID`=675; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marjal Revolcafango' WHERE `ID`=676; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vallefresno' WHERE `ID`=677; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cavernas Brazanegra' WHERE `ID`=678; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Feralas' WHERE `ID`=679; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Masacre' WHERE `ID`=680; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desolace' WHERE `ID`=681; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maraudon' WHERE `ID`=682; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frondavil' WHERE `ID`=683; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuna de Invierno' WHERE `ID`=684; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Azshara' WHERE `ID`=685; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa Oscura' WHERE `ID`=686; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Teldrassil' WHERE `ID`=687; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de las Sombras' WHERE `ID`=688; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los Baldíos' WHERE `ID`=689; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mil Agujas' WHERE `ID`=690; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tanaris' WHERE `ID`=691; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un\'Goro' WHERE `ID`=692; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Silithus' WHERE `ID`=693; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sierra Espolón' WHERE `ID`=694; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marjal Revolcafango' WHERE `ID`=695; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vallefresno' WHERE `ID`=696; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Feralas' WHERE `ID`=697; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desolace' WHERE `ID`=698; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frondavil' WHERE `ID`=699; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuna de Invierno' WHERE `ID`=700; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Azshara' WHERE `ID`=701; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa Oscura' WHERE `ID`=702; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Teldrassil' WHERE `ID`=703; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mesa Nube Roja' WHERE `ID`=704; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Claros de Tirisfal' WHERE `ID`=705; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Claros de Tirisfal' WHERE `ID`=706; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Gran mariscal".' WHERE `ID`=707; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Mariscal de campo".' WHERE `ID`=708; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Mariscal".' WHERE `ID`=709; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Comandante".' WHERE `ID`=710; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Teniente coronel".' WHERE `ID`=711; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Campeón caballero".' WHERE `ID`=712; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Capitán caballero".' WHERE `ID`=713; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Teniente caballero".' WHERE `ID`=714; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Monasterio Escarlata' WHERE `ID`=715; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Oeste' WHERE `ID`=716; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=717; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Este' WHERE `ID`=718; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=719; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Argénteos' WHERE `ID`=720; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Caballero".' WHERE `ID`=721; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Alférez".' WHERE `ID`=722; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Sargento primero".' WHERE `ID`=723; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Sargento".' WHERE `ID`=724; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Cabo".' WHERE `ID`=725; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Soldado".' WHERE `ID`=726; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Gran Señor de la Guerra".' WHERE `ID`=727; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Señor de la Guerra".' WHERE `ID`=728; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Gran general".' WHERE `ID`=729; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "General".' WHERE `ID`=730; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Campeón".' WHERE `ID`=731; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Centurión".' WHERE `ID`=732; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Legionario".' WHERE `ID`=733; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Guardia de sangre".' WHERE `ID`=734; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Guardia de piedra".' WHERE `ID`=735; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Gran capataz".' WHERE `ID`=736; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Capataz primero".' WHERE `ID`=737; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Capataz".' WHERE `ID`=738; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Bruto".' WHERE `ID`=739; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibido el título "Rastreador".' WHERE `ID`=740; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Thori\'dal, la furia de las estrellas' WHERE `ID`=741; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de los Naaru' WHERE `ID`=742; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Castillo Colmillo Oscuro' WHERE `ID`=743; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los viales de la eternidad' WHERE `ID`=744; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Una distracción para Akama' WHERE `ID`=745; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trueno Furioso, Espada Bendita del Buscavientos' WHERE `ID`=746; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Atiesh, Gran Bastón del Guardián' WHERE `ID`=747; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Atiesh, Gran Bastón del Guardián' WHERE `ID`=748; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Atiesh, Gran Bastón del Guardián' WHERE `ID`=749; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Atiesh, Gran Bastón del Guardián' WHERE `ID`=750; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Compra 6 ranuras bancarias' WHERE `ID`=751; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Compra 7 ranuras adicionales en el banco.' WHERE `ID`=752; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espadas' WHERE `ID`=753; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hachas de dos manos' WHERE `ID`=754; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espadas de dos manos' WHERE `ID`=755; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sin armas' WHERE `ID`=756; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Varitas' WHERE `ID`=757; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en la Garganta Grito de Guerra en menos de 7 minutos.' WHERE `ID`=758; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Horda' WHERE `ID`=759; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Horda' WHERE `ID`=760; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Horda' WHERE `ID`=761; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Horda' WHERE `ID`=762; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Horda' WHERE `ID`=763; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Horda' WHERE `ID`=764; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Horda' WHERE `ID`=765; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Horda' WHERE `ID`=766; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Horda' WHERE `ID`=767; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Horda' WHERE `ID`=768; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Horda' WHERE `ID`=769; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Horda' WHERE `ID`=770; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Horda' WHERE `ID`=771; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Horda' WHERE `ID`=772; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Horda' WHERE `ID`=773; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Horda' WHERE `ID`=774; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Horda' WHERE `ID`=775; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Horda' WHERE `ID`=776; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Horda' WHERE `ID`=777; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Horda' WHERE `ID`=778; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Alianza' WHERE `ID`=779; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Alianza' WHERE `ID`=780; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Alianza' WHERE `ID`=781; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Alianza' WHERE `ID`=782; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Alianza' WHERE `ID`=783; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Alianza' WHERE `ID`=784; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Alianza' WHERE `ID`=785; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Alianza' WHERE `ID`=786; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Alianza' WHERE `ID`=787; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Alianza' WHERE `ID`=788; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Alianza' WHERE `ID`=789; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Alianza' WHERE `ID`=790; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Alianza' WHERE `ID`=791; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Alianza' WHERE `ID`=792; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Alianza' WHERE `ID`=793; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Alianza' WHERE `ID`=794; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Alianza' WHERE `ID`=795; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Alianza' WHERE `ID`=796; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Alianza' WHERE `ID`=797; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Alianza' WHERE `ID`=798; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caja de langosta mágica' WHERE `ID`=799; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Tierras del Interior' WHERE `ID`=800; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Laderas de Trabalomas' WHERE `ID`=801; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Altas de Arathi' WHERE `ID`=802; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Inhóspitas' WHERE `ID`=803; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=804; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Garganta de Fuego' WHERE `ID`=805; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profundidades Roca Negra' WHERE `ID`=806; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estepas Ardientes' WHERE `ID`=807; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantano de las Penas' WHERE `ID`=808; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Templo Sumergido' WHERE `ID`=809; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Devastadas' WHERE `ID`=810; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vega de Tuercespina' WHERE `ID`=811; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Claros de Tirisfal' WHERE `ID`=812; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Oeste' WHERE `ID`=813; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Este' WHERE `ID`=814; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Argénteos' WHERE `ID`=815; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Tierras del Interior' WHERE `ID`=816; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Laderas de Trabalomas' WHERE `ID`=817; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Altas de Arathi' WHERE `ID`=818; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Inhóspitas' WHERE `ID`=819; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Garganta de Fuego' WHERE `ID`=820; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estepas Ardientes' WHERE `ID`=821; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='valle de pruebas' WHERE `ID`=822; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Sen\'jin' WHERE `ID`=823; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Risco de Kolkar' WHERE `ID`=824; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Islas del eco' WHERE `ID`=825; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torreón de Tiragarde' WHERE `ID`=826; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerro de la navaja' WHERE `ID`=827; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Razormane Grounds' WHERE `ID`=828; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta del trueno' WHERE `ID`=829; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barranco Drygulch' WHERE `ID`=830; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Roca del cráneo' WHERE `ID`=831; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Orgrimmar' WHERE `ID`=832; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mazas de dos manos' WHERE `ID`=834; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conviértete en oficial pescador.' WHERE `ID`=835; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conviértete en pescador experto.' WHERE `ID`=836; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conviértete en pescador artesano.' WHERE `ID`=837; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conviértete en maestro pescador.' WHERE `ID`=838; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conviértete en gran maestro pescador.' WHERE `ID`=839; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conviértete en oficial en primeros auxilios.' WHERE `ID`=840; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conviértete en experto en primeros auxilios.' WHERE `ID`=841; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conviértete en artesano en primeros auxilios.' WHERE `ID`=842; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conviértete en maestro en primeros auxilios.' WHERE `ID`=843; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conviértete en gran maestro en primeros auxilios.' WHERE `ID`=844; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='gran maestro pescador' WHERE `ID`=845; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran Maestro en Primeros Auxilios' WHERE `ID`=846; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran maestro cocinero' WHERE `ID`=847; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alquimia' WHERE `ID`=848; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Herrería' WHERE `ID`=849; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encantador' WHERE `ID`=850; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingeniería' WHERE `ID`=851; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='herboristería' WHERE `ID`=852; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Inscripción' WHERE `ID`=853; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Joyería' WHERE `ID`=854; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peletería' WHERE `ID`=855; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Minería' WHERE `ID`=856; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='desollar' WHERE `ID`=857; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sastrería' WHERE `ID`=858; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alquimia' WHERE `ID`=859; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Herrería' WHERE `ID`=860; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encantador' WHERE `ID`=861; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingeniería' WHERE `ID`=862; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='herboristería' WHERE `ID`=863; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Inscripción' WHERE `ID`=864; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Joyería' WHERE `ID`=865; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peletería' WHERE `ID`=866; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Minería' WHERE `ID`=867; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='desollar' WHERE `ID`=868; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sastrería' WHERE `ID`=869; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alquimia' WHERE `ID`=870; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Herrería' WHERE `ID`=871; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encantador' WHERE `ID`=872; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingeniería' WHERE `ID`=873; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='herboristería' WHERE `ID`=874; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Inscripción' WHERE `ID`=875; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Joyería' WHERE `ID`=876; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peletería' WHERE `ID`=877; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Minería' WHERE `ID`=878; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='desollar' WHERE `ID`=879; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sastrería' WHERE `ID`=880; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alquimia' WHERE `ID`=881; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Herrería' WHERE `ID`=882; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encantador' WHERE `ID`=883; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingeniería' WHERE `ID`=884; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='herboristería' WHERE `ID`=885; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Inscripción' WHERE `ID`=886; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Joyería' WHERE `ID`=887; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peletería' WHERE `ID`=888; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Minería' WHERE `ID`=889; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='desollar' WHERE `ID`=890; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sastrería' WHERE `ID`=891; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alquimia' WHERE `ID`=892; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Herrería' WHERE `ID`=893; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encantador' WHERE `ID`=894; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingeniería' WHERE `ID`=895; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='herboristería' WHERE `ID`=896; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Inscripción' WHERE `ID`=897; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Joyería' WHERE `ID`=898; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peletería' WHERE `ID`=899; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Minería' WHERE `ID`=900; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='desollar' WHERE `ID`=901; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sastrería' WHERE `ID`=902; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mesa Nube Roja' WHERE `ID`=903; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Roca Palemane' WHERE `ID`=904; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pozo de agua de Pezuña Invernal' WHERE `ID`=905; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las llanuras ondulantes' WHERE `ID`=906; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La mina Venture Co.' WHERE `ID`=907; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caravana devastada' WHERE `ID`=908; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pozo de agua de Cuerno de Trueno' WHERE `ID`=909; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Excavación de Bael\'Dun' WHERE `ID`=910; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cima del Trueno' WHERE `ID`=911; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rocas rojas' WHERE `ID`=912; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta Viento Furioso' WHERE `ID`=913; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Pezuña de Sangre' WHERE `ID`=914; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pozo de agua Melena Salvaje' WHERE `ID`=915; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las llanuras doradas' WHERE `ID`=916; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mina de canto rodado' WHERE `ID`=917; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El pantano de lodo' WHERE `ID`=918; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La muralla de Mor\'shan' WHERE `ID`=919; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pico Brumoso' WHERE `ID`=920; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='las colinas secas' WHERE `ID`=921; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las piscinas olvidadas' WHERE `ID`=922; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puesto de honor' WHERE `ID`=923; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Granja Grol\'dom' WHERE `ID`=924; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puesto de vigilancia lejano' WHERE `ID`=925; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='colina espina' WHERE `ID`=926; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El cruce' WHERE `ID`=927; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El oasis estancado' WHERE `ID`=928; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trinquete' WHERE `ID`=929; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='la costa mercante' WHERE `ID`=930; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión de Vigilancia del Norte' WHERE `ID`=931; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terrenos de rapaces' WHERE `ID`=932; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Oasis de aguas exuberantes' WHERE `ID`=933; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agama\'gor' WHERE `ID`=934; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zarzas' WHERE `ID`=935; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento Taurajo' WHERE `ID`=936; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='campo de gigantes' WHERE `ID`=937; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta de endrino' WHERE `ID`=938; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='bael modan' WHERE `ID`=939; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Razorfen Kraul' WHERE `ID`=940; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Razorfen Downs' WHERE `ID`=941; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en Naxxramas' WHERE `ID`=943; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Punto de viento helado' WHERE `ID`=944; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Daga de Corrahn' WHERE `ID`=945; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión Aplastacresta' WHERE `ID`=949; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cráter de Dalaran' WHERE `ID`=950; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pliegue de Dandred' WHERE `ID`=951; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rincón de la horca' WHERE `ID`=952; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Naze de Gavin' WHERE `ID`=953; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cueva sin crecimiento' WHERE `ID`=954; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campo de internamiento de Lordamere' WHERE `ID`=955; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='orilla brumosa' WHERE `ID`=956; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Alterac' WHERE `ID`=957; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Naze de Sofara' WHERE `ID`=958; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Strahnbrad' WHERE `ID`=959; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el promontorio' WHERE `ID`=960; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='las tierras altas' WHERE `ID`=961; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Círculo de unión del oeste' WHERE `ID`=962; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mansión Northfold' WHERE `ID`=963; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muro de Thoradin' WHERE `ID`=964; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza de Stromgarde' WHERE `ID`=965; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cala de Faldir' WHERE `ID`=966; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Círculo de vinculación interna' WHERE `ID`=967; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tramo de Thandol' WHERE `ID`=968; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salón Puño de Roca' WHERE `ID`=969; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Punto de refugio' WHERE `ID`=970; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Círculo de vinculación exterior' WHERE `ID`=971; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pueblo Secacorteza' WHERE `ID`=972; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Granja Go\'Shek' WHERE `ID`=973; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Granja de Dabyrie' WHERE `ID`=974; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Círculo de vinculación oriental' WHERE `ID`=975; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caída de martillo' WHERE `ID`=976; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eleva una reputación a Exaltado.' WHERE `ID`=977; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eleva 5 reputaciones a Exaltado.' WHERE `ID`=978; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eleva 10 reputaciones a Exaltado.' WHERE `ID`=979; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eleva 15 reputaciones a Exaltado.' WHERE `ID`=980; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eleva 20 reputaciones a Exaltado.' WHERE `ID`=981; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mayoría de facciones a nivel Exaltado' WHERE `ID`=982; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eleva 25 reputaciones a Exaltado.' WHERE `ID`=984; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eleva 30 reputaciones a Exaltado.' WHERE `ID`=985; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con los Rapiñadores Renegados.' WHERE `ID`=986; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con la Liga de Arathor.' WHERE `ID`=987; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con los Escoltas Grito de Guerra.' WHERE `ID`=988; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con los Centinelas Ala de Plata.' WHERE `ID`=989; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con el clan Lobo Gélido.' WHERE `ID`=990; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con la Guardia Pico Tormenta.' WHERE `ID`=991; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Orgrimmar exaltado' WHERE `ID`=992; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cima del Trueno exaltado' WHERE `ID`=993; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Entrañas exaltado' WHERE `ID`=994; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trolls Lanza Negra exaltados' WHERE `ID`=995; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad Exaltada de Lunargenta' WHERE `ID`=996; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantano de las Penas' WHERE `ID`=997; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Devastadas' WHERE `ID`=998; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vega de Tuercespina' WHERE `ID`=999; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Oeste' WHERE `ID`=1000; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=1001; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Este' WHERE `ID`=1002; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Thrallmar' WHERE `ID`=1003; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Sha\'tar' WHERE `ID`=1005; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ciudad baja' WHERE `ID`=1006; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Expedición Cenarion' WHERE `ID`=1007; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardianes del tiempo' WHERE `ID`=1008; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión de Honor' WHERE `ID`=1009; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Sha\'tar' WHERE `ID`=1010; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ciudad baja' WHERE `ID`=1011; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Expedición Cenarion' WHERE `ID`=1012; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardianes del tiempo' WHERE `ID`=1013; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barranco de Letlor' WHERE `ID`=1014; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento Boff' WHERE `ID`=1015; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fin de Agmond' WHERE `ID`=1016; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pisos de espejismo' WHERE `ID`=1017; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento Cagg' WHERE `ID`=1018; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Descanso de los apócrifos' WHERE `ID`=1019; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kargath' WHERE `ID`=1020; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El polvorín' WHERE `ID`=1021; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de los colmillos' WHERE `ID`=1022; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza de Angor' WHERE `ID`=1023; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barranco Viento Polvoriento' WHERE `ID`=1024; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Excavación de Hammertoe' WHERE `ID`=1025; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Terraza del Hacedor' WHERE `ID`=1026; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento Kosh' WHERE `ID`=1027; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión Machacamiedo' WHERE `ID`=1028; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Armería de la guarnición' WHERE `ID`=1029; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza de Nethergarde' WHERE `ID`=1030; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espiral de serpiente' WHERE `ID`=1031; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el portal oscuro' WHERE `ID`=1032; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Altar de las tormentas' WHERE `ID`=1033; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Publicación Machacamiedo' WHERE `ID`=1034; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La cicatriz contaminada' WHERE `ID`=1035; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El ascenso del profanador' WHERE `ID`=1036; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sentencia de muerte' WHERE `ID`=1037; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Granja de Solliden' WHERE `ID`=1038; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Molinos de Agamand' WHERE `ID`=1039; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estanque de aguas tranquilas' WHERE `ID`=1040; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de la Pesadilla' WHERE `ID`=1041; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mansión hogar frío' WHERE `ID`=1042; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rodaballo' WHERE `ID`=1043; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La guarida de Garren' WHERE `ID`=1044; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Entrañas' WHERE `ID`=1045; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='lago de agua brillante' WHERE `ID`=1046; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Granja Balnir' WHERE `ID`=1047; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puesto avanzado cruzado' WHERE `ID`=1048; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puesto de vigilancia escarlata' WHERE `ID`=1049; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='jardines susurrantes' WHERE `ID`=1050; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de la Telaraña de Veneno' WHERE `ID`=1051; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el baluarte' WHERE `ID`=1052; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Huerto de Malden' WHERE `ID`=1053; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El hilo brillante' WHERE `ID`=1054; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el campo muerto' WHERE `ID`=1055; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La oscuridad resbaladiza' WHERE `ID`=1056; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hueco de la marea norte' WHERE `ID`=1057; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Fenris' WHERE `ID`=1058; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El transbordador decrépito' WHERE `ID`=1059; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el sepulcro' WHERE `ID`=1060; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mina profunda de Elem' WHERE `ID`=1061; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El céntimo de Olsen' WHERE `ID`=1062; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Molino de ámbar' WHERE `ID`=1063; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Castillo Colmillo Oscuro' WHERE `ID`=1064; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea de Pyrewood' WHERE `ID`=1065; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El muro de Cringrís' WHERE `ID`=1066; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El peligro de Beren' WHERE `ID`=1067; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Darrowmere' WHERE `ID`=1068; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caer Darrow' WHERE `ID`=1069; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colina del dolor' WHERE `ID`=1070; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Andorhal' WHERE `ID`=1071; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el baluarte' WHERE `ID`=1072; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campo de piedra mácula' WHERE `ID`=1073; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las lágrimas de Dalson' WHERE `ID`=1074; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El refugio retorcido' WHERE `ID`=1075; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento maderero de Northridge' WHERE `ID`=1076; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hearthglen' WHERE `ID`=1077; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marchitamiento de Gahrron' WHERE `ID`=1078; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La cueva del llanto' WHERE `ID`=1079; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Río Thondroril' WHERE `ID`=1080; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Río Thondroril' WHERE `ID`=1081; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El lugar de Marris' WHERE `ID`=1082; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='la cripta' WHERE `ID`=1083; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre de guardia de la corona' WHERE `ID`=1084; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El valle de los hongos' WHERE `ID`=1085; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='condado de Darrow' WHERE `ID`=1086; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cicatriz pestilente' WHERE `ID`=1087; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El cruce de Corin' WHERE `ID`=1088; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Mereldar' WHERE `ID`=1089; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mano de Tyr' WHERE `ID`=1090; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capilla de la esperanza de la luz' WHERE `ID`=1091; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La cicatriz de Infectis' WHERE `ID`=1092; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El claro nocivo' WHERE `ID`=1093; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre del Muro Este' WHERE `ID`=1094; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Blackwood' WHERE `ID`=1095; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle del norte' WHERE `ID`=1096; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Mashar' WHERE `ID`=1097; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre del Paso Norte' WHERE `ID`=1098; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Refugio Quel\'Lithien' WHERE `ID`=1099; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='valle del terror' WHERE `ID`=1100; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de la Peste' WHERE `ID`=1101; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Stratholme' WHERE `ID`=1102; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colina Darrow' WHERE `ID`=1103; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Molino Tarren' WHERE `ID`=1104; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torreón de Durnholde' WHERE `ID`=1105; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dún Garok' WHERE `ID`=1106; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nethander Stead' WHERE `ID`=1107; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Playa del este' WHERE `ID`=1108; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa sur' WHERE `ID`=1109; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campos de Trabalomas' WHERE `ID`=1110; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='playa occidental' WHERE `ID`=1111; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mina Azurelode' WHERE `ID`=1112; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre de la punta sur' WHERE `ID`=1113; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla de la Purga' WHERE `ID`=1114; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pico de nido' WHERE `ID`=1115; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barranco Plaguemist' WHERE `ID`=1116; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hiri\'watha' WHERE `ID`=1117; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Refugio Quel\'Danil' WHERE `ID`=1118; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Shadra\'Alor' WHERE `ID`=1119; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Valorwind' WHERE `ID`=1120; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agol\'watha' WHERE `ID`=1121; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La ruina rastrera' WHERE `ID`=1122; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Altar de Zul' WHERE `ID`=1123; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='seradane' WHERE `ID`=1124; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Roca escondida' WHERE `ID`=1125; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Shaol\'watha' WHERE `ID`=1126; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jintha\'Alor' WHERE `ID`=1127; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los acantilados del mirador' WHERE `ID`=1128; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta de vigilancia contra incendios' WHERE `ID`=1129; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el caldero' WHERE `ID`=1130; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cueva Blackchar' WHERE `ID`=1131; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El mar de cenizas' WHERE `ID`=1132; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento curtidor' WHERE `ID`=1133; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sitio de excavación Grimesilt' WHERE `ID`=1134; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle del Fuego Polvoriento' WHERE `ID`=1135; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Roca Machacamiedo' WHERE `ID`=1136; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vigilia de Morgan' WHERE `ID`=1137; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Camino del ala del terror' WHERE `ID`=1138; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Paso Roca Negra' WHERE `ID`=1139; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Thaurissan' WHERE `ID`=1140; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El pilar de ceniza' WHERE `ID`=1141; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza Roca Negra' WHERE `ID`=1142; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draco\'dar' WHERE `ID`=1143; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Altar de las tormentas' WHERE `ID`=1144; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montaña Roca Negra' WHERE `ID`=1145; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de Villanorte' WHERE `ID`=1146; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Villadorada' WHERE `ID`=1147; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mina de las profundidades lejanas' WHERE `ID`=1148; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad de Ventormenta' WHERE `ID`=1149; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Borde del bosque' WHERE `ID`=1150; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desembarco de Jerod' WHERE `ID`=1151; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre de Azora' WHERE `ID`=1152; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Huerto de calabaza Brackwell' WHERE `ID`=1153; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento maderero de Eastvale' WHERE `ID`=1154; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre de la Peña' WHERE `ID`=1155; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Cristal' WHERE `ID`=1156; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Cairn de piedra' WHERE `ID`=1157; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cruce del hombre muerto' WHERE `ID`=1158; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el vicio' WHERE `ID`=1159; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Karazhan' WHERE `ID`=1160; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El banco silencioso' WHERE `ID`=1161; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lugar de Addle' WHERE `ID`=1162; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='colina del cuervo' WHERE `ID`=1163; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cementerio de la colina del cuervo' WHERE `ID`=1164; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montículo de ogro Vul\'Gol' WHERE `ID`=1165; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arboleda Crepuscular' WHERE `ID`=1166; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La granja de Yorgen' WHERE `ID`=1167; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arboleda de madera clara' WHERE `ID`=1168; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El huerto podrido' WHERE `ID`=1169; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cementerio Jardines Tranquilos' WHERE `ID`=1170; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Villa Oscura' WHERE `ID`=1171; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mansión Mantoniebla' WHERE `ID`=1172; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El banco oscurecido' WHERE `ID`=1173; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Presa de piedra' WHERE `ID`=1174; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza Mo\'grosh' WHERE `ID`=1175; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el lago' WHERE `ID`=1176; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mina Silver Stream' WHERE `ID`=1177; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Paso de la puerta norte' WHERE `ID`=1178; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Logia Errante' WHERE `ID`=1179; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sitio de excavación de Ironband' WHERE `ID`=1180; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta Zarparrosa' WHERE `ID`=1181; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Telsamar' WHERE `ID`=1182; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de astillas de piedra' WHERE `ID`=1183; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de los Reyes' WHERE `ID`=1184; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='condado del lago' WHERE `ID`=1185; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tres esquinas' WHERE `ID`=1186; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carretera de Lakeridge' WHERE `ID`=1187; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Everstill' WHERE `ID`=1188; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cañones Crestagrana' WHERE `ID`=1189; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento de Render' WHERE `ID`=1190; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Molino de Alther' WHERE `ID`=1191; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reloj de piedra' WHERE `ID`=1192; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de Render' WHERE `ID`=1193; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cataratas Vigilante de Piedra' WHERE `ID`=1194; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de Galardell' WHERE `ID`=1195; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='bahía del botín' WHERE `ID`=1196; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Expedición de Nesingwary' WHERE `ID`=1197; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento base de Grom\'gol' WHERE `ID`=1198; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='campamento rebelde' WHERE `ID`=1199; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Compuesto de Kurzen' WHERE `ID`=1200; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa salvaje' WHERE `ID`=1201; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manantial Nek\'mani' WHERE `ID`=1202; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle Brumoso' WHERE `ID`=1203; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Compuesto Velasangre' WHERE `ID`=1204; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Aboraz' WHERE `ID`=1205; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Jubuwal' WHERE `ID`=1206; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mina de vena de cristal' WHERE `ID`=1207; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Ziata\'jai' WHERE `ID`=1208; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estadio Gurubashi' WHERE `ID`=1209; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Zul\'Mamwe' WHERE `ID`=1210; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Balia\'mah' WHERE `ID`=1211; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Mizjah' WHERE `ID`=1212; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montículo del ogro Mosh\'Ogg' WHERE `ID`=1213; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento base de Venture Co.' WHERE `ID`=1214; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Nazferiti' WHERE `ID`=1215; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Kal\'ai' WHERE `ID`=1216; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Bal\'lal' WHERE `ID`=1217; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El arrecife vil' WHERE `ID`=1218; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Zuuldaia' WHERE `ID`=1219; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Zul\'Kunda' WHERE `ID`=1220; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Jagüero' WHERE `ID`=1221; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Gurub' WHERE `ID`=1222; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cueva de Itharius' WHERE `ID`=1223; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='valle brumoso' WHERE `ID`=1224; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el refugio' WHERE `ID`=1225; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cruce de astillas' WHERE `ID`=1226; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El lodazal cambiante' WHERE `ID`=1227; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='estonard' WHERE `ID`=1228; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='charco de lágrimas' WHERE `ID`=1229; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Stagalbog' WHERE `ID`=1230; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tristeza' WHERE `ID`=1231; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Santuario de barbecho' WHERE `ID`=1232; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hebra de caña brumosa' WHERE `ID`=1233; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana 10 batallas por la Cuenca de Arathi en posesión de 5 banderas.' WHERE `ID`=1234; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en la Cuenca de Arathi por una diferencia de 10 puntos (1600 a 1590).' WHERE `ID`=1235; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en la Garganta Grito de Guerra con una puntuación de 3 a 0.' WHERE `ID`=1236; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en la Cuenca de Arathi en 6 minutos.' WHERE `ID`=1237; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en el Ojo de la Tormenta con una puntuación de 1600 a 0.' WHERE `ID`=1238; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en el Ojo de la Tormenta 10 veces mientras controlas las 4 bases.' WHERE `ID`=1239; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en el Ojo de la Tormenta en menos de 6 minutos.' WHERE `ID`=1240; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en el Valle de Alterac en 6 minutos.' WHERE `ID`=1241; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Balinda y Vandaar sobreviven' WHERE `ID`=1242; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Resurrección (Rango 7)' WHERE `ID`=1243; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usar piedra de alma' WHERE `ID`=1244; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Redención' WHERE `ID`=1245; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espíritu ancestral' WHERE `ID`=1246; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Renacimiento (Rango 7)' WHERE `ID`=1247; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colina Centinela' WHERE `ID`=1248; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Granja de Saldean' WHERE `ID`=1249; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Granja de calabazas de Furlbrow' WHERE `ID`=1250; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El lugar de Jansen' WHERE `ID`=1251; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mina Jangolode' WHERE `ID`=1252; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Granja Molsen' WHERE `ID`=1253; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cantera de la Costa Dorada' WHERE `ID`=1254; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El acre muerto' WHERE `ID`=1255; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='arroyo de la luna' WHERE `ID`=1256; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='granja de alexston' WHERE `ID`=1257; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='lugar de demont' WHERE `ID`=1258; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Faro de los Páramos de Poniente' WHERE `ID`=1259; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las colinas de la daga' WHERE `ID`=1260; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las llanuras de polvo' WHERE `ID`=1261; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puerto de Menethil' WHERE `ID`=1262; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantano del Canal Negro' WHERE `ID`=1263; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantano de las agallas azules' WHERE `ID`=1264; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sitio de excavación de Whelgar' WHERE `ID`=1265; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantano del atardecer' WHERE `ID`=1266; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cañada de niebla salina' WHERE `ID`=1267; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tumba de Barba de Hierro' WHERE `ID`=1268; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='dun modr' WHERE `ID`=1269; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento Colmillorrabioso' WHERE `ID`=1270; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dún Algaz' WHERE `ID`=1271; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El cinturón verde' WHERE `ID`=1272; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantano Pellejomusgo' WHERE `ID`=1273; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colina de la Forja temible' WHERE `ID`=1274; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta de rapaces' WHERE `ID`=1275; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Batol sombrío' WHERE `ID`=1276; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas de Alterac' WHERE `ID`=1277; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Altas de Arathi' WHERE `ID`=1278; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Páramos' WHERE `ID`=1279; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Devastadas' WHERE `ID`=1280; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estepas Ardientes' WHERE `ID`=1281; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Paso de la Muerte' WHERE `ID`=1282; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dun Morogh' WHERE `ID`=1283; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque del Ocaso' WHERE `ID`=1284; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Elwynn' WHERE `ID`=1285; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Este' WHERE `ID`=1286; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Laderas de Trabalomas' WHERE `ID`=1287; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Loch Modan' WHERE `ID`=1288; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Crestagrana' WHERE `ID`=1289; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Claros de Tirisfal' WHERE `ID`=1290; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Garganta de Fuego' WHERE `ID`=1291; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Argénteos' WHERE `ID`=1292; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vega de Tuercespina' WHERE `ID`=1293; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantano de las Penas' WHERE `ID`=1294; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Tierras del Interior' WHERE `ID`=1295; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Oeste' WHERE `ID`=1296; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Páramos de Poniente' WHERE `ID`=1297; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Humedales' WHERE `ID`=1298; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de las Sombras' WHERE `ID`=1299; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de Ban\'ethil' WHERE `ID`=1300; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dolanaar' WHERE `ID`=1301; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión Nudospino' WHERE `ID`=1302; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Al\'Ameth' WHERE `ID`=1303; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estanques de Arlithrien' WHERE `ID`=1304; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Brisa Estelar' WHERE `ID`=1305; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El claro del oráculo' WHERE `ID`=1306; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago de manantial' WHERE `ID`=1307; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Darnassus' WHERE `ID`=1308; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea de Rut\'theran' WHERE `ID`=1309; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Área 52' WHERE `ID`=1310; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forja de Maná B\'naar' WHERE `ID`=1311; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forja de Maná Coruu' WHERE `ID`=1312; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Duro Forja de Maná' WHERE `ID`=1313; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='auberdina' WHERE `ID`=1314; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Mathystra' WHERE `ID`=1315; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre de Althalaxx' WHERE `ID`=1316; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Río Acantilado' WHERE `ID`=1317; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bashal\'Aran' WHERE `ID`=1318; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ameth\'Aran' WHERE `ID`=1319; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arboleda de los Antiguos' WHERE `ID`=1320; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Excavación de Remtravel' WHERE `ID`=1321; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Guja del Maestro' WHERE `ID`=1322; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La playa de Zoram' WHERE `ID`=1323; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Falathim' WHERE `ID`=1324; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el puesto de la maestra' WHERE `ID`=1325; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Piel de Cardo' WHERE `ID`=1326; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Santuario de Aessina' WHERE `ID`=1327; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Santuario de la Cicatriz de Fuego' WHERE `ID`=1328; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Astranaar' WHERE `ID`=1329; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='lago iris' WHERE `ID`=1330; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las ruinas de Stardust' WHERE `ID`=1331; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Mystral' WHERE `ID`=1332; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Valle de los Aullidos' WHERE `ID`=1333; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Retiro de Raynewood' WHERE `ID`=1334; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago del cielo caído' WHERE `ID`=1335; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poste de árbol astillado' WHERE `ID`=1336; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Satyrnaar' WHERE `ID`=1337; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sombra de rama' WHERE `ID`=1338; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aserradero Grito de Guerra' WHERE `ID`=1339; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colina Fuego Vil' WHERE `ID`=1340; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el gran ascensor' WHERE `ID`=1341; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pináculo de la nube oscura' WHERE `ID`=1342; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Cañón Chirriante' WHERE `ID`=1343; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poste de viento libre' WHERE `ID`=1344; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Risco de pezuña partida' WHERE `ID`=1345; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cañón rompevientos' WHERE `ID`=1346; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los pisos relucientes' WHERE `ID`=1347; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento E\'thok' WHERE `ID`=1348; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Percha alta' WHERE `ID`=1349; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento Aparaje' WHERE `ID`=1350; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puesto Tótem Siniestro' WHERE `ID`=1351; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Malaka\'jin' WHERE `ID`=1352; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruta del webwinder' WHERE `ID`=1353; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barranco de deslizamiento de rocas' WHERE `ID`=1354; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cañón de Sishir' WHERE `ID`=1355; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Risco cortavientos' WHERE `ID`=1356; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Retiro de roca solar' WHERE `ID`=1357; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El valle carbonizado' WHERE `ID`=1358; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Mirkfallon' WHERE `ID`=1359; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pico Espolón' WHERE `ID`=1360; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla de Theramore' WHERE `ID`=1361; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colina de la bruja' WHERE `ID`=1362; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea de Murohelecho' WHERE `ID`=1363; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el cenagal' WHERE `ID`=1364; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tethris Arán' WHERE `ID`=1365; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Punto de Nijel' WHERE `ID`=1366; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sargeron' WHERE `ID`=1367; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza Hacha Trueno' WHERE `ID`=1368; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rama de ensueño' WHERE `ID`=1369; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Oneiros' WHERE `ID`=1370; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Ravenwind' WHERE `ID`=1371; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los Colosales Gemelos' WHERE `ID`=1372; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cabaña de Kormek' WHERE `ID`=1373; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pueblo de Kolkar' WHERE `ID`=1374; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ethel rethor' WHERE `ID`=1375; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='valle de lanzas' WHERE `ID`=1376; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cementerio de Kodo' WHERE `ID`=1377; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Cazasombras' WHERE `ID`=1378; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pueblo de Gelkis' WHERE `ID`=1379; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aquelarre Mannoroc' WHERE `ID`=1380; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pueblo de Magram' WHERE `ID`=1381; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barranco Rompesombras' WHERE `ID`=1382; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Ranazjar' WHERE `ID`=1383; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La costa olvidada' WHERE `ID`=1384; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Masacre temible' WHERE `ID`=1385; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle Cicatriz Feral' WHERE `ID`=1386; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Altas de Frayfeather' WHERE `ID`=1387; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Isildien' WHERE `ID`=1388; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La profundidad que se retuerce' WHERE `ID`=1389; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento Mojache' WHERE `ID`=1390; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Compuesto Tótem Siniestro' WHERE `ID`=1391; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puesto avanzado de Gordunni' WHERE `ID`=1392; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Sardor' WHERE `ID`=1393; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla del pavor' WHERE `ID`=1394; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Comodines inferiores' WHERE `ID`=1395; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La guarida de la llama' WHERE `ID`=1396; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Wyrmbog' WHERE `ID`=1397; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla de Alcaz' WHERE `ID`=1398; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Zarpavil' WHERE `ID`=1401; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Claro Rama de Garra' WHERE `ID`=1402; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de árboles de hierro' WHERE `ID`=1403; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carrera de fuego de jade' WHERE `ID`=1404; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gadgetzán' WHERE `ID`=1405; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reloj Pena de Arena' WHERE `ID`=1406; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de la sombra del mediodía' WHERE `ID`=1407; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puerto Bonvapor' WHERE `ID`=1408; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='bahía de las tormentas' WHERE `ID`=1409; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La hebra destrozada' WHERE `ID`=1410; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arrecife dentado' WHERE `ID`=1411; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='alcances amargos' WHERE `ID`=1412; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guarida de Zalashji' WHERE `ID`=1413; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cala del aparejador perdido' WHERE `ID`=1414; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campo de manantial' WHERE `ID`=1415; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arenas abisales' WHERE `ID`=1416; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pilar roto' WHERE `ID`=1417; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La guarida nociva' WHERE `ID`=1418; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Compuesto Machacaduna' WHERE `ID`=1419; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa de Southbreak' WHERE `ID`=1420; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El abismo abierto' WHERE `ID`=1421; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Eastmoon' WHERE `ID`=1422; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Playa del Fin de la Tierra' WHERE `ID`=1423; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Luna Austral' WHERE `ID`=1424; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de los Vigilantes' WHERE `ID`=1425; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle del arbusto de cardo' WHERE `ID`=1426; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Farrak' WHERE `ID`=1427; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='cavernas del tiempo' WHERE `ID`=1428; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre de Eldara' WHERE `ID`=1429; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Templo de Arkkoran' WHERE `ID`=1430; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento Legash' WHERE `ID`=1431; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento base de Thalassian' WHERE `ID`=1432; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ursolán' WHERE `ID`=1433; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión Fauces de Madera' WHERE `ID`=1434; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valormok' WHERE `ID`=1435; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento Haldarr' WHERE `ID`=1436; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Santuario Cantosombrío' WHERE `ID`=1437; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Eldarath' WHERE `ID`=1438; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Playa de Southridge' WHERE `ID`=1439; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Monumento a Cresta de Cuervo' WHERE `ID`=1440; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Mennar' WHERE `ID`=1441; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los alcances arruinados' WHERE `ID`=1442; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta abandonada' WHERE `ID`=1443; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle Cicatriz Destrozada' WHERE `ID`=1444; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cataratas de Veneno de Sangre' WHERE `ID`=1445; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jaedenar' WHERE `ID`=1446; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ruinas de constelas' WHERE `ID`=1447; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cañada Fuego de Jade' WHERE `ID`=1448; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Santuario Esmeralda' WHERE `ID`=1449; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pueblo de Deadwood' WHERE `ID`=1450; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Morlos\'Aran' WHERE `ID`=1451; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta del penacho de fuego' WHERE `ID`=1453; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aguas termales de Golakka' WHERE `ID`=1454; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='carrera de terror' WHERE `ID`=1455; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La cicatriz deslizante' WHERE `ID`=1456; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='las marismas' WHERE `ID`=1457; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Meseta de Piedrahierro' WHERE `ID`=1458; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pozos de alquitrán de Lakkari' WHERE `ID`=1459; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el valle de cristal' WHERE `ID`=1460; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Descanso del Valor' WHERE `ID`=1462; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión Cenarion' WHERE `ID`=1463; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Explora el Claro de la Luna y descubre todas las zonas cubiertas del mapa del mundo.' WHERE `ID`=1464; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colmen\'Zora' WHERE `ID`=1468; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colmena\'Regal' WHERE `ID`=1469; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La pared del escarabajo' WHERE `ID`=1470; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Punta Corzocelada' WHERE `ID`=1472; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aguas termales de Fuego Helado' WHERE `ID`=1473; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puesto Fauces de Madera' WHERE `ID`=1474; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Kel\'Theril' WHERE `ID`=1475; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Lluvia de Estrellas' WHERE `ID`=1476; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mazthoril' WHERE `ID`=1477; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mirada eterna' WHERE `ID`=1478; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Garganta Murmuro de Escarcha' WHERE `ID`=1479; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Garganta de Fuego' WHERE `ID`=1480; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Matorral de alas de búho' WHERE `ID`=1481; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colinas de cardo de hielo' WHERE `ID`=1482; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Nevada' WHERE `ID`=1483; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La arboleda escondida' WHERE `ID`=1484; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Roca sable de hielo' WHERE `ID`=1485; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Durotar' WHERE `ID`=1486; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mulgore' WHERE `ID`=1487; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Teldrasil' WHERE `ID`=1488; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los Baldíos' WHERE `ID`=1489; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa Oscura' WHERE `ID`=1490; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vallefresno' WHERE `ID`=1491; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mil agujas' WHERE `ID`=1492; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Espolón' WHERE `ID`=1493; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desolación' WHERE `ID`=1494; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marjal Revolcafango' WHERE `ID`=1495; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Feralas' WHERE `ID`=1496; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desierto de Tanaris' WHERE `ID`=1497; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Azshara' WHERE `ID`=1498; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frondavil' WHERE `ID`=1499; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cráter de Un\'Goro' WHERE `ID`=1500; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='claro de la luna' WHERE `ID`=1501; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='silito' WHERE `ID`=1502; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vacaciones de invierno' WHERE `ID`=1503; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tranquilo' WHERE `ID`=1504; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pueblo de la Corona del Sol' WHERE `ID`=1505; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pueblo Bruma Dorada' WHERE `ID`=1506; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Brisaveloz' WHERE `ID`=1507; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla del Caminante del Sol' WHERE `ID`=1508; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Lunargenta' WHERE `ID`=1509; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Santuario del Oeste' WHERE `ID`=1510; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anclaje vela solar' WHERE `ID`=1511; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Santuario Norte' WHERE `ID`=1512; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Santuario del Este' WHERE `ID`=1513; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Retiro del Errante' WHERE `ID`=1514; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estanque de Todavíasusurro' WHERE `ID`=1515; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de Marchita del Anochecer' WHERE `ID`=1516; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Brisabuena' WHERE `ID`=1517; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La madera viva' WHERE `ID`=1518; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tor\'Watha' WHERE `ID`=1519; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La arboleda chamuscada' WHERE `ID`=1520; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad de Lunargenta' WHERE `ID`=1521; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa Brisa Azur' WHERE `ID`=1522; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cataratas de Elrendar' WHERE `ID`=1523; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Paso Rama Dorada' WHERE `ID`=1524; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Elrendar' WHERE `ID`=1525; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Falithas de piedra rúnica' WHERE `ID`=1526; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra rúnica Shan\'dor' WHERE `ID`=1527; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Refugio de Saltheril' WHERE `ID`=1528; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='hilo dorado' WHERE `ID`=1529; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Librea de Thuron' WHERE `ID`=1530; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa tranquila' WHERE `ID`=1531; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zeb\'Watha' WHERE `ID`=1532; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Santuario de la Luna' WHERE `ID`=1536; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Santuario del Sol' WHERE `ID`=1537; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aguja de la estrella del alba' WHERE `ID`=1538; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Enclave Errante' WHERE `ID`=1539; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zigurat aullador' WHERE `ID`=1540; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad de la muerte' WHERE `ID`=1541; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zeb\'Nowa' WHERE `ID`=1542; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Paso Amani' WHERE `ID`=1543; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aguja Correvientos' WHERE `ID`=1544; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zigurat sangrante' WHERE `ID`=1545; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cruce de Elrendar' WHERE `ID`=1546; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Paso Thalassiano' WHERE `ID`=1548; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de Ammen' WHERE `ID`=1552; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ammen vado' WHERE `ID`=1553; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reloj azur' WHERE `ID`=1554; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Bristlelimb' WHERE `ID`=1555; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emberglade' WHERE `ID`=1556; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Playa de Fairbridge' WHERE `ID`=1557; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento de Geezle' WHERE `ID`=1558; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosques de pastoreo lunar' WHERE `ID`=1559; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desembarco de Odesyus' WHERE `ID`=1560; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Clúster de pods' WHERE `ID`=1561; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Restos de vaina' WHERE `ID`=1562; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa sedimentada' WHERE `ID`=1563; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Bruma de Plata' WHERE `ID`=1564; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión Semprepino' WHERE `ID`=1565; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Exodar' WHERE `ID`=1566; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muelle de Valaar' WHERE `ID`=1567; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Punto de Escama de Cólera' WHERE `ID`=1568; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Paso Tejeámbar' WHERE `ID`=1573; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Axxarien' WHERE `ID`=1574; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa de Cieno Negro' WHERE `ID`=1575; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hoja de madera' WHERE `ID`=1576; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Maldición de Sangre' WHERE `ID`=1577; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vigilancia de sangre' WHERE `ID`=1578; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Enclave Bristlelimb' WHERE `ID`=1579; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cruce de Kessel' WHERE `ID`=1580; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Middenvale' WHERE `ID`=1581; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque Místico' WHERE `ID`=1582; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='nazziviano' WHERE `ID`=1583; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta Plumafuria' WHERE `ID`=1584; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Loreth\'Aran' WHERE `ID`=1585; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puesto de garra' WHERE `ID`=1586; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento de Tel\'athion' WHERE `ID`=1587; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El arrecife maldito de sangre' WHERE `ID`=1588; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el lavado de sangre' WHERE `ID`=1589; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Alcance Carmesí' WHERE `ID`=1590; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La piscina asquerosa' WHERE `ID`=1591; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El arrecife escondido' WHERE `ID`=1592; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El pliegue perdido' WHERE `ID`=1593; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La bobina vectorial' WHERE `ID`=1594; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El pistón de deformación' WHERE `ID`=1595; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Punto Veridiano' WHERE `ID`=1596; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Descanso del vindicador' WHERE `ID`=1597; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guarida de escamas de cólera' WHERE `ID`=1598; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Marcadragón' WHERE `ID`=1599; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=1600; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Tierras del Interior' WHERE `ID`=1601; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Laderas de Trabalomas' WHERE `ID`=1602; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Foso Sangrante' WHERE `ID`=1603; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Matorral Cenarion' WHERE `ID`=1604; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Punto de ala de fuego' WHERE `ID`=1605; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Armería de expedición' WHERE `ID`=1606; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reloj de halcón' WHERE `ID`=1607; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudadela del Fuego Infernal' WHERE `ID`=1608; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión de Honor' WHERE `ID`=1609; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terrenos de Ango\'rosh' WHERE `ID`=1610; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Refugio Cenarion' WHERE `ID`=1611; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pueblo Feralfen' WHERE `ID`=1612; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantano tallado' WHERE `ID`=1613; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Punto Coilskar' WHERE `ID`=1614; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Punto de eclipse' WHERE `ID`=1615; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión de la Legión' WHERE `ID`=1616; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Saliente del Ala Abisal' WHERE `ID`=1617; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desembarco de Bash\'ir' WHERE `ID`=1618; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Quebrada afilada' WHERE `ID`=1619; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión Aguja del Filo' WHERE `ID`=1620; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento Machacasangre' WHERE `ID`=1621; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forge Camp: Miedo' WHERE `ID`=1622; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='garadar' WHERE `ID`=1623; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='halaa' WHERE `ID`=1624; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza de Matar\'pena' WHERE `ID`=1625; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puesto Mag\'har' WHERE `ID`=1626; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pozas de Aggonar' WHERE `ID`=1627; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Sha\'naar' WHERE `ID`=1628; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Templo de Telhamat' WHERE `ID`=1629; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Frente de la Legión' WHERE `ID`=1630; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La escalera del destino' WHERE `ID`=1631; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Thrallmar' WHERE `ID`=1632; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trono de Kil\'jaeden' WHERE `ID`=1633; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zeth\'Gor' WHERE `ID`=1634; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guarida de Haal\'esh' WHERE `ID`=1635; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta del cielo caído' WHERE `ID`=1636; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Altas de Arathi' WHERE `ID`=1637; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta vacía' WHERE `ID`=1638; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los campos warp' WHERE `ID`=1639; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas de Alterac' WHERE `ID`=1640; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento Forja: Mageddon' WHERE `ID`=1641; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Humedales' WHERE `ID`=1642; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Loch Modan' WHERE `ID`=1643; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dun Morogh' WHERE `ID`=1644; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=1645; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=1646; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago de luz pantanosa' WHERE `ID`=1647; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta Quagg' WHERE `ID`=1648; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Telredor' WHERE `ID`=1649; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El lodazal muerto' WHERE `ID`=1650; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La laguna' WHERE `ID`=1651; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de agujas gemelas' WHERE `ID`=1652; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Umbrafen' WHERE `ID`=1653; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='esporaggar' WHERE `ID`=1654; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza de Ango\'rosh' WHERE `ID`=1655; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terrenos de escamas de sangre' WHERE `ID`=1656; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puerto de Orebor' WHERE `ID`=1657; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La cañada de desove' WHERE `ID`=1658; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zabra\'jin' WHERE `ID`=1659; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Inhóspitas' WHERE `ID`=1660; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=1661; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Garganta de Fuego' WHERE `ID`=1662; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profundidades Roca Negra' WHERE `ID`=1663; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estepas Ardientes' WHERE `ID`=1664; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Elwynn' WHERE `ID`=1665; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=1666; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa Cresta Oscura' WHERE `ID`=1667; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Sombraluna' WHERE `ID`=1668; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el templo negro' WHERE `ID`=1669; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Forja de la Muerte' WHERE `ID`=1670; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La mano de Gul\'dan' WHERE `ID`=1671; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jaula del guardián' WHERE `ID`=1672; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza Martillo Salvaje' WHERE `ID`=1673; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Altar de Sha\'tar' WHERE `ID`=1674; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Punto Illidari' WHERE `ID`=1675; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Mazmorras' WHERE `ID`=1676; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Crestagrana' WHERE `ID`=1677; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Páramos de Poniente' WHERE `ID`=1678; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campos del Ala Abisal' WHERE `ID`=1679; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Minas de la Muerte' WHERE `ID`=1680; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque del Ocaso' WHERE `ID`=1681; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantano de las Penas' WHERE `ID`=1682; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Templo Sumergido' WHERE `ID`=1683; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Devastadas' WHERE `ID`=1684; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vega de Tuercespina' WHERE `ID`=1685; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Oeste' WHERE `ID`=1686; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Este' WHERE `ID`=1687; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puesto avanzado Machacasangre' WHERE `ID`=1688; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Comodines rotos' WHERE `ID`=1689; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='círculo de sangre' WHERE `ID`=1690; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puerta de la muerte' WHERE `ID`=1691; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forge Camp: Ira' WHERE `ID`=1692; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento Forja: Terror' WHERE `ID`=1693; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento Forja: Ira' WHERE `ID`=1694; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grishnath' WHERE `ID`=1695; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guarida de Gruul' WHERE `ID`=1696; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta dentada' WHERE `ID`=1697; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Mok\'Nathal' WHERE `ID`=1698; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Madera de cuervo' WHERE `ID`=1699; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta de navaja' WHERE `ID`=1700; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruuan Weald' WHERE `ID`=1701; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escaldo' WHERE `ID`=1702; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sylvanaar' WHERE `ID`=1703; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lomo de cristal' WHERE `ID`=1704; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza del Señor del Trueno' WHERE `ID`=1705; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Latigazo de velo' WHERE `ID`=1706; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puesto Vekhaar' WHERE `ID`=1707; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pináculo del vórtice' WHERE `ID`=1708; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Tierras del Interior' WHERE `ID`=1709; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Laderas de Trabalomas' WHERE `ID`=1710; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Altas de Arathi' WHERE `ID`=1711; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Humedales' WHERE `ID`=1712; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de la Calavera que Ríe' WHERE `ID`=1713; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campos espirituales' WHERE `ID`=1714; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poste de primavera' WHERE `ID`=1715; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Telaar' WHERE `ID`=1716; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El anillo de las pruebas' WHERE `ID`=1717; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trono de los Elementos' WHERE `ID`=1718; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colina Mazo de Guerra' WHERE `ID`=1719; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas Filo Ardiente' WHERE `ID`=1720; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='reloj de clan' WHERE `ID`=1721; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forge Camp: Odio' WHERE `ID`=1722; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grieta de Viento Sur' WHERE `ID`=1723; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Cresta del Crepúsculo' WHERE `ID`=1724; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Paso Junco del Viento' WHERE `ID`=1725; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pueblo Windyreed' WHERE `ID`=1726; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta de Zangar' WHERE `ID`=1727; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Grangol\'var' WHERE `ID`=1729; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Loch Modan' WHERE `ID`=1730; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión Rompepiedras' WHERE `ID`=1731; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tuurem' WHERE `ID`=1732; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad de Shattrath' WHERE `ID`=1733; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Claro de Raastok' WHERE `ID`=1734; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las colinas de la barrera' WHERE `ID`=1735; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estante Razorthorn' WHERE `ID`=1736; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas Mascahuesos' WHERE `ID`=1737; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terrenos de Auchenai' WHERE `ID`=1738; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerro Carroña' WHERE `ID`=1739; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='caravana de refugiados' WHERE `ID`=1740; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo de observancia' WHERE `ID`=1741; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tumba de sombra' WHERE `ID`=1742; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caravana abandonada' WHERE `ID`=1743; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Velo Rhaze' WHERE `ID`=1745; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montículo retorciéndose' WHERE `ID`=1746; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Skettis' WHERE `ID`=1747; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dun Morogh' WHERE `ID`=1748; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Inhóspitas' WHERE `ID`=1749; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Garganta de Fuego' WHERE `ID`=1750; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estepas Ardientes' WHERE `ID`=1751; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Elwynn' WHERE `ID`=1752; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Crestagrana' WHERE `ID`=1753; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Páramos de Poniente' WHERE `ID`=1754; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque del Ocaso' WHERE `ID`=1755; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantano de las Penas' WHERE `ID`=1756; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Devastadas' WHERE `ID`=1757; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vega de Tuercespina' WHERE `ID`=1758; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hachas' WHERE `ID`=1759; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arcos' WHERE `ID`=1760; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ballestas' WHERE `ID`=1761; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ara forja de maná' WHERE `ID`=1762; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forja de maná Ultris' WHERE `ID`=1763; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Farahlon' WHERE `ID`=1764; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza de la Tempestad' WHERE `ID`=1765; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el montón' WHERE `ID`=1766; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Arklon' WHERE `ID`=1767; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cresta celestial' WHERE `ID`=1768; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dagas' WHERE `ID`=1769; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Kirin\'Var' WHERE `ID`=1770; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='piedra abisal' WHERE `ID`=1771; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Enkaat' WHERE `ID`=1772; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión Furia del Sol' WHERE `ID`=1773; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Armas de fuego' WHERE `ID`=1774; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Stormspire' WHERE `ID`=1775; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puente Gyro-Plank' WHERE `ID`=1776; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eco-domo Farfield' WHERE `ID`=1777; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terrenos de prueba de Ethereum' WHERE `ID`=1778; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asiento de Socrethar' WHERE `ID`=1779; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Base de la Forja: Olvido' WHERE `ID`=1780; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eco-Domo Midrealm' WHERE `ID`=1781; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Península del Fuego Infernal' WHERE `ID`=1782; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marisma de Zangar' WHERE `ID`=1783; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Terokkar' WHERE `ID`=1784; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nagrand' WHERE `ID`=1785; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas del Filo de la Espada' WHERE `ID`=1786; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tormenta abisal' WHERE `ID`=1787; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle Sombraluna' WHERE `ID`=1788; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puerto de Tramo del Sol' WHERE `ID`=1789; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mazas de dos manos' WHERE `ID`=1790; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Estrella del Alba' WHERE `ID`=1791; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Meseta de la Fuente del Sol' WHERE `ID`=1792; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terraza de los Magisters' WHERE `ID`=1793; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa de branquias verdes' WHERE `ID`=1794; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La cicatriz muerta' WHERE `ID`=1795; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Armas de asta' WHERE `ID`=1796; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastones' WHERE `ID`=1797; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espadas' WHERE `ID`=1798; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de enano femenino endeble' WHERE `ID`=1799; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue el Sombrero de almirante Velasangre... e intenta tomar un poco de aire fresco de vez en cuando.' WHERE `ID`=1800; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Devuelve 5 banderas en una sola batalla por la Garganta Grito de Guerra.' WHERE `ID`=1801; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='3 capturas y ninguna muerte' WHERE `ID`=1802; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre A1 propiedad de la Alianza' WHERE `ID`=1803; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre A1 propiedad de la Alianza' WHERE `ID`=1804; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre A3 propiedad de la Alianza' WHERE `ID`=1805; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre A4 propiedad de la Alianza' WHERE `ID`=1806; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre H1 propiedad de la Alianza' WHERE `ID`=1807; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre H2 propiedad de la Alianza' WHERE `ID`=1808; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre H3 propiedad de la Alianza' WHERE `ID`=1809; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre H4 propiedad de la Alianza' WHERE `ID`=1810; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Galvagar y Drek\'Thar sobreviven' WHERE `ID`=1811; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre A1 propiedad de la Horda' WHERE `ID`=1812; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre A1 propiedad de la Horda' WHERE `ID`=1813; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre A3 propiedad de la Horda' WHERE `ID`=1814; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre A4 propiedad de la Horda' WHERE `ID`=1815; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre H1 propiedad de la Horda' WHERE `ID`=1816; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre H2 propiedad de la Horda' WHERE `ID`=1817; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre H3 propiedad de la Horda' WHERE `ID`=1818; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre H4 propiedad de la Horda' WHERE `ID`=1819; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='30 hks en arathi' WHERE `ID`=1820; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='30 hks en av' WHERE `ID`=1821; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='30 hks en eots' WHERE `ID`=1822; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='30 hks en wsg' WHERE `ID`=1823; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ganar canción de guerra' WHERE `ID`=1824; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ganar av' WHERE `ID`=1825; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ganar av' WHERE `ID`=1826; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Loken' WHERE `ID`=1827; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana 200 encuentros en la arena puntuados en nivel 80.' WHERE `ID`=1829; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana 300 encuentros en la arena puntuados en nivel 80.' WHERE `ID`=1830; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Crea 500 vendas de tejido de Escarcha gruesas.' WHERE `ID`=1831; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hornea un pastel de chocolate delicioso.' WHERE `ID`=1832; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Crea 500 vendas de paño rúnico pesado' WHERE `ID`=1833; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Triturador de escamas de acero' WHERE `ID`=1835; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mascara de gnomo femenino endeble' WHERE `ID`=1836; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='103 libras de pez poderoso' WHERE `ID`=1837; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Langosta de 22 Libras' WHERE `ID`=1838; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pargo de barro de 15 libras' WHERE `ID`=1839; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='52 libras de agallas rojas' WHERE `ID`=1840; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salmón de 29 Libras' WHERE `ID`=1841; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mero de 68 Libras' WHERE `ID`=1842; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bagre de 32 Libras' WHERE `ID`=1843; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pezfuerte pielroca' WHERE `ID`=1844; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de humana femenina endeble' WHERE `ID`=1845; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='arenque oscuro' WHERE `ID`=1846; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rapaz de marfil' WHERE `ID`=1847; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Raptor rojo moteado' WHERE `ID`=1848; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Palomino' WHERE `ID`=1849; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='semental blanco' WHERE `ID`=1850; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lobo rojo' WHERE `ID`=1851; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lobo ártico' WHERE `ID`=1852; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sable de hielo' WHERE `ID`=1853; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='sable de la noche' WHERE `ID`=1854; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kodo verde' WHERE `ID`=1855; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kodo verde azulado' WHERE `ID`=1856; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='carnero negro' WHERE `ID`=1857; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carnero de escarcha' WHERE `ID`=1858; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mecazancudo azul helado Mod A' WHERE `ID`=1859; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mecazancudo blanco Mod B' WHERE `ID`=1860; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de elfa de la noche femenina endeble' WHERE `ID`=1861; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de orco hembra endeble' WHERE `ID`=1862; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Riendas de caballo de guerra ígneo' WHERE `ID`=1863; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mascara de tauren hembra endeble' WHERE `ID`=1864; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mascara de troll femenino endeble' WHERE `ID`=1865; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mascara de no-muerto femenino endeble' WHERE `ID`=1866; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draco abisal presto' WHERE `ID`=1867; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draco abisal despiadado' WHERE `ID`=1868; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draco abisal vengativo' WHERE `ID`=1869; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aprende la habilidad oficial jinete.' WHERE `ID`=1870; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aprende la habilidad experto jinete.' WHERE `ID`=1871; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aprende la habilidad aprendiz jinete.' WHERE `ID`=1872; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aprende la habilidad Artesano jinete.' WHERE `ID`=1873; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hipogrifo de guerra Cenarion' WHERE `ID`=1874; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con la Guardia del cielo Sha\'tari.' WHERE `ID`=1875; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de enano macho endeble' WHERE `ID`=1876; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con Ogri\'la.' WHERE `ID`=1877; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con la Ofensiva Sol Devastado.' WHERE `ID`=1878; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con el Ala Abisal.' WHERE `ID`=1879; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con los Kurenai.' WHERE `ID`=1880; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con Esporaggar.' WHERE `ID`=1881; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con los Mag\'har.' WHERE `ID`=1882; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con El Consorcio.' WHERE `ID`=1883; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con los Arúspices' WHERE `ID`=1884; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mascara de gnomo macho endeble' WHERE `ID`=1885; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Crocoliscos en la ciudad' WHERE `ID`=1886; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bandidos de cebo' WHERE `ID`=1887; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de sangrevil' WHERE `ID`=1888; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La que se escapó' WHERE `ID`=1889; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Shrimpin \'no es fácil' WHERE `ID`=1890; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La venganza es sabrosa' WHERE `ID`=1891; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guiso súper caliente' WHERE `ID`=1892; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manalicioso' WHERE `ID`=1893; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='sopa para el alma' WHERE `ID`=1894; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de humano masculino endeble' WHERE `ID`=1895; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Héroe de la Guardia Pico Tormenta' WHERE `ID`=1896; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de elfo de la noche masculino endeble' WHERE `ID`=1897; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de orco macho endeble' WHERE `ID`=1898; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caballero de Arathor' WHERE `ID`=1899; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mascara de tauren macho endeble' WHERE `ID`=1900; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Centinela alaplata' WHERE `ID`=1901; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llamamiento a las armas: Cuenca de Arathi' WHERE `ID`=1902; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llamado a las armas: Valle de Alterac' WHERE `ID`=1903; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llamado a las armas: Ojo de la tormenta' WHERE `ID`=1904; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llamada a las armas: Garganta Grito de Guerra' WHERE `ID`=1905; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llamamiento a las armas: Cuenca de Arathi' WHERE `ID`=1906; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llamado a las armas: Valle de Alterac' WHERE `ID`=1907; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llamado a las armas: Ojo de la tormenta' WHERE `ID`=1908; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llamada a las armas: Garganta Grito de Guerra' WHERE `ID`=1909; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Melena Salvaje en Zul\'Farrak' WHERE `ID`=1910; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Starsong en el Templo Sumergido' WHERE `ID`=1911; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Splitrock en Maraudon' WHERE `ID`=1912; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Stonefort en Blackrock Spire' WHERE `ID`=1913; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Morndeep en Profundidades de Roca Negra' WHERE `ID`=1914; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Farwhisper en Stratholme' WHERE `ID`=1915; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Tótem de Runa en Cerrotajo' WHERE `ID`=1916; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Skygleam en Azshara' WHERE `ID`=1917; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Guardaluna en La encrucijada' WHERE `ID`=1918; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elder Alta Montaña en Camp Taurajo' WHERE `ID`=1919; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Tótem del Viento en Trinquete' WHERE `ID`=1920; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Élder Goldwell en Kharanos' WHERE `ID`=1922; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Bellowrage en Las Tierras Devastadas' WHERE `ID`=1923; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Stormbrow en Goldshire' WHERE `ID`=1924; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Meadowrun en las Tierras de la Peste del Oeste' WHERE `ID`=1925; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Starglade en Zul\'Gurub' WHERE `ID`=1926; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Pezuña Invernal en Bahía del Botín' WHERE `ID`=1927; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mascara de troll macho endeble' WHERE `ID`=1928; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de no-muerto masculino endeble' WHERE `ID`=1929; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancianos de los Reinos del Este' WHERE `ID`=1934; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancianos de Kalimdor' WHERE `ID`=1935; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancianos de las mazmorras' WHERE `ID`=1936; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Silvervein en Thelsamar' WHERE `ID`=1937; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Skychaser en Sentinel Hill' WHERE `ID`=1938; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Rumblerock en Las Estepas Ardientes' WHERE `ID`=1939; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Caminante del Alba en Flame Crest' WHERE `ID`=1940; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elder Highpeak en las Tierras del Interior' WHERE `ID`=1941; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Vetaferro en Garganta Abrasadora' WHERE `ID`=1942; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elder Graveborn en Brill' WHERE `ID`=1944; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elder Obsidian en El Sepulcro' WHERE `ID`=1945; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Windrun en las Tierras de la Peste del Este' WHERE `ID`=1946; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Corona de Nieve en la Capilla de la Esperanza de la Luz' WHERE `ID`=1947; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hachas de dos manos' WHERE `ID`=1948; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Moonstrike en Scholomance' WHERE `ID`=1950; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Bladeleaf en Dolanaar' WHERE `ID`=1951; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Starweave en Auberdine' WHERE `ID`=1952; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Pezuña de Sangre en la Aldea Pezuña de Sangre' WHERE `ID`=1953; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Riversong en Astranaar' WHERE `ID`=1954; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Tótem Siniestro en Feralas' WHERE `ID`=1955; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Caminante de la Niebla en La Masacre' WHERE `ID`=1956; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Viento Nocturno en Frondavil' WHERE `ID`=1957; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Skyseer en Freewind Post' WHERE `ID`=1958; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Morningdew en Mirage Raceway' WHERE `ID`=1959; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Ragetotem en Tanaris' WHERE `ID`=1960; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elder Dreamseer en Gadgetzan' WHERE `ID`=1961; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Cuerno de Trueno en Un\'Goro' WHERE `ID`=1962; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Lanzabrillante en Cuna del Invierno' WHERE `ID`=1963; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Stonespire en Everlook' WHERE `ID`=1964; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elder Primestone en Silithus' WHERE `ID`=1965; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Bladesing en Cenarion Hold' WHERE `ID`=1966; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espadas de dos manos' WHERE `ID`=1967; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mazas de dos manos' WHERE `ID`=1968; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sin armas' WHERE `ID`=1969; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Varitas' WHERE `ID`=1970; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lanzado' WHERE `ID`=1972; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aumenta tu habilidad sin armas a 300.' WHERE `ID`=1973; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cabeza' WHERE `ID`=1974; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuello' WHERE `ID`=1975; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hombro' WHERE `ID`=1976; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pecho' WHERE `ID`=1977; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cintura' WHERE `ID`=1978; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piernas' WHERE `ID`=1979; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pies' WHERE `ID`=1980; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muñeca' WHERE `ID`=1981; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manos' WHERE `ID`=1982; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo izquierdo' WHERE `ID`=1983; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer abalorio' WHERE `ID`=1984; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capa' WHERE `ID`=1985; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arma' WHERE `ID`=1986; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='A distancia' WHERE `ID`=1987; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo derecho' WHERE `ID`=1988; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Segundo abalorio' WHERE `ID`=1989; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cabeza' WHERE `ID`=1990; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Cuernooscuro en Orgrimmar' WHERE `ID`=1991; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Pezuña de Trigo en Cima del Trueno' WHERE `ID`=1992; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Darkcore en Entrañas' WHERE `ID`=1993; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuello' WHERE `ID`=1994; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hombro' WHERE `ID`=1995; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pecho' WHERE `ID`=1996; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Barbabronce en Forjaz' WHERE `ID`=1997; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Gritomartillo en Ventormenta' WHERE `ID`=1998; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Bladeswift en Darnassus' WHERE `ID`=1999; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancianos de la Horda' WHERE `ID`=2000; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancianos de la Alianza' WHERE `ID`=2001; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ranuras adicionales compradas en el banco' WHERE `ID`=2002; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la misión La bendición de Elune al derrotar a Augurio.' WHERE `ID`=2003; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa todas las misiones de Hemet Nesingwary en Rasganorte hasta Agresión posparto incluida.' WHERE `ID`=2004; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa todas las misiones de Hemet Nesingwary en Nagrand hasta El deporte sangriento definitivo incluida.' WHERE `ID`=2005; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las verdes colinas de Tuercespina' WHERE `ID`=2006; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran cazador' WHERE `ID`=2007; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las verdes colinas de Tuercespina' WHERE `ID`=2008; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colinas como elekk blanco' WHERE `ID`=2009; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las nieves de Rasganorte' WHERE `ID`=2010; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Bastión Fauces de Madera' WHERE `ID`=2011; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con el Sporeggar' WHERE `ID`=2012; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con el Kurenai' WHERE `ID`=2013; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Bastión Fauces de Madera' WHERE `ID`=2014; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con el Sporeggar' WHERE `ID`=2015; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con los Mag\'har' WHERE `ID`=2016; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con el Bastión Fauces de Madera.' WHERE `ID`=2017; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cintura' WHERE `ID`=2018; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piernas' WHERE `ID`=2019; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con El Alba Argenta.' WHERE `ID`=2020; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pies' WHERE `ID`=2021; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con la Cruzada Argenta.' WHERE `ID`=2022; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Alba Argenta' WHERE `ID`=2023; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Cruzada Argenta' WHERE `ID`=2024; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muñeca' WHERE `ID`=2025; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manos' WHERE `ID`=2026; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo izquierdo' WHERE `ID`=2027; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer abalorio' WHERE `ID`=2028; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capa' WHERE `ID`=2029; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ventormenta exaltado' WHERE `ID`=2030; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forjaz exaltado' WHERE `ID`=2031; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Darnassus exaltado' WHERE `ID`=2032; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exiliados de Gnomeregan exaltados' WHERE `ID`=2033; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exodar exaltado' WHERE `ID`=2034; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con los Kalu\'ak.' WHERE `ID`=2035; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con la tribu Corazón Frenético.' WHERE `ID`=2036; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con los Oráculos.' WHERE `ID`=2037; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arma' WHERE `ID`=2038; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='los oráculos' WHERE `ID`=2039; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tribu Corazón Frenético' WHERE `ID`=2040; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Krik\'thir el Vigilante de la puerta' WHERE `ID`=2041; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hadronox' WHERE `ID`=2042; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'arak' WHERE `ID`=2043; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Roca\'gor' WHERE `ID`=2044; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con el Círculo Cenarion' WHERE `ID`=2045; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Expedición Cenarion' WHERE `ID`=2046; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='A distancia' WHERE `ID`=2047; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con los Srs. del Agua de Hydraxis.' WHERE `ID`=2048; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con el Linaje de Nozdormu.' WHERE `ID`=2049; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con la tribu Zandalar.' WHERE `ID`=2050; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con los Juramorte Lengua de ceniza.' WHERE `ID`=2051; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con La Escama de las Arenas.' WHERE `ID`=2052; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con El Ojo Violeta.' WHERE `ID`=2053; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Fiesta de pollo!' WHERE `ID`=2054; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El alboroto de Kartak' WHERE `ID`=2055; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Herramientas de guerra' WHERE `ID`=2056; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fuerza secreta del corazón frenético' WHERE `ID`=2057; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La fuerza de la sangre del corazón' WHERE `ID`=2058; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fuerza de la tempestad' WHERE `ID`=2059; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rejek: primera sangre' WHERE `ID`=2060; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El casco de un héroe' WHERE `ID`=2061; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Apaciguando a la Gran Piedra Lluvia' WHERE `ID`=2062; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Voluntad de los titanes' WHERE `ID`=2063; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dominio de los cristales' WHERE `ID`=2064; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poder de los Grandes' WHERE `ID`=2065; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Canción de reflexión' WHERE `ID`=2066; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Canción de viento y agua' WHERE `ID`=2067; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Una canción de limpieza' WHERE `ID`=2068; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Canción de la fecundidad' WHERE `ID`=2069; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='malestar estomacal' WHERE `ID`=2070; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vallefresno, Astranaar' WHERE `ID`=2071; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cae desde una altura de 65 metros sin morir.' WHERE `ID`=2072; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Bruma Azur, Avanzada Azur' WHERE `ID`=2073; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Bruma de Sangre, Guardia de Sangre' WHERE `ID`=2074; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa Oscura, Auberdine' WHERE `ID`=2075; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Darnassus, terraza de los artesanos' WHERE `ID`=2076; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desolace, punta de Nijel' WHERE `ID`=2077; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marjal Revolcafango, Isla de Theramore' WHERE `ID`=2078; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exodar, Asiento de los Naaru' WHERE `ID`=2079; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Feralas, Bastión Plumaluna' WHERE `ID`=2080; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sierra Espolón, Pico Espolón' WHERE `ID`=2081; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Teldrassil, Dolanaar' WHERE `ID`=2082; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Baldíos, Trinquete' WHERE `ID`=2083; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marjal Revolcafango, Mudsprocket' WHERE `ID`=2084; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Silithus, Bastión Cenarion' WHERE `ID`=2085; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tanaris, Gadgetzán' WHERE `ID`=2086; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuna del Invierno, Mirada Eterna' WHERE `ID`=2087; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo derecho' WHERE `ID`=2088; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Segundo abalorio' WHERE `ID`=2089; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Baldíos, Trinquete' WHERE `ID`=2099; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marjal Revolcafango, Mudsprocket' WHERE `ID`=2100; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Silithus, Bastión Cenarion' WHERE `ID`=2101; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tanaris, Gadgetzán' WHERE `ID`=2102; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuna del Invierno, Mirada Eterna' WHERE `ID`=2103; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El crio-núcleo' WHERE `ID`=2104; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vallefresno, Puesto del Árbol Astillado' WHERE `ID`=2105; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Baldíos, Campamento Taurajo' WHERE `ID`=2106; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los Baldíos, La Encrucijada' WHERE `ID`=2107; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desolace, Aldea Cazasombras' WHERE `ID`=2108; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Durotar, Cerrotajo' WHERE `ID`=2109; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marjal Revolcafango, Poblado Murohelecho' WHERE `ID`=2110; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Feralas, Campamento Mojache' WHERE `ID`=2111; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mulgore, Pueblo Pezuña de Sangre' WHERE `ID`=2112; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Orgrimmar, Valle de la Fuerza' WHERE `ID`=2113; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sierra Espolón, Retiro de Sun Rock' WHERE `ID`=2114; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cima del Trueno, menor altura' WHERE `ID`=2115; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dun Morogh, Kharanos' WHERE `ID`=2132; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque del Ocaso, Villa Oscura' WHERE `ID`=2133; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Elwynn, Villadorada' WHERE `ID`=2134; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Laderas de Trabalomas, Costasur' WHERE `ID`=2135; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras del Interior, Pico Aerie' WHERE `ID`=2136; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forjaz, Los Comunes' WHERE `ID`=2137; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Loch Modan, Thelsamar' WHERE `ID`=2138; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Crestagrana, Condado del Lago' WHERE `ID`=2139; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ventormenta, El Distrito Comercial' WHERE `ID`=2140; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Páramos de Poniente, Colina Centinela' WHERE `ID`=2141; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Humedales, puerto de Menethil' WHERE `ID`=2142; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Este, Capilla de la Esperanza de la Luz' WHERE `ID`=2143; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vega de Tuercespina, Bahía del Botín' WHERE `ID`=2144; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Este, Capilla de la Esperanza de la Luz' WHERE `ID`=2145; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vega de Tuercespina, Bahía del Botín' WHERE `ID`=2146; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Altas de Arathi, Caída del Martillo' WHERE `ID`=2147; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras baldías, Kargath' WHERE `ID`=2148; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque Canción Eterna, Aldea Brisa Pura' WHERE `ID`=2149; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque Canción Eterna, Plaza Ala de Halcón' WHERE `ID`=2150; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Fantasma, Tranquillien' WHERE `ID`=2151; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Laderas de Trabalomas, Molino Tarren' WHERE `ID`=2152; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras del Interior, Aldea Colmillorestaurada' WHERE `ID`=2153; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Silvermoon, El Bazar' WHERE `ID`=2154; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Silvermoon, el intercambio real' WHERE `ID`=2155; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Argénteos, El Sepulcro' WHERE `ID`=2156; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vega de Tuercespina, Campamento base de Grom\'gol' WHERE `ID`=2157; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantano de las Penas, Stonard' WHERE `ID`=2158; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Claros de Tirisfal, Brill' WHERE `ID`=2159; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Entrañas, el barrio comercial' WHERE `ID`=2160; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mil Agujas, Freewind Post' WHERE `ID`=2161; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Filo de la Espada, Sylvanaar' WHERE `ID`=2195; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Blade\'s Edge, estación de Toshley' WHERE `ID`=2196; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Península del Fuego Infernal, Bastión del Honor' WHERE `ID`=2197; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Península del Fuego Infernal, Templo de Telhamat' WHERE `ID`=2198; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nagrand, Telaar' WHERE `ID`=2199; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle Sombraluna, Bastión Martillo Salvaje' WHERE `ID`=2200; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Terokkar, Fortaleza de Allerian' WHERE `ID`=2201; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marisma de Zangar, puerto de Orebor' WHERE `ID`=2202; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marisma de Zangar, Telredor' WHERE `ID`=2203; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Blade\'s Edge, Evergrove' WHERE `ID`=2204; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tormenta Abisal, Área 52' WHERE `ID`=2205; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tormenta Abisal, La Aguja de la Tormenta' WHERE `ID`=2206; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Shattrath City, Aldor Rise o Scryer\'s Tier' WHERE `ID`=2207; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marisma de Zangar, Refugio Cenarion' WHERE `ID`=2209; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle Sombraluna, Altar de Sha\'tar o Sagrario de las Estrellas' WHERE `ID`=2210; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Blade\'s Edge, Evergrove' WHERE `ID`=2211; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tormenta Abisal, Área 52' WHERE `ID`=2212; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tormenta Abisal, La Aguja de la Tormenta' WHERE `ID`=2213; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Shattrath City, Aldor Rise o Scryer\'s Tier' WHERE `ID`=2214; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marisma de Zangar, Refugio Cenarion' WHERE `ID`=2215; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle Sombraluna, Altar de Sha\'tar o Sagrario de las Estrellas' WHERE `ID`=2216; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Filo de la Espada, Aldea Mok\'Nathal' WHERE `ID`=2217; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Blade\'s Edge Mountains, Thunderlord Stronghold' WHERE `ID`=2218; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Península del Fuego Infernal, Avistamiento del Halcón' WHERE `ID`=2219; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nagrand, Garadar' WHERE `ID`=2220; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Península del Fuego Infernal, Thrallmar' WHERE `ID`=2221; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle Sombraluna, Aldea Sombraluna' WHERE `ID`=2222; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Terokkar, Bastión Rompepiedras' WHERE `ID`=2223; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`=' Marisma de Zangar, Zabra\'jin' WHERE `ID`=2224; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucos y tratos de Kalimdor' WHERE `ID`=2225; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucos y tratos de los reinos del este' WHERE `ID`=2226; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucos y tratos de Terrallende' WHERE `ID`=2227; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucos y tratos de Kalimdor' WHERE `ID`=2228; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucos y tratos de los reinos del este' WHERE `ID`=2229; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucos y tratos de Terrallende' WHERE `ID`=2230; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recibe un puñado de caramelos de uno de los cubos de caramelos situados en una posada.' WHERE `ID`=2231; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 5 misiones diarias.' WHERE `ID`=2232; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 50 misiones diarias.' WHERE `ID`=2233; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 200 misiones diarias.' WHERE `ID`=2234; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 500 misiones diarias.' WHERE `ID`=2235; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 1000 misiones diarias.' WHERE `ID`=2236; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Velo Ruuan' WHERE `ID`=2238; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 3000 misiones.' WHERE `ID`=2239; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de elfo de sangre femenino endeble' WHERE `ID`=2260; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de Draenei femenina endeble' WHERE `ID`=2261; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de enano femenino endeble' WHERE `ID`=2262; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gnomo femenino endeble Mascarilla' WHERE `ID`=2263; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara humana femenina endeble' WHERE `ID`=2264; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de elfa de la noche femenina endeble' WHERE `ID`=2265; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de orco hembra endeble' WHERE `ID`=2266; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tauren hembra endeble Mascarilla' WHERE `ID`=2267; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Troll femenino endeble Mascarilla' WHERE `ID`=2268; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Endeble mujer muerta viviente Mascarilla' WHERE `ID`=2269; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de elfo de sangre macho endeble' WHERE `ID`=2270; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draenei masculino endeble Mascarilla' WHERE `ID`=2271; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de enano macho endeble' WHERE `ID`=2272; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gnomo macho endeble Mascarilla' WHERE `ID`=2273; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara humana masculina endeble' WHERE `ID`=2274; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de elfo de la noche masculino endeble' WHERE `ID`=2275; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de orco macho endeble' WHERE `ID`=2276; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tauren macho endeble Mascarilla' WHERE `ID`=2277; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Troll macho endeble Mascarilla' WHERE `ID`=2278; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de muerto viviente masculino endeble' WHERE `ID`=2279; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='"¡Que vengan los fuegos!"' WHERE `ID`=2281; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='"¡Que vengan los fuegos!"' WHERE `ID`=2282; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Detén los incendios!' WHERE `ID`=2283; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Detén los incendios!' WHERE `ID`=2284; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Farda de sonrisa reluciente usando un mondadientes.' WHERE `ID`=2285; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de batalla de Arathor' WHERE `ID`=2335; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo del Consorcio' WHERE `ID`=2336; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de los Illidari' WHERE `ID`=2337; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo del Protector' WHERE `ID`=2338; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de llamas de verano' WHERE `ID`=2339; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de gremio' WHERE `ID`=2340; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Visita una peluquería y córtate el pelo.' WHERE `ID`=2341; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cabeza' WHERE `ID`=2342; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuello' WHERE `ID`=2343; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hombro' WHERE `ID`=2344; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pecho' WHERE `ID`=2345; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cintura' WHERE `ID`=2346; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piernas' WHERE `ID`=2347; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pies' WHERE `ID`=2348; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muñeca' WHERE `ID`=2349; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manos' WHERE `ID`=2350; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo izquierdo' WHERE `ID`=2351; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer abalorio' WHERE `ID`=2353; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capa' WHERE `ID`=2355; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arma' WHERE `ID`=2356; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='A distancia' WHERE `ID`=2357; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana un tiro por codicia por un objeto superior o mejor por encima del nivel 185 y saca un 100 en la tirada.' WHERE `ID`=2358; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='druida' WHERE `ID`=2360; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cazador' WHERE `ID`=2361; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='mago' WHERE `ID`=2362; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Paladín' WHERE `ID`=2363; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sacerdote' WHERE `ID`=2364; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pícaro' WHERE `ID`=2365; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chamán' WHERE `ID`=2366; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brujo' WHERE `ID`=2367; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guerrero' WHERE `ID`=2368; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='orco' WHERE `ID`=2370; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tauren' WHERE `ID`=2371; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='muertos vivientes' WHERE `ID`=2372; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Troll' WHERE `ID`=2373; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Humano' WHERE `ID`=2375; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gnomo' WHERE `ID`=2376; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Enano' WHERE `ID`=2377; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elfo de la noche' WHERE `ID`=2378; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usa la emoción /abrazo con 1 enemigo muerto antes de que libere su espíritu.' WHERE `ID`=2379; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Haz más de 300 000 de daño en el valle de Alterac' WHERE `ID`=2400; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Haz 300 000 de daño en la Cuenca de Arathi' WHERE `ID`=2401; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Haz 300,000 de daño en Warsong Gulch' WHERE `ID`=2402; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Haz 300 000 de daño en el Ojo de la Tormenta' WHERE `ID`=2403; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana diez encuentros puntuados seguidos en nivel 80.' WHERE `ID`=2408; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana un tiro por necesidad por un objeto superior o mejor por encima del nivel 185 y saca un 100 en la tirada.' WHERE `ID`=2412; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con El Acuerdo del Reposo del Dragón.' WHERE `ID`=2415; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con el Kirin Tor.' WHERE `ID`=2416; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con los Caballeros de la Espada de Ébano.' WHERE `ID`=2417; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Cruzada Argenta' WHERE `ID`=2418; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Acuerdo del Reposo del Dragón' WHERE `ID`=2419; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el kirintor' WHERE `ID`=2420; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caballeros de la Espada de Ébano' WHERE `ID`=2421; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con la Expedición de la Horda.' WHERE `ID`=2422; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con la Vanguardia de la Alianza.' WHERE `ID`=2425; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eleva 35 reputaciones a Exaltado.' WHERE `ID`=2428; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eleva 40 reputaciones a Exaltado.' WHERE `ID`=2429; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Empuñadura de Tyrael' WHERE `ID`=2430; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Aldor' WHERE `ID`=2893; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de batalla de los Corruptores' WHERE `ID`=2894; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de caballero de sangre' WHERE `ID`=2895; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de expedición Cenarion' WHERE `ID`=2896; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de competidor' WHERE `ID`=2897; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo del ganador del concurso' WHERE `ID`=2898; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de batalla Lobo Gélido' WHERE `ID`=2899; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo Trofeo Verde de los Illidari' WHERE `ID`=2900; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo del Bastión del Honor' WHERE `ID`=2901; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Guardianes del Tiempo' WHERE `ID`=2902; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='colores de caballero' WHERE `ID`=2903; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Kurenai' WHERE `ID`=2904; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de la Ciudad Inferior' WHERE `ID`=2905; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo Mag\'har' WHERE `ID`=2906; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Ogri\'la' WHERE `ID`=2907; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de soldado raso' WHERE `ID`=2908; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de explorador' WHERE `ID`=2909; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de los Arúspices' WHERE `ID`=2910; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo Sha\'tar' WHERE `ID`=2911; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de batalla de Ala de Plata' WHERE `ID`=2912; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de la Guardia del Cielo' WHERE `ID`=2913; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de esporreggar' WHERE `ID`=2914; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heraldo de la Guardia de Piedra' WHERE `ID`=2915; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de batalla Pico Tormenta' WHERE `ID`=2916; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de brillantez' WHERE `ID`=2917; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de llamas' WHERE `ID`=2918; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de escarcha' WHERE `ID`=2919; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de furia' WHERE `ID`=2920; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de la Naturaleza' WHERE `ID`=2921; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Ventormenta' WHERE `ID`=2922; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de cielos de verano' WHERE `ID`=2923; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de lo Arcano' WHERE `ID`=2924; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo del Alba Argenta' WHERE `ID`=2925; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo del Defensor' WHERE `ID`=2926; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de la Mano' WHERE `ID`=2927; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de la Cruzada Escarlata' WHERE `ID`=2928; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo del Sol Devastado' WHERE `ID`=2929; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo del Vacío' WHERE `ID`=2930; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Thrallmar' WHERE `ID`=2931; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Tranquillien' WHERE `ID`=2932; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de batalla Grito de Guerra' WHERE `ID`=2933; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Altas de Arathi' WHERE `ID`=3063; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Devastadas' WHERE `ID`=3064; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estepas Ardientes' WHERE `ID`=3065; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dun Morogh' WHERE `ID`=3066; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque del Ocaso' WHERE `ID`=3067; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Elwynn' WHERE `ID`=3068; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Laderas de Trabalomas' WHERE `ID`=3069; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Loch Modan' WHERE `ID`=3070; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Crestagrana' WHERE `ID`=3071; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vega de Tuercespina' WHERE `ID`=3072; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Tierras del Interior' WHERE `ID`=3073; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Oeste' WHERE `ID`=3074; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Páramos de Poniente' WHERE `ID`=3075; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vallefresno' WHERE `ID`=3076; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Bruma Azur' WHERE `ID`=3077; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Bruma de Sangre' WHERE `ID`=3078; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa Oscura' WHERE `ID`=3079; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desolación' WHERE `ID`=3080; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marjal Revolcafango' WHERE `ID`=3081; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Feralas' WHERE `ID`=3082; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='silito' WHERE `ID`=3083; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tanaris' WHERE `ID`=3084; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Teldrasil' WHERE `ID`=3085; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vacaciones de invierno' WHERE `ID`=3087; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas del Filo de la Espada' WHERE `ID`=3089; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Península del Fuego Infernal' WHERE `ID`=3090; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nagrand' WHERE `ID`=3091; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tormenta abisal' WHERE `ID`=3092; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle Sombraluna' WHERE `ID`=3093; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Terokkar' WHERE `ID`=3094; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marisma de Zangar' WHERE `ID`=3095; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Altas de Arathi' WHERE `ID`=3101; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Páramos' WHERE `ID`=3102; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estepas Ardientes' WHERE `ID`=3103; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque Canción Eterna' WHERE `ID`=3104; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tierras fantasmas' WHERE `ID`=3105; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Laderas de Trabalomas' WHERE `ID`=3106; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Argénteos' WHERE `ID`=3107; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vega de Tuercespina' WHERE `ID`=3108; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantano de las Penas' WHERE `ID`=3109; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Tierras del Interior' WHERE `ID`=3110; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Claros de Tirisfal' WHERE `ID`=3111; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vallefresno' WHERE `ID`=3112; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desolace' WHERE `ID`=3113; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Durotar' WHERE `ID`=3114; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marjal Revolcafango' WHERE `ID`=3115; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Feralas' WHERE `ID`=3116; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mulgore' WHERE `ID`=3117; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Silithus' WHERE `ID`=3118; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Espolón' WHERE `ID`=3119; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tanaris' WHERE `ID`=3120; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los Baldíos' WHERE `ID`=3121; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mil Agujas' WHERE `ID`=3122; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vacaciones de invierno' WHERE `ID`=3123; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas del Filo de la Espada' WHERE `ID`=3124; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Península del Fuego Infernal' WHERE `ID`=3125; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nagrand' WHERE `ID`=3126; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tormenta abisal' WHERE `ID`=3127; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle Sombraluna' WHERE `ID`=3128; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Terokkar' WHERE `ID`=3129; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marisma de Zangar' WHERE `ID`=3130; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Altas de Arathi' WHERE `ID`=3131; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Páramos' WHERE `ID`=3132; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estepas Ardientes' WHERE `ID`=3133; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque Canción Eterna' WHERE `ID`=3134; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tierras fantasmas' WHERE `ID`=3135; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Laderas de Trabalomas' WHERE `ID`=3136; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Argénteos' WHERE `ID`=3137; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vega de Tuercespina' WHERE `ID`=3138; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantano de las Penas' WHERE `ID`=3139; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Tierras del Interior' WHERE `ID`=3140; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Claros de Tirisfal' WHERE `ID`=3141; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vallefresno' WHERE `ID`=3142; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desolación' WHERE `ID`=3143; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Durotar' WHERE `ID`=3144; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marjal Revolcafango' WHERE `ID`=3145; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Feralas' WHERE `ID`=3146; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mulgore' WHERE `ID`=3147; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='silito' WHERE `ID`=3148; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Espolón' WHERE `ID`=3149; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tanaris' WHERE `ID`=3150; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los Baldíos' WHERE `ID`=3151; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mil agujas' WHERE `ID`=3152; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vacaciones de invierno' WHERE `ID`=3153; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas del Filo de la Espada' WHERE `ID`=3154; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Península del Fuego Infernal' WHERE `ID`=3155; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nagrand' WHERE `ID`=3156; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tormenta abisal' WHERE `ID`=3157; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle Sombraluna' WHERE `ID`=3158; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Terokkar' WHERE `ID`=3159; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marisma de Zangar' WHERE `ID`=3160; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Altas de Arathi' WHERE `ID`=3161; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Devastadas' WHERE `ID`=3162; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estepas Ardientes' WHERE `ID`=3163; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dun Morogh' WHERE `ID`=3164; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque del Ocaso' WHERE `ID`=3165; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Elwynn' WHERE `ID`=3166; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Laderas de Trabalomas' WHERE `ID`=3167; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Loch Modan' WHERE `ID`=3168; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Crestagrana' WHERE `ID`=3169; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vega de Tuercespina' WHERE `ID`=3170; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Tierras del Interior' WHERE `ID`=3171; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Oeste' WHERE `ID`=3172; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Páramos de Poniente' WHERE `ID`=3173; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vallefresno' WHERE `ID`=3174; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Bruma Azur' WHERE `ID`=3175; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Bruma de Sangre' WHERE `ID`=3176; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa Oscura' WHERE `ID`=3177; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desolación' WHERE `ID`=3178; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marjal Revolcafango' WHERE `ID`=3179; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Feralas' WHERE `ID`=3180; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='silito' WHERE `ID`=3181; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tanaris' WHERE `ID`=3182; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Teldrasil' WHERE `ID`=3183; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vacaciones de invierno' WHERE `ID`=3185; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas del Filo de la Espada' WHERE `ID`=3186; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Península del Fuego Infernal' WHERE `ID`=3187; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nagrand' WHERE `ID`=3188; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tormenta abisal' WHERE `ID`=3189; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle Sombraluna' WHERE `ID`=3190; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Terokkar' WHERE `ID`=3191; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marisma de Zangar' WHERE `ID`=3192; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardián de las llamas de los Reinos del Este' WHERE `ID`=3193; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardián de las llamas de Kalimdor' WHERE `ID`=3194; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardián de las llamas de Terrallende' WHERE `ID`=3195; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Extinción de los Reinos del Este' WHERE `ID`=3196; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Extinguiendo Kalimdor' WHERE `ID`=3197; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Extinguiendo Terrallende' WHERE `ID`=3198; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardián de las llamas de los Reinos del Este' WHERE `ID`=3199; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vigilante de las llamas de Kalimdor' WHERE `ID`=3200; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardián de las llamas de Terrallende' WHERE `ID`=3201; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Extinción de los Reinos del Este' WHERE `ID`=3202; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Extinguiendo Kalimdor' WHERE `ID`=3203; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Extinguiendo Terrallende' WHERE `ID`=3204; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los fuegos de Azeroth' WHERE `ID`=3205; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profanación de la Horda' WHERE `ID`=3206; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los fuegos de Azeroth' WHERE `ID`=3207; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profanación de la Alianza' WHERE `ID`=3208; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Transformado por Varita Sagrada - Murciélago' WHERE `ID`=3209; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Transformado por Varita Sagrada - Fantasma' WHERE `ID`=3210; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Transformado por la varita sagrada - Gnomo leproso' WHERE `ID`=3211; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Transformado por varita sagrada - Ninja' WHERE `ID`=3212; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Transformado por Varita Sagrada - Pirata' WHERE `ID`=3213; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Transformado por Varita Sagrada - Esqueleto' WHERE `ID`=3214; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Transformado por Varita Sagrada - Wisp' WHERE `ID`=3215; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rompiendo el Festival Wickerman' WHERE `ID`=3216; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El poder del pino' WHERE `ID`=3217; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Huevos podridos y barriles arruinados' WHERE `ID`=3218; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Apestando a Southshore' WHERE `ID`=3219; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Descubre un Vestido elegante abriendo huevos de colores vivos durante la celebración del Jardín Noble.' WHERE `ID`=3220; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Camisa de esmoquin blanca' WHERE `ID`=3221; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantalones de esmoquin negros' WHERE `ID`=3222; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arena Master obtenido' WHERE `ID`=3225; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Misión de maestro de arena completada' WHERE `ID`=3226; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arena Gran maestro misión completa' WHERE `ID`=3227; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arena Grand Master artículo ganado' WHERE `ID`=3228; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Número de personajes abrazados' WHERE `ID`=3231; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veces que te has tapado la cara' WHERE `ID`=3232; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veces que has animado' WHERE `ID`=3233; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veces que has hecho /saludar' WHERE `ID`=3236; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veces que has tocado el violín más pequeño del mundo' WHERE `ID`=3237; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='reír' WHERE `ID`=3238; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Keli\'dan el Ultrajador (El Horno de Sangre)' WHERE `ID`=3239; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Quagmirran (Recinto de los Esclavos)' WHERE `ID`=3240; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del príncipe-nexo Shaffar (Tumbas de maná)' WHERE `ID`=3241; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del cazador de Época (La Fuga de Durnholde)' WHERE `ID`=3242; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de la acechadora negra (La Sotiénaga)' WHERE `ID`=3243; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del exarca Maladaar (Criptas Auchenai)' WHERE `ID`=3244; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Rey Garra Ikiss (Salas Sethekk)' WHERE `ID`=3245; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Murmullo (Laberinto de las Sombras)' WHERE `ID`=3246; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Aeonus (Apertura del Portal Oscuro)' WHERE `ID`=3247; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del señor de la guerra Kalithresh (Cámara de Vapor)' WHERE `ID`=3248; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Jefe de Guerra K. Garrafilada (Salas Arrasadas)' WHERE `ID`=3249; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Pathaleon el Calculador (El Mechanar)' WHERE `ID`=3250; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del disidente de distorsión (El Invernáculo)' WHERE `ID`=3251; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del presagista Cieloriss (El Arcatraz)' WHERE `ID`=3252; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Kael\'thas Caminante del Sol (Bancal del Magister)' WHERE `ID`=3253; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del príncipe Malchezaar (Karazhan)' WHERE `ID`=3254; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Zul\'jin (Zul\'Aman)' WHERE `ID`=3255; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Gruul (Guarida de Gruul)' WHERE `ID`=3256; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Magtheridon (Guarida de Magtheridon)' WHERE `ID`=3257; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de lady Vashj (Caverna Santuario Serpiente)' WHERE `ID`=3258; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Kael\'thas Caminante del Sol (Castillo Tempestad)' WHERE `ID`=3259; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Illidan Tempestira (El Templo Oscuro)' WHERE `ID`=3260; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Kil\'jaeden (Meseta de La Fuente del Sol)' WHERE `ID`=3261; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Edwin VanCleef (Minas de la Muerte)' WHERE `ID`=3262; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del archimago Arugal (Castillo de Colmillo Oscuro)' WHERE `ID`=3263; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Comandante Escarlata Mograine (Mon. Escarlata)' WHERE `ID`=3264; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del jefe Ukorz Cabellarena (Zul\'Farrak)' WHERE `ID`=3265; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Emperador D. Thaurissan (Prof. de Roca Negra)' WHERE `ID`=3266; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del General Drakkisath (Cumbre de Roca Negra)' WHERE `ID`=3268; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Barón Osahendido (Stratholme)' WHERE `ID`=3270; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Onyxia (Guarida de Onyxia)' WHERE `ID`=3271; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Ragnaros (Núcleo de Magma)' WHERE `ID`=3272; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Nefarian (Guarida de Alanegra)' WHERE `ID`=3273; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de C\'Thun (Templo de Ahn\'Qiraj)' WHERE `ID`=3274; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Hakkar (Zul\'Gurub)' WHERE `ID`=3275; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en el Ojo de la Tormenta' WHERE `ID`=3276; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de paño rúnico del Valle de Alterac' WHERE `ID`=3301; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de tejido mágico de la Cuenca de Arathi' WHERE `ID`=3302; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de paño rúnico de la Cuenca de Arathi' WHERE `ID`=3303; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de seda de la Cuenca de Arathi' WHERE `ID`=3304; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de tejido mágico de Rapiñador' WHERE `ID`=3305; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de paño rúnico de Rapiñador' WHERE `ID`=3306; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Venda de seda de violador' WHERE `ID`=3307; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de tejido de Escarcha denso' WHERE `ID`=3308; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de tejido de Escarcha' WHERE `ID`=3309; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Venda de tejido de Escarcha pesada' WHERE `ID`=3310; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Venda de lino grueso' WHERE `ID`=3311; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje pesado de tejido mágico' WHERE `ID`=3312; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Venda de tejido abisal pesado' WHERE `ID`=3313; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Venda de paño rúnico pesado' WHERE `ID`=3314; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Venda de seda pesada' WHERE `ID`=3315; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Venda de lino' WHERE `ID`=3316; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Venda de tejido mágico' WHERE `ID`=3317; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Venda de tejido abisal' WHERE `ID`=3318; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Venda de paño rúnico' WHERE `ID`=3319; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='vendaje de seda' WHERE `ID`=3320; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Venda gruesa de tejido de Escarcha' WHERE `ID`=3321; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de tejido mágico de Gulch Grito de Guerra' WHERE `ID`=3322; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de paño rúnico de Gulch Grito de Guerra' WHERE `ID`=3323; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de seda de la Garganta Grito de Guerra' WHERE `ID`=3324; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de lana' WHERE `ID`=3325; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alianza, la recompensa de un ladrón' WHERE `ID`=3351; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Horda, la recompensa de un ladrón' WHERE `ID`=3352; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='En una sola batalla por el Ojo de la Tormenta, captura la bandera 3 veces sin morir.' WHERE `ID`=3353; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cantidad de oro despojado' WHERE `ID`=3354; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Oro obtenido como recompensa de misiones' WHERE `ID`=3355; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cantidad de oro gastada en viajes' WHERE `ID`=3356; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cantidad de oro gastado en peluquerías' WHERE `ID`=3357; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cantidad de oro gastado en mensajes' WHERE `ID`=3358; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cantidad de cambios del árbol de talentos' WHERE `ID`=3359; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cantidad de oro gastado en cambiar el árbol de talentos' WHERE `ID`=3360; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cantidad de oro recibido de vendedores' WHERE `ID`=3361; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='En el Valle de Alterac, mata a 50 jugadores enemigos en la Cámara de los Lobo Gélido.' WHERE `ID`=3362; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='En el Valle de Alterac, mata a 50 jugadores enemigos en la Cámara de los Pico Tormenta.' WHERE `ID`=3363; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='300,000 curaciones en av' WHERE `ID`=3364; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='300.000 curación en ab' WHERE `ID`=3365; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='300.000 curaciones en eots' WHERE `ID`=3366; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='300.000 curaciones en wsg' WHERE `ID`=3367; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de Alterac' WHERE `ID`=3368; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuenca de Arathi' WHERE `ID`=3369; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ojo de la tormenta' WHERE `ID`=3370; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barranco Grito de Guerra' WHERE `ID`=3371; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defiende 3 bases en una sola batalla por la Cuenca de Arathi.' WHERE `ID`=3372; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un índice personal de 2200 en la rama de la arena 2c2 en el nivel 80.' WHERE `ID`=3381; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un índice personal de 2200 en la rama de la arena 3c3 en el nivel 80.' WHERE `ID`=3382; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un índice personal de 2200 en la rama de la arena 5c5 en el nivel 80.' WHERE `ID`=3383; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana diez encuentros puntuados seguidos con un índice superior a 1800 en nivel 80.' WHERE `ID`=3384; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Propiedad de la cueva de Kobold' WHERE `ID`=3386; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Propiedad de la cueva Trogg' WHERE `ID`=3387; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Propiedad de la cueva de Kobold' WHERE `ID`=3388; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Propiedad de la cueva Trogg' WHERE `ID`=3389; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ponte la bolsa "gigantesca" de Haris Pilton.' WHERE `ID`=3390; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Despoja la foto autografiada de Tigule en el Valle de Alterac.' WHERE `ID`=3391; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veterano del Valle de Alterac' WHERE `ID`=3392; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ladrón de tumbas de Alterac' WHERE `ID`=3393; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre de defensa' WHERE `ID`=3394; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defensor leal' WHERE `ID`=3395; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Todo cuenta' WHERE `ID`=3396; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El bombardeo de Alterac' WHERE `ID`=3397; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La gacela enfermiza' WHERE `ID`=3398; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Perfección Pico Tormenta' WHERE `ID`=3399; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='All-Star del Valle de Alterac' WHERE `ID`=3400; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Destrero de batalla Pico Tormenta' WHERE `ID`=3401; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Al saqueador van los despojos' WHERE `ID`=3403; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veterano del Valle de Alterac' WHERE `ID`=3404; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ladrón de tumbas de Alterac' WHERE `ID`=3405; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre de defensa' WHERE `ID`=3406; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defensor leal' WHERE `ID`=3407; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Todo cuenta' WHERE `ID`=3408; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El bombardeo de Alterac' WHERE `ID`=3409; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La gacela enfermiza' WHERE `ID`=3410; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Perfección Lobo Gélido' WHERE `ID`=3411; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='All-Star del Valle de Alterac' WHERE `ID`=3412; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aullador Lobo Gélido' WHERE `ID`=3413; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Al saqueador van los despojos' WHERE `ID`=3415; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veterano de la Cuenca de Arathi' WHERE `ID`=3416; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Perfección de la Cuenca de Arathi' WHERE `ID`=3417; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yo y el Cappin\' Makin\' it Happen' WHERE `ID`=3418; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desgraciando la cuenca' WHERE `ID`=3419; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='demasiado defensivo' WHERE `ID`=3420; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Al rescate!' WHERE `ID`=3421; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victoria resistente' WHERE `ID`=3422; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dominio Territorial' WHERE `ID`=3423; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hagamos esto' WHERE `ID`=3424; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lo tuvimos todo el tiempo * tos *' WHERE `ID`=3427; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='All-Star de la Cuenca de Arathi' WHERE `ID`=3429; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asesino de la Cuenca de Arathi' WHERE `ID`=3430; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veterano de la Cuenca de Arathi' WHERE `ID`=3431; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Perfección de la Cuenca de Arathi' WHERE `ID`=3432; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yo y el Cappin\' Makin\' it Happen' WHERE `ID`=3433; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desgraciando la cuenca' WHERE `ID`=3434; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='demasiado defensivo' WHERE `ID`=3435; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Al rescate!' WHERE `ID`=3436; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victoria resistente' WHERE `ID`=3437; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dominio Territorial' WHERE `ID`=3438; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hagamos esto' WHERE `ID`=3439; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lo tuvimos todo el tiempo * tos *' WHERE `ID`=3442; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='All-Star de la Cuenca de Arathi' WHERE `ID`=3444; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asesino de la Cuenca de Arathi' WHERE `ID`=3445; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veterano del Ojo de la Tormenta' WHERE `ID`=3446; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La tormenta perfecta' WHERE `ID`=3447; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dominación del Ojo de la Tormenta' WHERE `ID`=3448; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ráfaga' WHERE `ID`=3449; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='soldado de asalto' WHERE `ID`=3450; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Taponadora de tormentas' WHERE `ID`=3451; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Con destino a la gloria' WHERE `ID`=3452; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Berserker sediento de sangre' WHERE `ID`=3453; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veterano de la Garganta Grito de Guerra' WHERE `ID`=3461; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Captura la bandera' WHERE `ID`=3462; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defensor persistente' WHERE `ID`=3463; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defensor frenético' WHERE `ID`=3464; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Perfección de la Garganta Grito de Guerra' WHERE `ID`=3465; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Experiencia Grito de Guerra' WHERE `ID`=3466; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hombre de Acero' WHERE `ID`=3467; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='No en mi casa' WHERE `ID`=3469; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tapa rápida' WHERE `ID`=3470; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defensor Supremo' WHERE `ID`=3471; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salvar el dia' WHERE `ID`=3472; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veterano de la Garganta Grito de Guerra' WHERE `ID`=3476; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Captura la bandera' WHERE `ID`=3477; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defensor persistente' WHERE `ID`=3478; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defensor frenético' WHERE `ID`=3479; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Perfección de la Garganta Grito de Guerra' WHERE `ID`=3480; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Experiencia Grito de Guerra' WHERE `ID`=3481; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hombre de Acero' WHERE `ID`=3482; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='No en mi casa' WHERE `ID`=3484; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tapa rápida' WHERE `ID`=3485; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defensor Supremo' WHERE `ID`=3486; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salvar el dia' WHERE `ID`=3487; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ganador mundial' WHERE `ID`=3488; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='brutalmente dedicado' WHERE `ID`=3489; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Solo nosotros dos: 2200' WHERE `ID`=3490; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Compañía de tres: 2200' WHERE `ID`=3491; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cinco altos: 2200' WHERE `ID`=3492; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Buena racha' WHERE `ID`=3493; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mejor racha' WHERE `ID`=3494; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Último hombre de pie' WHERE `ID`=3496; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro del Valle de Alterac' WHERE `ID`=3500; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro de la Cuenca de Arathi' WHERE `ID`=3501; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro de la Quebrada Grito de Guerra' WHERE `ID`=3502; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro del Ojo de la Tormenta' WHERE `ID`=3503; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Despoja 100 de oro.' WHERE `ID`=3506; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Despoja 1000 de oro.' WHERE `ID`=3507; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Despoja 10000 de oro.' WHERE `ID`=3510; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Despoja 25000 de oro.' WHERE `ID`=3511; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Despoja 5000 de oro.' WHERE `ID`=3512; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Obtén 10000 de oro como recompensa de misiones.' WHERE `ID`=3513; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pilsner de invierno salvaje' WHERE `ID`=3515; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brebaje de Tuercespina' WHERE `ID`=3516; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Stout de primavera' WHERE `ID`=3517; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bola de burbujas de Metok' WHERE `ID`=3518; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Etiqueta privada de Lord of Frost' WHERE `ID`=3519; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El sabor eterno de Izzard' WHERE `ID`=3520; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza pálida draénica' WHERE `ID`=3521; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de roca negra' WHERE `ID`=3522; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='cerveza binaria' WHERE `ID`=3523; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El brebaje amargo de Bartlett' WHERE `ID`=3524; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de bellota otoñal' WHERE `ID`=3525; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Infusión de miel aromática' WHERE `ID`=3526; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de cebada clara' WHERE `ID`=3527; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de cebada oscura' WHERE `ID`=3528; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Luz de cerveza de cebada' WHERE `ID`=3529; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grog Gordok' WHERE `ID`=3531; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='leche de barro' WHERE `ID`=3534; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='hidromiel ogro' WHERE `ID`=3535; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trueno 45' WHERE `ID`=3539; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza Thunderbrew' WHERE `ID`=3540; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de trueno' WHERE `ID`=3541; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salchichón' WHERE `ID`=3542; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salchicha En Escabeche' WHERE `ID`=3543; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salchicha salada' WHERE `ID`=3544; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Queso De Cebolla Especiada' WHERE `ID`=3545; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salchicha Ahumada Picante' WHERE `ID`=3546; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salchicha suculenta' WHERE `ID`=3547; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El pretzel esencial de la fiesta de la cerveza' WHERE `ID`=3548; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El enlace dorado' WHERE `ID`=3549; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alianza' WHERE `ID`=3557; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Horda' WHERE `ID`=3558; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llave Auchenai' WHERE `ID`=3559; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Clave de la media luna' WHERE `ID`=3560; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='llave del tiempo' WHERE `ID`=3562; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='llave de la ciudad' WHERE `ID`=3563; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llave del laberinto de las sombras' WHERE `ID`=3564; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llave Forjasombras' WHERE `ID`=3565; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llave de los Salones Destrozados' WHERE `ID`=3566; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La llave escarlata' WHERE `ID`=3567; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llave del taller' WHERE `ID`=3568; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llave maestra' WHERE `ID`=3569; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dispara a 10 jugadores con flechas con astil de plata.' WHERE `ID`=3572; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Slad\'ran' WHERE `ID`=3574; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moorabi' WHERE `ID`=3575; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coloso Drakkari' WHERE `ID`=3576; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gal\'darah' WHERE `ID`=3577; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipe Taldaram' WHERE `ID`=3578; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anciano Nadax' WHERE `ID`=3579; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jedoga Buscasombras' WHERE `ID`=3580; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heraldo Volazj' WHERE `ID`=3581; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Cianigosa en El Bastión Violeta.' WHERE `ID`=3582; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 80 misiones en la Península del Fuego Infernal.' WHERE `ID`=3583; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 54 misiones en la Marisma de Zangar.' WHERE `ID`=3584; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 63 misiones en el Bosque de Terokkar.' WHERE `ID`=3585; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 75 misiones en Nagrand.' WHERE `ID`=3586; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 86 misiones en las Montañas Filospada.' WHERE `ID`=3587; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 120 misiones en Tormenta Abisal.' WHERE `ID`=3588; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 90 misiones en el Valle Sombraluna.' WHERE `ID`=3589; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Magia cervecera' WHERE `ID`=3594; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grog Gordok' WHERE `ID`=3595; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua de río de la selva' WHERE `ID`=3596; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brebaje de paso largo' WHERE `ID`=3597; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='leche de barro' WHERE `ID`=3598; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='hidromiel ogro' WHERE `ID`=3599; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Camino de la cerveza' WHERE `ID`=3600; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de paso pequeño' WHERE `ID`=3601; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cabeza reducida robusta' WHERE `ID`=3602; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con El Aldor' WHERE `ID`=3610; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ardilla' WHERE `ID`=3615; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pesca a El Rondador de abajo en la Caverna Santuario Serpiente.' WHERE `ID`=3622; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela Mixta Salobre' WHERE `ID`=3623; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela de pescado azul' WHERE `ID`=3624; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banco de peces de barro' WHERE `ID`=3625; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='escuela de dardos' WHERE `ID`=3626; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela mixta Highland' WHERE `ID`=3627; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banco de esporas' WHERE `ID`=3628; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Duelos ganados' WHERE `ID`=3629; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Duelos perdidos' WHERE `ID`=3630; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Misiones totales' WHERE `ID`=3631; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Keristrasza (El Nexo)' WHERE `ID`=3639; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Anub\'arak (Azjol-Nerub)' WHERE `ID`=3643; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Heraldo Volazj (Ahn’kahet: El Antiguo Reino)' WHERE `ID`=3647; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El profeta Tharon\'ja' WHERE `ID`=3651; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Cianigosa (El Bastión Violeta)' WHERE `ID`=3652; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Gal\'darah (Gundrak)' WHERE `ID`=3656; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Sjonnir el Afilador (Cámaras de Piedra)' WHERE `ID`=3659; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Loken (Cámaras de Relámpagos)' WHERE `ID`=3663; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Guardián-Ley Eregos (El Oculus)' WHERE `ID`=3667; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Rey Ymiron (Pináculo de Utgarde)' WHERE `ID`=3669; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mal\'Ganis' WHERE `ID`=3674; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Ingvar el Desvalijador (Fortaleza de Utgarde)' WHERE `ID`=3679; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana un duelo contra otro jugador.' WHERE `ID`=3680; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aprende la facultad de buscar pescado.' WHERE `ID`=3681; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pesca a Gahz’ranka en Zul’Gurub con el cebo de Fangoapestoso.' WHERE `ID`=3683; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un golpe de gracia bajo los efectos de la ventaja rabiosa en el Ojo de la Tormenta.' WHERE `ID`=3684; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 5 portadores de la bandera en una sola batalla por el Ojo de la Tormenta.' WHERE `ID`=3685; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue una mascota de compañía.' WHERE `ID`=3686; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reúne 15 mascotas de compañía únicas.' WHERE `ID`=3689; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reúne 25 mascotas de compañía únicas.' WHERE `ID`=3690; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reúne 50 mascotas de compañía únicas.' WHERE `ID`=3692; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mientras tu equipo controle 4 de las bases del Ojo de la Tormenta, coge la bandera personalmente y captúrala.' WHERE `ID`=3693; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 100 portadores de la bandera en la Garganta Grito de Guerra.' WHERE `ID`=3698; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 100 portadores de la bandera en la Garganta Grito de Guerra.' WHERE `ID`=3699; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipe Keleseth' WHERE `ID`=3701; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Skarvald el constructor' WHERE `ID`=3702; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dalronn el controlador' WHERE `ID`=3703; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingvar el Saqueador' WHERE `ID`=3704; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Omor el Sin Marcas' WHERE `ID`=3705; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nazán' WHERE `ID`=3706; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Rey Garra Ikiss en dificultad heroica.' WHERE `ID`=3708; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Kael\'thas Caminante del Sol en dificultad heroica.' WHERE `ID`=3709; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Keli\'dan el Ultrajador en dificultad heroica.' WHERE `ID`=3710; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Quagmirran en dificultad heroica.' WHERE `ID`=3711; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la Acechadora Negra en dificultad heroica.' WHERE `ID`=3712; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al príncipe-nexo Shaffar en dificultad heroica.' WHERE `ID`=3713; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al exarca Maladaar en dificultad heroica.' WHERE `ID`=3714; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al cazador de Época en dificultad heroica.' WHERE `ID`=3715; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Murmullo' WHERE `ID`=3716; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Aeonus en dificultad heroica.' WHERE `ID`=3717; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor de la guerra Kalithresh' WHERE `ID`=3718; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jefe de Guerra Kargath Garrafilada' WHERE `ID`=3719; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Pathaleon el Calculador en dificultad heroica.' WHERE `ID`=3720; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al disidente de distorsión en dificultad heroica.' WHERE `ID`=3721; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heraldo Skyriss' WHERE `ID`=3722; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cabeza' WHERE `ID`=3723; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuello' WHERE `ID`=3724; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hombro' WHERE `ID`=3725; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pecho' WHERE `ID`=3726; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cintura' WHERE `ID`=3727; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piernas' WHERE `ID`=3728; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pies' WHERE `ID`=3729; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muñeca' WHERE `ID`=3730; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manos' WHERE `ID`=3731; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo izquierdo' WHERE `ID`=3732; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo derecho' WHERE `ID`=3733; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera baratija' WHERE `ID`=3734; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Segunda baratija' WHERE `ID`=3735; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capa' WHERE `ID`=3736; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arma' WHERE `ID`=3737; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='a distancia' WHERE `ID`=3738; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rana de vapor' WHERE `ID`=3739; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rana boreal' WHERE `ID`=3741; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gato' WHERE `ID`=3744; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pollo' WHERE `ID`=3745; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vaca' WHERE `ID`=3746; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cangrejo' WHERE `ID`=3747; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciervo' WHERE `ID`=3748; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ewe' WHERE `ID`=3749; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Adular' WHERE `ID`=3750; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rana' WHERE `ID`=3751; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gacela' WHERE `ID`=3752; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='liebre' WHERE `ID`=3753; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Loro' WHERE `ID`=3754; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conejo' WHERE `ID`=3755; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='RAM' WHERE `ID`=3756; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Oveja' WHERE `ID`=3757; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zorrillo' WHERE `ID`=3758; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerdo' WHERE `ID`=3759; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sapo' WHERE `ID`=3760; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Perrito de las praderas' WHERE `ID`=3761; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aegwynn y la caza del dragón' WHERE `ID`=3762; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consecuencias de la Segunda Guerra' WHERE `ID`=3763; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arathor y las guerras de los trolls' WHERE `ID`=3764; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El regreso de Archimonde y la huida a Kalimdor' WHERE `ID`=3765; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Más allá del Portal Oscuro' WHERE `ID`=3766; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carga de los Dragonflights' WHERE `ID`=3767; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guerra Civil en las Tierras de la Peste' WHERE `ID`=3768; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caída de los imperios' WHERE `ID`=3769; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exilio de los Altos Elfos' WHERE `ID`=3770; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Corona de Hielo y el Trono Helado' WHERE `ID`=3771; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forjaz - El despertar de los enanos' WHERE `ID`=3772; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kel\'Thuzad y la formación del Azote' WHERE `ID`=3773; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kil\'jaeden y el Pacto de las Sombras' WHERE `ID`=3774; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Letargo de los orcos' WHERE `ID`=3775; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Monte Hyjal y el regalo de Illidan' WHERE `ID`=3776; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Viejos odios - La colonización de Kalimdor' WHERE `ID`=3777; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El ascenso de los elfos de sangre' WHERE `ID`=3778; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ascenso de la Horda' WHERE `ID`=3779; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sargeras y la traición' WHERE `ID`=3780; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Fuente del Sol - La Caída de Quel\'Thalas' WHERE `ID`=3781; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Alianza de Lordaeron' WHERE `ID`=3782; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La batalla de Grim Batol' WHERE `ID`=3783; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Ascendente Traidor' WHERE `ID`=3784; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El nacimiento del Rey Exánime' WHERE `ID`=3785; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Portal Oscuro y la Caída de Ventormenta' WHERE `ID`=3786; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La fundación de Quel\'Thalas' WHERE `ID`=3787; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los Guardianes de Tirisfal' WHERE `ID`=3788; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La invasión de Draenor' WHERE `ID`=3789; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Kaldorei y el Pozo de la Eternidad' WHERE `ID`=3790; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El ultimo guardian' WHERE `ID`=3791; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Rey Exánime triunfante' WHERE `ID`=3792; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='la nueva horda' WHERE `ID`=3793; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los dioses antiguos y el ordenamiento de Azeroth' WHERE `ID`=3794; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Azote de Lordaeron' WHERE `ID`=3795; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los centinelas y la larga vigilia' WHERE `ID`=3796; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='los siete reinos' WHERE `ID`=3797; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los imperios gemelos' WHERE `ID`=3798; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Guerra de los Antiguos' WHERE `ID`=3799; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Árbol del Mundo y el Sueño Esmeralda' WHERE `ID`=3800; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guerra de la araña' WHERE `ID`=3801; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guerra de los tres martillos' WHERE `ID`=3802; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ira de Soulflayer' WHERE `ID`=3803; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Superar una desventaja de 500 recursos' WHERE `ID`=3804; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Superar una desventaja de 500 recursos' WHERE `ID`=3805; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Superar una desventaja de 500 recursos' WHERE `ID`=3806; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Superar una desventaja de 500 recursos' WHERE `ID`=3807; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Superar una desventaja de 500 recursos' WHERE `ID`=3808; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Superar una desventaja de 500 recursos' WHERE `ID`=3809; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Superar una desventaja de 500 recursos' WHERE `ID`=3810; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Superar una desventaja de 500 recursos' WHERE `ID`=3811; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Superar una desventaja de 500 recursos' WHERE `ID`=3812; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Superar una desventaja de 500 recursos' WHERE `ID`=3813; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Convertido en un necrófago' WHERE `ID`=3814; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Revivir (Rango 7)' WHERE `ID`=3815; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vazruden el Heraldo' WHERE `ID`=3816; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata 15 pavos en menos de 3 minutos.' WHERE `ID`=3821; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sé el único superviviente al final de un encuentro puntuado de 5c5 en el nivel 80.' WHERE `ID`=3822; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='26157' WHERE `ID`=3826; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='26272' WHERE `ID`=3827; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='26273' WHERE `ID`=3828; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='26274' WHERE `ID`=3829; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'Rekhan' WHERE `ID`=3834; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran Viuda Faerlina' WHERE `ID`=3835; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='maexxna' WHERE `ID`=3836; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='patchwerk' WHERE `ID`=3837; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grobbulus' WHERE `ID`=3838; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='glúteo' WHERE `ID`=3839; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tadeo' WHERE `ID`=3840; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Noth el Pesteador' WHERE `ID`=3841; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heigan el impuro' WHERE `ID`=3842; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Detestob' WHERE `ID`=3843; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Instructor Razuvious' WHERE `ID`=3844; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gothik el Cosechador' WHERE `ID`=3845; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Sapphiron en Naxxramas en el modo de 25 jugadores.' WHERE `ID`=3847; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caña de pescar de arcanita' WHERE `ID`=3849; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anzuelo del maestro pescador' WHERE `ID`=3850; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='abundante escuela aceitosa blackmouth' WHERE `ID`=3851; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Abundante banco de pargos firefin' WHERE `ID`=3852; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela de boca negra aceitosa menor' WHERE `ID`=3853; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banco de peces descarriados' WHERE `ID`=3854; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banco de salvia menor' WHERE `ID`=3855; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela de Blackmouth aceitosa escasa' WHERE `ID`=3856; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banco disperso de pargos firefin' WHERE `ID`=3857; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela de salvia' WHERE `ID`=3858; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='escuela aceitosa bocanegra' WHERE `ID`=3859; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela de pargos firefin' WHERE `ID`=3860; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banco de salvia mayor' WHERE `ID`=3861; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='repleta aceitosa blackmouth escuela' WHERE `ID`=3862; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela repleta de pargos de aleta de fuego' WHERE `ID`=3863; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Enjambre de anguilas escamapétrea' WHERE `ID`=3864; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela Mixta Salobre' WHERE `ID`=3865; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela de pescado azul' WHERE `ID`=3866; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banco de peces de barro' WHERE `ID`=3867; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='escuela de dardos' WHERE `ID`=3868; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela mixta Highland' WHERE `ID`=3869; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banco de esporas' WHERE `ID`=3870; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Flotador de bomba de vapor' WHERE `ID`=3872; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Restos Velasangre' WHERE `ID`=3873; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Restos de goleta' WHERE `ID`=3874; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Restos anegados' WHERE `ID`=3875; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Restos flotantes' WHERE `ID`=3876; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='En el Ojo de la Tormenta, mata a un jugador que se encuentre bajo los efectos de la ventaja rabiosa.' WHERE `ID`=3879; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='En la Garganta Grito de Guerra, mata a un jugador que se encuentre bajo los efectos de la ventaja de velocidad.' WHERE `ID`=3880; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cae desde una altura de 65 metros sin morir estando bebido durante la celebración de la Fiesta de la Cerveza.' WHERE `ID`=3881; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 50 muertes con honor con la ventaja C.H.U.C.H.E.G. ¡Es como un insulto!' WHERE `ID`=3882; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Al fuego del infierno y de regreso' WHERE `ID`=3883; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='misterios del pantano' WHERE `ID`=3884; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terror de Terokkar' WHERE `ID`=3885; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Golpe de Nagrand' WHERE `ID`=3886; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='En el Filo de la Espada' WHERE `ID`=3887; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='en el abismo' WHERE `ID`=3888; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sombra del traidor' WHERE `ID`=3889; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tundra boreal' WHERE `ID`=3904; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fiordo Aquilonal' WHERE `ID`=3905; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cementerio de dragones' WHERE `ID`=3906; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='colinas grises' WHERE `ID`=3907; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Drak' WHERE `ID`=3908; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuenca de Sholazar' WHERE `ID`=3909; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='picos tormentosos' WHERE `ID`=3910; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='corona de hielo' WHERE `ID`=3911; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 90 misiones en la Península del Fuego Infernal.' WHERE `ID`=3912; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 68 misiones en el Bosque de Terokkar.' WHERE `ID`=3913; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 87 misiones en Nagrand.' WHERE `ID`=3914; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Al fuego del infierno y de regreso' WHERE `ID`=3915; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='misterios del pantano' WHERE `ID`=3916; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terror de Terokkar' WHERE `ID`=3917; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Golpe de Nagrand' WHERE `ID`=3918; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='En el Filo de la Espada' WHERE `ID`=3919; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='en el abismo' WHERE `ID`=3920; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sombra del traidor' WHERE `ID`=3921; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la misión de El fuego sobre Skettis en menos de 2 minutos y 15 segundos sin formar parte de un grupo.' WHERE `ID`=3922; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la misión ¡Bombardéalos de nuevo! en menos de 2 minutos y 15 segundos sin formar parte de un grupo.' WHERE `ID`=3923; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la misión Defender el Templo del Reposo del Dragón en menos de 3 minutos sin formar parte de un grupo.' WHERE `ID`=3924; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Besó a Jeremías Payson' WHERE `ID`=3929; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sraaz besada' WHERE `ID`=3931; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lanza 10 tracas de cohetes rojos en menos de 25 segundos.' WHERE `ID`=3932; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Summon Reindeer Flying Mount Tier 3.5 (Marrón) (Recompensa PVP)' WHERE `ID`=3936; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Invocar montura voladora de reno Tier 3.0 (marrón)' WHERE `ID`=3937; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Invocar montura voladora de reno Tier 2.0 (marrón)' WHERE `ID`=3938; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='muertos' WHERE `ID`=3939; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Abismo de fuego furioso' WHERE `ID`=3940; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cavernas de los Lamentos' WHERE `ID`=3941; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Castillo Colmillo Oscuro' WHERE `ID`=3942; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Abismos de Brazanegra' WHERE `ID`=3943; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Empalizada de Ventormenta' WHERE `ID`=3944; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gnomeregan' WHERE `ID`=3945; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Razorfen Kraul' WHERE `ID`=3946; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Razorfen Downs' WHERE `ID`=3947; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Monasterio Escarlata' WHERE `ID`=3948; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Uldamán' WHERE `ID`=3949; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Farrak' WHERE `ID`=3950; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maraudon' WHERE `ID`=3951; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Templo Sumergido' WHERE `ID`=3952; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profundidades de Roca Negra' WHERE `ID`=3953; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aguja de Roca Negra' WHERE `ID`=3954; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey de la Masacre' WHERE `ID`=3955; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Scholomance' WHERE `ID`=3956; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Stratholme' WHERE `ID`=3957; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Murallas del Fuego Infernal' WHERE `ID`=3964; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El horno de sangre' WHERE `ID`=3965; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los corrales de esclavos' WHERE `ID`=3966; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='sotobosque' WHERE `ID`=3967; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tumbas de maná' WHERE `ID`=3968; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La huida de Dürnholde' WHERE `ID`=3969; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salones Sethekk' WHERE `ID`=3970; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Laberinto de sombras' WHERE `ID`=3971; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Apertura del Portal Oscuro' WHERE `ID`=3973; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La bóveda de vapor' WHERE `ID`=3974; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los salones destrozados' WHERE `ID`=3975; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el mechanar' WHERE `ID`=3976; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Botánica' WHERE `ID`=3977; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Arcatraz' WHERE `ID`=3978; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terraza del Magister' WHERE `ID`=3979; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Criptas Auchenai' WHERE `ID`=3980; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Naxxramas' WHERE `ID`=4008; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guarida Alanegra' WHERE `ID`=4009; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nucleo fundido' WHERE `ID`=4010; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Templo de Ahn\'Qiraj' WHERE `ID`=4011; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Gurub' WHERE `ID`=4012; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Ahn\'Qiraj' WHERE `ID`=4013; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Karazhan' WHERE `ID`=4014; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Aman' WHERE `ID`=4015; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guarida de Gruul' WHERE `ID`=4016; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guarida de Magtheridon' WHERE `ID`=4017; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caverna Santuario Serpiente' WHERE `ID`=4018; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La batalla por el monte Hyjal' WHERE `ID`=4019; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza de la Tempestad' WHERE `ID`=4020; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el templo negro' WHERE `ID`=4021; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Meseta de la Fuente del Sol' WHERE `ID`=4022; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Baluartes heroicos del fuego infernal' WHERE `ID`=4023; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico el horno de sangre' WHERE `ID`=4024; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico los corrales de esclavos' WHERE `ID`=4025; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sotobosque heroico' WHERE `ID`=4026; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tumbas de maná heroicas' WHERE `ID`=4027; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico El escape de Durnholde' WHERE `ID`=4028; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salones heroicos de Sethekk' WHERE `ID`=4029; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Laberinto de sombras heroico' WHERE `ID`=4030; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroica Apertura del Portal Oscuro' WHERE `ID`=4032; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico La Bóveda de Vapor' WHERE `ID`=4033; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico Los Salones Destrozados' WHERE `ID`=4034; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico El Mechanar' WHERE `ID`=4035; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroica La Botánica' WHERE `ID`=4036; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico El Arcatraz' WHERE `ID`=4037; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terraza del magister heroico' WHERE `ID`=4038; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Criptas Auchenai heroicas' WHERE `ID`=4039; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza de Utgarde' WHERE `ID`=4040; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El nexo' WHERE `ID`=4041; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cavernas del tiempo: Stratholme' WHERE `ID`=4042; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Azjol-Nerub' WHERE `ID`=4043; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ahn\'kahet: El Reino Antiguo' WHERE `ID`=4044; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza de Drak\'Tharon' WHERE `ID`=4045; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Bastión Violeta' WHERE `ID`=4046; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gundrak' WHERE `ID`=4047; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salones de piedra' WHERE `ID`=4048; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salas de relámpagos' WHERE `ID`=4049; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el óculo' WHERE `ID`=4050; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pináculo de Utgarde' WHERE `ID`=4051; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza heroica de Utgarde' WHERE `ID`=4056; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico El Nexo' WHERE `ID`=4057; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cavernas heroicas del tiempo: Stratholme' WHERE `ID`=4058; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Azjol-Nerub heroico' WHERE `ID`=4059; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico Ahn\'kahet: El Antiguo Reino' WHERE `ID`=4060; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza heroica de Drak\'Tharon' WHERE `ID`=4061; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico El Bastión Violeta' WHERE `ID`=4062; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gundrak heroico' WHERE `ID`=4063; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salones heroicos de piedra' WHERE `ID`=4064; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroicos Salones de Relámpagos' WHERE `ID`=4065; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico el óculo' WHERE `ID`=4066; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pináculo heroico de Utgarde' WHERE `ID`=4067; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicia de suero de leche en un picnic romántico' WHERE `ID`=4071; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra amarilla de la Fiesta de la Cerveza' WHERE `ID`=4072; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de la Fiesta de la Cerveza amarilla llena' WHERE `ID`=4073; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de la Fiesta de la Cerveza amarilla llena' WHERE `ID`=4074; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de la Fiesta de la Cerveza amarilla llena' WHERE `ID`=4075; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de la Fiesta de la Cerveza amarilla llena' WHERE `ID`=4076; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de la Fiesta de la Cerveza amarilla llena' WHERE `ID`=4077; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra azul de la Fiesta de la Cerveza' WHERE `ID`=4078; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de la Fiesta de la Cerveza azul llena' WHERE `ID`=4079; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de la Fiesta de la Cerveza azul llena' WHERE `ID`=4080; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de la Fiesta de la Cerveza azul llena' WHERE `ID`=4081; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de la Fiesta de la Cerveza azul llena' WHERE `ID`=4082; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de la Fiesta de la Cerveza azul llena' WHERE `ID`=4083; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana 25 colisiones con el coche de carreras triturador durante el festín del Festival de Invierno.' WHERE `ID`=4090; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dinero de los vendedores' WHERE `ID`=4091; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dinero de la búsqueda' WHERE `ID`=4092; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dinero saqueado de criaturas' WHERE `ID`=4093; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a Coren Cerveza Temible.' WHERE `ID`=4111; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ponte 3 prendas de la Fiesta de la cerveza, acaba totalmente borracho y baila en Dalaran.' WHERE `ID`=4112; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad Templo de En\'kilah' WHERE `ID`=4122; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caravana de Steeljaw' WHERE `ID`=4123; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hebra Riplash' WHERE `ID`=4124; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kaskala' WHERE `ID`=4125; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desembarco de Garrosh' WHERE `ID`=4126; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='puesto de la muerte' WHERE `ID`=4127; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coldarra' WHERE `ID`=4128; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puesto avanzado de Bor\'gorok' WHERE `ID`=4129; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Saliente de ámbar' WHERE `ID`=4130; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión Grito de Guerra' WHERE `ID`=4131; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mantener la valentía' WHERE `ID`=4132; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los campos de géiseres' WHERE `ID`=4134; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las guaridas de los moribundos' WHERE `ID`=4135; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kamagua' WHERE `ID`=4136; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla de los calderos' WHERE `ID`=4137; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento Pezuña Invernal' WHERE `ID`=4138; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento de boticario' WHERE `ID`=4139; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aterrizaje de venganza' WHERE `ID`=4140; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='puerta de acero' WHERE `ID`=4141; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Punto de Scalawag' WHERE `ID`=4142; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nifflevar' WHERE `ID`=4143; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gjalerbron' WHERE `ID`=4144; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Embrague de ascuas' WHERE `ID`=4146; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='carrera de gigantes' WHERE `ID`=4147; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fuerte Wildervar' WHERE `ID`=4148; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruina de Ivald' WHERE `ID`=4149; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Halgrind' WHERE `ID`=4150; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nuevo Agamand' WHERE `ID`=4151; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Skorn' WHERE `ID`=4152; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El claro torcido' WHERE `ID`=4153; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza de Utgarde' WHERE `ID`=4154; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torreón de la Guardia Oeste' WHERE `ID`=4155; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sitio de excavación de Baelgun' WHERE `ID`=4157; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Baleheim' WHERE `ID`=4158; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Descanso de Galakrond' WHERE `ID`=4159; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Indu\'le' WHERE `ID`=4160; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Santuario de Dragones Rubí' WHERE `ID`=4161; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Santuario de dragones de obsidiana' WHERE `ID`=4162; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nueva Cañada del Hogar' WHERE `ID`=4163; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Naxxramas' WHERE `ID`=4164; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Confianza de la luz' WHERE `ID`=4165; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pueblo Bruma de Hielo' WHERE `ID`=4166; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Santuario de Dragones Esmeralda' WHERE `ID`=4167; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alturas del Viento Frío' WHERE `ID`=4168; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Angrathar la Puerta de la Cólera' WHERE `ID`=4170; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Martillo de Agmar' WHERE `ID`=4171; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Templo Reposo del Dragón' WHERE `ID`=4172; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento de refugiados de Westwind' WHERE `ID`=4173; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='a pesar de veneno' WHERE `ID`=4174; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La orilla olvidada' WHERE `ID`=4175; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El vicio de cristal' WHERE `ID`=4176; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Punto Escarlata' WHERE `ID`=4177; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión de la conquista' WHERE `ID`=4178; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza de Drak\'Tharon' WHERE `ID`=4179; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas Drakil\'jin' WHERE `ID`=4180; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dun Argol' WHERE `ID`=4181; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='manantiales de granito' WHERE `ID`=4182; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Faucesparda' WHERE `ID`=4183; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Santuario Colmillo de Ira' WHERE `ID`=4184; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='thor modan' WHERE `ID`=4185; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bahía de la aventura' WHERE `ID`=4186; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Voldrune' WHERE `ID`=4187; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Refugio de pinos ambarinos' WHERE `ID`=4188; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campos de tala de cielo azul' WHERE `ID`=4189; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento Oneqwah' WHERE `ID`=4190; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campamento de la Brigada de los Páramos de Poniente' WHERE `ID`=4191; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gundrak' WHERE `ID`=4192; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campos de Drak\'Sotra' WHERE `ID`=4193; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anfiteatro de la Angustia' WHERE `ID`=4194; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Altar de Sseratus' WHERE `ID`=4195; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Altar de Rhunok' WHERE `ID`=4196; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Altar de Quetz\'lun' WHERE `ID`=4197; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Altar de Mam\'toth' WHERE `ID`=4198; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Altar de Har\'koa' WHERE `ID`=4199; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zim\'Torga' WHERE `ID`=4200; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zeramas' WHERE `ID`=4201; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Voltaro' WHERE `ID`=4202; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fin de Thrym' WHERE `ID`=4203; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='brecha de la luz' WHERE `ID`=4204; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kolramas' WHERE `ID`=4205; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='corazon de rio' WHERE `ID`=4206; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El matorral salvaje' WHERE `ID`=4207; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El pilar de luz de musgo' WHERE `ID`=4208; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mirador de los creadores' WHERE `ID`=4209; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Percha de los fabricantes' WHERE `ID`=4210; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El pilar tocado por el sol' WHERE `ID`=4211; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pabellón de hablalluvia' WHERE `ID`=4212; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El pilar de sangre vital' WHERE `ID`=4213; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='la avalancha' WHERE `ID`=4214; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El pilar resplandeciente' WHERE `ID`=4215; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fuerte de Kartak' WHERE `ID`=4217; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El estante de Stormwright' WHERE `ID`=4218; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Oro total ganado en subastas' WHERE `ID`=4219; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cantidad de subastas creadas' WHERE `ID`=4220; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Compras realizadas en la casa de subastas' WHERE `ID`=4221; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La puja más alta realizada en una subasta' WHERE `ID`=4222; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Venta más cara realizada en una subasta' WHERE `ID`=4223; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mayor cantidad de oro jamás poseída' WHERE `ID`=4224; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dinero de las subastas' WHERE `ID`=4225; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puñado de pétalos de rosa en Jeremiah Payson' WHERE `ID`=4227; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Durante el festín del Festival de Invierno, ponte tres prendas de invierno y come pastel de macedonia y carne de Graccu.' WHERE `ID`=4230; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='matando a la bestia' WHERE `ID`=4238; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Hermandad Defias' WHERE `ID`=4239; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Krik\'thir el Vigía de las puertas en Azjol-Nerub en dificultad heroica mientras los Vigías Gashra, Narjil y Silthik siguen vivos.' WHERE `ID`=4240; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Hadronox en dificultad heroica antes de que tape las puertas superiores y evite que aparezcan más criaturas.' WHERE `ID`=4244; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El fragmento resplandeciente' WHERE `ID`=4246; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arugal debe morir' WHERE `ID`=4247; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los disturbios de la empalizada' WHERE `ID`=4249; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un destino vengativo' WHERE `ID`=4250; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La bruja del Kraul' WHERE `ID`=4251; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='la gran traición' WHERE `ID`=4252; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guerras de plataformas' WHERE `ID`=4253; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trae la luz' WHERE `ID`=4254; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='traer el final' WHERE `ID`=4255; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`=' Los discos de platino' WHERE `ID`=4256; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encuentra las gemas y la fuente de energía' WHERE `ID`=4257; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Restaurando el Collar' WHERE `ID`=4258; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La corrupción de la tierra y la semilla' WHERE `ID`=4259; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La corrupción de la tierra y la semilla' WHERE `ID`=4260; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La esencia de Eranikus' WHERE `ID`=4261; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El destino del reino' WHERE `ID`=4262; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el rescate real' WHERE `ID`=4263; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El corazón de Hakkar' WHERE `ID`=4264; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La caída de Ossirian' WHERE `ID`=4265; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victoria de la Alianza' WHERE `ID`=4266; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victoria para la Horda' WHERE `ID`=4267; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Una cadena adecuada' WHERE `ID`=4268; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La única receta' WHERE `ID`=4269; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La forja de Quel\'Serrar' WHERE `ID`=4270; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mochila de pellejo de Onyxia' WHERE `ID`=4271; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grimorio de piedra angular antigua' WHERE `ID`=4272; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portador de la muerte' WHERE `ID`=4282; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vis\'kag el Bloodletter' WHERE `ID`=4283; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo de unión' WHERE `ID`=4284; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mantón de zafiro' WHERE `ID`=4285; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Collar de Eskhandar' WHERE `ID`=4286; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fragmento de la Escala' WHERE `ID`=4287; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción curativa Auchenai' WHERE `ID`=4288; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vapor abisal embotellado' WHERE `ID`=4289; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción curativa de cristal' WHERE `ID`=4290; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción curativa descolorida' WHERE `ID`=4291; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de regeneración vil' WHERE `ID`=4292; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de sanación mayor' WHERE `ID`=4293; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción curativa' WHERE `ID`=4294; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de sanación menor' WHERE `ID`=4295; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Proyecto de curación mayor' WHERE `ID`=4296; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de curación mayor' WHERE `ID`=4297; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de rejuvenecimiento mayor' WHERE `ID`=4298; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de curación menor' WHERE `ID`=4299; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de rejuvenecimiento menor' WHERE `ID`=4300; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salsa secreta de Rulkster' WHERE `ID`=4301; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Súper poción curativa' WHERE `ID`=4302; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Súper poción de rejuvenecimiento' WHERE `ID`=4303; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Borrador curativo superior' WHERE `ID`=4304; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción curativa superior' WHERE `ID`=4305; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de curación volátil' WHERE `ID`=4306; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de vid salvaje' WHERE `ID`=4307; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná Auchenai' WHERE `ID`=4308; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Inyector de poción curativa' WHERE `ID`=4309; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Súper poción curativa' WHERE `ID`=4310; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Inyector de poción de maná' WHERE `ID`=4311; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Súper poción de maná' WHERE `ID`=4312; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Energía Nethergon embotellada' WHERE `ID`=4313; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná de cristal' WHERE `ID`=4314; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción para dormir sin sueños' WHERE `ID`=4315; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de sueño sin sueños mayor' WHERE `ID`=4316; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción para dormir sin sueños mayor' WHERE `ID`=4317; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción para dormir sin sueños' WHERE `ID`=4318; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de sueño sin sueños mayor' WHERE `ID`=4319; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción para dormir sin sueños mayor' WHERE `ID`=4320; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná vil' WHERE `ID`=4321; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná superior' WHERE `ID`=4322; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná inferior' WHERE `ID`=4323; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de alquimista loco' WHERE `ID`=4324; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de alquimista loco' WHERE `ID`=4325; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Proyecto de maná mayor' WHERE `ID`=4326; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Corriente de maná superior' WHERE `ID`=4327; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná mayor' WHERE `ID`=4328; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de rejuvenecimiento mayor' WHERE `ID`=4329; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná' WHERE `ID`=4330; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná menor' WHERE `ID`=4331; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jugo de cerebro de Rulkster' WHERE `ID`=4332; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná superior' WHERE `ID`=4333; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Súper poción de rejuvenecimiento' WHERE `ID`=4334; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná inestable' WHERE `ID`=4335; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de vid salvaje' WHERE `ID`=4336; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brillo de Zanza' WHERE `ID`=4337; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espíritu de Zanza' WHERE `ID`=4338; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rapidez de Zanza' WHERE `ID`=4339; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir del adepto' WHERE `ID`=4340; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir Arcano' WHERE `ID`=4341; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de bayas de sangre' WHERE `ID`=4342; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de ojo de gato' WHERE `ID`=4343; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Compuesto de la corteza cerebral' WHERE `ID`=4344; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de tierra' WHERE `ID`=4345; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de agilidad' WHERE `ID`=4346; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de fuerza bruta' WHERE `ID`=4347; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de camuflaje' WHERE `ID`=4348; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de defensa' WHERE `ID`=4349; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de exterminio de demonios' WHERE `ID`=4350; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de Detectar Demonio' WHERE `ID`=4351; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de detección de invisibilidad menor' WHERE `ID`=4352; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de detección de muertos vivientes' WHERE `ID`=4353; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de sabiduría draénica' WHERE `ID`=4354; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de visión onírica' WHERE `ID`=4355; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de empoderamiento' WHERE `ID`=4356; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de potencia de fuego' WHERE `ID`=4357; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de Fortaleza' WHERE `ID`=4358; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de poder de escarcha' WHERE `ID`=4359; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de crecimiento gigante' WHERE `ID`=4360; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de gigantes' WHERE `ID`=4361; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de mayor agilidad' WHERE `ID`=4362; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de defensa superior' WHERE `ID`=4363; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de potencia de fuego superior' WHERE `ID`=4364; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de intelecto superior' WHERE `ID`=4365; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de respiración acuática superior' WHERE `ID`=4366; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de poder curativo' WHERE `ID`=4367; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de piel de hierro' WHERE `ID`=4368; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de agilidad inferior' WHERE `ID`=4369; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de fuerza de león' WHERE `ID`=4370; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de gran agilidad' WHERE `ID`=4371; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de defensa mayor' WHERE `ID`=4372; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de gran potencia de fuego' WHERE `ID`=4373; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de fortaleza mayor' WHERE `ID`=4374; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de gran poder de escarcha' WHERE `ID`=4375; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de sangre de mago mayor' WHERE `ID`=4376; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de poder de las sombras mayor' WHERE `ID`=4377; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de Fuerza Mayor' WHERE `ID`=4378; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de Maestría' WHERE `ID`=4379; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de agilidad poderosa' WHERE `ID`=4380; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de defensa poderosa' WHERE `ID`=4381; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de fortaleza poderosa' WHERE `ID`=4382; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de sangre mágica poderosa' WHERE `ID`=4383; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de fuerza poderosa' WHERE `ID`=4384; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de agilidad menor' WHERE `ID`=4385; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de defensa menor' WHERE `ID`=4386; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de fortaleza menor' WHERE `ID`=4387; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de fuerza de ogro' WHERE `ID`=4388; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de poder de las sombras' WHERE `ID`=4389; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de espíritu' WHERE `ID`=4390; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de defensa superior' WHERE `ID`=4391; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de dureza' WHERE `ID`=4392; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de respiración acuática' WHERE `ID`=4393; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de caminar sobre el agua' WHERE `ID`=4394; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de Sabiduría' WHERE `ID`=4395; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de Mangosta' WHERE `ID`=4396; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de los Sabios' WHERE `ID`=4397; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir del ojo inquisitivo' WHERE `ID`=4398; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de fuerza vil' WHERE `ID`=4399; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Don de Arthas' WHERE `ID`=4400; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Goma de molleja' WHERE `ID`=4401; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir Arcano Mayor' WHERE `ID`=4402; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ensayo de Scorpok molido' WHERE `ID`=4403; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cóctel de jugo de pulmón' WHERE `ID`=4404; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ROIDAS' WHERE `ID`=4405; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de Noggenfogger' WHERE `ID`=4406; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de ataque' WHERE `ID`=4407; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La carta no enviada' WHERE `ID`=4408; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Una alianza impía' WHERE `ID`=4409; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de luz cegadora' WHERE `ID`=4410; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de resistencia cromática' WHERE `ID`=4411; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de maravilla cromática' WHERE `ID`=4412; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de sabiduría destilada' WHERE `ID`=4413; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de ira infinita' WHERE `ID`=4414; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de fortificación' WHERE `ID`=4415; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de restauración poderosa' WHERE `ID`=4416; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de petrificación' WHERE `ID`=4417; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de muerte pura' WHERE `ID`=4418; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de mojo puro' WHERE `ID`=4419; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de asalto implacable' WHERE `ID`=4420; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de sangre de piedra' WHERE `ID`=4421; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de poder supremo' WHERE `ID`=4422; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco del Wyrm de Escarcha' WHERE `ID`=4423; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de los titanes' WHERE `ID`=4424; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de Shattrath de luz cegadora' WHERE `ID`=4425; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de fortificación de Shattrath' WHERE `ID`=4426; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de Shattrath de restauración poderosa' WHERE `ID`=4427; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de Shattrath de muerte pura' WHERE `ID`=4428; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de Shattrath de asalto implacable' WHERE `ID`=4429; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de Shattrath de poder supremo' WHERE `ID`=4430; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco inestable del bandido' WHERE `ID`=4431; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco inestable de la bestia' WHERE `ID`=4432; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco inestable del anciano' WHERE `ID`=4433; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco inestable del médico' WHERE `ID`=4434; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco inestable del soldado' WHERE `ID`=4435; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco inestable del hechicero' WHERE `ID`=4436; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La única receta' WHERE `ID`=4437; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='General Drakkisath' WHERE `ID`=4439; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La misión de Maxwell' WHERE `ID`=4440; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Comando del señor de la guerra' WHERE `ID`=4441; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`=' Comando del General Drakkisath' WHERE `ID`=4442; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La muerte del general Drakkisath' WHERE `ID`=4443; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sangre del Campeón del Dragón Negro' WHERE `ID`=4444; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Amuleto de fuego de draco' WHERE `ID`=4445; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sello de Ascensión' WHERE `ID`=4446; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Señor de Roca Negra' WHERE `ID`=4447; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Señor de Roca Negra' WHERE `ID`=4448; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La corrupción de Nefarius' WHERE `ID`=4449; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Camisote de delantero' WHERE `ID`=4450; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chaleco de mortífero' WHERE `ID`=4451; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de conquistador' WHERE `ID`=4452; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de vengador' WHERE `ID`=4453; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chaleco Génesis' WHERE `ID`=4454; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Camisote de invocatormentas' WHERE `ID`=4455; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Túnicas de clamador de fatalidades' WHERE `ID`=4456; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Túnicas Enigma' WHERE `ID`=4457; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vestimentas del Oráculo' WHERE `ID`=4458; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El legado de C\'Thun' WHERE `ID`=4459; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Atiesh, el Gran Bastón Contaminado' WHERE `ID`=4460; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Debilitar las murallas' WHERE `ID`=4461; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Debilitar las murallas' WHERE `ID`=4462; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Acechar al acosador' WHERE `ID`=4463; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Socavar la competencia' WHERE `ID`=4464; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Auchindoun...' WHERE `ID`=4465; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Todo va a estar bien' WHERE `ID`=4466; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escapar de Dürnholde' WHERE `ID`=4467; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El legado de Terokk' WHERE `ID`=4468; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='En el corazón del laberinto' WHERE `ID`=4469; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de los Naaru: Fuerza' WHERE `ID`=4470; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El toque del maestro' WHERE `ID`=4471; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La apertura del portal oscuro' WHERE `ID`=4472; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El escondite del señor de la guerra' WHERE `ID`=4473; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de los Naaru: Fuerza' WHERE `ID`=4474; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`=' Cambiando la marea' WHERE `ID`=4475; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Voluntad del Jefe de Guerra' WHERE `ID`=4476; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encarcelado en la Ciudadela' WHERE `ID`=4477; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encarcelado en la Ciudadela' WHERE `ID`=4478; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de los Naaru: Misericordia' WHERE `ID`=4479; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cómo entrar en el Arcatraz' WHERE `ID`=4480; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cómo entrar en el Arcatraz' WHERE `ID`=4481; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heraldo de la fatalidad' WHERE `ID`=4482; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de los naaru: tenacidad' WHERE `ID`=4483; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Difícil de matar' WHERE `ID`=4484; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de los Naaru: Fuerza' WHERE `ID`=4485; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de los Naaru: Fuerza' WHERE `ID`=4486; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encarcelado en la Ciudadela' WHERE `ID`=4487; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encarcelado en la Ciudadela' WHERE `ID`=4488; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de los Naaru: Misericordia' WHERE `ID`=4489; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de los naaru: tenacidad' WHERE `ID`=4490; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Una presencia demoníaca' WHERE `ID`=4491; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sangre del señor de la guerra' WHERE `ID`=4492; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El garrote de Kar\'desh' WHERE `ID`=4493; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de los naaru: Magtheridon' WHERE `ID`=4494; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La caída de Magtheridon' WHERE `ID`=4495; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La caída de Magtheridon' WHERE `ID`=4496; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los viales de la eternidad' WHERE `ID`=4497; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los viales de la eternidad' WHERE `ID`=4498; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kael\'thas y la esfera verde' WHERE `ID`=4499; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La caída del traidor' WHERE `ID`=4500; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en la Playa de los Ancestros.' WHERE `ID`=4501; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 100 victorias en la Playa de los Ancestros.' WHERE `ID`=4502; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Embajador Jerrikar' WHERE `ID`=4504; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Acechador del pantano' WHERE `ID`=4505; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingeniero jefe Lorthander' WHERE `ID`=4506; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emisario Colmillo Torcido' WHERE `ID`=4507; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Collidus el Vigilante de Disformidad' WHERE `ID`=4508; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='lisiador' WHERE `ID`=4509; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Doomsayer Jurim' WHERE `ID`=4510; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ever-Core el Castigador' WHERE `ID`=4511; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fulgorge' WHERE `ID`=4512; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Diente de Sangre' WHERE `ID`=4513; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='hematión' WHERE `ID`=4514; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kraator' WHERE `ID`=4515; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marticar' WHERE `ID`=4516; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mekthorg el Salvaje' WHERE `ID`=4517; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Morcrush' WHERE `ID`=4518; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nuramoc' WHERE `ID`=4519; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Okrek' WHERE `ID`=4520; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portavoz Mar\'grom' WHERE `ID`=4521; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cazador del Vacío Yar' WHERE `ID`=4522; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portavoz de la fatalidad Vorakem' WHERE `ID`=4523; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Faja de embestida' WHERE `ID`=4544; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banda de Sulfuras' WHERE `ID`=4545; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gargantilla del Señor del Fuego' WHERE `ID`=4546; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Esencia de la llama pura' WHERE `ID`=4547; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espada de la perdición' WHERE `ID`=4548; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Corona de destrucción' WHERE `ID`=4549; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leotardos de trascendencia' WHERE `ID`=4550; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Musleras de acechadragones' WHERE `ID`=4551; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Quijotes de sentencia' WHERE `ID`=4552; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Quijotes de ira' WHERE `ID`=4553; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Quijotes de diez tormentas' WHERE `ID`=4554; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantalones Colmillo de Sangre' WHERE `ID`=4555; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Calzas Némesis' WHERE `ID`=4556; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantalones de viento abisal' WHERE `ID`=4557; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Musleras de Stormrage' WHERE `ID`=4558; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defensor de Malistar' WHERE `ID`=4559; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banda de Accuria' WHERE `ID`=4560; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capa de la Niebla Envuelta' WHERE `ID`=4561; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filo del cazador de huesos' WHERE `ID`=4562; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Segador espinal' WHERE `ID`=4563; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Enlace de Therazane' WHERE `ID`=4564; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo de cuentas de Archimtiros' WHERE `ID`=4565; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ashkandi, Espadón de la Hermandad' WHERE `ID`=4566; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Botas de la Llama de las Sombras' WHERE `ID`=4567; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manto del Señor de la progenie' WHERE `ID`=4568; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Crul\'shorukh, Filo del Caos' WHERE `ID`=4569; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lok\'amir il Romathis' WHERE `ID`=4570; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mish\'undare, diadema del desollador mental' WHERE `ID`=4571; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lágrima de Neltharion' WHERE `ID`=4572; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Talismán de connivencia de Prestor' WHERE `ID`=4573; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sortija de elementium puro' WHERE `ID`=4574; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastón de la Llama de las Sombras' WHERE `ID`=4575; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pechera Colmillo de Sangre' WHERE `ID`=4576; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de diez tormentas' WHERE `ID`=4577; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de ira' WHERE `ID`=4578; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de acechadragones' WHERE `ID`=4579; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza del juicio' WHERE `ID`=4580; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de Stormrage' WHERE `ID`=4581; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Túnicas Némesis' WHERE `ID`=4582; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Togas de viento abisal' WHERE `ID`=4583; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Túnicas de trascendencia' WHERE `ID`=4584; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cinturón de agonía interminable' WHERE `ID`=4585; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manto de claridad' WHERE `ID`=4586; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Borde oscuro de la locura' WHERE `ID`=4587; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guanteletes de tormenta oscura' WHERE `ID`=4588; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Picadura de la muerte' WHERE `ID`=4589; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guanteletes de aniquilación' WHERE `ID`=4590; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agarre del dios antiguo' WHERE `ID`=4591; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo del Asesino de Dioses' WHERE `ID`=4592; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cetro del Falso Profeta' WHERE `ID`=4593; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tentáculo vencido de C\'Thun' WHERE `ID`=4594; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capa del devorado' WHERE `ID`=4595; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cordón de talle ocular' WHERE `ID`=4596; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Apolyon, el Soul-Render' WHERE `ID`=4597; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Empuñaduras de Borderland' WHERE `ID`=4598; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capa del pecado imperdonable' WHERE `ID`=4599; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cofia de Alleria' WHERE `ID`=4600; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portada de Ursol el Sabio' WHERE `ID`=4601; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capucha de Gul\'dan' WHERE `ID`=4602; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caperuza de pureza de la luz' WHERE `ID`=4603; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Corona de Anasterian' WHERE `ID`=4604; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Crux del Apocalipsis' WHERE `ID`=4605; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Collar de mago oscuro' WHERE `ID`=4606; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Apariencia duplicada' WHERE `ID`=4607; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastón dorado de los sin\'dorei' WHERE `ID`=4608; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Martillo de santificación' WHERE `ID`=4609; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mano del engañador' WHERE `ID`=4610; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manoplas de mundos profanados' WHERE `ID`=4611; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manoplas del amanecer' WHERE `ID`=4612; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yelmo de rectitud ardiente' WHERE `ID`=4613; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llamarada del sol, destello solar' WHERE `ID`=4614; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cabo andrajoso de Antonidas' WHERE `ID`=4615; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guanteletes de guardabosques thalassiano' WHERE `ID`=4616; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Thori\'dal, la furia de las estrellas' WHERE `ID`=4617; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La égida de la concentración embelesada de Antonidas' WHERE `ID`=4618; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Apóstol de Argus' WHERE `ID`=4619; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Atacante Bristleblitz' WHERE `ID`=4620; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filo del cataclismo' WHERE `ID`=4621; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leotardos de la eternidad' WHERE `ID`=4622; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Musleras de ira infinita' WHERE `ID`=4623; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Malla de persecución febril' WHERE `ID`=4624; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de medianoche' WHERE `ID`=4625; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Túnicas de Rhonin' WHERE `ID`=4626; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agarre del Salvador' WHERE `ID`=4627; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cetro de Purificación' WHERE `ID`=4628; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tempestad del Caos' WHERE `ID`=4629; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capucha de absolución' WHERE `ID`=4630; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capucha de absolución' WHERE `ID`=4631; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capucha del Maléfico' WHERE `ID`=4632; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Visera de Iluminado' WHERE `ID`=4633; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran yelmo de Iluminado' WHERE `ID`=4634; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yelmo de guerra Iluminado' WHERE `ID`=4635; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Casco de acechador de gronn' WHERE `ID`=4636; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yelmo de batalla Embestida' WHERE `ID`=4637; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran yelmo de embestida' WHERE `ID`=4638; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Protegecabezas de Rompecielos' WHERE `ID`=4639; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Casco Rompecielos' WHERE `ID`=4640; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portada de Rompecielos' WHERE `ID`=4641; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yelmo de asesino' WHERE `ID`=4642; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caperuza de la Tempestad' WHERE `ID`=4643; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portada de Corazón Atronador' WHERE `ID`=4644; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Protegecabezas de Corazón Atronador' WHERE `ID`=4645; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Casco de corazón atronador' WHERE `ID`=4646; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portada de Ursoc el Poderoso' WHERE `ID`=4647; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Corona de Dath\'Remar' WHERE `ID`=4648; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guantes del poder de Tyri' WHERE `ID`=4649; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yelmo de pureza arcana' WHERE `ID`=4650; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yelmo de la determinación de Uther' WHERE `ID`=4651; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara del cazador furioso' WHERE `ID`=4652; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Embozo del jefe Ner\'zhul' WHERE `ID`=4653; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ale de fiesta' WHERE `ID`=4654; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Café negro' WHERE `ID`=4655; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua fortificada Roca Negra' WHERE `ID`=4656; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua Mineral Roca Negra' WHERE `ID`=4657; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua de manantial Roca Negra' WHERE `ID`=4658; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Preparación de frijoles mezclados' WHERE `ID`=4659; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Botella de Pinot Noir' WHERE `ID`=4660; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua de Primavera de Invierno embotellada' WHERE `ID`=4661; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='agua burbujeante' WHERE `ID`=4662; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lager del Capitán Rumsey' WHERE `ID`=4663; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espíritus Cenarion' WHERE `ID`=4664; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza barata' WHERE `ID`=4665; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grog de cereza' WHERE `ID`=4666; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua cristalina mágica' WHERE `ID`=4667; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua dulce conjurada' WHERE `ID`=4668; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua de glaciar conjurada' WHERE `ID`=4669; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Galleta de maná conjurada' WHERE `ID`=4670; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua Mineral Conjurada' WHERE `ID`=4671; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua de manantial de montaña conjurada' WHERE `ID`=4672; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua purificada conjurada' WHERE `ID`=4673; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua con gas conjurada' WHERE `ID`=4674; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua de manantial conjurada' WHERE `ID`=4675; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua Conjurada' WHERE `ID`=4676; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lager de los enanos oscuros' WHERE `ID`=4677; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reserva especial de la Luna Negra' WHERE `ID`=4678; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tequila don carlos' WHERE `ID`=4679; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='dos ogris' WHERE `ID`=4680; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ponche de huevo' WHERE `ID`=4681; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua encantada' WHERE `ID`=4682; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jugo de Terocono Enriquecido' WHERE `ID`=4683; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ethermead' WHERE `ID`=4684; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Siempre turbio' WHERE `ID`=4685; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua draénica filtrada' WHERE `ID`=4686; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bebida gaseosa de feria' WHERE `ID`=4687; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de aguamiel' WHERE `ID`=4688; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de Oporto' WHERE `ID`=4689; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua con gas Gilneas' WHERE `ID`=4690; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Té de espino dorado' WHERE `ID`=4691; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ale de invierno del abuelo' WHERE `ID`=4692; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espíritus navideños' WHERE `ID`=4693; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sidra de manzana caliente' WHERE `ID`=4694; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='leche helada' WHERE `ID`=4695; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vino Junglevine' WHERE `ID`=4696; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jugo de melón' WHERE `ID`=4697; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aguardiente de melaza' WHERE `ID`=4698; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jugo de baya de luna' WHERE `ID`=4699; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='resplandor lunar' WHERE `ID`=4700; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rocío de la gloria de la mañana' WHERE `ID`=4701; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Netehrgarde amargo' WHERE `ID`=4702; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Blackrock Ale de Plugger' WHERE `ID`=4703; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua draénica purificada' WHERE `ID`=4704; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua de manantial refrescante' WHERE `ID`=4705; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ron Rumsey Etiqueta Negra' WHERE `ID`=4706; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rumsey Ron Oscuro' WHERE `ID`=4707; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ron Rumsey ligero' WHERE `ID`=4708; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='vinoplata' WHERE `ID`=4709; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piel de Dwarven Stout' WHERE `ID`=4710; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Stout de la costa sur' WHERE `ID`=4711; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sidra espumosa de Southshore' WHERE `ID`=4712; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lamento de la estrella' WHERE `ID`=4713; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lágrimas de estrella' WHERE `ID`=4714; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espíritus gaseosos Bonvapor' WHERE `ID`=4715; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Golpeador de sulfurón' WHERE `ID`=4716; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='dulce néctar' WHERE `ID`=4717; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Té de cardo' WHERE `ID`=4718; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud superior (0)' WHERE `ID`=4719; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran piedra de salud (1)' WHERE `ID`=4720; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran piedra de salud (2)' WHERE `ID`=4721; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud (0)' WHERE `ID`=4722; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud (1)' WHERE `ID`=4723; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud (2)' WHERE `ID`=4724; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud menor (0)' WHERE `ID`=4725; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud menor (1)' WHERE `ID`=4726; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud menor (2)' WHERE `ID`=4727; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud mayor (0)' WHERE `ID`=4728; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud mayor (1)' WHERE `ID`=4729; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud mayor (2)' WHERE `ID`=4730; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud menor (0)' WHERE `ID`=4731; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud menor (1)' WHERE `ID`=4732; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud menor (2)' WHERE `ID`=4733; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud maestra (0)' WHERE `ID`=4734; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud maestra (1)' WHERE `ID`=4735; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud maestra (2)' WHERE `ID`=4736; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con la Cruzada Argenta' WHERE `ID`=4737; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con el Kalu\'ak' WHERE `ID`=4738; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con la Tribu Corazón Frenético' WHERE `ID`=4739; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con los Oráculos' WHERE `ID`=4740; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con el Acuerdo Reposo del Dragón' WHERE `ID`=4741; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con el Kirin Tor' WHERE `ID`=4742; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con los Caballeros de la Espada de Ébano' WHERE `ID`=4743; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con la Ofensiva Grito de Guerra' WHERE `ID`=4744; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con la Mano de la Venganza' WHERE `ID`=4745; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con el Taunka' WHERE `ID`=4746; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Valiance Expedition' WHERE `ID`=4747; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con la Liga de Exploradores' WHERE `ID`=4748; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con el Pacto de Plata' WHERE `ID`=4749; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Lengua de Ceniza Juramuerte' WHERE `ID`=4750; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emocionado con la Expedición Cenarion' WHERE `ID`=4751; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exultado con Bastión del Honor' WHERE `ID`=4752; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Thrallmar' WHERE `ID`=4753; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con el Kurenai' WHERE `ID`=4754; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con el Ala Abisal' WHERE `ID`=4755; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emocionado con Ogri\'la' WHERE `ID`=4756; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con el Sporeggar' WHERE `ID`=4757; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con el Consorcio' WHERE `ID`=4758; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Ciudad Baja' WHERE `ID`=4759; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con la Guardia del Cielo Sha\'tari' WHERE `ID`=4760; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con la Ofensiva del Sol Devastado' WHERE `ID`=4761; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con los Aldor' WHERE `ID`=4762; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emocionado con los Arúspices' WHERE `ID`=4763; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exultado con el Sha\'tar' WHERE `ID`=4764; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con los Guardianes del Tiempo' WHERE `ID`=4765; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con la Escala de las Arenas' WHERE `ID`=4766; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con el Ojo Violeta' WHERE `ID`=4767; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡La capa es épica!' WHERE `ID`=4768; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡El cuerpo es épico!' WHERE `ID`=4769; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡El cofre es épico!' WHERE `ID`=4770; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Los pies son épicos!' WHERE `ID`=4771; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡El anillo es épico!' WHERE `ID`=4772; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡El anillo es épico!' WHERE `ID`=4773; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Los guantes son épicos!' WHERE `ID`=4774; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Helm es épico!' WHERE `ID`=4775; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Las piernas son épicas!' WHERE `ID`=4776; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡El arma es épica!' WHERE `ID`=4777; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡El collar es épico!' WHERE `ID`=4778; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Fuera de mano es épico!' WHERE `ID`=4779; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡A distancia/varita/reliquia es épica!' WHERE `ID`=4780; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Los hombros son épicos!' WHERE `ID`=4781; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡El tabardo es épico!' WHERE `ID`=4782; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trinket es épico!' WHERE `ID`=4783; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trinket es épico!' WHERE `ID`=4784; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡El cinturón es épico!' WHERE `ID`=4785; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Los brazales son épicos!' WHERE `ID`=4786; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Monturas poseídas' WHERE `ID`=4787; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mascotas de vanidad poseídas' WHERE `ID`=4788; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guja de guerra de Azzinoth' WHERE `ID`=4789; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guja de guerra de Azzinoth' WHERE `ID`=4790; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arco negro del traidor' WHERE `ID`=4791; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Baluarte de Azzinoth' WHERE `ID`=4792; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capucha del Gran Señor Illidari' WHERE `ID`=4793; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aguja de cristal de Karabor' WHERE `ID`=4794; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Visión maldita de Sargeras' WHERE `ID`=4795; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Placa frontal del Impenetrable' WHERE `ID`=4796; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recuerdo de Tyrande' WHERE `ID`=4797; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fragmento de Azzinoth' WHERE `ID`=4798; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Embozo de los Altonato' WHERE `ID`=4799; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo de sello Stormrage' WHERE `ID`=4800; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Calavera de Gul\'dan' WHERE `ID`=4801; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zhar\'doom, Gran Bastón del Devorador' WHERE `ID`=4802; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de Iluminado' WHERE `ID`=4803; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de Iluminado' WHERE `ID`=4804; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pechera de Iluminado' WHERE `ID`=4805; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Túnica de Maléfica' WHERE `ID`=4806; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Embozo de absolución' WHERE `ID`=4807; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vestimentas de absolución' WHERE `ID`=4808; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de acechador de gronn' WHERE `ID`=4809; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de embestida' WHERE `ID`=4810; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de Embestida' WHERE `ID`=4811; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza Rompecielos' WHERE `ID`=4812; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de Destrozacielos' WHERE `ID`=4813; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guerrera Rompecielos' WHERE `ID`=4814; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Túnicas de la Tempestad' WHERE `ID`=4815; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de asesino' WHERE `ID`=4816; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de corazón atronador' WHERE `ID`=4817; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guerrera Corazón Atronador' WHERE `ID`=4818; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chaleco Corazón Atronador' WHERE `ID`=4819; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cenizas de Al\'ar' WHERE `ID`=4820; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banda del guardabosques general' WHERE `ID`=4821; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='corona del sol' WHERE `ID`=4822; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guanteletes del Rey Sol' WHERE `ID`=4823; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leotardos de intenciones asesinas' WHERE `ID`=4824; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vara del Rey Sol' WHERE `ID`=4825; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capa real de los Caminantes del Sol' WHERE `ID`=4826; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guanteletes reales de Lunargenta' WHERE `ID`=4827; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leotardos de halcón solar' WHERE `ID`=4828; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capa de luz de lluvia solar' WHERE `ID`=4829; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capa salvaje de Thalassian' WHERE `ID`=4830; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La llave del nexo' WHERE `ID`=4831; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Twinblade del Fénix' WHERE `ID`=4832; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de cataclismo' WHERE `ID`=4833; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pechera de cataclismo' WHERE `ID`=4834; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de forja de cristal' WHERE `ID`=4835; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete forjacristal' WHERE `ID`=4836; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pechera forjacristal' WHERE `ID`=4837; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de manto de muerte' WHERE `ID`=4838; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de destructor' WHERE `ID`=4839; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de destructor' WHERE `ID`=4840; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Camisote de acechador de grietas' WHERE `ID`=4841; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Toga del corruptor' WHERE `ID`=4842; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Túnicas de Tirisfal' WHERE `ID`=4843; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Embozo del Avatar' WHERE `ID`=4844; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vestimentas del Avatar' WHERE `ID`=4845; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de Nordrassil' WHERE `ID`=4846; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pechera de Nordrassil' WHERE `ID`=4847; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peto de Nordrassil' WHERE `ID`=4848; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cinturón de las cien muertes' WHERE `ID`=4849; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Botas de latigazo de cobra' WHERE `ID`=4850; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Botas de latigazo de cobra' WHERE `ID`=4851; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sortija de coral de los revividos' WHERE `ID`=4852; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colmillo de Vashj' WHERE `ID`=4853; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guanteletes gloriosos de Crestfall' WHERE `ID`=4854; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de corazón de Krakken' WHERE `ID`=4855; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cetro de Brazaluz' WHERE `ID`=4856; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prisma de la calma interior' WHERE `ID`=4857; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo de espirales infinitas' WHERE `ID`=4858; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manto de Tótem de Runa' WHERE `ID`=4859; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arco largo de espina de serpiente' WHERE `ID`=4860; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vestimentas de la bruja marina' WHERE `ID`=4861; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Protegecabezas de cataclismo' WHERE `ID`=4862; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Celada de cataclismo' WHERE `ID`=4863; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yelmo de cataclismo' WHERE `ID`=4864; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Visera Forjacristal' WHERE `ID`=4865; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran yelmo Forjacristal' WHERE `ID`=4866; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yelmo de guerra Forjacristal' WHERE `ID`=4867; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yelmo de mantomuerte' WHERE `ID`=4868; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capucha del Avatar' WHERE `ID`=4869; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yelmo de batalla de destructor' WHERE `ID`=4870; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran yelmo de destructor' WHERE `ID`=4871; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capucha del Avatar' WHERE `ID`=4872; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caperuza del corruptor' WHERE `ID`=4873; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yelmo de acechador de grietas' WHERE `ID`=4874; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tocado Nordrassil' WHERE `ID`=4875; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Protegecabezas de Nordrassil' WHERE `ID`=4876; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Casco de Nordrassil' WHERE `ID`=4877; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capucha de Tirisfal' WHERE `ID`=4878; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Égida del vindicador' WHERE `ID`=4879; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capa del acechador del foso' WHERE `ID`=4880; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastón de pulso de corazón de cristal' WHERE `ID`=4881; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Varita eredar de obliteración' WHERE `ID`=4882; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ojo de Magtheridon' WHERE `ID`=4883; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guja del Pozo' WHERE `ID`=4884; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Talismán Karaborian' WHERE `ID`=4885; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guantes de lengua de mentiroso' WHERE `ID`=4886; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manijas de devorador de almas' WHERE `ID`=4887; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Faja del foso del terror' WHERE `ID`=4888; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran yelmo atronador' WHERE `ID`=4889; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de ciclón' WHERE `ID`=4890; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de ciclón' WHERE `ID`=4891; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Camisote de ciclón' WHERE `ID`=4892; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de justiciero' WHERE `ID`=4893; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de justiciero' WHERE `ID`=4894; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pechera de justiciero' WHERE `ID`=4895; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pechera de hoja abisal' WHERE `ID`=4896; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de Malorne' WHERE `ID`=4897; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de Malorne' WHERE `ID`=4898; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pechera de Malorne' WHERE `ID`=4899; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Túnicas del Encarnado' WHERE `ID`=4900; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sudario del Encarnado' WHERE `ID`=4901; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de belisario' WHERE `ID`=4902; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coselete de belisario' WHERE `ID`=4903; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arnés de acechador de demonios' WHERE `ID`=4904; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vestimentas de los Aldor' WHERE `ID`=4905; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Toga de corazón vacío' WHERE `ID`=4906; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cartera del señor del foso' WHERE `ID`=4907; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defensor del legado de Aldori' WHERE `ID`=4908; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hacha de los Señores Gronn' WHERE `ID`=4909; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hoja de mago Faucesangre' WHERE `ID`=4910; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Collar de Cho\'gall' WHERE `ID`=4911; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capucha de aliento de la naturaleza' WHERE `ID`=4912; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trofeo Espinadragón' WHERE `ID`=4913; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ojo de Gruul' WHERE `ID`=4914; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guanteletes de perfección marcial' WHERE `ID`=4915; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guanteletes del matadragones' WHERE `ID`=4916; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Faja cosida con gronn' WHERE `ID`=4917; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Shuriken de negación' WHERE `ID`=4918; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dientes de Gruul' WHERE `ID`=4919; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Botas cortavientos' WHERE `ID`=4920; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Falda ciclónica' WHERE `ID`=4921; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Musleras de ciclón' WHERE `ID`=4922; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Falda de guerra ciclón' WHERE `ID`=4923; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grebas de justiciero' WHERE `ID`=4924; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leotardos de justiciero' WHERE `ID`=4925; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Musleras de justiciero' WHERE `ID`=4926; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Calzones de hoja abisal' WHERE `ID`=4927; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Calzones de Malorne' WHERE `ID`=4928; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grebas de Malorne' WHERE `ID`=4929; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Musleras de Malorne' WHERE `ID`=4930; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leotardos del encarnado' WHERE `ID`=4931; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantalones del Encarnado' WHERE `ID`=4932; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grebas de belisario' WHERE `ID`=4933; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Musleras de belisario' WHERE `ID`=4934; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grebas de acechador de demonios' WHERE `ID`=4935; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ataduras de los Aldor' WHERE `ID`=4936; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leotardos de corazón vacío' WHERE `ID`=4937; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de los naaru: Magtheridon' WHERE `ID`=4939; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza de Allerian' WHERE `ID`=4940; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marca de C\'Thun' WHERE `ID`=4941; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Faja del Pozo Sin Fin' WHERE `ID`=4942; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sanación total realizada' WHERE `ID`=4943; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes totales de PNJ' WHERE `ID`=4944; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a un NPC que produzca XP' WHERE `ID`=4946; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ganado' WHERE `ID`=4948; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='demonios' WHERE `ID`=4949; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dragonante' WHERE `ID`=4950; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elemental' WHERE `ID`=4951; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gigante' WHERE `ID`=4952; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Humanoide' WHERE `ID`=4953; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mecánico' WHERE `ID`=4954; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='muertos vivientes' WHERE `ID`=4955; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='sin especificar' WHERE `ID`=4956; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tótems' WHERE `ID`=4957; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alimañas muertas' WHERE `ID`=4958; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes con honor en la arena 2c2' WHERE `ID`=4959; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes con honor en la arena 3c3' WHERE `ID`=4960; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes con honor en la arena 5c5' WHERE `ID`=4961; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en 2c2' WHERE `ID`=4962; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en 3c3' WHERE `ID`=4963; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en 5c5' WHERE `ID`=4964; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes contra Vanndar Pico Tormenta' WHERE `ID`=4965; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Resurrección (Rango 6)' WHERE `ID`=4966; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Resurrección (Rango 5)' WHERE `ID`=4967; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Resurrección (Rango 4)' WHERE `ID`=4968; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Resurrección (Rango 3)' WHERE `ID`=4969; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Resurrección (Rango 2)' WHERE `ID`=4970; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Resurrección (Rango 1)' WHERE `ID`=4971; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Renacimiento (Rango 6)' WHERE `ID`=4972; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Renacimiento (Rango 5)' WHERE `ID`=4973; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Renacimiento (Rango 4)' WHERE `ID`=4974; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Renacimiento (Rango 3)' WHERE `ID`=4975; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Renacimiento (Rango 2)' WHERE `ID`=4976; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Renacimiento (Rango 1)' WHERE `ID`=4977; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Revivir (Rango 6)' WHERE `ID`=4978; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Revivir (Rango 5)' WHERE `ID`=4979; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Revivir (Rango 4)' WHERE `ID`=4980; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Revivir (Rango 3)' WHERE `ID`=4981; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Revivir (Rango 2)' WHERE `ID`=4982; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Revivir (Rango 1)' WHERE `ID`=4983; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='misiones diarias' WHERE `ID`=4984; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Misiones diarias completadas' WHERE `ID`=4985; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veces totales en mazmorras (5 j.)' WHERE `ID`=4987; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veces totales en bandas (10 j.)' WHERE `ID`=4988; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veces totales en bandas (25 j.)' WHERE `ID`=4989; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fórmulas encantadoras conocidas' WHERE `ID`=4990; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Objetos desencantados' WHERE `ID`=4991; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portal a Shattrath' WHERE `ID`=4992; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portal a Dalaran' WHERE `ID`=4993; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portal a Darnassus' WHERE `ID`=4994; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portal a Exodar' WHERE `ID`=4995; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portal a Shattrath' WHERE `ID`=4996; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portal a Forjaz' WHERE `ID`=4997; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portal a Orgrimmar' WHERE `ID`=4998; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portal a Lunargenta' WHERE `ID`=4999; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portal a Stonard' WHERE `ID`=5000; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portal a Ventormenta' WHERE `ID`=5001; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portal a Theramore' WHERE `ID`=5002; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portal a Cima del Trueno' WHERE `ID`=5003; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portal a Entrañas' WHERE `ID`=5004; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de la chimenea' WHERE `ID`=5008; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer mago del reino en alcanzar el nivel 80.' WHERE `ID`=5018; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 130 misiones en la Tundra Boreal' WHERE `ID`=5019; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad de Ventormenta' WHERE `ID`=5020; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forjaz' WHERE `ID`=5021; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Darnassus' WHERE `ID`=5022; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Enclave Cenarion' WHERE `ID`=5023; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terraza de los Artesanos' WHERE `ID`=5024; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='los jardines del templo' WHERE `ID`=5025; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terraza de los comerciantes' WHERE `ID`=5026; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terraza del guerrero' WHERE `ID`=5027; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Exodar' WHERE `ID`=5028; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de los Héroes' WHERE `ID`=5029; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puerto de Ventormenta' WHERE `ID`=5030; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Orgrimmar' WHERE `ID`=5031; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad de Lunargenta' WHERE `ID`=5032; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='puerta del pastor' WHERE `ID`=5033; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cima del Trueno' WHERE `ID`=5034; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ascenso del anciano' WHERE `ID`=5035; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ascenso del cazador' WHERE `ID`=5036; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ascenso espiritual' WHERE `ID`=5037; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las piscinas de la visión' WHERE `ID`=5038; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Entrañas' WHERE `ID`=5039; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 105 misiones en el Fiordo Aquilonal.' WHERE `ID`=5040; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 75 misiones en las Colinas Pardas.' WHERE `ID`=5041; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 140 misiones en Tundra Boreal' WHERE `ID`=5042; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 140 misiones en la Tundra Boreal' WHERE `ID`=5043; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa 130 misiones en el Cementerio de Dragones.' WHERE `ID`=5044; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nada aburrido sobre borean' WHERE `ID`=5045; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poder del Cementerio de Dragones' WHERE `ID`=5046; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Imperio de Zul\'Drak' WHERE `ID`=5047; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fo\' Grizzle Mi Shizzle' WHERE `ID`=5048; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='He recorrido el fiordo' WHERE `ID`=5049; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='en la cuenca' WHERE `ID`=5050; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Cumbre de las Cumbres Tormentosas' WHERE `ID`=5051; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Corona de Hielo: El objetivo final' WHERE `ID`=5052; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eck el feroz' WHERE `ID`=5053; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Amanitar' WHERE `ID`=5054; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Capa de sangre de dragón' WHERE `ID`=5055; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fragmento de la llama' WHERE `ID`=5056; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5057; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5058; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5059; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5060; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5061; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5062; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5063; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5064; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5065; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5066; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5067; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5068; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5069; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5070; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5071; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5072; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5073; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5074; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardando lo mejor para el final' WHERE `ID`=5075; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Haz 300 000 de daño en Strand of the Ancients' WHERE `ID`=5076; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='300.000 de curación en sota' WHERE `ID`=5077; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Humedales' WHERE `ID`=5078; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de elfo de sangre femenino endeble' WHERE `ID`=5079; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de Draenei femenina endeble' WHERE `ID`=5080; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de enano femenino endeble' WHERE `ID`=5081; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gnomo femenino endeble Mascarilla' WHERE `ID`=5082; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara humana femenina endeble' WHERE `ID`=5083; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de elfa de la noche femenina endeble' WHERE `ID`=5084; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de orco hembra endeble' WHERE `ID`=5085; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tauren hembra endeble Mascarilla' WHERE `ID`=5086; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Troll femenino endeble Mascarilla' WHERE `ID`=5087; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Endeble mujer muerta viviente Mascarilla' WHERE `ID`=5088; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de elfo de sangre macho endeble' WHERE `ID`=5089; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draenei masculino endeble Mascarilla' WHERE `ID`=5090; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de enano macho endeble' WHERE `ID`=5091; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gnomo macho endeble Mascarilla' WHERE `ID`=5092; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara humana masculina endeble' WHERE `ID`=5093; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de elfo de la noche masculino endeble' WHERE `ID`=5094; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de orco macho endeble' WHERE `ID`=5095; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tauren macho endeble Mascarilla' WHERE `ID`=5096; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Troll macho endeble Mascarilla' WHERE `ID`=5097; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máscara de muerto viviente masculino endeble' WHERE `ID`=5098; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La llave de espera violeta' WHERE `ID`=5099; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Anub\'Rekhan (Naxxramas 10 j.)' WHERE `ID`=5100; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de la Gran Viuda Faerlina (Naxxramas 10 j.)' WHERE `ID`=5101; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Maexxna (Naxxramas 10 j.)' WHERE `ID`=5102; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Remendejo (Naxxramas 25 j.)' WHERE `ID`=5103; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Noth el Pesteador (Naxxramas 10 j.)' WHERE `ID`=5104; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Gothik el Cosechador (Naxxramas 10 j.)' WHERE `ID`=5108; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Remendejo (Naxxramas 10 j.)' WHERE `ID`=5110; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Anub\'Rekhan (Naxxramas 25 j.)' WHERE `ID`=5111; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Heigan el Impuro (Naxxramas 10 j.)' WHERE `ID`=5112; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Loatheb (Naxxramas 10 j.)' WHERE `ID`=5113; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Grobbulus (Naxxramas 10 j.)' WHERE `ID`=5114; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Gluth (Naxxramas 10 j.)' WHERE `ID`=5117; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Thaddius (Naxxramas 10 j.)' WHERE `ID`=5119; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Instructor Razuvious (Naxxramas 10 j.)' WHERE `ID`=5120; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`=' Necesidad de conectar el evento' WHERE `ID`=5121; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Sapphiron (Naxxramas 10 j.)' WHERE `ID`=5122; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Kel\'Thuzad (Naxxramas 10 j.)' WHERE `ID`=5123; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Gluth (Naxxramas 25 j.)' WHERE `ID`=5124; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Gothik el Cosechador (Naxxramas 25 j.)' WHERE `ID`=5125; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de la Gran Viuda Faerlina (Naxxramas 25 j.)' WHERE `ID`=5126; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Grobbulus (Naxxramas 25 j.)' WHERE `ID`=5127; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Heigan el Impuro (Naxxramas 25 j.)' WHERE `ID`=5128; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`=' Necesidad de conectar el evento' WHERE `ID`=5129; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Instructor Razuvious (Naxxramas 25 j.)' WHERE `ID`=5130; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Loatheb (Naxxramas 25 j.)' WHERE `ID`=5131; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Maexxna (Naxxramas 25 j.)' WHERE `ID`=5132; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Noth el Pesteador (Naxxramas 25 j.)' WHERE `ID`=5133; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Thaddius (Naxxramas 25 j.)' WHERE `ID`=5134; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Sapphiron (Naxxramas 25 j.)' WHERE `ID`=5135; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Kel\'Thuzad (Naxxramas 25 j.)' WHERE `ID`=5136; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Malygos (10 j.)' WHERE `ID`=5137; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Sartharion (Cámara de los Aspectos 10 j.)' WHERE `ID`=5138; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Sartharion (Cámara de los Aspectos 25 j.)' WHERE `ID`=5139; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Malygos (25 j.)' WHERE `ID`=5140; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Sardis en Valiance Keep' WHERE `ID`=5141; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Beldak en la Brigada de los Páramos de Poniente' WHERE `ID`=5142; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Morthie en Star\'s Rest' WHERE `ID`=5143; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Fargal en Frosthold' WHERE `ID`=5144; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Arp en DEHTA' WHERE `ID`=5145; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Élder Northal en Transitus Shield' WHERE `ID`=5146; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Élder Sandrene en Lakeside Landing' WHERE `ID`=5147; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Wanikaya en Rainspeaker Rapids' WHERE `ID`=5148; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Lunaro en Ruinas de Tethys' WHERE `ID`=5149; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anciano Lobo Azul en Conquista del Invierno' WHERE `ID`=5150; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Tauros en Zim\'Torga' WHERE `ID`=5151; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Thoim en el puerto de Moa\'ki' WHERE `ID`=5154; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Cringris en K3' WHERE `ID`=5155; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Barbapétrea en el Refugio de Pedrusco' WHERE `ID`=5156; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Pamuya en el Bastión Grito de Guerra' WHERE `ID`=5157; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Whurain en el campamento Oneqwah' WHERE `ID`=5158; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elder Skywarden en Agmar\'s Hammer' WHERE `ID`=5159; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Muraco en el Campamento Tunka\'lo' WHERE `ID`=5160; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancianos de Rasganorte' WHERE `ID`=5162; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de curación de combate mayor' WHERE `ID`=5178; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de curación de combate mayor' WHERE `ID`=5179; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de curación de combate mayor' WHERE `ID`=5180; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de curación de combate mayor' WHERE `ID`=5181; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de sanación resurgente' WHERE `ID`=5182; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción curativa rúnica' WHERE `ID`=5183; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná rúnica' WHERE `ID`=5184; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná de combate mayor' WHERE `ID`=5185; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná de combate mayor' WHERE `ID`=5186; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná de combate mayor' WHERE `ID`=5187; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná de combate mayor' WHERE `ID`=5188; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná helada' WHERE `ID`=5189; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aerie Peak Pale Ale' WHERE `ID`=5190; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Infusión de miel aromática' WHERE `ID`=5191; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Infusión de miel aromática' WHERE `ID`=5192; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de roca negra' WHERE `ID`=5193; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de roca negra' WHERE `ID`=5194; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='cerveza binaria' WHERE `ID`=5195; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='cerveza binaria' WHERE `ID`=5196; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata al rey Varian Wrynn.' WHERE `ID`=5203; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alto Señor Bolvar Fordragon' WHERE `ID`=5204; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera persona del reino que llega a nivel 80.' WHERE `ID`=5212; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer chamán del reino que llega a nivel 80.' WHERE `ID`=5213; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer druida del reino en alcanzar el nivel 80.' WHERE `ID`=5214; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer paladín del reino en alcanzar el nivel 80.' WHERE `ID`=5215; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer sacerdote del reino que llega a nivel 80.' WHERE `ID`=5216; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer brujo del reino que llega a nivel 80.' WHERE `ID`=5217; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer cazador del reino en alcanzar el nivel 80.' WHERE `ID`=5218; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer caballero de la Muerte del reino que llega a nivel 80.' WHERE `ID`=5219; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer guerrero del reino que llega a nivel 80.' WHERE `ID`=5220; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer pícaro del reino que llega a nivel 80.' WHERE `ID`=5221; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Participante en la primera derrota del reino de Malygos en el modo de 25 jugadores.' WHERE `ID`=5223; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Participante en la primera derrota del reino de Sartharion el Guardián ónice en el modo de 25 jugadores.' WHERE `ID`=5224; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Participante en la primera derrota del reino de Kel\'Thuzad en el modo de 25 jugadores.' WHERE `ID`=5227; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer gnomo del reino en alcanzar el nivel 80.' WHERE `ID`=5229; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer elfo de sangre del reino en alcanzar el nivel 80.' WHERE `ID`=5230; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer draenei del reino en alcanzar el nivel 80.' WHERE `ID`=5231; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer enano del reino en alcanzar el nivel 80.' WHERE `ID`=5232; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer humano del reino en alcanzar el nivel 80.' WHERE `ID`=5233; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer elfo de la noche del reino en alcanzar el nivel 80.' WHERE `ID`=5234; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer orco del reino en alcanzar el nivel 80.' WHERE `ID`=5235; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer tauren del reino que llega a nivel 80.' WHERE `ID`=5236; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer trol del reino que llega a nivel 80.' WHERE `ID`=5237; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primer renegado del reino en alcanzar el nivel 80.' WHERE `ID`=5238; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad 450 en minería.' WHERE `ID`=5240; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad 450 en alquimia.' WHERE `ID`=5241; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en cocina.' WHERE `ID`=5242; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en encantamiento.' WHERE `ID`=5243; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en ingeniería.' WHERE `ID`=5244; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran Mago Telestra' WHERE `ID`=5245; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='anómalo' WHERE `ID`=5246; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ormorok el Modelador de árboles' WHERE `ID`=5247; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Keristrasza' WHERE `ID`=5248; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en primeros auxilios.' WHERE `ID`=5249; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en pesca.' WHERE `ID`=5250; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en herboristería.' WHERE `ID`=5251; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en inscripción.' WHERE `ID`=5252; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en joyería.' WHERE `ID`=5253; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en peletería.' WHERE `ID`=5254; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en minería.' WHERE `ID`=5255; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en desuello.' WHERE `ID`=5256; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primera persona del reino en alcanzar habilidad de 450 en sastrería.' WHERE `ID`=5257; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sufre 10 explosiones consecutivas de minas terrestres en el campo de Minas Encajebujía sin aterrizar.' WHERE `ID`=5258; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Jarten en Utgarde Keep' WHERE `ID`=5259; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Igasho en El Nexo' WHERE `ID`=5260; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anciano Nurgen en Azjol-Nerub' WHERE `ID`=5261; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Kilias en Drak\'Tharon Keep' WHERE `ID`=5262; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Ohanzee en Gundrak' WHERE `ID`=5263; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El élder Yurauk en los Salones de Piedra' WHERE `ID`=5264; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ancestro Chogan\'gada en Utgarde Pinnacle' WHERE `ID`=5265; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Humedales' WHERE `ID`=5266; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zhevra' WHERE `ID`=5267; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zhevra' WHERE `ID`=5268; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zhevra' WHERE `ID`=5269; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Búsqueda de muerte de Ahune' WHERE `ID`=5270; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bola de nieve Cairne Pezuña de Sangre' WHERE `ID`=5272; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Orgrimmar' WHERE `ID`=5274; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ventormenta' WHERE `ID`=5275; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela de gobios cabeza de barril' WHERE `ID`=5276; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela Boreal Man O \'War' WHERE `ID`=5278; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela Deep Sea Monsterbelly' WHERE `ID`=5279; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banco de peces ángel Dragonfin' WHERE `ID`=5280; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela de arenque colmillo' WHERE `ID`=5281; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banco de salmón glacial' WHERE `ID`=5282; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela de pececillos de aleta de cristal' WHERE `ID`=5283; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela Imperial de Mantarrayas' WHERE `ID`=5284; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banco de sepias Moonglow' WHERE `ID`=5285; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela Sculpin de mejillón' WHERE `ID`=5286; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela de pez ortiga' WHERE `ID`=5287; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peces y otras cosas pescadas' WHERE `ID`=5288; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Misiones abandonadas' WHERE `ID`=5289; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Frente Azul' WHERE `ID`=5290; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El flujo decrépito' WHERE `ID`=5291; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Comando de Atracasol' WHERE `ID`=5292; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosques abandonados' WHERE `ID`=5293; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mirador de Windrunner' WHERE `ID`=5294; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el gran árbol' WHERE `ID`=5295; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Soporte violeta' WHERE `ID`=5296; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La espesura desatada' WHERE `ID`=5297; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque Canto de Cristal' WHERE `ID`=5298; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mayoría de facciones en Venerado o superior' WHERE `ID`=5299; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mayoría de facciones en Honorable o superior' WHERE `ID`=5300; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cantidad total de facciones encontradas' WHERE `ID`=5301; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Materiales producidos al desencantar' WHERE `ID`=5304; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rutas de vuelo tomadas' WHERE `ID`=5305; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Cruzada Argenta' WHERE `ID`=5306; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Acuerdo del Reposo del Dragón' WHERE `ID`=5307; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el kirintor' WHERE `ID`=5308; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caballeros de la Espada de Ébano' WHERE `ID`=5309; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Distintivos de justicia adquiridos' WHERE `ID`=5310; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblemas de heroísmo adquiridos' WHERE `ID`=5311; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblemas de valor adquiridos' WHERE `ID`=5312; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Trolls Lanza Negra' WHERE `ID`=5313; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Orgrimmar' WHERE `ID`=5314; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Cima del Trueno' WHERE `ID`=5315; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Entrañas' WHERE `ID`=5316; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con la Ciudad de Lunargenta' WHERE `ID`=5317; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con los Corruptores' WHERE `ID`=5318; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Escoltas Grito de Guerra' WHERE `ID`=5319; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con el clan Lobo Gélido' WHERE `ID`=5320; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con los Mag\'har' WHERE `ID`=5321; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Thrallmar' WHERE `ID`=5322; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Tranquillen' WHERE `ID`=5323; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Ofensiva Grito de Guerra' WHERE `ID`=5324; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con La Mano de la Venganza' WHERE `ID`=5325; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con La Taunka' WHERE `ID`=5326; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Los Atracasol' WHERE `ID`=5327; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Darnassus' WHERE `ID`=5328; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Gnomergan' WHERE `ID`=5329; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Forjaz' WHERE `ID`=5330; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Ventormenta' WHERE `ID`=5331; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Exodar' WHERE `ID`=5332; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con La Liga de Arathor' WHERE `ID`=5333; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Centinelas Ala de Plata' WHERE `ID`=5334; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Guardia Pico Tormenta' WHERE `ID`=5335; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Bastión del Honor' WHERE `ID`=5336; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Kurenai' WHERE `ID`=5337; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con entrenadores de sable de invierno' WHERE `ID`=5338; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Expedición Exaltado con Denuedo' WHERE `ID`=5339; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con El Pacto de Plata' WHERE `ID`=5340; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con la Liga de Expedicionarios' WHERE `ID`=5341; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Los Atracasol' WHERE `ID`=5342; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=5343; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=5344; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=5345; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mayor golpe recibido' WHERE `ID`=5371; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Daño total recibido' WHERE `ID`=5372; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mayor golpe asestado' WHERE `ID`=5373; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mayor sanación recibida' WHERE `ID`=5374; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sanación total recibida' WHERE `ID`=5375; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mayor sanación realizada' WHERE `ID`=5376; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipe Keleseth' WHERE `ID`=5377; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Skarvald el constructor' WHERE `ID`=5378; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dalronn el controlador' WHERE `ID`=5379; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingvar el Saqueador' WHERE `ID`=5380; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran Mago Telestra' WHERE `ID`=5381; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='anómalo' WHERE `ID`=5382; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ormorok el Modelador de árboles' WHERE `ID`=5383; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Keristrasza' WHERE `ID`=5384; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Krik\'thir el Vigilante de la puerta' WHERE `ID`=5436; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hadronox' WHERE `ID`=5437; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'arak' WHERE `ID`=5438; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipe Taldaram' WHERE `ID`=5439; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anciano Nadax' WHERE `ID`=5440; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jedoga Buscasombras' WHERE `ID`=5441; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heraldo Volazj' WHERE `ID`=5442; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='trollgore' WHERE `ID`=5443; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Novos el Invocador' WHERE `ID`=5444; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rey dred' WHERE `ID`=5445; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El profeta Tharon\'ja' WHERE `ID`=5446; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cianigosa' WHERE `ID`=5447; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Slad\'ran' WHERE `ID`=5448; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moorabi' WHERE `ID`=5449; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coloso Drakkari' WHERE `ID`=5450; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gal\'darah' WHERE `ID`=5451; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='doncella del dolor' WHERE `ID`=5452; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='krystallus' WHERE `ID`=5453; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sjonnir el Modelador de Hierro' WHERE `ID`=5454; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='General Bjarngrim' WHERE `ID`=5455; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ionar' WHERE `ID`=5456; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Volkhan' WHERE `ID`=5457; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Loken' WHERE `ID`=5458; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Drakos el Interrogador' WHERE `ID`=5459; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mago-Señor Urom' WHERE `ID`=5460; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Varos zancanubes' WHERE `ID`=5461; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardianes Ley Eregos' WHERE `ID`=5462; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Skadi el Despiadado' WHERE `ID`=5463; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Ymiron' WHERE `ID`=5464; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Svala Tristeza' WHERE `ID`=5465; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gortok Pezuña Pálida' WHERE `ID`=5466; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gancho carnicero' WHERE `ID`=5467; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Época de Chrono-Lord' WHERE `ID`=5468; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salramm el artesano de la carne' WHERE `ID`=5469; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reinos del Este' WHERE `ID`=5492; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kalimdor' WHERE `ID`=5493; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terrallende' WHERE `ID`=5494; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rasganorte' WHERE `ID`=5495; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuenca de Arathi' WHERE `ID`=5499; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de Alterac' WHERE `ID`=5500; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barranco Grito de Guerra' WHERE `ID`=5501; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ojo de la tormenta' WHERE `ID`=5502; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Playa de los Ancestros' WHERE `ID`=5503; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes con honor en el Valle de Alterac' WHERE `ID`=5507; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes con honor en la Cuenca de Arathi' WHERE `ID`=5508; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes con honor en la Garganta Grito de Guerra' WHERE `ID`=5509; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes con honor en el Ojo de la Tormenta' WHERE `ID`=5510; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes con honor en la Playa de los Ancestros' WHERE `ID`=5511; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reinos del Este' WHERE `ID`=5512; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Golpes de gracia' WHERE `ID`=5529; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kalimdor' WHERE `ID`=5530; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Áreas de Burning Crusade' WHERE `ID`=5531; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rasganorte' WHERE `ID`=5532; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arena de Nagrand' WHERE `ID`=5533; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arena del Filo de la Espada' WHERE `ID`=5534; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruina de Lordaeron' WHERE `ID`=5535; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de Alterac' WHERE `ID`=5536; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuenca de Arathi' WHERE `ID`=5537; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barranco Grito de Guerra' WHERE `ID`=5538; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ojo de la tormenta' WHERE `ID`=5539; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Playa de los Ancestros' WHERE `ID`=5540; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Golpes de gracia en la arena 2c2' WHERE `ID`=5541; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Golpes de gracia en la arena 3c3' WHERE `ID`=5542; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Golpes de gracia en la arena 5c5' WHERE `ID`=5543; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Golpes de gracia en el Valle de Alterac' WHERE `ID`=5544; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Golpes de gracia en la Cuenca de Arathi' WHERE `ID`=5545; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Golpes de gracia en la Garganta Grito de Guerra' WHERE `ID`=5546; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Golpes de gracia en el Ojo de la Tormenta' WHERE `ID`=5547; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Golpes de gracia en la Playa de los Ancestros' WHERE `ID`=5548; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en la Playa de los Ancestros' WHERE `ID`=5549; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alquimia' WHERE `ID`=5551; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Herrería' WHERE `ID`=5552; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encantador' WHERE `ID`=5553; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingeniería' WHERE `ID`=5554; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='herboristería' WHERE `ID`=5555; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Inscripción' WHERE `ID`=5556; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Joyería' WHERE `ID`=5557; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peletería' WHERE `ID`=5558; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Minería' WHERE `ID`=5559; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='desollar' WHERE `ID`=5560; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sastrería' WHERE `ID`=5561; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primeros auxilios' WHERE `ID`=5562; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cocinando' WHERE `ID`=5563; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pesca' WHERE `ID`=5564; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alquimia' WHERE `ID`=5565; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Herrería' WHERE `ID`=5566; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encantador' WHERE `ID`=5567; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingeniería' WHERE `ID`=5568; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='herboristería' WHERE `ID`=5569; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Inscripción' WHERE `ID`=5570; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Joyería' WHERE `ID`=5571; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peletería' WHERE `ID`=5572; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Minería' WHERE `ID`=5573; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='desollar' WHERE `ID`=5574; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sastrería' WHERE `ID`=5575; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espadas' WHERE `ID`=5576; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espadas de dos manos' WHERE `ID`=5577; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hachas' WHERE `ID`=5578; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hachas de dos manos' WHERE `ID`=5579; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mazas' WHERE `ID`=5580; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mazas de dos manos' WHERE `ID`=5581; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Armas de puño' WHERE `ID`=5582; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Armas de fuego' WHERE `ID`=5583; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='golpes' WHERE `ID`=5584; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dagas' WHERE `ID`=5585; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Varitas' WHERE `ID`=5586; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='arrojado' WHERE `ID`=5587; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ballestas' WHERE `ID`=5588; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sin armas' WHERE `ID`=5589; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Armas de asta' WHERE `ID`=5590; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastones' WHERE `ID`=5591; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Habilidad de primeros auxilios' WHERE `ID`=5592; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=5593; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veces que te han matado otros jugadores' WHERE `ID`=5594; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Has conseguido el título de Gladiador despiadado.' WHERE `ID`=5597; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Has conseguido el título de Gladiador vengativo.' WHERE `ID`=5599; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Has conseguido el título de Gladiador brutal.' WHERE `ID`=5600; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recoge la bandera mientras está en la base.' WHERE `ID`=5601; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cap en 75 segundos' WHERE `ID`=5602; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recoge la bandera mientras está en la base.' WHERE `ID`=5603; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llevando la bandera de la Horda' WHERE `ID`=5605; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llevando la bandera de la Alianza' WHERE `ID`=5606; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Ingvar el Desvalijador (Fortaleza de Utgarde H.)' WHERE `ID`=5608; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Keristrasza (El Nexo H.)' WHERE `ID`=5609; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Anub\'arak (Azjol-Nerub H.)' WHERE `ID`=5610; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Heraldo Volazj (Ahn\'Kahet: El Antiguo Reino H.)' WHERE `ID`=5611; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El profeta Tharon\'ja' WHERE `ID`=5612; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Cianigosa (El Bastión Violeta H.)' WHERE `ID`=5613; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Gal\'darah (Gundrak H.)' WHERE `ID`=5614; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Sjonnir el Afilador (Cámaras de Piedra H.)' WHERE `ID`=5615; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Loken (Cámaras de Relámpagos H.)' WHERE `ID`=5616; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Guardián-Ley Eregos (El Oculus H.)' WHERE `ID`=5617; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Rey Ymiron (Pináculo de Utgarde H.)' WHERE `ID`=5618; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mal\'Ganis' WHERE `ID`=5619; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mal\'Ganis' WHERE `ID`=5620; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingvar el Saqueador' WHERE `ID`=5621; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Keristrasza' WHERE `ID`=5622; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'arak' WHERE `ID`=5623; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heraldo Volazj' WHERE `ID`=5624; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El profeta Tharon\'ja' WHERE `ID`=5625; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cianigosa' WHERE `ID`=5626; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gal\'darah' WHERE `ID`=5627; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sjonnir el Modelador de Hierro' WHERE `ID`=5628; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kronus' WHERE `ID`=5629; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardianes Ley Eregos' WHERE `ID`=5630; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Ymiron' WHERE `ID`=5631; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mal\'Ganis' WHERE `ID`=5632; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg-Saron' WHERE `ID`=5643; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kel\'Thuzad' WHERE `ID`=5647; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='gran maestro pescador' WHERE `ID`=5662; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El viejo gnomo y el mar' WHERE `ID`=5663; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el carroñero' WHERE `ID`=5664; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El diplomático de la pesca' WHERE `ID`=5665; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro pescador de Tuercespina' WHERE `ID`=5666; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caja mágica de langostas de Mr. Pinchy' WHERE `ID`=5667; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Uno que no se escapó' WHERE `ID`=5668; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='viejo barlowned' WHERE `ID`=5669; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Captura mortal' WHERE `ID`=5670; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El acechador de arriba' WHERE `ID`=5671; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pescador de Terrallende' WHERE `ID`=5672; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los peces no dejan huellas' WHERE `ID`=5673; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela Boreal Man O \'War' WHERE `ID`=5680; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela Deep Sea Monsterbelly' WHERE `ID`=5681; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banco de peces ángel Dragonfin' WHERE `ID`=5682; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela de arenque colmillo' WHERE `ID`=5683; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banco de salmón glacial' WHERE `ID`=5684; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela de pececillos de aleta de cristal' WHERE `ID`=5685; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela Imperial de Mantarrayas' WHERE `ID`=5686; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Banco de sepias Moonglow' WHERE `ID`=5687; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela Sculpin de mejillón' WHERE `ID`=5688; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escuela de pez ortiga' WHERE `ID`=5689; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pescador de Rasganorte' WHERE `ID`=5690; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sartharion el guardián de ónix' WHERE `ID`=5691; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Malygos' WHERE `ID`=5692; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peces pescados' WHERE `ID`=5695; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Habilidad en pesca' WHERE `ID`=5696; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Habilidad en cocina' WHERE `ID`=5701; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La venganza es sabrosa' WHERE `ID`=5702; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guiso súper caliente' WHERE `ID`=5703; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manalicioso' WHERE `ID`=5704; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='sopa para el alma' WHERE `ID`=5705; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Crocoliscos en la ciudad' WHERE `ID`=5706; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bandidos de cebo' WHERE `ID`=5707; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de sangrevil' WHERE `ID`=5708; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La que se escapó' WHERE `ID`=5709; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Shrimpin \'no es fácil' WHERE `ID`=5710; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Habilidad en alquimia mayor' WHERE `ID`=5711; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Habilidad en herrería mayor' WHERE `ID`=5712; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Habilidad en encantamiento mayor' WHERE `ID`=5713; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Habilidad en sastrería mayor' WHERE `ID`=5714; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Habilidad en herboristería mayor' WHERE `ID`=5715; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Habilidad en inscripción mayor' WHERE `ID`=5716; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Habilidad en joyería mayor' WHERE `ID`=5717; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Habilidad en peletería mayor' WHERE `ID`=5718; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Habilidad en minería mayor' WHERE `ID`=5719; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Habilidad en desuello mayor' WHERE `ID`=5720; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Habilidad en ingeniería mayor' WHERE `ID`=5722; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos de Blade\'s Edge 5v5' WHERE `ID`=5723; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos de Blade\'s Edge 3v3' WHERE `ID`=5724; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos de Blade\'s Edge 2v2' WHERE `ID`=5725; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Blade\'s Edge 5v5 gana' WHERE `ID`=5726; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias de Blade\'s Edge 3v3' WHERE `ID`=5727; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias de Blade\'s Edge 2v2' WHERE `ID`=5728; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encuentros en el Anillo de Sangre' WHERE `ID`=5729; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encuentros en El Círculo de los Retos' WHERE `ID`=5730; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encuentros en el Círculo del Valor' WHERE `ID`=5731; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encuentros en las Ruinas de Lordaeron' WHERE `ID`=5732; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encuentros en las Cloacas de Dalaran' WHERE `ID`=5733; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias en el Anillo de Sangre' WHERE `ID`=5734; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias en El Círculo de los Retos' WHERE `ID`=5735; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias en las Ruinas de Lordaeron' WHERE `ID`=5736; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias en el Círculo del Valor' WHERE `ID`=5737; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias en las Cloacas de Dalaran' WHERE `ID`=5738; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana el Filo de la Espada' WHERE `ID`=5739; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos de Blade\'s Edge' WHERE `ID`=5740; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de Alterac' WHERE `ID`=5741; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de Alterac' WHERE `ID`=5742; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Playa de los Ancestros' WHERE `ID`=5743; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias en el Ojo de la Tormenta' WHERE `ID`=5745; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Playa de los Ancestros' WHERE `ID`=5746; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Batallas en la Garganta Grito de Guerra' WHERE `ID`=5747; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lanza 10 petardos del Festival en menos de 30 segundos.' WHERE `ID`=5755; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pesca 25 ejemplares.' WHERE `ID`=5756; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pesca 50 ejemplares.' WHERE `ID`=5757; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pesca 100 ejemplares.' WHERE `ID`=5758; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pesca 250 ejemplares.' WHERE `ID`=5759; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pesca 500 ejemplares.' WHERE `ID`=5760; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pesca 1000 ejemplares.' WHERE `ID`=5761; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='1000 peces' WHERE `ID`=5762; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran maestro cocinero' WHERE `ID`=5763; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El pastel no es una mentira' WHERE `ID`=5764; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pateándolo a un nivel superior' WHERE `ID`=5765; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gnomo' WHERE `ID`=5772; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elfo de sangre' WHERE `ID`=5774; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draenei' WHERE `ID`=5775; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Enano' WHERE `ID`=5776; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Humano' WHERE `ID`=5777; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elfo de la noche' WHERE `ID`=5778; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='orco' WHERE `ID`=5779; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tauren' WHERE `ID`=5780; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Troll' WHERE `ID`=5781; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='muertos vivientes' WHERE `ID`=5782; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aplastamiento siniestro' WHERE `ID`=5783; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='pícnic romántico' WHERE `ID`=5787; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El anillo de sangre: el desafío final' WHERE `ID`=5798; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El campeón de la angustia' WHERE `ID`=5799; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tiros por necesidad para el botín' WHERE `ID`=5802; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tiros por codicia para el botín' WHERE `ID`=5803; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Purificación de Drak\'Tharon' WHERE `ID`=5804; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Traición' WHERE `ID`=5805; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El anillo del valor' WHERE `ID`=5809; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcantarillas de Dalaran' WHERE `ID`=5810; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Propietario orgulloso de un tabardo de competidor del evento Espíritu de Competición de 2008.' WHERE `ID`=5812; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Propietario orgulloso de una mascota espíritu de competición del evento Espíritu de Competición de 2008.' WHERE `ID`=5814; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al capitán Devastador del Cielo en la carrera de Faucedracos del Arrecife del Ala Abisal.' WHERE `ID`=5815; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo derecho' WHERE `ID`=5816; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Segunda baratija' WHERE `ID`=5817; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Truco o trato!' WHERE `ID`=5818; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='fuera con eso' WHERE `ID`=5819; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='malestar estomacal' WHERE `ID`=5820; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tráeme la cabeza de... Oh, espera' WHERE `ID`=5821; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El salvador de Halloween\'s End' WHERE `ID`=5822; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Esa sonrisa brillante' WHERE `ID`=5824; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reliquia podrida' WHERE `ID`=5825; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ira de GNERD' WHERE `ID`=5826; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='revisa tu cabeza' WHERE `ID`=5827; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='la mascarada' WHERE `ID`=5828; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llamada siniestra' WHERE `ID`=5829; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucos y tratos de Azeroth' WHERE `ID`=5830; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Truco o trato!' WHERE `ID`=5831; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='fuera con eso' WHERE `ID`=5832; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tráeme la cabeza de... Oh, espera' WHERE `ID`=5833; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El salvador de Halloween\'s End' WHERE `ID`=5834; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Esa sonrisa brillante' WHERE `ID`=5836; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reliquia podrida' WHERE `ID`=5837; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ira de GNERD' WHERE `ID`=5838; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='revisa tu cabeza' WHERE `ID`=5839; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='la mascarada' WHERE `ID`=5840; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llamada siniestra' WHERE `ID`=5841; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucos y tratos de Azeroth' WHERE `ID`=5842; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea de Brunnhildar' WHERE `ID`=5843; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuna de Narvir' WHERE `ID`=5844; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='dun niffelem' WHERE `ID`=5845; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aliento de Bor' WHERE `ID`=5846; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valkyrion' WHERE `ID`=5847; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terraza de los Hacedores' WHERE `ID`=5848; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campo minado Sparksocket' WHERE `ID`=5849; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Motor de los Hacedores' WHERE `ID`=5850; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='templo de la vida' WHERE `ID`=5851; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ulduar' WHERE `ID`=5852; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tormenta' WHERE `ID`=5853; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Templo de las tormentas' WHERE `ID`=5854; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llanuras de Ventisquero' WHERE `ID`=5855; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La perdición de Garm' WHERE `ID`=5856; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fuerte Escarcha' WHERE `ID`=5857; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nidavelir' WHERE `ID`=5858; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el bombardeo' WHERE `ID`=5859; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudadela de la Corona de Hielo' WHERE `ID`=5860; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puerto Embestida' WHERE `ID`=5861; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el frente roto' WHERE `ID`=5862; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los Fleshwerks' WHERE `ID`=5863; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldur\'thar: La puerta de la desolación' WHERE `ID`=5864; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caída de Sindragosa' WHERE `ID`=5865; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valhalas' WHERE `ID`=5866; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='valle de los ecos' WHERE `ID`=5867; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ymirheim' WHERE `ID`=5868; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='la conflagración' WHERE `ID`=5869; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Corp\'rethar: La puerta del terror' WHERE `ID`=5871; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jötunheim' WHERE `ID`=5872; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Scourgeholme' WHERE `ID`=5873; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La bóveda de las sombras' WHERE `ID`=5874; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Ingvar el Saqueador' WHERE `ID`=5876; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Keristrasza' WHERE `ID`=5877; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Anub\'arak' WHERE `ID`=5878; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Heraldo Volazj' WHERE `ID`=5879; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: El profeta Tharon\'ja' WHERE `ID`=5880; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Cyanigosa' WHERE `ID`=5881; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Gal\'darah' WHERE `ID`=5882; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Sjonnir el Ironshaper' WHERE `ID`=5883; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Loken' WHERE `ID`=5884; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Guardián Ley Eregos' WHERE `ID`=5885; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Rey Ymiron' WHERE `ID`=5886; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Mal\'Ganis' WHERE `ID`=5887; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kel\'Thuzad (10 o 25 jugadores)' WHERE `ID`=5888; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sartharion the Onyx Guardian (10 o 25 jugadores)' WHERE `ID`=5889; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Malygos (10 o 25 jugadores)' WHERE `ID`=5890; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuenca de Arathi' WHERE `ID`=5892; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ojo de la tormenta' WHERE `ID`=5893; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Playa de los Ancestros' WHERE `ID`=5894; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barranco Grito de Guerra' WHERE `ID`=5895; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuenca de Arathi' WHERE `ID`=5896; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ojo de la tormenta' WHERE `ID`=5897; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Playa de los Ancestros' WHERE `ID`=5898; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barranco Grito de Guerra' WHERE `ID`=5899; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas de Alterac' WHERE `ID`=5900; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Altas de Arathi' WHERE `ID`=5901; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Páramos' WHERE `ID`=5902; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Páramos' WHERE `ID`=5903; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aguja de Roca Negra' WHERE `ID`=5904; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profundidades de Roca Negra' WHERE `ID`=5905; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Devastadas' WHERE `ID`=5906; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estepas Ardientes' WHERE `ID`=5907; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Paso de la Muerte' WHERE `ID`=5908; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tranvía profundo' WHERE `ID`=5909; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dún Algaz' WHERE `ID`=5910; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dun Morogh' WHERE `ID`=5911; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque del Ocaso' WHERE `ID`=5912; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Este' WHERE `ID`=5913; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Elwynn' WHERE `ID`=5914; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque Canción Eterna' WHERE `ID`=5915; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tierras fantasmas' WHERE `ID`=5916; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gnomeregan' WHERE `ID`=5917; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Laderas de Trabalomas' WHERE `ID`=5918; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forjaz' WHERE `ID`=5919; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla de Quel\'Danas' WHERE `ID`=5920; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Karazhan' WHERE `ID`=5921; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Loch Modan' WHERE `ID`=5922; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Lordamere' WHERE `ID`=5923; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terraza del Magister' WHERE `ID`=5924; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nucleo fundido' WHERE `ID`=5925; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guarida de Onyxia' WHERE `ID`=5926; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Plaguelands: El Enclave Escarlata' WHERE `ID`=5927; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Quel\'thalas' WHERE `ID`=5928; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Crestagrana' WHERE `ID`=5929; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Monasterio Escarlata' WHERE `ID`=5930; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Scholomance' WHERE `ID`=5931; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Garganta de Fuego' WHERE `ID`=5932; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad de Lunargenta' WHERE `ID`=5933; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad de Ventormenta' WHERE `ID`=5934; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vega de Tuercespina' WHERE `ID`=5935; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Stratholme' WHERE `ID`=5936; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Templo Sumergido' WHERE `ID`=5937; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Meseta de la Fuente del Sol' WHERE `ID`=5938; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantano de las Penas' WHERE `ID`=5939; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tramo de Thandol' WHERE `ID`=5940; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='las minas de la muerte' WHERE `ID`=5941; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Tierras del Interior' WHERE `ID`=5942; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='la empalizada' WHERE `ID`=5943; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Templo de Atal\'Hakkar' WHERE `ID`=5944; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Claros de Tirisfal' WHERE `ID`=5945; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Entrañas' WHERE `ID`=5946; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Oeste' WHERE `ID`=5947; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Páramos de Poniente' WHERE `ID`=5948; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Humedales' WHERE `ID`=5949; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Gurub' WHERE `ID`=5950; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Gurub' WHERE `ID`=5951; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas de Alterac' WHERE `ID`=5952; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Altas de Arathi' WHERE `ID`=5953; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Páramos' WHERE `ID`=5954; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Páramos' WHERE `ID`=5955; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aguja de Roca Negra' WHERE `ID`=5956; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profundidades de Roca Negra' WHERE `ID`=5957; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras Devastadas' WHERE `ID`=5958; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estepas Ardientes' WHERE `ID`=5959; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Paso de la Muerte' WHERE `ID`=5960; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tranvía profundo' WHERE `ID`=5961; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dún Algaz' WHERE `ID`=5962; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dun Morogh' WHERE `ID`=5963; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque del Ocaso' WHERE `ID`=5964; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Este' WHERE `ID`=5965; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Elwynn' WHERE `ID`=5966; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque Canción Eterna' WHERE `ID`=5967; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tierras fantasmas' WHERE `ID`=5968; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gnomeregan' WHERE `ID`=5969; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Laderas de Trabalomas' WHERE `ID`=5970; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forjaz' WHERE `ID`=5971; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla de Quel\'Danas' WHERE `ID`=5972; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Karazhan' WHERE `ID`=5973; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Loch Modan' WHERE `ID`=5974; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lago Lordamere' WHERE `ID`=5975; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Terraza del Magister' WHERE `ID`=5976; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nucleo fundido' WHERE `ID`=5977; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guarida de Onyxia' WHERE `ID`=5978; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Plaguelands: El Enclave Escarlata' WHERE `ID`=5979; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Quel\'thalas' WHERE `ID`=5980; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Crestagrana' WHERE `ID`=5981; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Monasterio Escarlata' WHERE `ID`=5982; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Scholomance' WHERE `ID`=5983; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Garganta de Fuego' WHERE `ID`=5984; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad de Lunargenta' WHERE `ID`=5985; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad de Ventormenta' WHERE `ID`=5986; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vega de Tuercespina' WHERE `ID`=5987; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Stratholme' WHERE `ID`=5988; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Templo Sumergido' WHERE `ID`=5989; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Meseta de la Fuente del Sol' WHERE `ID`=5990; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pantano de las Penas' WHERE `ID`=5991; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tramo de Thandol' WHERE `ID`=5992; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='las minas de la muerte' WHERE `ID`=5993; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Tierras del Interior' WHERE `ID`=5994; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='la empalizada' WHERE `ID`=5995; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Templo de Atal\'Hakkar' WHERE `ID`=5996; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Claros de Tirisfal' WHERE `ID`=5997; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Entrañas' WHERE `ID`=5998; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tierras de la Peste del Oeste' WHERE `ID`=5999; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Páramos de Poniente' WHERE `ID`=6000; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Humedales' WHERE `ID`=6001; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Gurub' WHERE `ID`=6002; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Gurub' WHERE `ID`=6003; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ahn\'Qiraj' WHERE `ID`=6004; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vallefresno' WHERE `ID`=6005; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Azshara' WHERE `ID`=6006; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Bruma Azur' WHERE `ID`=6007; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Abismos de Brazanegra' WHERE `ID`=6008; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Bruma de Sangre' WHERE `ID`=6009; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa Oscura' WHERE `ID`=6010; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desolación' WHERE `ID`=6011; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Masacre temible' WHERE `ID`=6012; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Durotar' WHERE `ID`=6013; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marjal Revolcafango' WHERE `ID`=6014; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frondavil' WHERE `ID`=6015; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Feralas' WHERE `ID`=6016; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puertas de Ahn\'Qiraj' WHERE `ID`=6017; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maraudon' WHERE `ID`=6018; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='claro de la luna' WHERE `ID`=6019; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mulgore' WHERE `ID`=6020; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guarida de Onyxia' WHERE `ID`=6021; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ogrimmar' WHERE `ID`=6022; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Abismo de fuego furioso' WHERE `ID`=6023; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Razorfen Downs' WHERE `ID`=6024; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Razorfen Kraul' WHERE `ID`=6025; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Ahn\'Qiraj' WHERE `ID`=6026; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='silito' WHERE `ID`=6028; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Río Furia del Sur' WHERE `ID`=6030; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Espolón' WHERE `ID`=6031; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tanaris' WHERE `ID`=6032; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Teldrasil' WHERE `ID`=6033; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los Baldíos' WHERE `ID`=6034; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mil agujas' WHERE `ID`=6035; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cima del Trueno' WHERE `ID`=6036; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cráter de Un\'Goro' WHERE `ID`=6037; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cavernas de los Lamentos' WHERE `ID`=6038; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vacaciones de invierno' WHERE `ID`=6039; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Farrak' WHERE `ID`=6040; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Uldamán' WHERE `ID`=6041; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Uldamán' WHERE `ID`=6042; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla de Alcaz' WHERE `ID`=6043; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión Fauces de Madera' WHERE `ID`=6044; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza Plumaluna' WHERE `ID`=6045; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea de Rut\'theran' WHERE `ID`=6046; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ahn\'Qiraj' WHERE `ID`=6099; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vallefresno' WHERE `ID`=6100; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Azshara' WHERE `ID`=6101; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Bruma Azur' WHERE `ID`=6102; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Abismos de Brazanegra' WHERE `ID`=6103; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla Bruma de Sangre' WHERE `ID`=6104; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costa Oscura' WHERE `ID`=6105; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desolación' WHERE `ID`=6106; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Masacre temible' WHERE `ID`=6107; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Durotar' WHERE `ID`=6108; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marjal Revolcafango' WHERE `ID`=6109; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frondavil' WHERE `ID`=6110; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Feralas' WHERE `ID`=6111; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puertas de Ahn\'Qiraj' WHERE `ID`=6112; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maraudon' WHERE `ID`=6113; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='claro de la luna' WHERE `ID`=6114; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mulgore' WHERE `ID`=6115; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guarida de Onyxia' WHERE `ID`=6116; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ogrimmar' WHERE `ID`=6117; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Abismo de fuego furioso' WHERE `ID`=6118; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Razorfen Downs' WHERE `ID`=6119; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Razorfen Kraul' WHERE `ID`=6120; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Ahn\'Qiraj' WHERE `ID`=6121; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='silito' WHERE `ID`=6123; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Río Furia del Sur' WHERE `ID`=6125; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montañas Espolón' WHERE `ID`=6126; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tanaris' WHERE `ID`=6127; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Teldrasil' WHERE `ID`=6128; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los Baldíos' WHERE `ID`=6129; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mil agujas' WHERE `ID`=6130; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cima del Trueno' WHERE `ID`=6131; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cráter de Un\'Goro' WHERE `ID`=6132; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cavernas de los Lamentos' WHERE `ID`=6133; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vacaciones de invierno' WHERE `ID`=6134; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Farrak' WHERE `ID`=6135; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla de Alcaz' WHERE `ID`=6136; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bastión Fauces de Madera' WHERE `ID`=6137; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza Plumaluna' WHERE `ID`=6138; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea de Rut\'theran' WHERE `ID`=6139; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Artículos épicos saqueados' WHERE `ID`=6140; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Objetos legendarios obtenidos' WHERE `ID`=6141; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Artículos épicos obtenidos' WHERE `ID`=6142; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro del saber de los Reinos del Este' WHERE `ID`=6143; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro del saber de Kalimdor' WHERE `ID`=6144; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro del saber de Terrallende' WHERE `ID`=6145; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro del saber de Rasganorte' WHERE `ID`=6146; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro del saber de los Reinos del Este' WHERE `ID`=6147; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro del saber de Kalimdor' WHERE `ID`=6148; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro del saber de Terrallende' WHERE `ID`=6149; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro del saber de Rasganorte' WHERE `ID`=6150; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colores del maestro del conocimiento' WHERE `ID`=6151; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='mini-diablo' WHERE `ID`=6152; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cachorro de panda' WHERE `ID`=6153; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='zergling' WHERE `ID`=6154; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cachorro abisal' WHERE `ID`=6155; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escarchado' WHERE `ID`=6156; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Turbio' WHERE `ID`=6157; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tirael' WHERE `ID`=6158; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue las riendas de destrero de la muerte del Barón Osahendido en Stratholme.' WHERE `ID`=6159; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue las Riendas de Jinete decapitado del Jinete decapitado en el Monasterio Escarlata durante Halloween.' WHERE `ID`=6160; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue el tigre Zulian presto del sumo sacerdote Thekal en Zul\'Gurub.' WHERE `ID`=6161; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue el raptor Razzashi presto del señor sangriento Mandokir en Zul\'Gurub.' WHERE `ID`=6162; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caballo de guerra ardiente' WHERE `ID`=6163; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue las riendas del lord Cuervo de Anzu en las Salas Sethekk.' WHERE `ID`=6164; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue el halcón zancudo blanco presto de Kael\'thas Caminante del Sol en el Bancal del Magister.' WHERE `ID`=6165; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue las cenizas de Al\'ar de Kael\'thas Caminante del Sol en El Castillo de la Tempestad.' WHERE `ID`=6166; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draco abisal presto' WHERE `ID`=6167; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draco abisal despiadado' WHERE `ID`=6168; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draco abisal vengativo' WHERE `ID`=6169; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poseedor del oso de guerra Amani.' WHERE `ID`=6170; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo del Explorador' WHERE `ID`=6171; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de fuerza bruta' WHERE `ID`=6172; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La dieta de la fiesta de la cerveza' WHERE `ID`=6174; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='cerveza del mes' WHERE `ID`=6175; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fiesta de la cerveza terrible' WHERE `ID`=6177; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Abajo el Hierro Negro' WHERE `ID`=6178; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La dieta de la fiesta de la cerveza' WHERE `ID`=6181; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='cerveza del mes' WHERE `ID`=6182; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fiesta de la cerveza terrible' WHERE `ID`=6184; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Abajo el Hierro Negro' WHERE `ID`=6185; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tener barril, viajará' WHERE `ID`=6190; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rapaz de marfil' WHERE `ID`=6192; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Raptor rojo moteado' WHERE `ID`=6193; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Palomino' WHERE `ID`=6194; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='semental blanco' WHERE `ID`=6195; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lobo rojo' WHERE `ID`=6196; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lobo ártico' WHERE `ID`=6197; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sable de hielo antiguo' WHERE `ID`=6198; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='sable de la noche' WHERE `ID`=6199; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kodo verde' WHERE `ID`=6200; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kodo verde azulado' WHERE `ID`=6201; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='carnero negro' WHERE `ID`=6202; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carnero de escarcha' WHERE `ID`=6203; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mecazancudo azul helado Mod A' WHERE `ID`=6204; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mecazancudo blanco Mod B' WHERE `ID`=6205; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hipogrifo de guerra Cenarion' WHERE `ID`=6206; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kodo de la Fiesta de la Cerveza' WHERE `ID`=6207; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='carnero veloz de la fiesta de la cerveza' WHERE `ID`=6208; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carnero de la Fiesta de la Cerveza' WHERE `ID`=6209; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran kodo de la Fiesta de la Cerveza' WHERE `ID`=6210; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un aullador Lobo Gélido.' WHERE `ID`=6211; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un carnero de batalla Pico Tormenta.' WHERE `ID`=6212; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zancudo de batalla negro' WHERE `ID`=6213; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kodo de guerra negro' WHERE `ID`=6214; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carnero de guerra negro' WHERE `ID`=6215; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Corcel de guerra negro' WHERE `ID`=6216; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lobo de guerra negro' WHERE `ID`=6217; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elekk de guerra negro' WHERE `ID`=6218; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tigre de guerra negro' WHERE `ID`=6219; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Raptor de guerra negro' WHERE `ID`=6220; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zancudo de guerra presto' WHERE `ID`=6221; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caballo de guerra esquelético rojo' WHERE `ID`=6222; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Un agradecimiento de Smokywood Pastures!' WHERE `ID`=6223; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Un agradecimiento de Smokywood Pastures!' WHERE `ID`=6224; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hermano Malach en Entrañas' WHERE `ID`=6225; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Durkot Wolfbrother en el Bastión Grito de Guerra' WHERE `ID`=6226; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hermano Nimetz en Vega de Tuercespina' WHERE `ID`=6228; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hermano Wilhelm en Goldshire' WHERE `ID`=6229; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hermano Kristoff en Ventormenta' WHERE `ID`=6230; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hermano Karman en Theramore' WHERE `ID`=6231; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hermano Joshua en Ventormenta' WHERE `ID`=6232; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hermano Crowley en Ventormenta' WHERE `ID`=6233; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hermano Cassius en Ventormenta' WHERE `ID`=6234; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hermano Benjamin en Ventormenta' WHERE `ID`=6235; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hermano Anton en Nijel\'s Point' WHERE `ID`=6236; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caballero de la muerte orco' WHERE `ID`=6237; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guerrero humano' WHERE `ID`=6238; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chamán Tauren' WHERE `ID`=6239; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Druida elfo de la noche' WHERE `ID`=6240; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pícaro no muerto' WHERE `ID`=6241; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cazador de trolls' WHERE `ID`=6242; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mago gnomo' WHERE `ID`=6243; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Paladín enano' WHERE `ID`=6244; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brujo elfo de sangre' WHERE `ID`=6245; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sacerdote draenei' WHERE `ID`=6246; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='galleta de jengibre' WHERE `ID`=6247; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ponche de huevo' WHERE `ID`=6248; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sidra de manzana caliente' WHERE `ID`=6249; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Juguete único' WHERE `ID`=6250; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un regalo cuidadosamente envuelto' WHERE `ID`=6251; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un regalo suavemente agitado' WHERE `ID`=6252; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un regalo suavemente agitado' WHERE `ID`=6253; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un regalo festivo' WHERE `ID`=6254; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un regalo alegremente envuelto' WHERE `ID`=6255; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un presente que hace tictac' WHERE `ID`=6256; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kit de disfraz de Winter Veil' WHERE `ID`=6257; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kit de disfraz de Winter Veil en Dalaran' WHERE `ID`=6258; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='/bailar en dalaran con un muñeco de nieve como muñeco de nieve' WHERE `ID`=6261; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡En Metzen!' WHERE `ID`=6262; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Con un pequeño ayudante de Mis amigos' WHERE `ID`=6263; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Scrooge' WHERE `ID`=6264; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fa-la-la-la-Ogri\'la' WHERE `ID`=6265; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='es la temporada' WHERE `ID`=6266; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='simplemente abominable' WHERE `ID`=6268; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Deja que nieve' WHERE `ID`=6269; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bros. Antes de Ho Ho Ho' WHERE `ID`=6270; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El velo de invierno Gourmet' WHERE `ID`=6271; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Él sabe si has sido travieso' WHERE `ID`=6272; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un batido helado' WHERE `ID`=6273; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡En Metzen!' WHERE `ID`=6274; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Con un pequeño ayudante de Mis amigos' WHERE `ID`=6275; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Scrooge' WHERE `ID`=6276; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fa-la-la-la-Ogri\'la' WHERE `ID`=6277; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='es la temporada' WHERE `ID`=6278; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='simplemente abominable' WHERE `ID`=6280; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Deja que nieve' WHERE `ID`=6281; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bros. Antes de Ho Ho Ho' WHERE `ID`=6282; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El velo de invierno Gourmet' WHERE `ID`=6283; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Él sabe si has sido travieso' WHERE `ID`=6284; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un batido helado' WHERE `ID`=6285; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='50 monedas de ascendencia' WHERE `ID`=6286; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Galas del Festival Lunar' WHERE `ID`=6287; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El resplandor rojo del cohete' WHERE `ID`=6288; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Petardo frenético' WHERE `ID`=6289; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bendición de Elune' WHERE `ID`=6290; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hielo el Señor de la Escarcha' WHERE `ID`=6291; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Abre una caja de vestido precioso y recibe un vestido negro precioso.' WHERE `ID`=6293; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=6294; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lanza 10 cohetes del amor en menos de 20 segundos.' WHERE `ID`=6295; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caballero de la muerte orco' WHERE `ID`=6302; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brujo gnomo' WHERE `ID`=6312; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caballero de la muerte humana' WHERE `ID`=6313; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sacerdote elfo de la noche' WHERE `ID`=6314; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chamán orco' WHERE `ID`=6315; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Druida Tauren' WHERE `ID`=6316; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='trol pícaro' WHERE `ID`=6317; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guerrero no muerto' WHERE `ID`=6318; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mago elfo de sangre' WHERE `ID`=6319; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Paladín draenei' WHERE `ID`=6320; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cazador de enanos' WHERE `ID`=6321; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pies de pedal' WHERE `ID`=6322; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Flecha con asta de veraplata' WHERE `ID`=6323; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Sé mío!' WHERE `ID`=6324; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Te seguiré por todo Azeroth.' WHERE `ID`=6325; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Todo tuyo.' WHERE `ID`=6326; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Soy todo tuyo!' WHERE `ID`=6327; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Labios calientes.' WHERE `ID`=6328; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Eres mío!' WHERE `ID`=6329; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Usted es el mejor!' WHERE `ID`=6330; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='TE AMO' WHERE `ID`=6331; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicia de suero de leche' WHERE `ID`=6332; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Deseo oscuro' WHERE `ID`=6333; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='dulce sorpresa' WHERE `ID`=6334; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Crema muy baya' WHERE `ID`=6335; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ramo de Rosas Rojas' WHERE `ID`=6336; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Robot cohete mecánico' WHERE `ID`=6342; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conquista del Invierno' WHERE `ID`=6343; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo de batalla de Gurubashi Arena' WHERE `ID`=6344; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Herrero de la Cuenca de Arathi' WHERE `ID`=6345; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La matanza de Stratholme' WHERE `ID`=6346; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Naxxramas' WHERE `ID`=6347; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Crashin\' Thrashin\' Racer' WHERE `ID`=6348; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Robot cohete mecánico' WHERE `ID`=6349; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Robot cohete mecánico' WHERE `ID`=6350; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encantador' WHERE `ID`=6351; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Empujado!' WHERE `ID`=6352; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='coquetear con el desastre' WHERE `ID`=6353; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¿Solitario?' WHERE `ID`=6354; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Amor peligroso' WHERE `ID`=6356; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El resplandor rosa del cohete' WHERE `ID`=6357; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nación de Adoración' WHERE `ID`=6358; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='puñado de amor' WHERE `ID`=6359; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Goloso' WHERE `ID`=6361; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Sé mío!' WHERE `ID`=6362; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mi amor es como una rosa roja, roja' WHERE `ID`=6363; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Me compadecí del tonto' WHERE `ID`=6364; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encantador' WHERE `ID`=6365; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Empujado!' WHERE `ID`=6366; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='coquetear con el desastre' WHERE `ID`=6367; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¿Solitario?' WHERE `ID`=6368; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Amor peligroso' WHERE `ID`=6370; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El resplandor rosa del cohete' WHERE `ID`=6371; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nación de Adoración' WHERE `ID`=6372; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='puñado de amor' WHERE `ID`=6373; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Goloso' WHERE `ID`=6375; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Sé mío!' WHERE `ID`=6376; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mi amor es como una rosa roja, roja' WHERE `ID`=6377; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Me compadecí del tonto' WHERE `ID`=6378; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Inyector de maná rúnico' WHERE `ID`=6379; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Inyector de curación rúnica' WHERE `ID`=6380; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mal\'Ganis' WHERE `ID`=6381; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cangrejo Mágico' WHERE `ID`=6382; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a Archavon el Vigía de Piedra en el modo de 25 jugadores.' WHERE `ID`=6384; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a Archavon el Vigía de Piedra en el modo de 10 jugadores.' WHERE `ID`=6385; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recetas de alquimia conocidas' WHERE `ID`=6386; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Planos de herrería conocidos' WHERE `ID`=6387; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Esquemas de ingeniería conocidos' WHERE `ID`=6388; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='inscripciones conocidas' WHERE `ID`=6389; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Diseños de joyería conocidos' WHERE `ID`=6390; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Patrones de peletería conocidos' WHERE `ID`=6391; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sastrería Patrones conocidos' WHERE `ID`=6392; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recetas de cocina conocidas' WHERE `ID`=6393; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manuales de Primeros Auxilios aprendidos' WHERE `ID`=6394; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Archavon el Vigía de Piedra (Conquista del Invierno 10 j.)' WHERE `ID`=6395; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Archavon el Vigía de Piedra (Conquista del Invierno 25 j.)' WHERE `ID`=6396; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='glúteo' WHERE `ID`=6397; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sartharion el guardián de ónix' WHERE `ID`=6398; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Malygos' WHERE `ID`=6399; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kel\'Thuzad' WHERE `ID`=6400; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zafiro' WHERE `ID`=6401; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tadeo' WHERE `ID`=6402; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='patchwerk' WHERE `ID`=6403; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Noth el Pesteador' WHERE `ID`=6404; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='maexxna' WHERE `ID`=6405; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grobbulus' WHERE `ID`=6406; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heigan el impuro' WHERE `ID`=6407; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Detestob' WHERE `ID`=6409; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Instructor Razuvious' WHERE `ID`=6410; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran Viuda Faerlina' WHERE `ID`=6411; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gothik el Cosechador' WHERE `ID`=6412; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Malygos' WHERE `ID`=6413; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sartharion el guardián de ónix' WHERE `ID`=6414; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kel\'Thuzad' WHERE `ID`=6415; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='glúteo' WHERE `ID`=6416; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sartharion el guardián de ónix' WHERE `ID`=6417; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Malygos' WHERE `ID`=6418; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kel\'Thuzad' WHERE `ID`=6419; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zafiro' WHERE `ID`=6420; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tadeo' WHERE `ID`=6421; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='patchwerk' WHERE `ID`=6422; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Noth el Pesteador' WHERE `ID`=6423; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='maexxna' WHERE `ID`=6424; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grobbulus' WHERE `ID`=6425; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heigan el impuro' WHERE `ID`=6426; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Detestob' WHERE `ID`=6428; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Instructor Razuvious' WHERE `ID`=6429; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran Viuda Faerlina' WHERE `ID`=6430; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gothik el Cosechador' WHERE `ID`=6431; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mal\'Ganis' WHERE `ID`=6432; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mal\'Ganis' WHERE `ID`=6433; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mal\'Ganis' WHERE `ID`=6434; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mal\'Ganis' WHERE `ID`=6435; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana la batalla por Conquista del Invierno.' WHERE `ID`=6436; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Catapulta de Conquista del Invierno' WHERE `ID`=6440; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Demoledor Conquista del Invierno' WHERE `ID`=6441; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máquina de asedio de Conquista del Invierno' WHERE `ID`=6444; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cañón de torre de Conquista del Invierno' WHERE `ID`=6445; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 100 jugadores que lleven seforio.' WHERE `ID`=6446; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desarma 5 cargas de seforio en una sola batalla.' WHERE `ID`=6447; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Galleta de maná de Alterac' WHERE `ID`=6448; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Suiza de Alterac' WHERE `ID`=6449; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Almejas malas' WHERE `ID`=6450; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mantarraya al horno' WHERE `ID`=6451; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ponche de huevo malo' WHERE `ID`=6452; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alitas de buitre a la barbacoa' WHERE `ID`=6453; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mordeduras de murciélago' WHERE `ID`=6454; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sopa de fríjol' WHERE `ID`=6455; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costillas De Jabalí A La Cerveza' WHERE `ID`=6456; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nuez de Bellara' WHERE `ID`=6457; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rebanada de pastel de bayas' WHERE `ID`=6458; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='bistec de oso grande' WHERE `ID`=6459; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hongo negro' WHERE `ID`=6460; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='plasma amargo' WHERE `ID`=6461; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='basilisco ennegrecido' WHERE `ID`=6462; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aletadragón ennegrecido' WHERE `ID`=6463; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pez espora ennegrecido' WHERE `ID`=6464; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucha ennegrecida' WHERE `ID`=6465; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de huargo ennegrecido' WHERE `ID`=6466; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rosquilla Aguja del Filo' WHERE `ID`=6467; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fruta del sol bendita' WHERE `ID`=6468; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Morcilla' WHERE `ID`=6469; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pez vientre sangriento' WHERE `ID`=6470; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manzana flotante' WHERE `ID`=6471; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Almejas hervidas' WHERE `ID`=6472; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alas calientes de buitre pelador de huesos' WHERE `ID`=6473; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intestinos y cerebros' WHERE `ID`=6474; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pez pequeño brillante' WHERE `ID`=6475; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Queso duro salado' WHERE `ID`=6476; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bagre de bigotes erizados' WHERE `ID`=6477; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sangreleta a la parrilla' WHERE `ID`=6478; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mordeduras de buitre' WHERE `ID`=6479; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Repollo Kimchi' WHERE `ID`=6480; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sorpresa de cactus y manzana' WHERE `ID`=6481; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='barra de caramelo' WHERE `ID`=6482; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='bastón de caramelo' WHERE `ID`=6483; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='carroña sorpresa' WHERE `ID`=6484; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vino quemado de alcaravea' WHERE `ID`=6485; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Almejas malas' WHERE `ID`=6486; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mantarraya al horno' WHERE `ID`=6487; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sopa de almejas de Dalaran' WHERE `ID`=6488; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Huesoescama a la parrilla' WHERE `ID`=6489; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sculpin a la parrilla' WHERE `ID`=6490; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arenque embrujado' WHERE `ID`=6491; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mamut de la semana pasada' WHERE `ID`=6492; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Comida de mamut' WHERE `ID`=6493; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guiso Norteño' WHERE `ID`=6494; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colmillo en escabeche' WHERE `ID`=6495; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ortiga escalfado' WHERE `ID`=6496; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='perros rinoceronte' WHERE `ID`=6497; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Huargo asado' WHERE `ID`=6498; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gobio salteado' WHERE `ID`=6499; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de colmillo de pala' WHERE `ID`=6501; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aleta de roca ahumada' WHERE `ID`=6502; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salmón ahumado' WHERE `ID`=6503; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='magdalena sabrosa' WHERE `ID`=6505; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicia de gusano' WHERE `ID`=6506; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran festín' WHERE `ID`=6507; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kungaloosh' WHERE `ID`=6508; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aletadragón ennegrecido' WHERE `ID`=6509; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de huargo ennegrecido' WHERE `ID`=6510; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mordeduras de bichos' WHERE `ID`=6511; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de sepia' WHERE `ID`=6512; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de aleta de dragón' WHERE `ID`=6513; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salmón petardo' WHERE `ID`=6514; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fiesta de pescado' WHERE `ID`=6515; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='fiesta gigantesca' WHERE `ID`=6516; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rinoceronte abundante' WHERE `ID`=6517; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de Manta Imperial' WHERE `ID`=6518; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastelito De Zanahoria' WHERE `ID`=6519; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brochetas de oso carbonizado' WHERE `ID`=6520; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carne de lobo carbonizada' WHERE `ID`=6521; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rebanada de pastel de chocolate' WHERE `ID`=6522; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuadrado de chocolate' WHERE `ID`=6523; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='barra de almejas' WHERE `ID`=6524; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sopa de almejas' WHERE `ID`=6525; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sorpresa Clamlette' WHERE `ID`=6526; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sorpresa Clamlette' WHERE `ID`=6527; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costillas uñagrieta' WHERE `ID`=6528; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pan Conjurado' WHERE `ID`=6529; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rollo de canela conjurado' WHERE `ID`=6530; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Croissant Conjurado' WHERE `ID`=6531; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Galleta de maná conjurada' WHERE `ID`=6532; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tarta de maná conjurada' WHERE `ID`=6533; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Strudel de maná conjurado' WHERE `ID`=6534; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muffin Conjurado' WHERE `ID`=6535; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pumpernickel conjurado' WHERE `ID`=6536; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Centeno Conjurado' WHERE `ID`=6537; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Masa Madre Conjurada' WHERE `ID`=6538; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rollo Dulce Conjurado' WHERE `ID`=6539; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pinza de cangrejo cocida' WHERE `ID`=6540; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mightfish brillante cocido' WHERE `ID`=6541; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pescado Cocido Rasganorte 12 PH' WHERE `ID`=6542; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jumbo Gumbo de galletas' WHERE `ID`=6543; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='bistec de coyote' WHERE `ID`=6544; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de cangrejo' WHERE `ID`=6545; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manzana crujiente de Dalaran' WHERE `ID`=6546; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ala de murciélago crujiente' WHERE `ID`=6547; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cola de lagarto crujiente' WHERE `ID`=6548; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mordeduras de bichos' WHERE `ID`=6549; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gumbo de crocolisco' WHERE `ID`=6550; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de crocolisco' WHERE `ID`=6551; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rana crujiente' WHERE `ID`=6552; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='serpiente crujiente' WHERE `ID`=6553; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Crujiente sorpresa de araña' WHERE `ID`=6554; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Raciones de cruzado' WHERE `ID`=6555; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pan plano crujiente' WHERE `ID`=6556; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de jamón curado' WHERE `ID`=6557; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tortilla curiosamente sabrosa' WHERE `ID`=6558; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de sepia' WHERE `ID`=6559; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brownie de Dalaran' WHERE `ID`=6560; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sopa de almejas de Dalaran' WHERE `ID`=6561; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rosquilla de Dalaran' WHERE `ID`=6562; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dalaran afilada' WHERE `ID`=6563; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mero de Costa Oscura' WHERE `ID`=6564; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='azul darnassiano' WHERE `ID`=6565; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tarta Darnassus De Kimchi' WHERE `ID`=6566; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barra de caramelo frita' WHERE `ID`=6567; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Plátanos Fritos' WHERE `ID`=6568; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brocheta para ratas profundas' WHERE `ID`=6569; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicioso Jamón Al Horno' WHERE `ID`=6570; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicioso molde de cueva' WHERE `ID`=6571; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicioso pastel de chocolate' WHERE `ID`=6572; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='pez desviado' WHERE `ID`=6573; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bayas de diamante' WHERE `ID`=6574; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estofado de rata de excavación' WHERE `ID`=6575; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Patadas de quimerok de Dirge' WHERE `ID`=6576; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chile aliento de dragón' WHERE `ID`=6577; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de aleta de dragón' WHERE `ID`=6578; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Raciones de Frutos Secos' WHERE `ID`=6579; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bolete Rey Seco' WHERE `ID`=6580; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Raciones de Hongos Secos' WHERE `ID`=6581; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costillas De Cerdo Secas' WHERE `ID`=6582; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Galleta de maná enriquecida' WHERE `ID`=6583; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Esencia Mango' WHERE `ID`=6584; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Atún rojo graso' WHERE `ID`=6585; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicia colavil' WHERE `ID`=6586; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mega comida de mamut' WHERE `ID`=6587; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Perros rinocerontes poderosos' WHERE `ID`=6588; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sculpin norteño escalfado' WHERE `ID`=6589; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de gusano rinolicioso' WHERE `ID`=6590; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fiesta pequeña' WHERE `ID`=6591; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='pargo extremo' WHERE `ID`=6592; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicias de mamut especiadas' WHERE `ID`=6593; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hamburguesa de Gusano Especiada' WHERE `ID`=6594; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ortiga azul picante' WHERE `ID`=6595; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arenque Frito Picante' WHERE `ID`=6596; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete tierno de Colmillopala' WHERE `ID`=6597; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aperitivos rastreadores' WHERE `ID`=6598; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Huargo muy quemado' WHERE `ID`=6599; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Almejas malas' WHERE `ID`=6600; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arenque embrujado' WHERE `ID`=6601; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mamut de las últimas semanas' WHERE `ID`=6602; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='magdalena sabrosa' WHERE `ID`=6603; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El gourmet de Rasganorte' WHERE `ID`=6604; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Segundo esa emoción' WHERE `ID`=6605; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Utilizando aperitivos para alimañas, coacciona a 10 alimañas para que sean tu mascota en menos de 3 minutos.' WHERE `ID`=6606; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Critter Gitter' WHERE `ID`=6607; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de carne con champiñones infundidos' WHERE `ID`=6608; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Convención en el Prestidigitación' WHERE `ID`=6609; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estofado de alcantarillado' WHERE `ID`=6610; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Queso para Glowergold' WHERE `ID`=6611; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Perros mostaza!' WHERE `ID`=6612; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de carne con champiñones infundidos' WHERE `ID`=6613; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Convención en el Prestidigitación' WHERE `ID`=6614; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estofado de alcantarillado' WHERE `ID`=6615; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Queso para Glowergold' WHERE `ID`=6616; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Perros mostaza!' WHERE `ID`=6617; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran maestro cocinero' WHERE `ID`=6618; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El pastel no es una mentira' WHERE `ID`=6619; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pateándolo a un nivel superior' WHERE `ID`=6620; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El gourmet de Rasganorte' WHERE `ID`=6621; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Segundo esa emoción' WHERE `ID`=6622; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Critter Gitter' WHERE `ID`=6623; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Critter Gitter' WHERE `ID`=6624; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Critter Gitter' WHERE `ID`=6625; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de Alterac' WHERE `ID`=6626; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuenca de Arathi' WHERE `ID`=6627; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barranco Grito de Guerra' WHERE `ID`=6628; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Playa de los Ancestros' WHERE `ID`=6629; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ojo de la tormenta' WHERE `ID`=6630; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cena Imposible' WHERE `ID`=6631; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cena Imposible' WHERE `ID`=6632; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cima del Trueno' WHERE `ID`=6633; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Orgrimmar' WHERE `ID`=6635; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Entrañas' WHERE `ID`=6636; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forjaz' WHERE `ID`=6637; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Darnassus' WHERE `ID`=6638; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad de Ventormenta' WHERE `ID`=6640; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Captura la bandera en Eye of the Storm' WHERE `ID`=6641; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asalta una torre en el Valle de Alterac' WHERE `ID`=6642; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asalta una bandera en la cuenca de Arathi' WHERE `ID`=6643; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Devolver una bandera caída en Warsong Gulch' WHERE `ID`=6644; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Helado de Fresa de Tigule y Foror' WHERE `ID`=6651; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='magdalena sabrosa' WHERE `ID`=6652; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Biscochos de terciopelo rojo' WHERE `ID`=6653; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicioso pastel de chocolate' WHERE `ID`=6654; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Preciosa rebanada de pastel' WHERE `ID`=6655; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brownie de Dalaran' WHERE `ID`=6656; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rosquilla de Dalaran' WHERE `ID`=6657; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Rey Ymiron en el Pináculo de Utgarde con tu huérfano fuera.' WHERE `ID`=6659; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jaula para ratas' WHERE `ID`=6661; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hermano Keltan en Corona de Hielo' WHERE `ID`=6662; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bigotes la rata' WHERE `ID`=6663; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Collar de cochinillo' WHERE `ID`=6664; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sr. menea' WHERE `ID`=6665; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rápido' WHERE `ID`=6666; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rápido' WHERE `ID`=6667; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maní' WHERE `ID`=6668; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='huevo de Egberto' WHERE `ID`=6669; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Willy soñoliento' WHERE `ID`=6670; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Collar de entrenamiento Elekk' WHERE `ID`=6671; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Egberto' WHERE `ID`=6672; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colita' WHERE `ID`=6673; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Solo en casa' WHERE `ID`=6674; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de mojarra roja' WHERE `ID`=6676; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de frenesí' WHERE `ID`=6677; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de aleta helada' WHERE `ID`=6678; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cheddar añejo fino' WHERE `ID`=6679; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salmón petardo' WHERE `ID`=6680; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fiesta de pescado' WHERE `ID`=6681; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='fiesta del pescador' WHERE `ID`=6682; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Planta de fisura' WHERE `ID`=6683; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gorro de champiñón del bosque' WHERE `ID`=6684; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carne de águila fresca' WHERE `ID`=6685; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pan recién horneado' WHERE `ID`=6686; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pan de la Amistad' WHERE `ID`=6687; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guiso de ancas de rana' WHERE `ID`=6688; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='moras heladas' WHERE `ID`=6689; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Garadar agudo' WHERE `ID`=6690; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Scorcho de almeja gigante' WHERE `ID`=6691; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='fiesta gigantesca' WHERE `ID`=6692; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='galleta de jengibre' WHERE `ID`=6693; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Almejas a la diabla duende' WHERE `ID`=6694; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Palitos de pescado dorado' WHERE `ID`=6695; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manzana de corteza dorada' WHERE `ID`=6696; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de araña pegajosa' WHERE `ID`=6697; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de hígado de goretusk' WHERE `ID`=6698; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de carne casero de Graccu' WHERE `ID`=6699; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de frutas de carne picada de Graccu' WHERE `ID`=6700; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran festín' WHERE `ID`=6701; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Huesoescama a la parrilla' WHERE `ID`=6702; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Patas de oruga a la parrilla' WHERE `ID`=6703; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mudfish a la parrilla' WHERE `ID`=6704; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sculpin a la parrilla' WHERE `ID`=6705; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tubérculo Sombraluna a la parrilla' WHERE `ID`=6706; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Calamares a la plancha' WHERE `ID`=6707; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jabalí devorador sombrío' WHERE `ID`=6708; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='bayas grizzle' WHERE `ID`=6709; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cosecha de jabalí' WHERE `ID`=6710; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pan de cosecha' WHERE `ID`=6711; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cosecha de pescado' WHERE `ID`=6712; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fruta de la cosecha' WHERE `ID`=6713; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pierna de carne' WHERE `ID`=6714; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arenque embrujado' WHERE `ID`=6715; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hierba curativa' WHERE `ID`=6716; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rinoceronte abundante' WHERE `ID`=6717; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Melocotón del cielo' WHERE `ID`=6718; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estofado pesado de crocolisco' WHERE `ID`=6719; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estofado pesado de kodo' WHERE `ID`=6720; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tocino de jabalí' WHERE `ID`=6721; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hojaespina de fuego infernal' WHERE `ID`=6722; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Huevo al horno con hierbas' WHERE `ID`=6723; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rueda de queso de vacaciones' WHERE `ID`=6724; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de cereza casero' WHERE `ID`=6725; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pan de Miel' WHERE `ID`=6726; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Liichen especiado con miel' WHERE `ID`=6727; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucha caliente con mantequilla' WHERE `ID`=6728; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chuletas De León Calientes' WHERE `ID`=6729; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lubina ahumada en caliente' WHERE `ID`=6730; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costillas de lobo caliente' WHERE `ID`=6731; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de Manta Imperial' WHERE `ID`=6732; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La pendiente especial de Jessen' WHERE `ID`=6733; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hamburguesa de oso jugoso' WHERE `ID`=6734; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estofado de la selva' WHERE `ID`=6735; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brocheta de araña kaldorei' WHERE `ID`=6736; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bits de Kibler' WHERE `ID`=6737; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mamut de las últimas semanas' WHERE `ID`=6738; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='venado magro' WHERE `ID`=6739; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete magro de lobo' WHERE `ID`=6740; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carne de Pierna' WHERE `ID`=6741; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caldereta de Langosta' WHERE `ID`=6742; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicia del frenesí del lago' WHERE `ID`=6743; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mal ejemplo' WHERE `ID`=6744; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tareas diarias' WHERE `ID`=6745; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Oh, ¿no es lindo?' WHERE `ID`=6746; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='escuela de golpes duros' WHERE `ID`=6747; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Saluden al rey bebé' WHERE `ID`=6749; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aprende 25 recetas de cocina.' WHERE `ID`=6751; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aprende 50 recetas de cocina.' WHERE `ID`=6752; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aprende 75 recetas de cocina.' WHERE `ID`=6753; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aprende 100 recetas de cocina.' WHERE `ID`=6754; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aprende 160 recetas de cocina.' WHERE `ID`=6755; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='segundo chef' WHERE `ID`=6756; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='segundo chef' WHERE `ID`=6757; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicioso pastel de chocolate' WHERE `ID`=6758; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucha ennegrecida' WHERE `ID`=6759; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mordeduras de buitre' WHERE `ID`=6760; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prepara un poco de cerveza del capitán Rumsey.' WHERE `ID`=6761; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lager del Capitán Rumsey' WHERE `ID`=6762; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lager del Capitán Rumsey' WHERE `ID`=6763; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='barra de almejas' WHERE `ID`=6764; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicia colavil' WHERE `ID`=6765; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Perro devastador' WHERE `ID`=6766; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='chuletas de tormenta' WHERE `ID`=6767; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pez espora ennegrecido' WHERE `ID`=6768; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aperitivo de esporas' WHERE `ID`=6769; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='basilisco ennegrecido' WHERE `ID`=6770; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mudfish a la parrilla' WHERE `ID`=6771; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pescado azul escalfado' WHERE `ID`=6772; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sangreleta a la parrilla' WHERE `ID`=6773; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Palitos de pescado dorado' WHERE `ID`=6774; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bits de Kibler' WHERE `ID`=6775; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Uñagrieta asado' WHERE `ID`=6776; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='bistec talbuk' WHERE `ID`=6777; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hamburguesa de deformación' WHERE `ID`=6778; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='serpiente crujiente' WHERE `ID`=6779; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costillas Mok\'Nathal' WHERE `ID`=6780; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='fiesta del pescador' WHERE `ID`=6781; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucha caliente con mantequilla' WHERE `ID`=6782; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sopa De Calavera' WHERE `ID`=6783; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cigala picante' WHERE `ID`=6784; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Talbuk Picante Picante' WHERE `ID`=6785; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucha Guisada' WHERE `ID`=6786; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El gourmet de Terrallende' WHERE `ID`=6787; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El gourmet de Terrallende' WHERE `ID`=6788; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de los Naaru' WHERE `ID`=6789; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 100000 muertes con honor.' WHERE `ID`=6790; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 50000 muertes con honor.' WHERE `ID`=6791; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 25000 muertes con honor.' WHERE `ID`=6792; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 10000 muertes con honor.' WHERE `ID`=6793; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 5000 muertes con honor.' WHERE `ID`=6794; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 1000 muertes con honor.' WHERE `ID`=6795; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 500 muertes con honor.' WHERE `ID`=6796; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 100 muertes con honor.' WHERE `ID`=6797; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue una muerte con honor.' WHERE `ID`=6798; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Venda a otro jugador o a ti mismo con vendas de tejido de Escarcha gruesas cuando la salud esté por debajo del 5%.' WHERE `ID`=6799; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='En el Valle de Alterac, mata a un enemigo en la Tierra de Disputa antes de que desmonte.' WHERE `ID`=6800; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Primeros auxilios por debajo del 5%' WHERE `ID`=6801; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kel\'Thuzad' WHERE `ID`=6802; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Cianigosa en El Bastión Violeta en dificultad heroica sin usar los cristales de control de defensa y con integridad de sello de prisión a 100%.' WHERE `ID`=6803; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Baila durante 60 segundos en el poste de fuego mientras llevas puesto el conjunto completo del solsticio.' WHERE `ID`=6804; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gancho carnicero' WHERE `ID`=6805; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Época de Chrono-Lord' WHERE `ID`=6806; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salramm el artesano de la carne' WHERE `ID`=6807; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mal\'Ganis' WHERE `ID`=6808; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='trollgore' WHERE `ID`=6813; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Novos el Invocador' WHERE `ID`=6814; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rey dred' WHERE `ID`=6815; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema del heroísmo' WHERE `ID`=6817; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de Valor' WHERE `ID`=6818; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recoge 25 emblemas de heroísmo' WHERE `ID`=6819; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recoge 50 emblemas de heroísmo' WHERE `ID`=6820; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recoge 100 emblemas de heroísmo' WHERE `ID`=6821; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recoge 250 emblemas de heroísmo' WHERE `ID`=6822; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recoge 500 emblemas de heroísmo' WHERE `ID`=6823; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recoge 1000 emblemas de heroísmo' WHERE `ID`=6824; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='25 emblemas de valor' WHERE `ID`=6825; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='50 emblemas de valor' WHERE `ID`=6826; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='100 emblemas de valor' WHERE `ID`=6827; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='250 emblemas de valor' WHERE `ID`=6828; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='500 emblemas de valor' WHERE `ID`=6829; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='1000 emblemas de valor' WHERE `ID`=6830; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='General Bjarngrim' WHERE `ID`=6831; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ionar' WHERE `ID`=6832; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Volkhan' WHERE `ID`=6833; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Loken' WHERE `ID`=6834; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al general Gjarngrin en las Cámaras de Relámpagos en dificultad heroica mientras él sufre una descarga eléctrica temporal.' WHERE `ID`=6835; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Slad\'ran' WHERE `ID`=6839; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moorabi' WHERE `ID`=6840; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coloso Drakkari' WHERE `ID`=6841; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gal\'darah' WHERE `ID`=6842; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes totales en banda (10 j.)' WHERE `ID`=6845; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes totales en banda (25 j.)' WHERE `ID`=6846; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes totales en mazmorras (5 j.)' WHERE `ID`=6847; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Krik\'thir el Vigilante de la puerta' WHERE `ID`=6848; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hadronox' WHERE `ID`=6849; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'arak' WHERE `ID`=6850; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipe Taldaram' WHERE `ID`=6851; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anciano Nadax' WHERE `ID`=6852; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jedoga Buscasombras' WHERE `ID`=6853; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heraldo Volazj' WHERE `ID`=6854; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Cianigosa en El Bastión Violeta en dificultad heroica.' WHERE `ID`=6855; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='doncella del dolor' WHERE `ID`=6856; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='krystallus' WHERE `ID`=6857; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sjonnir el Modelador de Hierro' WHERE `ID`=6858; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Drakos el Interrogador' WHERE `ID`=6859; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mago-Señor Urom' WHERE `ID`=6860; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Varos zancanubes' WHERE `ID`=6861; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardianes Ley Eregos' WHERE `ID`=6862; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Skadi el Despiadado' WHERE `ID`=6863; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Svala Tristeza' WHERE `ID`=6864; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gortok Pezuña Pálida' WHERE `ID`=6865; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Ymiron' WHERE `ID`=6866; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chupete' WHERE `ID`=6867; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pargo de barro de mandíbula larga' WHERE `ID`=6868; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Preciosa rebanada de pastel' WHERE `ID`=6869; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de lince' WHERE `ID`=6870; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lyripan' WHERE `ID`=6871; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pan de grano Mag\'har' WHERE `ID`=6872; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Queso tierno Mag\'har' WHERE `ID`=6873; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Comida de mamut' WHERE `ID`=6874; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Liquen de pantano' WHERE `ID`=6875; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caribú bañado en hidromiel' WHERE `ID`=6876; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mega comida de mamut' WHERE `ID`=6877; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='bistec de pescado fuerte' WHERE `ID`=6878; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Perros rinocerontes poderosos' WHERE `ID`=6879; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Menudillos de la fortuna de Mingo' WHERE `ID`=6880; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucha cabeza de mitril' WHERE `ID`=6881; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bayas mixtas' WHERE `ID`=6882; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pan de Maíz Húmedo' WHERE `ID`=6883; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costillas Mon\'Nathal' WHERE `ID`=6884; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tortilla de monstruos' WHERE `ID`=6885; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Calabaza de cosecha lunar' WHERE `ID`=6886; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caramelo Moonbrook Riot' WHERE `ID`=6887; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muffin magnífico de Moser' WHERE `ID`=6888; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pan de especias Mulgore' WHERE `ID`=6889; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sopa de aleta de múrloc' WHERE `ID`=6890; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chuleta de cordero' WHERE `ID`=6891; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estofado misterioso' WHERE `ID`=6892; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ración naaru' WHERE `ID`=6893; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sopa de Aleta Nocturna' WHERE `ID`=6894; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guiso Norteño' WHERE `ID`=6895; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Deditos de pollo Ogri\'la' WHERE `ID`=6896; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tubérculo de agilidad de Oronok' WHERE `ID`=6897; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tubérculo de agilidad de Oronok' WHERE `ID`=6898; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tubérculo de poder de hechizos de Oronok' WHERE `ID`=6899; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tubérculo de fuerza de Oronok' WHERE `ID`=6900; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Huevo En Escabeche' WHERE `ID`=6901; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colmillo en escabeche' WHERE `ID`=6902; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pie de kodo en escabeche' WHERE `ID`=6903; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pescado azul escalfado' WHERE `ID`=6904; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salmón emperador escalfado' WHERE `ID`=6905; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ortiga escalfado' WHERE `ID`=6906; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sculpin norteño escalfado' WHERE `ID`=6907; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salmón Escama De Sol Escalfado' WHERE `ID`=6908; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rábano Kimchi' WHERE `ID`=6909; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Atún blanco de aleta arcoíris' WHERE `ID`=6910; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Perro devastador' WHERE `ID`=6911; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tortilla de huevo devastador' WHERE `ID`=6912; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trufa Negra Cruda' WHERE `ID`=6913; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trozo crudo de cuerno alto' WHERE `ID`=6914; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alas al rojo vivo' WHERE `ID`=6915; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Biscochos de terciopelo rojo' WHERE `ID`=6916; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Champiñón de motas rojas' WHERE `ID`=6917; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Goulash Crestagrana' WHERE `ID`=6918; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manzana roja refrescante' WHERE `ID`=6919; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='perros rinoceronte' WHERE `ID`=6920; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de vermis rinolicioso' WHERE `ID`=6921; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='sandía madura' WHERE `ID`=6922; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rapaz asada' WHERE `ID`=6923; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carne de Jabalí Asada' WHERE `ID`=6924; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Uñagrieta asado' WHERE `ID`=6925; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carne de kodo asada' WHERE `ID`=6926; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Solomillo De Pasto Lunar Asado' WHERE `ID`=6927; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Codorniz Asada' WHERE `ID`=6928; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Huargo asado' WHERE `ID`=6929; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pretzel salado en roca' WHERE `ID`=6930; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bacalao escama de roca' WHERE `ID`=6931; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tubérculo Runn' WHERE `ID`=6932; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sorpresa de tubérculo Runn Tum' WHERE `ID`=6933; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicia de salvia' WHERE `ID`=6934; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Tribunal de las Edades' WHERE `ID`=6935; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Tribunal de las Edades' WHERE `ID`=6936; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Haz malabarismos con 40 antorchas durante 15 segundos en Dalaran.' WHERE `ID`=6937; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Licores embotellados' WHERE `ID`=6942; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de Borbón' WHERE `ID`=6943; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='cerveza trueno' WHERE `ID`=6944; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='malta rapsodia' WHERE `ID`=6945; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza Aguada' WHERE `ID`=6946; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puñetazo de raptor' WHERE `ID`=6947; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ron volátil' WHERE `ID`=6948; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el oro de cuergo' WHERE `ID`=6949; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Oro de Cuergo con Gusano' WHERE `ID`=6950; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brebaje especial de Wizbang' WHERE `ID`=6951; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Néctar Hyjal' WHERE `ID`=6953; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puerto Canción Eterna' WHERE `ID`=6954; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Suero de foca picante' WHERE `ID`=6955; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Té de menta' WHERE `ID`=6956; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Etiqueta privada de Lord of Frost' WHERE `ID`=6957; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leche de cabra azucarada' WHERE `ID`=6958; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jugo de frambuesa' WHERE `ID`=6959; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Winterfin "Carga de profundidad"' WHERE `ID`=6960; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='plasma amargo' WHERE `ID`=6961; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kungaloosh' WHERE `ID`=6962; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Miel hidromiel' WHERE `ID`=6963; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brandy de ciruela' WHERE `ID`=6964; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jugo de baya grisácea' WHERE `ID`=6966; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Odre de agua de cruzado' WHERE `ID`=6967; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jugo de manzana fresco' WHERE `ID`=6968; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='venado salado' WHERE `ID`=6969; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de arena y pera' WHERE `ID`=6970; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gobio salteado' WHERE `ID`=6971; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pez luna salteado' WHERE `ID`=6972; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicia desviada sabrosa' WHERE `ID`=6973; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran oso de ventisca' WHERE `ID`=6974; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran oso de ventisca' WHERE `ID`=6975; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de la Cruzada Argenta' WHERE `ID`=6976; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de la Espada de Ébano' WHERE `ID`=6977; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo del Acuerdo Reposo del Dragón' WHERE `ID`=6978; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo del Kirin Tor' WHERE `ID`=6979; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Viejo astuto' WHERE `ID`=6980; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Viejo astuto' WHERE `ID`=6981; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Viejo Quijahierro' WHERE `ID`=6982; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Viejo Quijahierro' WHERE `ID`=6984; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciruela Blanca Sabrosa' WHERE `ID`=6985; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aperitivo Scooby' WHERE `ID`=6986; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sorpresa de escórpido' WHERE `ID`=6987; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brocheta de lobo sazonado' WHERE `ID`=6988; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Raíz de Senggin' WHERE `ID`=6989; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='shinsollo' WHERE `ID`=6990; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='manzana roja brillante' WHERE `ID`=6991; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='sopa de colmillopala' WHERE `ID`=6992; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de colmillo de pala' WHERE `ID`=6993; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pez de aspecto enfermizo' WHERE `ID`=6994; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Flanco de oso pardo chisporroteante' WHERE `ID`=6995; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bayas de esqueleto' WHERE `ID`=6996; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sopa De Calavera' WHERE `ID`=6997; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Raciones de la Guardia del Cielo' WHERE `ID`=6998; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caballa de piel deslizante' WHERE `ID`=6999; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fiesta pequeña' WHERE `ID`=7000; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='calabaza pequeña' WHERE `ID`=7001; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carne de oso ahumada' WHERE `ID`=7002; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carne de oso negro ahumado' WHERE `ID`=7003; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bolas de masa hervida del desierto ahumadas' WHERE `ID`=7004; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aleta de roca ahumada' WHERE `ID`=7005; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salvia ahumada' WHERE `ID`=7006; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salmón ahumado' WHERE `ID`=7007; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Venado talbuk ahumado' WHERE `ID`=7008; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='pargo extremo' WHERE `ID`=7009; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sandía Snapvine' WHERE `ID`=7010; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pan De Plátano Suave' WHERE `ID`=7011; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sopa de tortuga calmante' WHERE `ID`=7012; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Queso de Cabra Agrio' WHERE `ID`=7013; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gorro de escarcha espumoso' WHERE `ID`=7014; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alimento especial para pollos' WHERE `ID`=7015; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pan de Especias' WHERE `ID`=7016; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jerky de carne especiada' WHERE `ID`=7017; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cangrejo picante picante' WHERE `ID`=7018; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicias de mamut especiadas' WHERE `ID`=7019; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='En una sola batalla por la Garganta Grito de Guerra, mata a 2 portadores de la bandera antes de que abandonen la Sala de la Bandera Ala de Plata.' WHERE `ID`=7020; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='En una sola batalla por la Garganta Grito de Guerra, mata a 2 portadores de la bandera antes de que abandonen la Sala de la Bandera Grito de Guerra.' WHERE `ID`=7021; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carne de lobo especiada' WHERE `ID`=7027; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costillas de lobo especiadas' WHERE `ID`=7028; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hamburguesa de sierpe especiada' WHERE `ID`=7029; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Palito De Carne Picante' WHERE `ID`=7030; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ortiga azul picante' WHERE `ID`=7031; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cigala picante' WHERE `ID`=7032; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arenque Frito Picante' WHERE `ID`=7033; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Talbuk Picante Picante' WHERE `ID`=7034; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salchicha De Araña' WHERE `ID`=7035; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Halibut de aleta espinosa' WHERE `ID`=7036; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colmenilla esponjosa' WHERE `ID`=7037; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Champiñón esporaggar' WHERE `ID`=7038; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aperitivo de esporas' WHERE `ID`=7039; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aperitivo Springpaw' WHERE `ID`=7040; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mandú al vapor' WHERE `ID`=7041; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='sopa de pollo al vapor' WHERE `ID`=7042; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Carne de draco guisada' WHERE `ID`=7043; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucha Guisada' WHERE `ID`=7044; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='costillas robadas' WHERE `ID`=7045; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='chuletas de tormenta' WHERE `ID`=7046; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brie de Ventormenta' WHERE `ID`=7047; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Münster de Stormgarde' WHERE `ID`=7087; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Suckerpop amargo de Styleen' WHERE `ID`=7088; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Suculento estofado de orca' WHERE `ID`=7089; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Costillas De Cerdo Suculentas' WHERE `ID`=7090; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pan De Patata Dulce' WHERE `ID`=7091; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='bistec talbuk' WHERE `ID`=7092; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='magdalena sabrosa' WHERE `ID`=7093; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Filete de lobo tierno' WHERE `ID`=7094; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Huargo muy quemado' WHERE `ID`=7095; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trato Versicolor' WHERE `ID`=7096; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vaina de esporas' WHERE `ID`=7097; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sopa de almejas socavar' WHERE `ID`=7098; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eterfruta de Un\'Goro' WHERE `ID`=7099; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bayas de tundra' WHERE `ID`=7100; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aperitivos rastreadores' WHERE `ID`=7101; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='cecina dura' WHERE `ID`=7102; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bistec Tierno Shovelsteak' WHERE `ID`=7103; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucha de Zangar' WHERE `ID`=7104; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gorras Zangar' WHERE `ID`=7105; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicia de sierpe' WHERE `ID`=7106; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asado de invierno' WHERE `ID`=7107; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pan de invierno' WHERE `ID`=7108; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Galleta de velo de invierno' WHERE `ID`=7109; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caramelo del velo de invierno' WHERE `ID`=7110; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Calamar de invierno' WHERE `ID`=7111; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='invierno Kimchi' WHERE `ID`=7112; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de arroz salvaje' WHERE `ID`=7113; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pierna de cerdo salvaje' WHERE `ID`=7114; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cola amarilla rayada' WHERE `ID`=7115; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tubérculo de raíz batidora' WHERE `ID`=7116; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estofado de los Páramos de Poniente' WHERE `ID`=7117; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hamburguesa de deformación' WHERE `ID`=7118; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Uvas Telaari' WHERE `ID`=7119; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Plátano Tek\'Abim' WHERE `ID`=7120; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sabroso filete de león' WHERE `ID`=7121; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='carpa primaveral' WHERE `ID`=7122; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guiso de zancudos' WHERE `ID`=7123; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Helado de Fresa de Tigule y Foror' WHERE `ID`=7124; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trozo de pan duro' WHERE `ID`=7125; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Remendejo en Naxxramas en dificultad normal en menos de 3 minutos en el modo de10 jugadores.' WHERE `ID`=7126; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Remendejo en Naxxramas en el modo de 25 jugadores en menos de 3 minutos.' WHERE `ID`=7127; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Maexxna en Naxxramas en el modo de 10 jugadores antes de que pasen 20 minutos de la muerte de Anub\'Rekhan.' WHERE `ID`=7128; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Maexxna en Naxxramas en el modo de 25 jugadores antes de que pasen 20 minutos de la muerte de Anub\'Rekhan.' WHERE `ID`=7129; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Anub\'arak en Azjol-Nerub en dificultad heroica en menos de 4 minutos.' WHERE `ID`=7130; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al heraldo Volazj en Ahn\'kahet en dificultad heroica en menos de 2 minutos.' WHERE `ID`=7133; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Gal\'darah en Gundrak mientras sufres el efecto de Residuo de Eck.' WHERE `ID`=7136; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Xevozz' WHERE `ID`=7137; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lavanthor' WHERE `ID`=7138; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ichoron' WHERE `ID`=7139; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zuramat el Destructor' WHERE `ID`=7140; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Erekem' WHERE `ID`=7141; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moragg' WHERE `ID`=7142; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la Doncella de Pena en las Cámaras de Piedra en dificultad heroica en menos de 1 minuto.' WHERE `ID`=7143; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Loken en las Cámaras de Relámpagos en dificultad heroica en menos de 2 minutos.' WHERE `ID`=7144; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Guardián-Ley Eregos en El Oculus en dificultad heroica en menos de 20 minutos después de la muerte de Drakos el Interrogador.' WHERE `ID`=7145; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'Rekhan' WHERE `ID`=7146; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran Viuda Faerlina' WHERE `ID`=7147; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='maexxna' WHERE `ID`=7148; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='patchwerk' WHERE `ID`=7149; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grobbulus' WHERE `ID`=7150; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='glúteo' WHERE `ID`=7151; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tadeo' WHERE `ID`=7152; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Noth el Pesteador' WHERE `ID`=7153; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heigan el impuro' WHERE `ID`=7154; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Detestob' WHERE `ID`=7155; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Instructor Razuvious' WHERE `ID`=7156; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gothik el Cosechador' WHERE `ID`=7157; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zafiro' WHERE `ID`=7158; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'Rekhan' WHERE `ID`=7159; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran Viuda Faerlina' WHERE `ID`=7160; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='maexxna' WHERE `ID`=7161; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='patchwerk' WHERE `ID`=7162; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grobbulus' WHERE `ID`=7163; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='glúteo' WHERE `ID`=7164; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tadeo' WHERE `ID`=7165; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Noth el Pesteador' WHERE `ID`=7166; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heigan el impuro' WHERE `ID`=7167; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Detestob' WHERE `ID`=7168; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Instructor Razuvious' WHERE `ID`=7169; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gothik el Cosechador' WHERE `ID`=7170; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zafiro' WHERE `ID`=7171; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kel\'Thuzad' WHERE `ID`=7172; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Malygos en el modo de 10 jugadores con menos de 9 personas.' WHERE `ID`=7174; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Malygos en el modo de 25 jugadores con menos de 21 personas.' WHERE `ID`=7175; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draco ámbar' WHERE `ID`=7177; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draco esmeralda' WHERE `ID`=7178; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draco rubí' WHERE `ID`=7179; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 100 zombis resucitados en 1 minuto en La Matanza de Stratholme en dificultad heroica.' WHERE `ID`=7180; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Skadi el Despiadado en el Pináculo de Utgarde en dificultad heroica en menos de 3 minutos de haber comenzado el evento del guantelete.' WHERE `ID`=7181; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Malygos en 6 minutos o menos en el modo de 10 jugadores.' WHERE `ID`=7182; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Malygos en 6 minutos o menos en el modo de 25 jugadores.' WHERE `ID`=7183; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Sartharion el Guardián ónice en el modo de 10 jugadores.' WHERE `ID`=7184; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='vesperón' WHERE `ID`=7185; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sartharion el guardián de ónix' WHERE `ID`=7186; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Shadron' WHERE `ID`=7187; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tenebrón' WHERE `ID`=7188; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='vesperón' WHERE `ID`=7189; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tenebrón' WHERE `ID`=7190; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Shadron' WHERE `ID`=7191; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los cuatro jinetes' WHERE `ID`=7192; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los cuatro jinetes' WHERE `ID`=7193; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='risita' WHERE `ID`=7194; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='carcajadas' WHERE `ID`=7195; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rofl' WHERE `ID`=7196; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='risilla' WHERE `ID`=7197; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recetas de cocina conocidas' WHERE `ID`=7221; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manuales de Primeros Auxilios aprendidos' WHERE `ID`=7222; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recetas de alquimia conocidas' WHERE `ID`=7223; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Planos de herrería conocidos' WHERE `ID`=7224; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fórmulas encantadoras conocidas' WHERE `ID`=7225; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Esquemas de ingeniería conocidos' WHERE `ID`=7226; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='inscripciones conocidas' WHERE `ID`=7227; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Diseños de joyería conocidos' WHERE `ID`=7228; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Patrones de peletería conocidos' WHERE `ID`=7229; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sastrería Patrones conocidos' WHERE `ID`=7230; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al príncipe Keleseth en la Fortaleza de Utgarde en dificultad heroica sin romper ninguna tumba de Escarcha.' WHERE `ID`=7231; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de Wolpertinger' WHERE `ID`=7232; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Wolpertinger' WHERE `ID`=7233; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¿Tu Wolpertinger persiste?' WHERE `ID`=7234; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¿Tu Wolpertinger persiste?' WHERE `ID`=7235; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Escuelas de Magia Arcana - Introducción' WHERE `ID`=7236; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Escuelas de Magia Arcana - Abjuración' WHERE `ID`=7237; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Escuelas de Magia Arcana - Conjuración' WHERE `ID`=7238; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Escuelas de Magia Arcana - Adivinación' WHERE `ID`=7239; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Escuelas de Magia Arcana - Encantamiento' WHERE `ID`=7240; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Escuelas de Magia Arcana - Ilusión' WHERE `ID`=7241; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Escuelas de Magia Arcana - Nigromancia' WHERE `ID`=7242; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Escuelas de Magia Arcana - Transmutación' WHERE `ID`=7243; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de oro de Anduin Wrynn' WHERE `ID`=7244; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de oro de Archimonde' WHERE `ID`=7245; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de oro de Arthas' WHERE `ID`=7246; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de oro de Arugal' WHERE `ID`=7247; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de oro de Brann Barbabronce' WHERE `ID`=7248; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de oro de Chromie' WHERE `ID`=7249; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de oro de Kel\'Thuzad' WHERE `ID`=7250; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de oro de Lady Jaina Valiente' WHERE `ID`=7251; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de oro de Lady Katrana Prestor' WHERE `ID`=7252; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de oro del Príncipe Kael\'thas Caminante del Sol' WHERE `ID`=7253; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de oro de Sylvanas Brisaveloz' WHERE `ID`=7254; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de oro de Teron' WHERE `ID`=7255; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de oro de Thrall' WHERE `ID`=7256; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de oro de Tirion Vadín' WHERE `ID`=7257; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de oro de Uther Lightbringer' WHERE `ID`=7258; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rata de alcantarilla gigante' WHERE `ID`=7260; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rata de alcantarilla gigante' WHERE `ID`=7261; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Premios de cocina de Dalaran recibidos' WHERE `ID`=7262; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muestras de joyero de Dalaran recibidas' WHERE `ID`=7263; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Heigan el Impuro en Naxxramas en el modo de 10 jugadores sin que muera nadie de tu banda.' WHERE `ID`=7264; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la gran viuda Faerlina en Naxxramas en el modo de 10 jugadores sin disipar o impedir frenesí.' WHERE `ID`=7265; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un premio de cocina de Dalaran.' WHERE `ID`=7266; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 10 premios de cocina de Dalaran.' WHERE `ID`=7267; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 25 premios de cocina de Dalaran.' WHERE `ID`=7268; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 50 premios de cocina de Dalaran.' WHERE `ID`=7269; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 100 premios de cocina de Dalaran.' WHERE `ID`=7270; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escaramuza en Río Negro' WHERE `ID`=7278; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piezas Partes' WHERE `ID`=7279; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vida o muerte' WHERE `ID`=7280; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reparación de trituradoras' WHERE `ID`=7281; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Patéalos mientras están abajo' WHERE `ID`=7282; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Manténgalos a raya!' WHERE `ID`=7283; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Abajo el Capitán Zorna!' WHERE `ID`=7284; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fúmalos' WHERE `ID`=7285; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montando el cohete rojo' WHERE `ID`=7286; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pelea de Río Negro' WHERE `ID`=7287; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Triturar la Alianza' WHERE `ID`=7288; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='hacer reparaciones' WHERE `ID`=7289; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mantenlos en sus talones' WHERE `ID`=7290; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Abrumado!' WHERE `ID`=7291; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montando el cohete rojo' WHERE `ID`=7292; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Aplasta al Capitán Brightwater!' WHERE `ID`=7293; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mantenlos a raya' WHERE `ID`=7294; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fúmalos' WHERE `ID`=7295; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Timear prevé construcciones centrífugas en su futuro!' WHERE `ID`=7296; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Timear prevé Ymirjar Berserkers en tu futuro!' WHERE `ID`=7297; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Timear prevé agentes infinitos en su futuro!' WHERE `ID`=7298; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Timear prevé vanguardias de titanio en su futuro!' WHERE `ID`=7299; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de fallecimiento: Ingvar el Saqueador' WHERE `ID`=7300; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de desaparición: Keristrasza' WHERE `ID`=7301; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de desaparición: Ley-Guardian Eregos' WHERE `ID`=7302; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de fallecimiento: Rey Ymiron' WHERE `ID`=7303; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de desaparición: el profeta Tharon\'ja' WHERE `ID`=7304; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de desaparición: Gal\'darah' WHERE `ID`=7305; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de desaparición: Mal\'Ganis' WHERE `ID`=7306; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de desaparición: Sjonnir The Ironshaper' WHERE `ID`=7307; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de fallecimiento: Loken' WHERE `ID`=7308; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de fallecimiento: Anub\'arak' WHERE `ID`=7309; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de desaparición: Heraldo Volazj' WHERE `ID`=7310; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prueba de fallecimiento: Cyanigosa' WHERE `ID`=7311; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='salmón al horno' WHERE `ID`=7312; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Perro de la Luna Negra' WHERE `ID`=7313; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Enano leve' WHERE `ID`=7314; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Keristrasza en El Nexo en dificultad heroica sin permitir que Frío intenso se acumule más de dos veces.' WHERE `ID`=7315; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Anomalus en El Nexo en dificultad heroica sin destruir ninguna falla caótica.' WHERE `ID`=7316; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Ancestro Nadox en Ahn\'kahet en dificultad heroica sin matar a ninguno de los guardianes de Ahn\'kahet.' WHERE `ID`=7317; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Entabla combate con el Rey Dred en Drak\'Tharon en dificultad heroica y mata a 6 arrancatripas Drakkari o segadores Drakkari durante su derrota.' WHERE `ID`=7318; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Moorabi en Gundrak en dificultad heroica mientras evitas que se transforme en mamut durante todo el combate.' WHERE `ID`=7319; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Ícoron en El Bastión Violeta en dificultad heroica sin permitir que se fusionen glóbulos de icor.' WHERE `ID`=7320; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Volkhan en las Cámaras de Relámpagos en dificultad heroica sin dejar que destroce más de 4 gólems frágiles.' WHERE `ID`=7321; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Haz que Svala Tumbapena mate a una Mole de la Plaga en el Pináculo de Utgarde en dificultad heroica.' WHERE `ID`=7322; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Guardián-Ley Eregos en El Oculus en dificultad heroica sin que nadie de tu grupo utilice un draco rubí.' WHERE `ID`=7323; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Guardián-Ley Eregos en El Oculus en dificultad heroica sin que nadie de tu grupo utilice un draco esmeralda.' WHERE `ID`=7324; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Guardián-Ley Eregos en El Oculus en dificultad heroica sin que nadie de tu grupo utilice un draco ámbar.' WHERE `ID`=7325; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Sartharion el Guardián ónice en el modo de 10 jugadores sin que te afecte Golpe de lava.' WHERE `ID`=7326; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Sartharion el Guardián ónice en el modo de 25 jugadores sin que te afecte Golpe de lava.' WHERE `ID`=7327; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Con al menos un draco crepuscular vivo, combate y vence a Sartharion el Guardián ónice en el modo de 10 jugadores.' WHERE `ID`=7328; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Con al menos dos dracos crepusculares vivo, combate y vence a Sartharion el Guardián ónice en el modo de 10 jugadores.' WHERE `ID`=7329; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Con los tres dracos crepusculares vivos, combate y vence a Sartharion el Guardián ónice en el modo de 10 jugadores.' WHERE `ID`=7330; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Con al menos un draco crepuscular vivo, combate y vence a Sartharion el Guardián ónice en el modo de 25 jugadores.' WHERE `ID`=7331; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Con al menos dos dracos crepusculares vivos, combate y vence a Sartharion el Guardián ónice en el modo de 25 jugadores.' WHERE `ID`=7332; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Con los tres dracos crepusculares vivos, combate y vence a Sartharion el Guardián ónice en el modo de 25 jugadores.' WHERE `ID`=7333; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Baile de barra caliente ardiente' WHERE `ID`=7334; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festival del Rey del Fuego' WHERE `ID`=7336; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Malabarista de la antorcha' WHERE `ID`=7337; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Baile de barra caliente ardiente' WHERE `ID`=7338; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hielo el Señor de la Escarcha' WHERE `ID`=7339; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festival del Rey del Fuego' WHERE `ID`=7340; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Malabarista de la antorcha' WHERE `ID`=7341; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Controlador de carreras Crashin\' Thrashin\'' WHERE `ID`=7358; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Jedoga Buscasombras en Ahn\'kahet en dificultad heroica sin matar a ninguno de los Voluntarios Crepusculares.' WHERE `ID`=7359; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Novos el Invocador en la Fortaleza de Drak\'Tharon en dificultad heroica sin dejar que ningún esbirro no-muerto llegue al suelo.' WHERE `ID`=7361; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Slad\'ran en Gundrak en dificultad heroica sin que te atrape la trampa con serpientes.' WHERE `ID`=7363; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dracónico para tontos' WHERE `ID`=7364; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana 100 batallas por Conquista del Invierno.' WHERE `ID`=7365; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Oso pardo acorazado' WHERE `ID`=7368; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Oso pardo acorazado' WHERE `ID`=7369; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mamut lanudo' WHERE `ID`=7371; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mamut lanudo' WHERE `ID`=7372; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mamut de la tundra del viajero' WHERE `ID`=7380; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mamut de la tundra del viajero' WHERE `ID`=7381; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Has conseguido un Tabardo del protector del evento del Portal Oscuro.' WHERE `ID`=7382; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mamut de guerra negro' WHERE `ID`=7387; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mamut de guerra negro' WHERE `ID`=7388; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran mamut de guerra negro' WHERE `ID`=7391; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran mamut de guerra negro' WHERE `ID`=7392; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='mamut de hielo' WHERE `ID`=7393; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='mamut de hielo' WHERE `ID`=7394; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='mamut de hielo' WHERE `ID`=7395; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='mamut de hielo' WHERE `ID`=7396; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran mamut de hielo' WHERE `ID`=7397; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran mamut de hielo' WHERE `ID`=7398; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran mamut de hielo' WHERE `ID`=7399; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran mamut de hielo' WHERE `ID`=7400; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sortija del Kirin Tor' WHERE `ID`=7401; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sello del Kirin Tor' WHERE `ID`=7402; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Despoja 50 fragmentos de vigilante de piedra.' WHERE `ID`=7403; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Despoja 100 fragmentos de vigilante de piedra.' WHERE `ID`=7404; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Despoja 250 fragmentos de vigilante de piedra.' WHERE `ID`=7405; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Despoja 500 fragmentos de vigilante de piedra.' WHERE `ID`=7406; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Despoja 1000 fragmentos de vigilante de piedra.' WHERE `ID`=7407; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desafiador' WHERE `ID`=7408; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador' WHERE `ID`=7412; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Duelista' WHERE `ID`=7415; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador' WHERE `ID`=7416; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rival' WHERE `ID`=7418; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Duelista' WHERE `ID`=7419; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de rejuvenecimiento menor' WHERE `ID`=7420; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de pesadillas' WHERE `ID`=7421; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de rejuvenecimiento poderosa' WHERE `ID`=7422; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de rejuvenecimiento poderosa' WHERE `ID`=7423; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de pesadillas' WHERE `ID`=7424; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Alonso Faol' WHERE `ID`=7441; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Ansirem' WHERE `ID`=7442; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Attumen' WHERE `ID`=7443; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Danath' WHERE `ID`=7444; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre brillante de Dornaa' WHERE `ID`=7445; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Eitrigg' WHERE `ID`=7446; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Elling Trias' WHERE `ID`=7447; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Falstad Martillo Salvaje' WHERE `ID`=7448; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Genn' WHERE `ID`=7449; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Iñigo' WHERE `ID`=7450; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Krasus' WHERE `ID`=7451; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Kryll' WHERE `ID`=7452; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Landro Longshot' WHERE `ID`=7453; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Molok' WHERE `ID`=7454; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`=' Moneda de cobre de Murky' WHERE `ID`=7455; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de la princesa Calia Menethil' WHERE `ID`=7456; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre del soldado Marcus Jonathan' WHERE `ID`=7457; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre brillante de Salandria' WHERE `ID`=7458; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Squire Rowe' WHERE `ID`=7459; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Stalvan' WHERE `ID`=7460; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Vareesa' WHERE `ID`=7461; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de cobre de Vargoth' WHERE `ID`=7462; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de plata de Aegwynn' WHERE `ID`=7463; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de plata de Alleria' WHERE `ID`=7464; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de plata de Antonidas' WHERE `ID`=7465; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de plata del arcanista Doan' WHERE `ID`=7466; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de plata de Fandral Corzocelada' WHERE `ID`=7467; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de plata de Manitas Mayor Mekkatorque' WHERE `ID`=7468; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`=' Moneda de plata de Khadgar' WHERE `ID`=7469; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de plata del rey Anasterian Caminante del Sol' WHERE `ID`=7470; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de plata del rey Terenas Menethil' WHERE `ID`=7471; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de plata del rey Varian Wrynn' WHERE `ID`=7472; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de plata de Maiev Shadowsong' WHERE `ID`=7473; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de plata de Medivh' WHERE `ID`=7474; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de plata de Muradin Barbabronce' WHERE `ID`=7475; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de plata del Príncipe Magni Barbabronce' WHERE `ID`=7476; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moneda de plata de un campesino' WHERE `ID`=7477; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un centavo por tus pensamientos' WHERE `ID`=7486; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='plata en la ciudad' WHERE `ID`=7487; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hay oro en esa fuente' WHERE `ID`=7488; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mecano-cerdo' WHERE `ID`=7491; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Helicóptero de mekigeniero' WHERE `ID`=7492; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Has conseguido un Tabardo de El Alba Argenta del evento Invasión de la Plaga.' WHERE `ID`=7493; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Corruptor Infinito en La Matanza de Stratholme en dificultad heroica.' WHERE `ID`=7494; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El maestro de las monedas' WHERE `ID`=7495; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Con hielo' WHERE `ID`=7496; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frío intenso' WHERE `ID`=7497; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Teoría del caos' WHERE `ID`=7498; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Míralo morir' WHERE `ID`=7499; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hadronox denegado' WHERE `ID`=7500; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Me tengo que ir!' WHERE `ID`=7501; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La muerte rápida de Volazj' WHERE `ID`=7503; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Respeta a tus mayores' WHERE `ID`=7505; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trabajo voluntario' WHERE `ID`=7506; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mejor Dred' WHERE `ID`=7507; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Ay Novios!' WHERE `ID`=7508; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Indefenso' WHERE `ID`=7509; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Aislamiento!' WHERE `ID`=7510; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Deshidración' WHERE `ID`=7511; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¿Qué diablos?' WHERE `ID`=7512; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Menos-rabi' WHERE `ID`=7513; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='serpientes ¿Por qué tendrían que ser serpientes?' WHERE `ID`=7514; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caramba' WHERE `ID`=7515; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muerte oportuna' WHERE `ID`=7516; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un rayo cayó' WHERE `ID`=7517; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Resistente a roturas' WHERE `ID`=7518; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La matanza del tiempo' WHERE `ID`=7519; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='fiesta de zombis!' WHERE `ID`=7520; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El increíble Hulk' WHERE `ID`=7521; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lodi Dodi Nos encanta el Skadi' WHERE `ID`=7522; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jinete de dracos experimentado' WHERE `ID`=7523; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hacer que cuente' WHERE `ID`=7524; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='vacío rubí' WHERE `ID`=7525; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='vacío esmeralda' WHERE `ID`=7526; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='vacío ámbar' WHERE `ID`=7527; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los pocos dedicados' WHERE `ID`=7528; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='aracnofobia' WHERE `ID`=7529; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='hacer trabajo rápido de él' WHERE `ID`=7530; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La danza de la seguridad' WHERE `ID`=7531; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mamá dijo que te noqueara' WHERE `ID`=7532; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La caída del tejedor de hechizos' WHERE `ID`=7533; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='No Tienes Una Eternidad' WHERE `ID`=7534; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='un pinchazo en el ojo' WHERE `ID`=7535; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Voy a ir cuando el volcán sopla' WHERE `ID`=7536; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La zona del crepusculo' WHERE `ID`=7537; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los pocos dedicados (25 j.)' WHERE `ID`=7538; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aracnofobia (25 j.)' WHERE `ID`=7539; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Make Quick Werk Of Him (25 j.)' WHERE `ID`=7540; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La danza de la seguridad (25 j.)' WHERE `ID`=7541; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mamá dijo que noquearte (25 j.)' WHERE `ID`=7542; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La caída del tejehechizos (25 j.)' WHERE `ID`=7543; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='No tienes una eternidad (25 j.)' WHERE `ID`=7544; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un pinchazo en el ojo (25 j.)' WHERE `ID`=7545; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Me iré cuando el volcán explote (25 j.)' WHERE `ID`=7546; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La dimensión desconocida (25 j.)' WHERE `ID`=7547; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Heigan el Impuro en Naxxramas en el modo de 25 jugadores sin que muera nadie de tu banda.' WHERE `ID`=7548; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la gran viuda Faerlina en Naxxramas en el modo de 25 jugadores sin disipar o impedir frenesí.' WHERE `ID`=7549; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 10 monturas.' WHERE `ID`=7550; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 25 monturas.' WHERE `ID`=7551; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 50 monturas.' WHERE `ID`=7552; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Honrar a los mayores' WHERE `ID`=7553; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tonto por amor' WHERE `ID`=7554; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Para los niños' WHERE `ID`=7555; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El guardián de las llamas' WHERE `ID`=7556; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='maestro cervecero' WHERE `ID`=7557; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Santificado sea tu nombre' WHERE `ID`=7558; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Juerguista' WHERE `ID`=7559; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Honrar a los mayores' WHERE `ID`=7560; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tonto por amor' WHERE `ID`=7561; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Para los niños' WHERE `ID`=7562; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El guardián de la llama' WHERE `ID`=7563; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='maestro cervecero' WHERE `ID`=7564; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Santificado sea tu nombre' WHERE `ID`=7565; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Juerguista' WHERE `ID`=7566; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Sapphiron en Naxxramas en el modo de 10 jugadores sin que ningún miembro de la banda tenga un valor de resistencia a la Escarcha superior a 100.' WHERE `ID`=7567; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Sapphiron en Naxxramas en el modo de 25 jugadores sin que ningún miembro de la banda tenga un valor de resistencia a la Escarcha superior a 100.' WHERE `ID`=7568; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El club de los cien (25 jugadores)' WHERE `ID`=7569; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el club de los cien' WHERE `ID`=7570; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dale el golpe de gracia a un sucesor de la eternidad mientras que estás montado en un disco flotante en el modo de 10 jugadores.' WHERE `ID`=7573; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dale el golpe de gracia a un sucesor de la eternidad mientras que estás montado en un disco flotante en el modo de 25 jugadores.' WHERE `ID`=7574; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Denyin\' the Scion (25 j.)' WHERE `ID`=7575; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Negando el Scion' WHERE `ID`=7576; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la Gran Maga Telestra en El Nexo en dificultad heroica después de haber matado a sus imágenes en menos de 5 segundos de que aparecieran en ambas divisiones.' WHERE `ID`=7577; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Cuernotrol en la Fortaleza de Drak\'Tharon en dificultad heroica antes de que Consumir llegue a diez.' WHERE `ID`=7579; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Doble personalidad' WHERE `ID`=7580; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Empalme de consumo' WHERE `ID`=7581; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Gal\'darah en Gundrak en dificultad heroica y consigue que empale en toda la batalla a 5 únicos miembros del grupo.' WHERE `ID`=7583; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Comparte el amor' WHERE `ID`=7584; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Zuramat el Obliterador en El Bastión Violeta en dificultad heroica sin matar a ningún centinela del vacío.' WHERE `ID`=7587; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Una danza del vacío' WHERE `ID`=7588; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota el encuentro del Tribunal de los Tiempos en las Cámaras de Piedra en dificultad heroica sin permitir que Brann Barbabronce sufra daño.' WHERE `ID`=7590; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='brann arrasando nuevo' WHERE `ID`=7591; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Sjonnir el Afilador en las Cámaras de Piedra en dificultad heroica y mata a 5 lodoferros formados durante el encuentro.' WHERE `ID`=7593; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Abusar del moco' WHERE `ID`=7594; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Skadi el Despiadado en el Pináculo de Utgarde en dificultad heroica después de haber matado a Grauf de 100% a cero en un solo intento.' WHERE `ID`=7595; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='A mi chica le encanta patinar todo el tiempo' WHERE `ID`=7596; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Rey Ymiron en el Pináculo de Utgarde en dificultad heroica sin que nadie en el grupo provoque Aterrar.' WHERE `ID`=7598; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='la perdición del rey' WHERE `ID`=7599; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a los 4 Jinetes en Naxxramas en el modo de 10 jugadores, asegurándote de que mueren con menos de 15 segundos de diferencia.' WHERE `ID`=7600; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a los 4 Jinetes en Naxxramas en el modo de 25 jugadores., asegurándote de que mueren con menos de 15 segundos de diferencia.' WHERE `ID`=7601; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Y todos bajarían juntos' WHERE `ID`=7602; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El inmortal' WHERE `ID`=7603; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Thaddius en Naxxramas en el modo de 10 jugadores sin que nadie en la banda cruce las cargas positivas y negativas.' WHERE `ID`=7604; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Thaddius en Naxxramas en el modo de 25 jugadores sin que nadie en la banda cruce las cargas positivas y negativas.' WHERE `ID`=7605; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Impactante!' WHERE `ID`=7606; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Impactante! (25 jugadores)' WHERE `ID`=7607; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Thaddius en Naxxramas en el modo de 10 jugadores con menos de 9 personas.' WHERE `ID`=7608; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Thaddius en Naxxramas en el modo de 25 jugadores con menos de 21 personas.' WHERE `ID`=7609; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sustracción' WHERE `ID`=7610; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Resta (25 jugadores)' WHERE `ID`=7611; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Loatheb en Naxxramas en el modo de 10 jugadores sin matar ninguna espora.' WHERE `ID`=7612; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Loatheb en Naxxramas en el modo de 25 jugadores sin matar ninguna espora.' WHERE `ID`=7613; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Kel\'Thuzad en Naxxramas en el modo de 10 jugadores mientras matas al menos 18 abominaciones en su cámara.' WHERE `ID`=7614; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Kel\'Thuzad en Naxxramas en el modo de 25 jugadores mientras que matas al menos 18 abominaciones en su cámara.' WHERE `ID`=7615; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kel\'Thuzad' WHERE `ID`=7616; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kel\'Thuzad' WHERE `ID`=7617; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El inmortal' WHERE `ID`=7618; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Y todos caerían juntos (25 j.)' WHERE `ID`=7619; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Simplemente no puedo tener suficiente' WHERE `ID`=7620; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Simplemente no puedo tener suficiente (25 j.)' WHERE `ID`=7621; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 50 crías de El Grajero en 15 segundos.' WHERE `ID`=7622; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Playa de los Ancestros' WHERE `ID`=7623; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Destroza 100 vehículos usando una torreta.' WHERE `ID`=7625; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana una batalla en la Playa de los Ancestros sin perder ningún vehículo de asedio.' WHERE `ID`=7626; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Destroza 5 vehículos usando una torreta en una sola batalla.' WHERE `ID`=7628; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 5 jugadores que lleven seforio en una sola batalla.' WHERE `ID`=7629; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 10 jugadores en el Patio de los Ancestros en una sola batalla.' WHERE `ID`=7630; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 100 jugadores en el Patio de los Ancestros.' WHERE `ID`=7631; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coloca 100 cargas de seforio que dañen una muralla.' WHERE `ID`=7632; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana una batalla en la Playa de los Ancestros sin perder ningún vehículo de asedio.' WHERE `ID`=7634; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coloca 5 cargas de seforio que dañen una muralla en una sola batalla.' WHERE `ID`=7635; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defiende la playa sin perder ninguna muralla.' WHERE `ID`=7636; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro de Strand of the Ancients' WHERE `ID`=7640; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro de Strand of the Ancients' WHERE `ID`=7641; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Strand of the Ancients Veteran' WHERE `ID`=7642; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='asaltar la playa' WHERE `ID`=7643; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='manos firmes' WHERE `ID`=7644; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El zapador elegante' WHERE `ID`=7645; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Experto en explosivos' WHERE `ID`=7646; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ni siquiera un rasguño' WHERE `ID`=7647; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veterano de artillería' WHERE `ID`=7648; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Experto en Artillería' WHERE `ID`=7649; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Déjalo caer!' WHERE `ID`=7650; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Déjalo ahora!' WHERE `ID`=7651; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Protector antiguo' WHERE `ID`=7652; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Protector de patio antiguo' WHERE `ID`=7653; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Strand of the Ancients Veteran' WHERE `ID`=7654; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='asaltar la playa' WHERE `ID`=7655; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='manos firmes' WHERE `ID`=7656; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El zapador elegante' WHERE `ID`=7657; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Experto en explosivos' WHERE `ID`=7658; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ni siquiera un rasguño' WHERE `ID`=7659; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veterano de artillería' WHERE `ID`=7660; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Experto en Artillería' WHERE `ID`=7661; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Déjalo caer!' WHERE `ID`=7662; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Déjalo ahora!' WHERE `ID`=7663; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Protector antiguo' WHERE `ID`=7664; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Protector de patio antiguo' WHERE `ID`=7665; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ataca Conquista del Invierno y gana en menos de 10 minutos.' WHERE `ID`=7666; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 20 jugadores que vayan sobre su montura con un cañón de la torre.' WHERE `ID`=7703; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vehículo' WHERE `ID`=7704; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cañón' WHERE `ID`=7705; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desfibradora' WHERE `ID`=7706; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Combatiente' WHERE `ID`=7707; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bombardeo' WHERE `ID`=7708; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza de Conquista del Invierno' WHERE `ID`=7709; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Taller Eastspark' WHERE `ID`=7710; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el templo roto' WHERE `ID`=7711; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El anillo hundido' WHERE `ID`=7712; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Taller Westspark' WHERE `ID`=7713; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre de Vigilancia de las Llamas' WHERE `ID`=7714; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre de visión de sombras' WHERE `ID`=7715; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre del borde del invierno' WHERE `ID`=7716; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El caldero de llamas' WHERE `ID`=7718; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El pantano helado' WHERE `ID`=7719; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veterano de Conquista del Invierno' WHERE `ID`=7722; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dentro de nuestro alcance' WHERE `ID`=7723; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardabosques Conquista del Invierno' WHERE `ID`=7724; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mamut de guerra negro' WHERE `ID`=7726; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='1000 fragmentos de guardián de piedra' WHERE `ID`=7728; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Archavon el Vigía de Piedra' WHERE `ID`=7729; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Archavon el Vigía de Piedra' WHERE `ID`=7730; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derby de destrucción' WHERE `ID`=7732; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Masacre vehicular de gnomos' WHERE `ID`=7734; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre inclinada' WHERE `ID`=7735; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='No tuve oportunidad' WHERE `ID`=7736; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defiende la playa sin perder ninguna muralla.' WHERE `ID`=7740; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defense of the Ancients' WHERE `ID`=7741; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Defense of the Ancients' WHERE `ID`=7742; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingvar el Saqueador' WHERE `ID`=7758; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Keristrasza' WHERE `ID`=7759; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'arak' WHERE `ID`=7760; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heraldo Volazj' WHERE `ID`=7761; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El profeta Tharon\'ja' WHERE `ID`=7762; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cianigosa' WHERE `ID`=7763; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dalronn el controlador' WHERE `ID`=7764; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Skarvald el constructor' WHERE `ID`=7765; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipe Keleseth' WHERE `ID`=7766; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arena Gran Maestro obtenido' WHERE `ID`=7767; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cap en 75 segundos' WHERE `ID`=7769; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='anómalo' WHERE `ID`=7770; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ormorok el Modelador de árboles' WHERE `ID`=7771; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran Mago Telestra' WHERE `ID`=7772; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Krik\'thir el Vigilante de la puerta' WHERE `ID`=7773; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hadronox' WHERE `ID`=7774; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipe Taldaram' WHERE `ID`=7775; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anciano Nadax' WHERE `ID`=7776; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jedoga Buscasombras' WHERE `ID`=7777; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='trollgore' WHERE `ID`=7778; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Novos el Invocador' WHERE `ID`=7779; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rey dred' WHERE `ID`=7780; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Slad\'ran' WHERE `ID`=7781; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moorabi' WHERE `ID`=7782; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coloso Drakkari' WHERE `ID`=7783; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gal\'darah' WHERE `ID`=7784; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='doncella del dolor' WHERE `ID`=7785; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sjonnir el modelador de hierro' WHERE `ID`=7786; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='General Bjarngrim' WHERE `ID`=7787; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ionar' WHERE `ID`=7788; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Volkhan' WHERE `ID`=7789; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Loken' WHERE `ID`=7790; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Drakos el Interrogador' WHERE `ID`=7791; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mago-Señor Urom' WHERE `ID`=7792; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Varos zancanubes' WHERE `ID`=7795; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardianes Ley Eregos' WHERE `ID`=7796; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Skadi el Despiadado' WHERE `ID`=7797; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Svala Tristeza' WHERE `ID`=7798; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gortok Pezuña Pálida' WHERE `ID`=7799; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Ymiron' WHERE `ID`=7800; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gancho carnicero' WHERE `ID`=7801; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Época de Chrono-Lord' WHERE `ID`=7802; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salramm el artesano de la carne' WHERE `ID`=7803; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mal\'Ganis' WHERE `ID`=7804; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los cuatro jinetes' WHERE `ID`=7805; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los cuatro jinetes' WHERE `ID`=7806; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'Rekhan' WHERE `ID`=7807; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='glúteo' WHERE `ID`=7808; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gothik el Cosechador' WHERE `ID`=7809; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran Viuda Faerlina' WHERE `ID`=7810; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grobbulus' WHERE `ID`=7811; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heigan el impuro' WHERE `ID`=7812; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Instructor Razuvious' WHERE `ID`=7813; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Detestob' WHERE `ID`=7814; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='maexxna' WHERE `ID`=7815; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Noth el Pesteador' WHERE `ID`=7816; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='patchwerk' WHERE `ID`=7817; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tadeo' WHERE `ID`=7818; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zafiro' WHERE `ID`=7819; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kel\'Thuzad' WHERE `ID`=7820; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señora Blaymeux' WHERE `ID`=7821; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barón Osahendido' WHERE `ID`=7822; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sir Zeliek' WHERE `ID`=7823; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Thane Korth\'azz' WHERE `ID`=7824; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sartharion' WHERE `ID`=7825; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Malygos' WHERE `ID`=7826; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Archavon el Vigía de Piedra' WHERE `ID`=7827; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'Rekhan' WHERE `ID`=7828; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='glúteo' WHERE `ID`=7829; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gothik el Cosechador' WHERE `ID`=7830; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran Viuda Faerlina' WHERE `ID`=7831; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grobbulus' WHERE `ID`=7832; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heigan el impuro' WHERE `ID`=7833; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Instructor Razuvious' WHERE `ID`=7834; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Detestob' WHERE `ID`=7835; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='maexxna' WHERE `ID`=7836; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Noth el Pesteador' WHERE `ID`=7837; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='patchwerk' WHERE `ID`=7838; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tadeo' WHERE `ID`=7839; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zafiro' WHERE `ID`=7840; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kel\'Thuzad' WHERE `ID`=7841; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señora Blaymeux' WHERE `ID`=7842; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barón Osahendido' WHERE `ID`=7843; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sir Zeliek' WHERE `ID`=7844; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Thane Korth\'azz' WHERE `ID`=7845; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sartharion' WHERE `ID`=7846; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Malygos' WHERE `ID`=7847; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Archavon el Vigía de Piedra' WHERE `ID`=7848; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes totales en mazmorras heroicas (5 j.)' WHERE `ID`=7849; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espíritu ancestral' WHERE `ID`=7850; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espíritu ancestral' WHERE `ID`=7851; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espíritu ancestral' WHERE `ID`=7852; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espíritu ancestral' WHERE `ID`=7853; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espíritu ancestral' WHERE `ID`=7854; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espíritu ancestral' WHERE `ID`=7855; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Redención' WHERE `ID`=7856; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Redención' WHERE `ID`=7857; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Redención' WHERE `ID`=7858; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Redención' WHERE `ID`=7859; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Redención' WHERE `ID`=7860; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Redención' WHERE `ID`=7861; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Redención' WHERE `ID`=7862; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usar piedra de alma' WHERE `ID`=7863; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usar piedra de alma' WHERE `ID`=7864; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usar piedra de alma' WHERE `ID`=7865; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usar piedra de alma' WHERE `ID`=7866; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usar piedra de alma' WHERE `ID`=7867; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usar piedra de alma' WHERE `ID`=7868; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Horda' WHERE `ID`=7869; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Alianza' WHERE `ID`=7870; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Restos del vial de Vashj' WHERE `ID`=7871; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de Villanorte' WHERE `ID`=7884; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle Crestafría' WHERE `ID`=7885; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sentencia de muerte' WHERE `ID`=7886; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla del Caminante del Sol' WHERE `ID`=7887; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de Villanorte' WHERE `ID`=7888; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle Crestafría' WHERE `ID`=7889; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sentencia de muerte' WHERE `ID`=7890; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla del Caminante del Sol' WHERE `ID`=7891; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='valle de pruebas' WHERE `ID`=7892; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mesa Nube Roja' WHERE `ID`=7893; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de las Sombras' WHERE `ID`=7894; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lugar del accidente' WHERE `ID`=7895; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='valle de pruebas' WHERE `ID`=7896; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mesa Nube Roja' WHERE `ID`=7897; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de las Sombras' WHERE `ID`=7898; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lugar del accidente' WHERE `ID`=7899; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de lana gruesa' WHERE `ID`=7900; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de seda de montañés' WHERE `ID`=7901; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de tejido mágico de montañés' WHERE `ID`=7902; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de paño rúnico de montañés' WHERE `ID`=7903; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vendaje de triaje' WHERE `ID`=7904; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná de combate' WHERE `ID`=7905; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná Argenta' WHERE `ID`=7906; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de maná infinita' WHERE `ID`=7907; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de curación de combate' WHERE `ID`=7908; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de sanación Argenta' WHERE `ID`=7909; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción de sanación infinita' WHERE `ID`=7910; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brebaje especial de Noth' WHERE `ID`=7911; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ponche de huevo malo' WHERE `ID`=7951; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cuenco de manzanas de Dalaran' WHERE `ID`=7952; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Langosta Garra Oscura' WHERE `ID`=7953; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ponche de huevo' WHERE `ID`=7954; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jugo de Terocono Enriquecido' WHERE `ID`=7955; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salmón emperador recién alanceado' WHERE `ID`=7956; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de embudo' WHERE `ID`=7957; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pez luna gigante' WHERE `ID`=7958; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jamón Festivo Meloso' WHERE `ID`=7959; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mightfish crudo grande' WHERE `ID`=7960; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cola azul luminosa' WHERE `ID`=7961; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Devorador de magia' WHERE `ID`=7962; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aliento del Dragón Nocturno' WHERE `ID`=7963; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pescado cubierto de aceite' WHERE `ID`=7964; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pez pequeño brillante crudo' WHERE `ID`=7965; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bagre de bigotes de cerdas crudas' WHERE `ID`=7966; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mightfish brillante crudo' WHERE `ID`=7967; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salvia mayor cruda' WHERE `ID`=7968; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frenesí crudo del lago' WHERE `ID`=7969; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pargo de barro boquiabierto crudo' WHERE `ID`=7970; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trucha cabeza de mithril cruda' WHERE `ID`=7971; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pargo aleta nocturna crudo' WHERE `ID`=7972; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Atún blanco de aleta arcoíris crudo' WHERE `ID`=7973; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Branquias rojas crudas' WHERE `ID`=7974; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bacalao escama de roca crudo' WHERE `ID`=7975; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salvia cruda' WHERE `ID`=7976; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caballa de piel deslizante cruda' WHERE `ID`=7977; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Halibut de aleta cruda' WHERE `ID`=7978; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cola amarilla manchada cruda' WHERE `ID`=7979; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lubina cruda de verano' WHERE `ID`=7980; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salmón Escama De Sol Crudo' WHERE `ID`=7981; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salmón Escama Blanca Crudo' WHERE `ID`=7982; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bestia misteriosa asada' WHERE `ID`=7983; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pececillo reluciente' WHERE `ID`=7984; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cola amarilla manchada' WHERE `ID`=7986; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El pretzel esencial de la fiesta de la cerveza' WHERE `ID`=7987; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gorro de hongo submarino' WHERE `ID`=7988; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bayas de flor de viento' WHERE `ID`=7989; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anguila asada lentamente' WHERE `ID`=8004; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Baqueta de zancudo del bosque Afrazi' WHERE `ID`=8030; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de Precisión' WHERE `ID`=8031; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de golpes mortales' WHERE `ID`=8032; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de defensa poderosa' WHERE `ID`=8062; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de experiencia' WHERE `ID`=8063; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de perforación de armadura' WHERE `ID`=8064; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de la velocidad del rayo' WHERE `ID`=8065; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de pensamientos poderosos' WHERE `ID`=8066; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fuerza de cristal' WHERE `ID`=8067; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardián de cristal' WHERE `ID`=8068; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ascua juju' WHERE `ID`=8069; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='escalofrío juju' WHERE `ID`=8070; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escapar de Juju' WHERE `ID`=8071; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Juju podría' WHERE `ID`=8072; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aguardiente de Invierno' WHERE `ID`=8073; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de sangre del comandante Troll' WHERE `ID`=8074; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de sangre de mago' WHERE `ID`=8075; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de sangre de trol débil' WHERE `ID`=8076; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de sangre de trol poderoso' WHERE `ID`=8077; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de ira' WHERE `ID`=8078; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de poder con hechizos' WHERE `ID`=8079; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir del gurú' WHERE `ID`=8080; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de sangre de huargo' WHERE `ID`=8081; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de esquivar algas sangrientas' WHERE `ID`=8082; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de resistencia Bloodkelp' WHERE `ID`=8083; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Videre Elixir' WHERE `ID`=8084; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de Ahuurn' WHERE `ID`=8085; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de las Sombras' WHERE `ID`=8086; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de Drakuru' WHERE `ID`=8087; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir protector de Zort' WHERE `ID`=8088; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir protector de Zort' WHERE `ID`=8089; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de hierba oscura' WHERE `ID`=8090; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de Ammen' WHERE `ID`=8098; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valle de Ammen' WHERE `ID`=8099; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Loque\'nahak' WHERE `ID`=8100; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran Thane Jorfus' WHERE `ID`=8101; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hildana ladrón de la muerte' WHERE `ID`=8102; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Corteza de cristal viejo' WHERE `ID`=8103; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fumblub Gearwind' WHERE `ID`=8104; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='cuerno de hielo' WHERE `ID`=8105; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Perobas el sanguinario' WHERE `ID`=8106; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vigdis la doncella de guerra' WHERE `ID`=8107; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rey ping' WHERE `ID`=8108; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tukemuth' WHERE `ID`=8109; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Superviviente de Indu\'le enloquecido' WHERE `ID`=8110; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alto señor escarlata Daion' WHERE `ID`=8111; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='grocklar' WHERE `ID`=8112; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Odio hirviente' WHERE `ID`=8113; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Syreian el Tallahuesos' WHERE `ID`=8114; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Centinela Zul\'drak' WHERE `ID`=8115; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Griegen' WHERE `ID`=8116; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Girador de terror' WHERE `ID`=8117; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aotona' WHERE `ID`=8118; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rey krush' WHERE `ID`=8119; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vyragosa' WHERE `ID`=8120; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dirkee' WHERE `ID`=8121; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Putridus el Antiguo' WHERE `ID`=8122; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trueno Furioso, Espada Bendita del Buscavientos' WHERE `ID`=8146; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de llamas de verano' WHERE `ID`=8158; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de cielos de verano' WHERE `ID`=8159; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tener barril, viajará' WHERE `ID`=8160; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Invocaciones aceptadas' WHERE `ID`=8586; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias de las alcantarillas de Dalaran' WHERE `ID`=8587; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nagrand gana' WHERE `ID`=8588; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Lordaeron gana' WHERE `ID`=8589; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo de valor gana' WHERE `ID`=8590; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos de las alcantarillas de Dalaran' WHERE `ID`=8591; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos de Nagrand' WHERE `ID`=8592; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Lordaeron Partidos' WHERE `ID`=8593; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos de Ring of Valor' WHERE `ID`=8594; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos Dalara 5v5' WHERE `ID`=8595; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos de Nagrand 5v5' WHERE `ID`=8596; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Lordaeron 5v5 Partidos' WHERE `ID`=8597; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos de Ring of Valor 5v5' WHERE `ID`=8598; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dalaran 5v5 victorias' WHERE `ID`=8599; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nagrand 5v5 victorias' WHERE `ID`=8600; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Lordaeron 5v5 victorias' WHERE `ID`=8601; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo de valor 5v5 victorias' WHERE `ID`=8602; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos de Dalaran 3v3' WHERE `ID`=8603; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos 3v3 de Nagrand' WHERE `ID`=8604; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidas Ruina de Lordaeron 3v3' WHERE `ID`=8605; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos de Ring of Valor 3v3' WHERE `ID`=8606; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias 3c3 en Dalaran' WHERE `ID`=8607; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias 3v3 de Nagrand' WHERE `ID`=8608; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Lordaeron 3v3 victorias' WHERE `ID`=8609; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo de valor 3v3 victorias' WHERE `ID`=8610; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos 2v2 de Dalaran' WHERE `ID`=8611; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos 2v2 de nagrand' WHERE `ID`=8612; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Lordaeron Partidas 2v2' WHERE `ID`=8613; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Partidos de Ring of Valor 2v2' WHERE `ID`=8614; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias Dalran 2v2' WHERE `ID`=8615; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nagrand victorias 2v2' WHERE `ID`=8616; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Lordaeron 2v2 victorias' WHERE `ID`=8617; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo de valor 2v2 victorias' WHERE `ID`=8618; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elixir de sangre de trol fuerte' WHERE `ID`=8648; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='raíz de lirio' WHERE `ID`=8687; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ración enriquecida de la Garganta Grito de Guerra' WHERE `ID`=8688; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ración de hierro de la Garganta Grito de Guerra' WHERE `ID`=8689; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ración de campo de la Garganta Grito de Guerra' WHERE `ID`=8690; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ración de campo de la Cuenca de Arathi' WHERE `ID`=8691; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ración enriquecida de la cuenca de Arathi' WHERE `ID`=8692; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ración de Hierro de la Cuenca de Arathi' WHERE `ID`=8693; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ración enriquecida del Rapiñador' WHERE `ID`=8694; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ración de campo del Corruptor' WHERE `ID`=8695; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ración de hierro del Corruptor' WHERE `ID`=8696; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ración enriquecida de montañés' WHERE `ID`=8697; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ración de campo de montañés' WHERE `ID`=8698; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ración de hierro de montañés' WHERE `ID`=8699; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chupete' WHERE `ID`=8700; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='maíz dulce' WHERE `ID`=8701; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='barra de caramelo' WHERE `ID`=8702; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Golosina de calabaza de Halloween' WHERE `ID`=8703; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='albóndigas festivas' WHERE `ID`=8704; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delicia de suero de leche' WHERE `ID`=8705; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Deseo oscuro' WHERE `ID`=8706; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Crema muy baya' WHERE `ID`=8707; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='dulce sorpresa' WHERE `ID`=8708; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sabrosa golosina de verano' WHERE `ID`=8709; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Smorc Tostado' WHERE `ID`=8710; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Salchicha de verano' WHERE `ID`=8711; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bollo tostado al fuego' WHERE `ID`=8712; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de saúco' WHERE `ID`=8713; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tallos comestibles' WHERE `ID`=8714; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cereza de Nagrand' WHERE `ID`=8715; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='helecho comestible' WHERE `ID`=8716; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Goblin Gumbo' WHERE `ID`=8717; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trato complicado' WHERE `ID`=8718; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bola de canela piroexplosiva' WHERE `ID`=8719; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='GNERDS' WHERE `ID`=8720; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caramelo Relajante De Hierbabuena' WHERE `ID`=8721; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caramelo vil masticable' WHERE `ID`=8722; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bolsa de palomitas de maíz' WHERE `ID`=8723; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bolsa de maní' WHERE `ID`=8724; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Regalo del velo de invierno' WHERE `ID`=8739; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Horda' WHERE `ID`=8740; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Insignias de la Alianza' WHERE `ID`=8741; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'Rekhan' WHERE `ID`=8742; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'Rekhan' WHERE `ID`=8743; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Archavon el Vigía de Piedra' WHERE `ID`=8744; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Archavon el Vigía de Piedra' WHERE `ID`=8745; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los cuatro jinetes' WHERE `ID`=8746; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los cuatro jinetes' WHERE `ID`=8747; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en 4 minutos' WHERE `ID`=8758; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en 4 minutos' WHERE `ID`=8759; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usar piedra de alma' WHERE `ID`=8760; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usar piedra de alma' WHERE `ID`=8761; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usar piedra de alma' WHERE `ID`=8762; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usar piedra de alma' WHERE `ID`=8763; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usar piedra de alma' WHERE `ID`=8764; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usar piedra de alma' WHERE `ID`=8765; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draco abisal brutal' WHERE `ID`=8778; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draco abisal brutal' WHERE `ID`=8779; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Xevozz' WHERE `ID`=8798; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lavanthor' WHERE `ID`=8799; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ichoron' WHERE `ID`=8800; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zuramat el Destructor' WHERE `ID`=8801; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Erekem' WHERE `ID`=8802; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Moragg' WHERE `ID`=8803; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Honrado con los Bucaneros Velasangre' WHERE `ID`=8818; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Bahía del Botín' WHERE `ID`=8819; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Everlook' WHERE `ID`=8820; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Gadgetzan' WHERE `ID`=8821; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Trinquete' WHERE `ID`=8822; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con la Feria de la Luna Negra' WHERE `ID`=8823; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Ravenholdt' WHERE `ID`=8824; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Shen\'dralar' WHERE `ID`=8825; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='40 instancias de hombre' WHERE `ID`=8838; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en Blade\'s Edge Arena' WHERE `ID`=8839; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leche de yeti' WHERE `ID`=8866; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vaso de Dalaran Blanco' WHERE `ID`=8867; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vaso de rojo de Dalaran' WHERE `ID`=8868; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vaso de rojo de Dalaran envejecido' WHERE `ID`=8869; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vaso de rojo de Dalaran puntiagudo' WHERE `ID`=8870; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Copa de Vintage Dalaran Red' WHERE `ID`=8871; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Copa de Vino Canción Eterna' WHERE `ID`=8872; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de sidra de cactus amargo' WHERE `ID`=8873; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Botella de Oporto de Lunargenta' WHERE `ID`=8874; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Taza de brebaje de veneno de rana' WHERE `ID`=8875; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Líquido Fermentado Misterioso' WHERE `ID`=8876; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piel de aguardiente de Mulgore' WHERE `ID`=8877; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grog Gordok' WHERE `ID`=8878; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trueno 45' WHERE `ID`=8879; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza Thunderbrew' WHERE `ID`=8880; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de trueno' WHERE `ID`=8881; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='hidromiel ogro' WHERE `ID`=8882; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Luz de cerveza de cebada' WHERE `ID`=8883; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de cebada oscura' WHERE `ID`=8884; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de cebada clara' WHERE `ID`=8885; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brebaje de paso largo' WHERE `ID`=8886; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Camino de la cerveza' WHERE `ID`=8887; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua de río de la selva' WHERE `ID`=8888; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Magia cervecera' WHERE `ID`=8889; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cabeza reducida robusta' WHERE `ID`=8890; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de paso pequeño' WHERE `ID`=8891; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Esencia del Señor del Fuego' WHERE `ID`=8893; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de conquistador' WHERE `ID`=8894; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Coraza de vengador' WHERE `ID`=8895; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chaleco de mortífero' WHERE `ID`=8896; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Túnicas de clamador de fatalidades' WHERE `ID`=8897; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Túnicas Enigma' WHERE `ID`=8898; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chaleco Génesis' WHERE `ID`=8899; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Camisote de invocatormentas' WHERE `ID`=8900; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Camisote de delantero' WHERE `ID`=8901; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vestimentas del Oráculo' WHERE `ID`=8902; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cáscara del dios antiguo' WHERE `ID`=8903; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Has completado la misión de brujo Corcel nefasto xorothiano.' WHERE `ID`=8905; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Juicio y redención' WHERE `ID`=8906; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Verdaderos Maestros de la Luz' WHERE `ID`=8907; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Has completado la misión de druida para obtener la forma de vuelo presto.' WHERE `ID`=8908; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='15 instancias de hombre' WHERE `ID`=8918; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='20 instancias de hombre' WHERE `ID`=8919; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aceite de hígado de pescado' WHERE `ID`=8985; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Stormstout' WHERE `ID`=8986; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza Trogg' WHERE `ID`=8987; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jugo de fruta de sol bendito' WHERE `ID`=8988; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Té con Azúcar' WHERE `ID`=8989; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ron Rumsey' WHERE `ID`=8990; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Grog verde de Gordok' WHERE `ID`=8991; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La fuerte paliza de Kreeg' WHERE `ID`=8992; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agua de manantial de Alterac embotellada' WHERE `ID`=8993; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Néctar de cosecha' WHERE `ID`=8994; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ponche de huevo de invierno' WHERE `ID`=8995; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Infusión de azote de la Plaga' WHERE `ID`=8996; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Borrador de azote de la Plaga' WHERE `ID`=8997; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Limonada recién exprimida' WHERE `ID`=8998; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bebida burbujeante' WHERE `ID`=8999; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bebida energética gaseosa' WHERE `ID`=9000; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brebaje festivo ardiente' WHERE `ID`=9001; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de Loch Modan' WHERE `ID`=9002; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Stouthammer Lite' WHERE `ID`=9003; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Odre de agua de Grunt' WHERE `ID`=9004; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Odre de agua de lacayo' WHERE `ID`=9005; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bebida energética Crimson Steer' WHERE `ID`=9006; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Esencia de Etéreo' WHERE `ID`=9007; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brebaje rompepiedras' WHERE `ID`=9008; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vino Brightstong' WHERE `ID`=9009; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='whisky halaani' WHERE `ID`=9010; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poción para dormir de peón' WHERE `ID`=9011; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Energía pura' WHERE `ID`=9012; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brebaje de ogro de Blade\'s Edge' WHERE `ID`=9013; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='leche de barro' WHERE `ID`=9014; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Granizado de bayas heladas' WHERE `ID`=9015; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bebida gaseosa de feria "Classic"' WHERE `ID`=9016; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El brebaje casero de Harkor' WHERE `ID`=9017; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sidra de manzana espumosa' WHERE `ID`=9018; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brebaje oscuro de doncella cervecera' WHERE `ID`=9019; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brebaje de Tuercespina' WHERE `ID`=9020; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza pálida draénica' WHERE `ID`=9021; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de bellota otoñal' WHERE `ID`=9022; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El brebaje amargo de Bartlett' WHERE `ID`=9023; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Etiqueta privada de Lord of Frost' WHERE `ID`=9024; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Licuador etéreo' WHERE `ID`=9025; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Esencia diluida de Ethereum' WHERE `ID`=9026; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brebaje terrible' WHERE `ID`=9027; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza fuerte de Thunderbrew' WHERE `ID`=9028; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Angustia Ale' WHERE `ID`=9029; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Botella medio llena de alcohol ilegal de prisión' WHERE `ID`=9030; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Botella medio vacía de alcohol ilegal de prisión' WHERE `ID`=9031; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud demoníaca' WHERE `ID`=9038; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud demoníaca' WHERE `ID`=9039; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud demoníaca' WHERE `ID`=9040; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud vil' WHERE `ID`=9041; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud vil' WHERE `ID`=9042; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud vil' WHERE `ID`=9043; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud demoníaca' WHERE `ID`=9044; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud demoníaca' WHERE `ID`=9045; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud demoníaca' WHERE `ID`=9046; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud vil' WHERE `ID`=9047; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud vil' WHERE `ID`=9048; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Piedra de salud vil' WHERE `ID`=9049; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conectado durante el 4º aniversario de WoW.' WHERE `ID`=9058; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Destruye una torre' WHERE `ID`=9060; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Destruye una torre' WHERE `ID`=9061; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cáscara del dios antiguo' WHERE `ID`=9078; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sello de tierra' WHERE `ID`=9079; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Argénteos' WHERE `ID`=9080; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bosque de Argénteos' WHERE `ID`=9081; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Disfraz de múrloc' WHERE `ID`=9082; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El profeta Tharon\'ja' WHERE `ID`=9098; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El profeta Tharon\'ja' WHERE `ID`=9099; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pon un huevo en los Baños de Golakka del Cráter de Un\'Goro vestido de conejo durante la celebración de Jardín Noble.' WHERE `ID`=9118; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Come 25 chocolates del Jardín Noble durante la celebración del Jardín Noble.' WHERE `ID`=9119; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Come 100 chocolates del Jardín Noble durante la celebración del Jardín Noble.' WHERE `ID`=9120; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reloj azur' WHERE `ID`=9121; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Esconde un huevo de colores vivos en Ciudad de Lunargenta.' WHERE `ID`=9122; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Esconde un huevo de colores vivos en Ciudad de Ventormenta.' WHERE `ID`=9123; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elfo de sangre' WHERE `ID`=9124; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='las tierras baldías' WHERE `ID`=9138; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desolación' WHERE `ID`=9139; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tanaris' WHERE `ID`=9140; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mil agujas' WHERE `ID`=9141; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='silito' WHERE `ID`=9142; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Draenei' WHERE `ID`=9143; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Humano' WHERE `ID`=9144; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Enano' WHERE `ID`=9145; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gnomo' WHERE `ID`=9146; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Elfo de la noche' WHERE `ID`=9147; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='orco' WHERE `ID`=9148; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tauren' WHERE `ID`=9149; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Troll' WHERE `ID`=9150; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='muertos vivientes' WHERE `ID`=9151; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9158; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9159; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes honorables' WHERE `ID`=9160; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en la arena de las alcantarillas de Dalaran' WHERE `ID`=9161; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en la arena de Nagrand' WHERE `ID`=9162; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ruinas de Lordaeron Arena Muertes' WHERE `ID`=9163; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en la Arena del Anillo del Valor' WHERE `ID`=9164; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcantarillas de Dalaran' WHERE `ID`=9165; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo de Valor' WHERE `ID`=9166; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maní' WHERE `ID`=9167; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colita' WHERE `ID`=9168; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Egberto' WHERE `ID`=9169; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Catapulta de Conquista del Invierno' WHERE `ID`=9178; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Demoledor Conquista del Invierno' WHERE `ID`=9179; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máquina de asedio de Conquista del Invierno' WHERE `ID`=9180; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cañón de torre de Conquista del Invierno' WHERE `ID`=9181; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue una quintaesencia de agua.' WHERE `ID`=9198; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dolanaar' WHERE `ID`=9199; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Villadorada' WHERE `ID`=9200; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kharanos' WHERE `ID`=9201; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aldea Pezuña de Sangre' WHERE `ID`=9202; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rodaballo' WHERE `ID`=9203; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Plaza Ala de Halcón' WHERE `ID`=9204; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerro de la navaja' WHERE `ID`=9205; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reúne 75 mascotas de compañía únicas.' WHERE `ID`=9218; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Darnassus' WHERE `ID`=9219; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Éxodar' WHERE `ID`=9220; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Darnassus' WHERE `ID`=9221; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Éxodar' WHERE `ID`=9222; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 100 monturas.' WHERE `ID`=9223; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 100 monturas.' WHERE `ID`=9224; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Castillo Colmillo Oscuro' WHERE `ID`=9238; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Castillo Colmillo Oscuro' WHERE `ID`=9239; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Aman' WHERE `ID`=9240; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Aman' WHERE `ID`=9241; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='cavernas del tiempo' WHERE `ID`=9242; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='cavernas del tiempo' WHERE `ID`=9243; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El profeta Tharon\'ja' WHERE `ID`=9258; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El profeta Tharon\'ja' WHERE `ID`=9259; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El profeta Tharon\'ja' WHERE `ID`=9260; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El profeta Tharon\'ja' WHERE `ID`=9261; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Liebre ártica' WHERE `ID`=9299; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marmota boreal' WHERE `ID`=9300; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pingüino de fiordo' WHERE `ID`=9301; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pavo de los fiordos' WHERE `ID`=9302; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='pingüino glaciar' WHERE `ID`=9303; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ardilla parda' WHERE `ID`=9304; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='sapo enorme' WHERE `ID`=9305; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cangrejo de lava' WHERE `ID`=9306; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mofeta de montaña' WHERE `ID`=9307; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rana canalla' WHERE `ID`=9308; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pájaro garrapata de Sholazar' WHERE `ID`=9309; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pingüino de tundra' WHERE `ID`=9310; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='liebre' WHERE `ID`=9311; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ramo de Rosas de Ébano' WHERE `ID`=9338; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sumador' WHERE `ID`=9358; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Araña de cristal' WHERE `ID`=9359; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gusano devorador' WHERE `ID`=9360; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='escarabajo de fuego' WHERE `ID`=9361; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rata de fiordo' WHERE `ID`=9362; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='escarabajo de oro' WHERE `ID`=9363; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Larva' WHERE `ID`=9364; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gusano' WHERE `ID`=9365; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mocasín' WHERE `ID`=9366; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ratón' WHERE `ID`=9367; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rata' WHERE `ID`=9368; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cucaracha' WHERE `ID`=9369; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escorpión' WHERE `ID`=9370; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Serpiente' WHERE `ID`=9371; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Araña' WHERE `ID`=9372; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rata del bajo vientre' WHERE `ID`=9373; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rata Zul\'Drak' WHERE `ID`=9374; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='arrojado' WHERE `ID`=9378; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gnomeregan' WHERE `ID`=9398; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bucle del Kirin Tor' WHERE `ID`=9418; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anillo del Kirin Tor' WHERE `ID`=9419; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue un cristal resonador qiraji rojo.' WHERE `ID`=9420; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tartar de huargo' WHERE `ID`=9421; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Gurub' WHERE `ID`=9422; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'Gurub' WHERE `ID`=9423; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gnomeregan' WHERE `ID`=9424; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gnomeregan' WHERE `ID`=9425; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sr. Bigglesworth' WHERE `ID`=9438; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Barril de cerveza Thunderbrew' WHERE `ID`=9498; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pilsner de invierno salvaje' WHERE `ID`=9499; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bola de burbujas de Metok' WHERE `ID`=9500; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Stout de primavera' WHERE `ID`=9501; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Brebaje de Tuercespina' WHERE `ID`=9502; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='carpa de alcantarilla' WHERE `ID`=9518; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encuentra un huevo de colores vivos.' WHERE `ID`=9538; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sulfuras, Mano de Ragnaros' WHERE `ID`=9578; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Nivel hasta 40.' WHERE `ID`=9598; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Aprende una Especialización de Segundo Talento.' WHERE `ID`=9619; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Darnassus' WHERE `ID`=9658; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón del Exodar' WHERE `ID`=9659; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Gnomeregan' WHERE `ID`=9660; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Forjaz' WHERE `ID`=9661; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Ventormenta' WHERE `ID`=9662; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Orgrimmar' WHERE `ID`=9663; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Sen\'jin' WHERE `ID`=9664; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de la Ciudad de Lunargenta' WHERE `ID`=9665; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Cima del Trueno' WHERE `ID`=9666; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Entrañas' WHERE `ID`=9667; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Darnassus' WHERE `ID`=9668; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón del Exodar' WHERE `ID`=9669; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Gnomeregan' WHERE `ID`=9670; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Ventormenta' WHERE `ID`=9671; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Forjaz' WHERE `ID`=9672; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Orgrimmar' WHERE `ID`=9673; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Sen\'jin' WHERE `ID`=9674; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de la Ciudad de Lunargenta' WHERE `ID`=9675; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Entrañas' WHERE `ID`=9676; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Cima del Trueno' WHERE `ID`=9677; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Darnassus' WHERE `ID`=9678; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Exodar' WHERE `ID`=9679; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con los exiliados de Gnomeregan' WHERE `ID`=9680; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Forjaz' WHERE `ID`=9681; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Ventormenta' WHERE `ID`=9682; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Orgrimmar' WHERE `ID`=9683; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Trolls Lanza Negra' WHERE `ID`=9684; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con la Ciudad de Lunargenta' WHERE `ID`=9685; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Cima del Trueno' WHERE `ID`=9686; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Entrañas' WHERE `ID`=9687; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9698; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9699; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador' WHERE `ID`=9718; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rival' WHERE `ID`=9719; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Duelista' WHERE `ID`=9720; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador' WHERE `ID`=9721; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9738; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9739; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9740; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9741; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9742; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9743; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9744; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9745; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9746; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9747; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9748; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9749; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9750; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9751; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9752; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9753; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9754; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9755; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9756; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9757; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veterano de Conquista del Invierno' WHERE `ID`=9758; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dentro de nuestro alcance' WHERE `ID`=9759; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardabosques Conquista del Invierno' WHERE `ID`=9760; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mamut de guerra negro' WHERE `ID`=9761; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='1000 fragmentos de guardián de piedra' WHERE `ID`=9764; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Archavon el Vigía de Piedra' WHERE `ID`=9765; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Archavon el Vigía de Piedra' WHERE `ID`=9766; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derby de destrucción' WHERE `ID`=9767; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Masacre vehicular de gnomos' WHERE `ID`=9769; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torre inclinada' WHERE `ID`=9770; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='No tuve oportunidad' WHERE `ID`=9771; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue el derecho a representar a Darnassus en el Torneo Argenta.' WHERE `ID`=9773; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue el derecho a representar a El Exodar en el Torneo Argenta.' WHERE `ID`=9774; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue el derecho a representar a los Exiliados de Gnomeregan en el Torneo Argenta.' WHERE `ID`=9775; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue el derecho a representar a Forjaz en el Torneo Argenta.' WHERE `ID`=9776; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue el derecho a representar a Ventormenta en el Torneo Argenta.' WHERE `ID`=9777; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Darnassus' WHERE `ID`=9778; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón del Exodar' WHERE `ID`=9779; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Gnomeregan' WHERE `ID`=9780; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Ventormenta' WHERE `ID`=9781; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Forjaz' WHERE `ID`=9782; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue el derecho a representar a Orgrimmar en el Torneo Argenta.' WHERE `ID`=9783; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue el derecho a representar a Sen\'jin en el Torneo Argenta.' WHERE `ID`=9784; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue el derecho a representar a Ciudad de Lunargenta en el Torneo Argenta.' WHERE `ID`=9785; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue el derecho a representar a Cima del Trueno en el Torneo Argenta.' WHERE `ID`=9786; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue el derecho a representar a Entrañas en el Torneo Argenta.' WHERE `ID`=9787; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Orgrimmar' WHERE `ID`=9788; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Sen\'jin' WHERE `ID`=9789; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de la Ciudad de Lunargenta' WHERE `ID`=9790; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Entrañas' WHERE `ID`=9791; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Cima del Trueno' WHERE `ID`=9792; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a otro jugador en duelo sobre montura en el Torneo Argenta.' WHERE `ID`=9798; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ardilla' WHERE `ID`=9818; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sr. Bigglesworth' WHERE `ID`=9819; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bola de nieve Cairne Pezuña de Sangre' WHERE `ID`=9838; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bola de nieve Cairne Pezuña de Sangre' WHERE `ID`=9839; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Besa a alguien que lleve un vestido elegante mientras llevas puesta una camisa de esmoquin blanca con unos pantalones de esmoquin negros.' WHERE `ID`=9858; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9859; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9860; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9861; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=9862; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Encontré uno!' WHERE `ID`=9863; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='adicto al chocolate' WHERE `ID`=9864; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Duro' WHERE `ID`=9865; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lanzamiento de primavera' WHERE `ID`=9866; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jardín Noble' WHERE `ID`=9867; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agite su fabricante de conejos' WHERE `ID`=9868; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rosa del desierto' WHERE `ID`=9869; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Novia avergonzada' WHERE `ID`=9870; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Encontré uno!' WHERE `ID`=9871; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='adicto al chocolate' WHERE `ID`=9872; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Duro' WHERE `ID`=9873; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lanzamiento de primavera' WHERE `ID`=9874; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jardín Noble' WHERE `ID`=9875; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Agite su fabricante de conejos' WHERE `ID`=9876; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rosa del desierto' WHERE `ID`=9877; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Novia avergonzada' WHERE `ID`=9878; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Noble jardinero' WHERE `ID`=9879; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Noble jardinero' WHERE `ID`=9880; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Cruzada Argenta' WHERE `ID`=9898; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Orgrimmar' WHERE `ID`=9899; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Sen\'jin' WHERE `ID`=9900; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de la Ciudad de Lunargenta' WHERE `ID`=9901; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Entrañas' WHERE `ID`=9902; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Cima del Trueno' WHERE `ID`=9903; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Cruzada Argenta' WHERE `ID`=9904; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Darnassus' WHERE `ID`=9905; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón del Exodar' WHERE `ID`=9906; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Gnomeregan' WHERE `ID`=9907; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Ventormenta' WHERE `ID`=9908; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeón de Forjaz' WHERE `ID`=9909; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Darnassus' WHERE `ID`=9918; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sen\'jin' WHERE `ID`=9919; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad de Lunargenta' WHERE `ID`=9920; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cima del Trueno' WHERE `ID`=9921; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Entrañas' WHERE `ID`=9922; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Leviatán de llamas (Ulduar 10 j.)' WHERE `ID`=9938; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Tajoescama (Ulduar 10 j.)' WHERE `ID`=9939; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Ignis el Maestro de la Caldera (Ulduar 10 j.)' WHERE `ID`=9940; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Desarmador XA-002 (Ulduar 10 j.)' WHERE `ID`=9941; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Kologarn (Ulduar 10 j.)' WHERE `ID`=9943; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre Mimiron (Ulduar 10 j.)' WHERE `ID`=9947; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del general Vezax (Ulduar 10 j.)' WHERE `ID`=9948; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Auriaya (Ulduar 10 j.)' WHERE `ID`=9950; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Yogg-Saron (Ulduar 10 j.)' WHERE `ID`=9951; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Emalon el Vigía de la Tormenta (Conquista del Invierno 10 j.)' WHERE `ID`=9952; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Leviatán de llamas (Ulduar 25 j.)' WHERE `ID`=9954; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Tajoescama (Ulduar 25 j.)' WHERE `ID`=9955; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Ignis el Maestro de la Caldera (Ulduar 25 j.)' WHERE `ID`=9956; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Desarmador XA-002 (Ulduar 25 j.)' WHERE `ID`=9957; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Kologarn (Ulduar 25 j.)' WHERE `ID`=9959; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre Mimiron (Ulduar 25 j.)' WHERE `ID`=9963; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del general Vezax (Ulduar 25 j.)' WHERE `ID`=9964; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Auriaya (Ulduar 25 j.)' WHERE `ID`=9966; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Yogg-Saron (Ulduar 25 j.)' WHERE `ID`=9967; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=9968; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=9969; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Navajaescama' WHERE `ID`=9970; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Navajaescama' WHERE `ID`=9971; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ignis el maestro del horno' WHERE `ID`=9972; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ignis el maestro del horno' WHERE `ID`=9973; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Deconstructor XT-002' WHERE `ID`=9974; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Deconstructor XT-002' WHERE `ID`=9975; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montaje de Hierro' WHERE `ID`=9976; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montaje de Hierro' WHERE `ID`=9977; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kologarn' WHERE `ID`=9978; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kologarn' WHERE `ID`=9979; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hodir' WHERE `ID`=9980; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hodir' WHERE `ID`=9981; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torim' WHERE `ID`=9982; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torim' WHERE `ID`=9983; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='freya' WHERE `ID`=9984; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='freya' WHERE `ID`=9985; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mimirón' WHERE `ID`=9986; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mimirón' WHERE `ID`=9987; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='General Vezax' WHERE `ID`=9988; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='General Vezax' WHERE `ID`=9989; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Algalon el observador' WHERE `ID`=9990; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Algalon el observador' WHERE `ID`=9991; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Auriaya' WHERE `ID`=9992; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Auriaya' WHERE `ID`=9993; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg-Saron' WHERE `ID`=9994; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg-Saron' WHERE `ID`=9995; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emalon el Vigilante de la Tormenta' WHERE `ID`=9996; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emalon el Vigilante de la Tormenta' WHERE `ID`=9997; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg-Saron' WHERE `ID`=9998; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=9999; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Navajaescama' WHERE `ID`=10000; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Deconstructor XT-002' WHERE `ID`=10001; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ignis el maestro del horno' WHERE `ID`=10002; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=10003; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Navajaescama' WHERE `ID`=10004; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Deconstructor XT-002' WHERE `ID`=10005; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ignis el maestro del horno' WHERE `ID`=10006; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kologarn' WHERE `ID`=10008; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Auriaya' WHERE `ID`=10010; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mimirón' WHERE `ID`=10014; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kologarn' WHERE `ID`=10016; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Auriaya' WHERE `ID`=10018; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='General Vezax' WHERE `ID`=10023; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg-Saron' WHERE `ID`=10024; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='General Vezax' WHERE `ID`=10025; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg-Saron' WHERE `ID`=10026; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El asedio de Ulduar' WHERE `ID`=10027; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La Antecámara de Ulduar' WHERE `ID`=10028; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los Guardianes de Ulduar' WHERE `ID`=10029; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El descenso a la locura' WHERE `ID`=10030; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: El asedio de Ulduar' WHERE `ID`=10031; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: La antecámara de Ulduar' WHERE `ID`=10032; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Los Guardianes de Ulduar' WHERE `ID`=10033; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: El descenso a la locura' WHERE `ID`=10034; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de la conquista' WHERE `ID`=10035; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de la conquista' WHERE `ID`=10036; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de la conquista' WHERE `ID`=10037; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de la conquista' WHERE `ID`=10038; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de la conquista' WHERE `ID`=10039; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de la conquista' WHERE `ID`=10040; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de la conquista' WHERE `ID`=10041; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=10042; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Leviatán de llamas en el primer intento sin que nadie repare su vehículo en el modo de 10 jugadores.' WHERE `ID`=10044; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Leviatán de llamas en el primer intento sin que nadie repare su vehículo en el modo de 25 jugadores.' WHERE `ID`=10045; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Helicóptero rescatado' WHERE `ID`=10046; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máquina de asedio recuperada' WHERE `ID`=10047; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Demoledor recuperado' WHERE `ID`=10048; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Helicóptero rescatado' WHERE `ID`=10049; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máquina de asedio recuperada' WHERE `ID`=10050; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Demoledor recuperado' WHERE `ID`=10051; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Leviatán de llamas sin causar una Desconexión de sistemas en el modo de 10 jugadores.' WHERE `ID`=10054; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Leviatán de llamas sin causar una Desconexión de sistemas en el modo de 25 jugadores.' WHERE `ID`=10055; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Leviatán de llamas con al menos 1 sistema de defensa orbital activo en el modo de 10 jugadores.' WHERE `ID`=10056; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Leviatán de llamas con al menos 2 sistemas de defensa orbital activos en el modo de 10 jugadores.' WHERE `ID`=10057; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Leviatán de llamas con al menos 3 sistemas de defensa orbital activos en el modo de 10 jugadores.' WHERE `ID`=10058; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Leviatán de llamas con 2 sistemas de defensa orbital activos en el modo de 25 jugadores.' WHERE `ID`=10059; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Leviatán de llamas con 3 sistemas de defensa orbital activos en el modo de 25 jugadores.' WHERE `ID`=10060; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Leviatán de llamas con 1 sistema de defensa orbital activo en el modo de 25 jugadores.' WHERE `ID`=10061; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Tajoescama sin permitir que levante el vuelo más de una vez en el modo de 10 jugadores.' WHERE `ID`=10062; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Tajoescama sin permitir que levante el vuelo más de una vez en el modo de 25 jugadores.' WHERE `ID`=10063; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a 25 enanos guardián Runa Oscura con el Aliento de llamas de Tajoescama en el modo de 10 jugadores.' WHERE `ID`=10066; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a 25 enanos guardián Runa Oscura con el Aliento de llamas de Tajoescama en el modo de 25 jugadores.' WHERE `ID`=10067; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Ignis el Maestro de la Caldera después de destruir 2 ensamblajes férreos en 5 segundos en el modo de 10 jugadores.' WHERE `ID`=10068; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Ignis el Maestro de la Caldera después de destruir 2 ensamblajes férreos en 5 segundos en el modo de 25 jugadores.' WHERE `ID`=10069; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Ignis el Maestro de la Caldera en 4 minutos en el modo de 25 jugadores.' WHERE `ID`=10072; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Ignis el Maestro de la Caldera en 4 minutos en el modo de 10 jugadores.' WHERE `ID`=10073; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Desarmador XA-002 sin que recupere salud gracias a los robots chatarra XP-013 en el modo de 10 jugadores.' WHERE `ID`=10074; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Desarmador XA-002 sin que recupere salud gracias a los robots chatarra XP-013 en el modo de 25 jugadores.' WHERE `ID`=10075; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Desarmador XA-002 sin que ningún miembro muera debido a una Bomba de gravedad en el modo de 10 jugadores.' WHERE `ID`=10077; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Desarmador XA-002 sin que ningún miembro muera debido a una Bomba de gravedad en el modo de 25 jugadores.' WHERE `ID`=10079; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Desarmador XA-002 en 205 segundos en el modo de 10 jugadores.' WHERE `ID`=10080; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Desarmador XA-002 en 205 segundos en el modo de 25 jugadores.' WHERE `ID`=10081; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la Asamblea de Hierro con el maestro de runas Molgeim como último miembro superviviente en el modo de 10 jugadores.' WHERE `ID`=10082; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la Asamblea de Hierro con el clamatormentas Brundir como último miembro superviviente en el modo de 10 jugadores.' WHERE `ID`=10083; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la Asamblea de Hierro con Rompeacero como último miembro superviviente en el modo de 10 jugadores.' WHERE `ID`=10084; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la Asamblea de Hierro con el maestro de runas Molgeim como último miembro superviviente en el modo de 25 jugadores.' WHERE `ID`=10085; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la Asamblea de Hierro con el clamatormentas Brundir como último miembro superviviente en el modo de 25 jugadores.' WHERE `ID`=10086; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la Asamblea de Hierro con Rompeacero como último miembro superviviente en el modo de 25 jugadores.' WHERE `ID`=10087; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro de runas Molgeim' WHERE `ID`=10088; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=10089; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=10090; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=10091; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Kologarn sin destruir ninguno de sus brazos en el modo de 25 jugadores.' WHERE `ID`=10095; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Kologarn sin que ningún miembro de la banda sea alcanzado por un Haz ocular enfocado en el modo de 25 jugadores.' WHERE `ID`=10099; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Orbitario' WHERE `ID`=10100; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Enano de hierro, medio raro' WHERE `ID`=10101; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Stokin \'el horno' WHERE `ID`=10102; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rompecorazones' WHERE `ID`=10103; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Te elijo a ti, Steelbreaker' WHERE `ID`=10104; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desarmado' WHERE `ID`=10105; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Podría decir que este caché era raro' WHERE `ID`=10106; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pierde tu ilusión' WHERE `ID`=10107; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Toc, toc, toc madera' WHERE `ID`=10108; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Me encanta el olor a saronita por la mañana' WHERE `ID`=10110; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señora loca de los gatos' WHERE `ID`=10111; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Una luz en la oscuridad' WHERE `ID`=10112; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Kologarn después de provocar que aparezcan al menos 25 criaturas escombro en el modo de 25 jugadores.' WHERE `ID`=10133; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al general Vezax sin que ningún miembro del equipo sea alcanzado por Fragor de sombra en el modo de 10 jugadores.' WHERE `ID`=10173; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Auriaya sin destruir sus centinelas del sagrario en el modo de 25 jugadores.' WHERE `ID`=10184; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Yogg-Saron sin que ningún miembro de la banda pierda toda la cordura en el modo de 10 jugadores.' WHERE `ID`=10185; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tira un beso a Sara en Ulduar mientras está enfadada contigo en el modo de 10 jugadores.' WHERE `ID`=10187; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tira un beso a Sara en Ulduar mientras está enfadada contigo en el modo de 25 jugadores.' WHERE `ID`=10189; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblemas de conquista adquiridos' WHERE `ID`=10196; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Leviatán de llamas con los 4 sistemas de defensa orbital activos en el modo de 10 jugadores.' WHERE `ID`=10218; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Leviatán de llamas con 4 sistemas de defensa orbital activos en el modo de 25 jugadores.' WHERE `ID`=10219; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Desarmador XA-002 después de destruir su corazón en el modo de 25 jugadores.' WHERE `ID`=10220; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Desarmador XA-002 después de destruir su corazón en el modo de 10 jugadores.' WHERE `ID`=10221; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desenmascara y derrota al Caballero Negro en el Torneo Argenta.' WHERE `ID`=10222; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hodir' WHERE `ID`=10223; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Exodar' WHERE `ID`=10224; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gnomeregan' WHERE `ID`=10225; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forjaz' WHERE `ID`=10226; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Orgrimmar' WHERE `ID`=10227; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ventormenta' WHERE `ID`=10228; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hodir' WHERE `ID`=10229; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hodir' WHERE `ID`=10238; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hodir' WHERE `ID`=10239; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hodir' WHERE `ID`=10240; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hodir' WHERE `ID`=10241; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al defensor feral al tiempo que derrotas a Auriaya en el modo de 25 jugadores.' WHERE `ID`=10243; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Hodir sin que ningún miembro de la banda acumule Frío cortante más de 2 veces en el modo de 10 jugadores.' WHERE `ID`=10247; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Hodir sin que ningún miembro de la banda acumule Frío cortante más de 2 veces en el modo de 25 jugadores.' WHERE `ID`=10248; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Hodir sin que ningún PNJ amistoso muera en el modo de 10 jugadores.' WHERE `ID`=10258; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Hodir sin que ningún miembro de la banda sea alcanzado por Congelación apresurada en el modo de 10 jugadores.' WHERE `ID`=10259; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Hodir sin que ningún PNJ amistoso muera en el modo de 25 jugadores.' WHERE `ID`=10260; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Hodir sin que ningún miembro de la banda sea alcanzado por Congelación apresurada en el modo de 25 jugadores.' WHERE `ID`=10261; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vermis de escarcha de Gladiador mortal' WHERE `ID`=10262; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vermis de escarcha de Gladiador mortal' WHERE `ID`=10263; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Participante en la primera derrota del reino de Yogg-Saron sin la ayuda de ningún vigilante en el modo de 25 jugadores tras derrotar a la Asamblea de Hierro y a todos los vigilantes en modo difícil.' WHERE `ID`=10279; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Destruye ambos brazos de Kologarn y después al propio Kologarn en 12 segundos en el modo de 10 jugadores.' WHERE `ID`=10284; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Kologarn sin destruir ninguno de sus brazos en el modo de 10 jugadores.' WHERE `ID`=10285; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Kologarn sin que ningún miembro de la banda sea alcanzado por un Haz ocular enfocado en el modo de 10 jugadores.' WHERE `ID`=10286; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Participa en la matanza del coloso rúnico' WHERE `ID`=10287; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Participa en la matanza de Gigante Rúnico Antiguo' WHERE `ID`=10288; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Obliga a Thorim a entrar en la arena mientras Sif está presente en el modo de 10 jugadores.' WHERE `ID`=10289; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Kologarn después de provocar que aparezcan al menos 25 criaturas escombro en el modo de 10 jugadores.' WHERE `ID`=10290; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Yogg-Saron en 7 minutos en el modo de 25 jugadores.' WHERE `ID`=10291; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Yogg-Saron en 7 minutos en el modo de 10 jugadores.' WHERE `ID`=10292; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota 9 guardianes de Yogg-Saron en 12 segundos en el modo de 10 jugadores.' WHERE `ID`=10293; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota 9 guardianes de Yogg-Saron en 12 segundos en el modo de 25 jugadores.' WHERE `ID`=10294; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Yogg-Saron sin que ningún miembro de la banda pierda toda la cordura en el modo de 25 jugadores.' WHERE `ID`=10296; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Thorim' WHERE `ID`=10303; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Thorim bajo los efectos de Aura de celeridad en el modo de 10 jugadores.' WHERE `ID`=10304; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Thorim sin que ningún miembro de la banda sea alcanzado por Cargar relámpago en el modo de 10 jugadores.' WHERE `ID`=10305; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al general Vezax sin que ningún miembro de la banda sea alcanzado por Fragor de sombra en el modo de 25 jugadores.' WHERE `ID`=10306; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Thorim sin que ningún miembro de la banda sea alcanzado por Cargar relámpago en el modo de 25 jugadores.' WHERE `ID`=10309; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Thorim' WHERE `ID`=10310; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Participa en la matanza del coloso rúnico' WHERE `ID`=10311; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Participa en la matanza de Gigante Rúnico Antiguo' WHERE `ID`=10312; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Thorim bajo los efectos de Aura de celeridad en el modo de 25 jugadores.' WHERE `ID`=10313; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Obliga a Thorim a entrar en la arena mientras Sif está presente en el modo de 25 jugadores.' WHERE `ID`=10314; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El asesinato del rey Llane' WHERE `ID`=10321; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La forja del alma demoníaca' WHERE `ID`=10322; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El campeón torturado' WHERE `ID`=10323; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El asesinato del rey Llane' WHERE `ID`=10324; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La forja del alma demoníaca' WHERE `ID`=10325; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El campeón torturado' WHERE `ID`=10326; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Emalon el Vigía de la Tormenta en modo de 10 jugadores.' WHERE `ID`=10338; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Emalon el Vigía de la Tormenta en modo de 25 jugadores.' WHERE `ID`=10339; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Navajaescama' WHERE `ID`=10340; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Deconstructor XT-002' WHERE `ID`=10341; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ignis el maestro del horno' WHERE `ID`=10342; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mimirón' WHERE `ID`=10347; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kologarn' WHERE `ID`=10348; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='General Vezax' WHERE `ID`=10349; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg-Saron' WHERE `ID`=10350; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Auriaya' WHERE `ID`=10351; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=10352; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Navajaescama' WHERE `ID`=10353; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Deconstructor XT-002' WHERE `ID`=10354; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ignis el maestro del horno' WHERE `ID`=10355; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kologarn' WHERE `ID`=10357; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mimirón' WHERE `ID`=10361; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='General Vezax' WHERE `ID`=10362; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Auriaya' WHERE `ID`=10363; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg-Saron' WHERE `ID`=10364; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Orbit-uario (25 j.)' WHERE `ID`=10365; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Enano de hierro, medio raro (25 j.)' WHERE `ID`=10366; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Stokin\' the Furnace (25 j.)' WHERE `ID`=10367; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rompecorazones (25 j.)' WHERE `ID`=10368; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Te elijo a ti, Steelbreaker (25 j.)' WHERE `ID`=10369; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desarmado (25 j.)' WHERE `ID`=10370; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Podría decir que este caché era raro (25 j.)' WHERE `ID`=10371; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lose Your Illusion (25 j.)' WHERE `ID`=10372; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Toc, toc, toc madera (25 j.)' WHERE `ID`=10373; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Me encanta el olor a saronita por la mañana (25 j.)' WHERE `ID`=10375; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La loca de los gatos (25 j.)' WHERE `ID`=10376; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Una luz en la oscuridad (25 j.)' WHERE `ID`=10377; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Yogg-Saron con la ayuda de dos o menos vigilantes en el modo de 10 jugadores.' WHERE `ID`=10388; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usa tu piedra de hogar mientras tu huérfano está contigo.' WHERE `ID`=10391; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='freya' WHERE `ID`=10394; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='freya' WHERE `ID`=10395; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='freya' WHERE `ID`=10396; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='freya' WHERE `ID`=10397; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al defensor feral al tiempo que derrotas a Auriaya en el modo de 10 jugadores.' WHERE `ID`=10399; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Auriaya sin destruir sus centinelas del sagrario en el modo de 10 jugadores.' WHERE `ID`=10400; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota 20 robots chatarra XP-013 en 12 segundos empleando robots bum XE-321 en el modo de 10 jugadores.' WHERE `ID`=10401; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota 20 robots chatarra XP-013 en 12 segundos empleando robots bum XE-321 en el modo de 25 jugadores.' WHERE `ID`=10402; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torim' WHERE `ID`=10403; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torim' WHERE `ID`=10404; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Obliga a Mimiron a matar un Robot de asalto con un Golpe de cohete en el modo de 25 jugadores.' WHERE `ID`=10405; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Obliga a Mimiron a matar un Robot de asalto con un Golpe de cohete en el modo de 10 jugadores.' WHERE `ID`=10406; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hodir' WHERE `ID`=10408; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Yogg-Saron con la ayuda de uno o menos vigilantes en el modo de 10 jugadores.' WHERE `ID`=10409; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Yogg-Saron con la ayuda de tres o menos vigilantes en el modo de 10 jugadores.' WHERE `ID`=10410; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Yogg-Saron sin la ayuda de ningún vigilante en el modo de 10 jugadores.' WHERE `ID`=10412; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Yogg-Saron con la ayuda de tres o menos vigilantes en el modo de 25 jugadores.' WHERE `ID`=10414; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Yogg-Saron con la ayuda de dos o menos vigilantes en el modo de 25 jugadores.' WHERE `ID`=10415; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Yogg-Saron con la ayuda de uno o menos vigilantes en el modo de 25 jugadores.' WHERE `ID`=10416; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Yogg-Saron sin la ayuda de ningún vigilante en el modo de 25 jugadores.' WHERE `ID`=10417; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llamatormentas Brundir' WHERE `ID`=10418; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rompeacero' WHERE `ID`=10419; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=10420; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=10421; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=10422; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=10423; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=10424; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=10425; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sobrevive a ser arrojado a la Olla de escoria de Ignis el Maestro de la Caldera en el modo de 10 jugadores.' WHERE `ID`=10430; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sobrevive a ser arrojado a la Olla de escoria de Ignis el Maestro de la Caldera en el modo de 25 jugadores.' WHERE `ID`=10431; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torim' WHERE `ID`=10438; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hodir' WHERE `ID`=10439; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Thorim mientras Sif está presente en el modo de 10 jugadores.' WHERE `ID`=10440; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Bola de Nieve Magni Barbabronce' WHERE `ID`=10441; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Bola de Nieve Magni Barbabronce' WHERE `ID`=10442; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Bola de Nieve Magni Barbabronce' WHERE `ID`=10443; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='freya' WHERE `ID`=10444; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Freya mientras está afectada por 25 efectos acumulados de Acorde con la Naturaleza en el modo de 10 jugadores.' WHERE `ID`=10445; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Freya antes de que pasen 20 minutos después de matar tu primera criatura en El Invernadero de Vida en el modo de 10 jugadores.' WHERE `ID`=10446; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Freya dejando al menos 1 ancestro vivo en el modo de 10 jugadores.' WHERE `ID`=10447; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Freya dejando al menos 2 ancestros vivos en el modo de 10 jugadores.' WHERE `ID`=10448; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Freya dejando los 3 ancestros vivos en el modo de 10 jugadores.' WHERE `ID`=10449; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Mimiron en el modo de 10 jugadores después de activar su mecanismo de autodestrucción.' WHERE `ID`=10450; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al general Vezax en el modo de 10 jugadores después de derrotar al animus de saronita.' WHERE `ID`=10451; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Hodir antes de que destruya su alijo poco común en el modo de 10 jugadores.' WHERE `ID`=10452; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hodir' WHERE `ID`=10453; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torim' WHERE `ID`=10454; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='freya' WHERE `ID`=10455; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mimirón' WHERE `ID`=10456; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Thorim mientras Sif está presente en el modo de 25 jugadores.' WHERE `ID`=10457; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Hodir antes de que destruya su alijo poco común en el modo de 25 jugadores.' WHERE `ID`=10458; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Freya dejando al menos 1 ancestro vivo en el modo de 25 jugadores.' WHERE `ID`=10459; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Freya dejando al menos 2 ancestros vivos en el modo de 25 jugadores.' WHERE `ID`=10460; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Freya dejando los 3 ancestros vivos en el modo de 25 jugadores.' WHERE `ID`=10461; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al general Vezax en el modo de 25 jugadores después de derrotar al animus de saronita.' WHERE `ID`=10462; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Mimiron en el modo de 25 jugadores después de activar su mecanismo de autodestrucción.' WHERE `ID`=10463; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bombero' WHERE `ID`=10464; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bombero (25 j.)' WHERE `ID`=10465; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de bellota otoñal' WHERE `ID`=10498; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El brebaje amargo de Bartlett' WHERE `ID`=10499; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza pálida draénica' WHERE `ID`=10500; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El sabor eterno de Izzard' WHERE `ID`=10501; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El sabor eterno de Izzard' WHERE `ID`=10502; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Etiqueta privada de Lord of Frost' WHERE `ID`=10503; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bola de burbujas de Metok' WHERE `ID`=10504; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reserva Especial Suntouched' WHERE `ID`=10505; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Stout de primavera' WHERE `ID`=10506; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recetas de fundición conocidas' WHERE `ID`=10518; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Recetas de fundición conocidas' WHERE `ID`=10519; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El pez fantasma' WHERE `ID`=10520; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Joya de las alcantarillas' WHERE `ID`=10521; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peligrosamente delicioso' WHERE `ID`=10522; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La sangre es espesa' WHERE `ID`=10523; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡Desarmado!' WHERE `ID`=10524; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tortuga marina' WHERE `ID`=10525; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tortuga marina' WHERE `ID`=10526; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Emalon el Vigía de la Tormenta (Conquista del Invierno 25 j.)' WHERE `ID`=10542; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Una mina de proximidad' WHERE `ID`=10543; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un ataque con cohetes' WHERE `ID`=10544; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un robot bomba' WHERE `ID`=10545; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Una mina de proximidad' WHERE `ID`=10546; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un ataque con cohetes' WHERE `ID`=10547; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un robot bomba' WHERE `ID`=10548; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre Thorim (Ulduar 10 j.)' WHERE `ID`=10558; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre Freya (Ulduar 10 j.)' WHERE `ID`=10559; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre Hodir (Ulduar 10 j.)' WHERE `ID`=10560; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre Thorim (Ulduar 25 j.)' WHERE `ID`=10561; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre Hodir (Ulduar 25 j.)' WHERE `ID`=10562; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre Freya (Ulduar 25 j.)' WHERE `ID`=10563; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Algalon el Observador (Ulduar 10 j.)' WHERE `ID`=10565; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Algalon el Observador (Ulduar 25 j.)' WHERE `ID`=10566; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Algalon el Observador en el modo de 10 jugadores.' WHERE `ID`=10567; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Algalon el Observador en el modo de 10 jugadores sin que ningún miembro de la banda muera ante Algalon en ningún momento durante el tiempo tope de la banda.' WHERE `ID`=10568; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Algalon el Observador en el modo de 25 jugadores.' WHERE `ID`=10569; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Algalon el Observador en el modo de 25 jugadores sin que ningún miembro de la banda muera ante Algalon en ningún momento durante el tiempo tope de la banda.' WHERE `ID`=10570; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montaje de Hierro' WHERE `ID`=10578; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montaje de Hierro' WHERE `ID`=10579; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de la Asamblea de Hierro (Ulduar 10 j.)' WHERE `ID`=10580; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de la Asamblea de Hierro (Ulduar 25 j.)' WHERE `ID`=10581; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='freya' WHERE `ID`=10582; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='freya' WHERE `ID`=10583; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montaje de Hierro' WHERE `ID`=10598; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Montaje de Hierro' WHERE `ID`=10599; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cerveza de torneo' WHERE `ID`=10618; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Destruye una torreta defensiva del Leviatán de llamas en el modo de 10 jugadores.' WHERE `ID`=10619; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Destruye una torreta defensiva del Leviatán de llamas en el modo de 25 jugadores.' WHERE `ID`=10620; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Obtén el Gorro de cocinero.' WHERE `ID`=10638; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jalea Negra' WHERE `ID`=10658; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Algalon el observador en el modo de 10 jugadores sin que nadie en la banda lleve nada de equipo con un nivel superior a los disponibles en Ulduar para 10 jugadores.' WHERE `ID`=10678; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Participante en la primera derrota del reino de Algalon el Observador en el modo de 25 jugadores.' WHERE `ID`=10698; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Logrado el título de Gladiador mortal.' WHERE `ID`=10718; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hodir' WHERE `ID`=10719; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a los ancestros Hojabrillante, Hierrorrama y Cortezapiedra con menos de 15 segundos de diferencia en el modo de 10 jugadores.' WHERE `ID`=10720; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a los ancestros Hojabrillante, Hierrorrama y Cortezapiedra con menos de 15 segundos de diferencia en el modo de 25 jugadores.' WHERE `ID`=10721; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Destruye ambos brazos de Kologarn y después al propio Kologarn en 12 segundos en el modo de 25 jugadores.' WHERE `ID`=10722; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=10738; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=10739; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=10740; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=10741; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=10742; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Freya mientras está afectada por 25 efectos acumulados de Acorde con la Naturaleza en el modo de 25 jugadores.' WHERE `ID`=10758; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cierra 3 agujeros negros en 10 segundos' WHERE `ID`=10780; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Algalon el Observador' WHERE `ID`=10781; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cierra 3 agujeros negros en 10 segundos' WHERE `ID`=10782; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Algalon el Observador' WHERE `ID`=10783; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leviatán de llamas + 1 (10)' WHERE `ID`=10784; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leviatán de llamas + 2 (10)' WHERE `ID`=10785; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leviatán de llamas + 3 (10)' WHERE `ID`=10786; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leviatán de llamas + 4 (10)' WHERE `ID`=10787; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leviatán de llamas + 1 (25)' WHERE `ID`=10788; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leviatán de llamas + 2 (25)' WHERE `ID`=10789; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leviatán de llamas + 3 (25)' WHERE `ID`=10790; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Leviatán de llamas + 4 (25)' WHERE `ID`=10791; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Matar corazón XT (10)' WHERE `ID`=10792; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Herida XT Corazón (10)' WHERE `ID`=10793; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Matar corazón XT (25)' WHERE `ID`=10794; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Herida XT Corazón (25)' WHERE `ID`=10795; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Molgeim último (10)' WHERE `ID`=10796; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Steelbreaker último (10)' WHERE `ID`=10797; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Molgeim último (25)' WHERE `ID`=10798; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Steelbreaker último (25)' WHERE `ID`=10799; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Obligar a Thorim a entrar en la arena mientras Sif está presente' WHERE `ID`=10800; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Obligar a Thorim a entrar en la arena mientras Sif está presente' WHERE `ID`=10801; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Freya +1 (10)' WHERE `ID`=10802; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Freya +2 (10)' WHERE `ID`=10803; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Freya +3 (10)' WHERE `ID`=10804; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Freya +1 (25)' WHERE `ID`=10805; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Freya +2 (25)' WHERE `ID`=10806; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Freya +3 (25)' WHERE `ID`=10807; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mimirón (10)' WHERE `ID`=10808; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mimirón (25)' WHERE `ID`=10809; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='General Vezax (10)' WHERE `ID`=10810; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='General Vezax (25)' WHERE `ID`=10811; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg + 3 (10)' WHERE `ID`=10812; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg + 2 (25)' WHERE `ID`=10813; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg + 1 (10)' WHERE `ID`=10814; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg + 0 (10)' WHERE `ID`=10815; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg + 3 (25)' WHERE `ID`=10816; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg + 2 (10)' WHERE `ID`=10817; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg + 1 (25)' WHERE `ID`=10818; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg + 0 (25)' WHERE `ID`=10819; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poseedor de Val\'anyr, Martillo de los antiguos reyes.' WHERE `ID`=10838; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Destruye 100 defensores de forja de acero en 10 segundos en la Explanada de Hierro de Ulduar en el modo de 10 jugadores.' WHERE `ID`=10858; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Destruye 100 defensores de forja de acero en 10 segundos en la Explanada de Hierro de Ulduar en el modo de 25 jugadores.' WHERE `ID`=10860; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador mortal' WHERE `ID`=10878; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador mortal' WHERE `ID`=10879; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador mortal' WHERE `ID`=10881; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Freya antes de que pasen 20 minutos después matar tu primera criatura en El Invernadero de Vida en el modo de 25 jugadores.' WHERE `ID`=10882; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Logrado el título de Gladiador furioso.' WHERE `ID`=10898; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Baila con Catrina para convertirte en un esqueleto durante la Festividad de los Muertos.' WHERE `ID`=10918; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bebe con la capitana aterradora DeMeza para unirte a su tripulación durante el Día de los Piratas.' WHERE `ID`=10919; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='"¡PELEA DE COMIDA!"' WHERE `ID`=10940; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='carnero veloz de la fiesta de la cerveza' WHERE `ID`=10961; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gran kodo de la Fiesta de la Cerveza' WHERE `ID`=10965; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=10966; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=10967; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=10968; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=10969; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pilsner de invierno salvaje' WHERE `ID`=10978; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en Ulduar' WHERE `ID`=10998; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=10999; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Navajaescama' WHERE `ID`=11000; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ignis el maestro del horno' WHERE `ID`=11001; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Auriaya' WHERE `ID`=11002; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Deconstructor XT-002' WHERE `ID`=11003; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rompeacero' WHERE `ID`=11004; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro de runas Molgeim' WHERE `ID`=11005; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llamatormentas Brundir' WHERE `ID`=11006; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kologarn' WHERE `ID`=11007; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hodir' WHERE `ID`=11008; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torim' WHERE `ID`=11009; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='freya' WHERE `ID`=11010; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mimirón' WHERE `ID`=11011; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='General Vezax' WHERE `ID`=11012; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg-Saron' WHERE `ID`=11013; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Algalon el observador' WHERE `ID`=11014; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emalon el Vigilante de la Tormenta' WHERE `ID`=11015; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llama Leviatán' WHERE `ID`=11016; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Navajaescama' WHERE `ID`=11017; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ignis el maestro del horno' WHERE `ID`=11018; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Deconstructor XT-002' WHERE `ID`=11019; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='rompeacero' WHERE `ID`=11020; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro de runas Molgeim' WHERE `ID`=11021; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Llamatormentas Brundir' WHERE `ID`=11022; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kologarn' WHERE `ID`=11023; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Auriaya' WHERE `ID`=11024; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hodir' WHERE `ID`=11025; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Torim' WHERE `ID`=11026; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='freya' WHERE `ID`=11027; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mimirón' WHERE `ID`=11028; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='General Vezax' WHERE `ID`=11029; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yogg-Saron' WHERE `ID`=11030; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Algalon el observador' WHERE `ID`=11031; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emalon el Vigilante de la Tormenta' WHERE `ID`=11032; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11038; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11039; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Darnassus' WHERE `ID`=11078; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forjaz' WHERE `ID`=11079; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Exodar' WHERE `ID`=11080; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ventormenta' WHERE `ID`=11081; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Orgrimmar' WHERE `ID`=11082; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad de Lunargenta' WHERE `ID`=11083; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cima del Trueno' WHERE `ID`=11084; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Entrañas' WHERE `ID`=11085; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Batatas Confitadas' WHERE `ID`=11086; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de calabaza' WHERE `ID`=11088; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pavo asado a fuego lento' WHERE `ID`=11089; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Relleno de pan de especias' WHERE `ID`=11090; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chutney de Cranberry' WHERE `ID`=11118; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Camote Confitado' WHERE `ID`=11119; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de calabaza' WHERE `ID`=11120; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pavo asado a fuego lento' WHERE `ID`=11121; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Relleno de pan de especias' WHERE `ID`=11122; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Camote Confitado' WHERE `ID`=11123; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chutney de Cranberry' WHERE `ID`=11124; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de calabaza' WHERE `ID`=11125; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pavo asado a fuego lento' WHERE `ID`=11126; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Relleno de pan de especias' WHERE `ID`=11127; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Caza suficientes pavos salvajes suficientemente rápido como para obtener triunfo de pavos.' WHERE `ID`=11128; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Orgrimmar' WHERE `ID`=11134; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ciudad de Lunargenta' WHERE `ID`=11135; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cima del Trueno' WHERE `ID`=11136; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Entrañas' WHERE `ID`=11137; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Exodar' WHERE `ID`=11138; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Darnassus' WHERE `ID`=11139; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Forjaz' WHERE `ID`=11140; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ventormenta' WHERE `ID`=11141; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Rey Garra Ikiss mientras llevas puesto un sombrero de peregrino y un vestido, toga o atuendo de peregrino.' WHERE `ID`=11142; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pícaro humano' WHERE `ID`=11158; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pícaro elfo de la noche' WHERE `ID`=11159; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Orco pícaro' WHERE `ID`=11160; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='trol pícaro' WHERE `ID`=11161; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pícaro no muerto' WHERE `ID`=11162; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pícaro elfo de sangre' WHERE `ID`=11163; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pícaro enano' WHERE `ID`=11164; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pícaro gnomo' WHERE `ID`=11165; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Chutney de Cranberry' WHERE `ID`=11167; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11168; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11178; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11179; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11180; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11181; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ella dice patata' WHERE `ID`=11198; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¿Nos quedamos sin chutney de arándanos otra vez?' WHERE `ID`=11199; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡No olvides el relleno!' WHERE `ID`=11200; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='No puedo tener suficiente pavo' WHERE `ID`=11201; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muy fácil' WHERE `ID`=11202; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='No puedo tener suficiente pavo' WHERE `ID`=11203; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¡No olvides el relleno!' WHERE `ID`=11204; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muy fácil' WHERE `ID`=11205; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ella dice patata' WHERE `ID`=11206; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='¿Nos quedamos sin chutney de arándanos otra vez?' WHERE `ID`=11207; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La lanza diminuta de Murkimus' WHERE `ID`=11223; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Murkimus el gladiador' WHERE `ID`=11224; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La pequeña lanza de Murkimus' WHERE `ID`=11225; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conectado mientras se regalaban tigres de jade.' WHERE `ID`=11238; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ahora estamos cocinando' WHERE `ID`=11258; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='panza de peregrino' WHERE `ID`=11259; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peligro del peregrino' WHERE `ID`=11260; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Progreso del peregrino' WHERE `ID`=11261; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Compartir es demostrar interés' WHERE `ID`=11262; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hora de Terokkar Turquía' WHERE `ID`=11263; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el turkinador' WHERE `ID`=11264; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pavo Lurkey' WHERE `ID`=11265; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='"¡PELEA DE COMIDA!"' WHERE `ID`=11266; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ahora estamos cocinando' WHERE `ID`=11267; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='panza de peregrino' WHERE `ID`=11268; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peligro del peregrino' WHERE `ID`=11269; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Progreso del peregrino' WHERE `ID`=11270; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Compartir es demostrar interés' WHERE `ID`=11271; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hora de Terokkar Turquía' WHERE `ID`=11272; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el turkinador' WHERE `ID`=11273; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pavo Lurkey' WHERE `ID`=11274; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con El Pacto de Plata' WHERE `ID`=11278; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con Los Atracasol' WHERE `ID`=11279; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de la Ciudad de Lunargenta' WHERE `ID`=11298; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo Sen\'jin' WHERE `ID`=11299; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Entrañas' WHERE `ID`=11300; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Cima del Trueno' WHERE `ID`=11301; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Darnassus' WHERE `ID`=11302; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Exodar' WHERE `ID`=11303; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Gnomeregan' WHERE `ID`=11304; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Forjaz' WHERE `ID`=11305; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Ventormenta' WHERE `ID`=11306; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo del Pacto de Plata' WHERE `ID`=11307; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Atracasol' WHERE `ID`=11308; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo del Cruzado Argenta' WHERE `ID`=11309; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11320; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11321; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11322; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11323; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11324; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11325; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11326; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11327; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11328; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11329; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rango del Torneo Argenta: Campeón' WHERE `ID`=11330; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rango del Torneo Argenta: Campeón' WHERE `ID`=11331; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Compra y usa un poni Argenta a la dama Evniki Kapsalis, la intendente de la Cruzada.' WHERE `ID`=11358; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Orgrimmar' WHERE `ID`=11378; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vermis de escarcha de Gladiador furioso' WHERE `ID`=11398; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vermis de escarcha de Gladiador furioso' WHERE `ID`=11399; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11400; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11401; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Logrado el título de Gladiador incansable.' WHERE `ID`=11402; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en la Isla de la Conquista.' WHERE `ID`=11418; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue 100 victorias en la Isla de la Conquista.' WHERE `ID`=11419; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mariscal Jacob Alerio' WHERE `ID`=11420; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Koralon el Vigía de las Llamas en el modo de 10 jugadores.' WHERE `ID`=11478; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Koralon el Vigía de las Llamas en el modo de 25 jugadores.' WHERE `ID`=11479; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asaltar una base' WHERE `ID`=11487; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='defender una base' WHERE `ID`=11488; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='matar a un jugador' WHERE `ID`=11491; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lanzador de gujas' WHERE `ID`=11492; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máquina de asedio' WHERE `ID`=11493; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Demoledor' WHERE `ID`=11494; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Catapulta' WHERE `ID`=11495; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lanzador de gujas' WHERE `ID`=11497; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Demoledor' WHERE `ID`=11498; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Catapulta' WHERE `ID`=11500; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máquina de asedio' WHERE `ID`=11501; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veterano de la Isla de la Conquista' WHERE `ID`=11502; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mío' WHERE `ID`=11503; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Garaje para cuatro autos' WHERE `ID`=11504; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='A-bomba-incapaz' WHERE `ID`=11505; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='bomba atómica' WHERE `ID`=11506; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Segados' WHERE `ID`=11507; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Corta el cable azul... ¡No, el cable rojo!' WHERE `ID`=11508; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Por toda la isla' WHERE `ID`=11509; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trabajo de puerta trasera' WHERE `ID`=11510; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derby de demolición' WHERE `ID`=11511; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tumba de guja' WHERE `ID`=11512; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a las Bestias de Rasganorte' WHERE `ID`=11542; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Lord Jaraxxus' WHERE `ID`=11546; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a las Val\'kyr gemelas' WHERE `ID`=11547; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Gran Cruzado' WHERE `ID`=11549; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='emblema de triunfo' WHERE `ID`=11552; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='emblema de triunfo' WHERE `ID`=11556; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Confesora Argenta Paletress' WHERE `ID`=11559; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eadric el Puro' WHERE `ID`=11560; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el caballero negro' WHERE `ID`=11561; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='emblema de triunfo' WHERE `ID`=11601; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='emblema de triunfo' WHERE `ID`=11605; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='emblema de triunfo' WHERE `ID`=11609; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='emblema de triunfo' WHERE `ID`=11613; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='emblema de triunfo' WHERE `ID`=11617; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema del heroísmo' WHERE `ID`=11618; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de Valor' WHERE `ID`=11619; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de la conquista' WHERE `ID`=11620; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='emblema de triunfo' WHERE `ID`=11621; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11638; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11639; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a los campeones de facción' WHERE `ID`=11678; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a las Bestias de Rasganorte' WHERE `ID`=11679; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Lord Jaraxxus' WHERE `ID`=11680; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a los campeones de facción' WHERE `ID`=11681; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a las Val\'kyr gemelas' WHERE `ID`=11682; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Cruzado' WHERE `ID`=11683; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a las Bestias de Rasganorte' WHERE `ID`=11684; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Lord Jaraxxus' WHERE `ID`=11685; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a los campeones de facción' WHERE `ID`=11686; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a las Val\'kyr gemelas' WHERE `ID`=11687; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Cruzado' WHERE `ID`=11688; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a las Bestias de Rasganorte' WHERE `ID`=11689; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Lord Jaraxxus' WHERE `ID`=11690; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a los campeones de facción' WHERE `ID`=11691; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a las Val\'kyr gemelas' WHERE `ID`=11692; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Gran Cruzado' WHERE `ID`=11693; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=11718; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zapatillas de rubí' WHERE `ID`=11719; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veterano de la Isla de la Conquista' WHERE `ID`=11749; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mío' WHERE `ID`=11750; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Garaje para cuatro autos' WHERE `ID`=11751; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='A-bomba-incapaz' WHERE `ID`=11752; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='bomba atómica' WHERE `ID`=11753; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Segados' WHERE `ID`=11754; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Corta el cable azul... ¡No, el cable rojo!' WHERE `ID`=11755; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Por toda la isla' WHERE `ID`=11756; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Trabajo de puerta trasera' WHERE `ID`=11757; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derby de demolición' WHERE `ID`=11758; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tumba de guja' WHERE `ID`=11759; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de conquista (Alianza)' WHERE `ID`=11760; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de conquista (Horda)' WHERE `ID`=11761; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gemelas Val\'kyr' WHERE `ID`=11778; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='aullido de hielo' WHERE `ID`=11779; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='aullido de hielo' WHERE `ID`=11780; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a El Caballero Negro en la Prueba del Campeón en dificultad heroica sin que ningún miembro del grupo sea alcanzado por una Explosión de necrófago.' WHERE `ID`=11789; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeones de facción' WHERE `ID`=11799; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeones de facción' WHERE `ID`=11800; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='aullido de hielo' WHERE `ID`=11801; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='aullido de hielo' WHERE `ID`=11802; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeones de facción' WHERE `ID`=11803; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeones de facción' WHERE `ID`=11804; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gemelas Val\'kyr' WHERE `ID`=11818; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Jaraxxus' WHERE `ID`=11838; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Jaraxxus' WHERE `ID`=11839; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Eadric el Puro en la Prueba del Campeón con su propio martillo en dificultad heroica.' WHERE `ID`=11858; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gemelas Val\'kyr' WHERE `ID`=11860; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Jaraxxus' WHERE `ID`=11861; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Jaraxxus' WHERE `ID`=11862; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hogger' WHERE `ID`=11863; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de bestias' WHERE `ID`=11882; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Koralon el Vigía de las Llamas (Conquista del Invierno 10 j.)' WHERE `ID`=11902; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Koralon el Vigía de las Llamas (Conquista del Invierno 25 j.)' WHERE `ID`=11903; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='vancleef' WHERE `ID`=11904; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mutano' WHERE `ID`=11905; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Herodes' WHERE `ID`=11906; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lucifron' WHERE `ID`=11907; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Thunderaan' WHERE `ID`=11908; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cromagus' WHERE `ID`=11909; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hakkar' WHERE `ID`=11910; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vek\'nilash' WHERE `ID`=11911; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kalithresh' WHERE `ID`=11912; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Malchezaar' WHERE `ID`=11913; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gruul' WHERE `ID`=11914; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vashj' WHERE `ID`=11915; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Archimonde' WHERE `ID`=11916; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Illidan' WHERE `ID`=11917; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Delrisa' WHERE `ID`=11918; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='M\'uru' WHERE `ID`=11919; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingvar' WHERE `ID`=11920; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cianigosa' WHERE `ID`=11921; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eck' WHERE `ID`=11922; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='onyxia' WHERE `ID`=11923; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heigan' WHERE `ID`=11924; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ignis' WHERE `ID`=11925; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vezax' WHERE `ID`=11926; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Algalón' WHERE `ID`=11927; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Batallas en la Isla de la Conquista' WHERE `ID`=11958; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias en la Isla de la Conquista' WHERE `ID`=11959; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de carne con champiñones infundidos - Alliance' WHERE `ID`=11960; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de carne con champiñones imbuidos - Horda' WHERE `ID`=11961; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Archavon el Vigía de Piedra, Emalon el Vigía de la Tormenta y Koralon el Vigía de las Llamas con una diferencia de 60 segundos de uno a otro en el modo de 10 jugadores.' WHERE `ID`=12018; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Archavon el Vigía de Piedra, Emalon el Vigía de la Tormenta y Koralon el Vigía de las Llamas con una diferencia de 60 segundos de uno a otro en el modo de 25 jugadores.' WHERE `ID`=12019; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes por Hogger' WHERE `ID`=12038; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Destruir un vehículo' WHERE `ID`=12059; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en la Isla de la Conquista mientras tu equipo controla la Cantera y la Refinería.' WHERE `ID`=12060; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana en la Isla de la Conquista mientras tu equipo controla la Cantera y la Refinería.' WHERE `ID`=12061; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana la Isla de la Conquista.' WHERE `ID`=12062; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana la Isla de la Conquista.' WHERE `ID`=12063; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana la Isla de la Conquista.' WHERE `ID`=12064; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana la Isla de la Conquista.' WHERE `ID`=12065; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usa 5 bombas de seforio en las puertas del enemigo en una sola batalla en la Isla de la Conquista.' WHERE `ID`=12066; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Usa 5 bombas de seforio enormes en las puertas del enemigo en una sola batalla en la Isla de la Conquista.' WHERE `ID`=12067; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jugadores asesinados' WHERE `ID`=12068; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festín de Prestidigitación - Alianza' WHERE `ID`=12078; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festín de Prestidigitación - Horda' WHERE `ID`=12079; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de carne con champiñones infundidos - Alliance' WHERE `ID`=12080; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de carne con champiñones infundidos - Alliance' WHERE `ID`=12081; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de carne con champiñones infundidos - Alliance' WHERE `ID`=12082; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de carne con champiñones infundidos - Alliance' WHERE `ID`=12083; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de carne con champiñones infundidos - Alliance' WHERE `ID`=12084; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Pastel de carne con champiñones infundidos - Alliance' WHERE `ID`=12085; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vehículos asesinados' WHERE `ID`=12114; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 40 escarabajos de enjambre en 30 segundos en el modo de 10 jugadores.' WHERE `ID`=12116; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Desarma 25 bombas en la Isla de la Conquista.' WHERE `ID`=12132; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Taller' WHERE `ID`=12158; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hangar' WHERE `ID`=12159; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='muelles' WHERE `ID`=12160; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza de la Horda' WHERE `ID`=12161; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fortaleza de la Alianza' WHERE `ID`=12162; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Entra en el patio enemigo mientras sus puertas aún resisten en la Isla de la Conquista.' WHERE `ID`=12163; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lanzador de gujas' WHERE `ID`=12178; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Demoledor' WHERE `ID`=12179; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Catapulta' WHERE `ID`=12181; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Máquina de asedio' WHERE `ID`=12182; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 10 jugadores con un lanzagujas sin morir en la Isla de la Conquista.' WHERE `ID`=12183; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a 40 escarabajos de enjambre en 30 segundos en el modo de 25 jugadores.' WHERE `ID`=12198; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a las Bestias de Rasganorte' WHERE `ID`=12199; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Lord Jaraxxus' WHERE `ID`=12200; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a los campeones de facción' WHERE `ID`=12201; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a las Val\'kyr gemelas' WHERE `ID`=12202; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Gran Cruzado' WHERE `ID`=12203; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a las Bestias de Rasganorte' WHERE `ID`=12204; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Lord Jaraxxus' WHERE `ID`=12205; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a los campeones de facción' WHERE `ID`=12206; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a las Val\'kyr gemelas' WHERE `ID`=12207; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Gran Cruzado' WHERE `ID`=12208; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de bestias' WHERE `ID`=12209; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de bestias' WHERE `ID`=12210; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de bestias' WHERE `ID`=12211; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de Jaraxxus' WHERE `ID`=12212; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de Jaraxxus' WHERE `ID`=12213; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de Jaraxxus' WHERE `ID`=12214; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de Jaraxxus' WHERE `ID`=12215; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de campeones de facción' WHERE `ID`=12216; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de campeones de facción' WHERE `ID`=12217; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de campeones de facción' WHERE `ID`=12218; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de campeones de facción' WHERE `ID`=12219; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de Val\'kyr Twins' WHERE `ID`=12220; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de Val\'kyr Twins' WHERE `ID`=12221; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de Val\'kyr Twins' WHERE `ID`=12222; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de Val\'kyr Twins' WHERE `ID`=12223; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de Anub\'arak' WHERE `ID`=12224; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de Anub\'arak' WHERE `ID`=12225; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de Anub\'arak' WHERE `ID`=12226; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Intento de Anub\'arak' WHERE `ID`=12227; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre las bestias de Rasganorte (Prueba del Cruzado 10 j.)' WHERE `ID`=12228; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre las bestias de Rasganorte (Prueba del Gran Cruzado 10 j.)' WHERE `ID`=12229; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre las bestias de Rasganorte (Prueba del Cruzado 25 j.)' WHERE `ID`=12230; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre las bestias de Rasganorte (Prueba del Gran Cruzado 25 j.)' WHERE `ID`=12231; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Lord Jaraxxus (Prueba del Cruzado 10 j.)' WHERE `ID`=12232; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Lord Jaraxxus (Prueba del Gran Cruzado 10 j.)' WHERE `ID`=12233; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Lord Jaraxxus (Prueba del Cruzado 25 j.)' WHERE `ID`=12234; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Lord Jaraxxus (Prueba del Gran Cruzado 25 j.)' WHERE `ID`=12235; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre los campeones de la facción (Prueba del Cruzado 10 j.)' WHERE `ID`=12236; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre los campeones de la facción (Prueba del Gran Cruzado 10 j.)' WHERE `ID`=12237; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre los campeones de la facción (Prueba del Cruzado 25 j.)' WHERE `ID`=12238; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre los campeones de la facción (Prueba del Gran Cruzado 25 j.)' WHERE `ID`=12239; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de las Gemelas Val\'kyr (Prueba del Cruzado 10 j.)' WHERE `ID`=12240; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de las Gemelas Val\'kyr (Prueba del Gran Cruzado 10 j.)' WHERE `ID`=12241; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de las Gemelas Val\'kyr (Prueba del Cruzado 25 j.)' WHERE `ID`=12242; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de las Gemelas Val\'kyr (Prueba del Gran Cruzado 25 j.)' WHERE `ID`=12243; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veces que has completado la Prueba del Cruzado (10 j.)' WHERE `ID`=12244; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veces que has completado la Prueba del Gran Cruzado (10 j.)' WHERE `ID`=12245; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veces que has completado la Prueba del Cruzado (25 j.)' WHERE `ID`=12246; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Veces que has completado la Prueba del Gran Cruzado (25 j.)' WHERE `ID`=12247; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gemelas Val\'kyr' WHERE `ID`=12258; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a Acidmaw y Dreadscale en 10 segundos' WHERE `ID`=12278; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a Acidmaw y Dreadscale en 10 segundos' WHERE `ID`=12279; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a Acidmaw y Dreadscale en 10 segundos' WHERE `ID`=12280; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mata a Acidmaw y Dreadscale en 10 segundos' WHERE `ID`=12281; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lana Martillo Fuerte' WHERE `ID`=12298; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colosos' WHERE `ID`=12299; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ambrose Rayochispa' WHERE `ID`=12300; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jaelyne Vísperas' WHERE `ID`=12301; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mokra el Trituracráneos' WHERE `ID`=12302; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mortacechador Visceri' WHERE `ID`=12303; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Runok Melenasalvaje' WHERE `ID`=12304; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cantor del alba de Eressea' WHERE `ID`=12305; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'tore' WHERE `ID`=12306; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Confesora Argenta Paletress' WHERE `ID`=12307; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eadric el Puro' WHERE `ID`=12308; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el caballero negro' WHERE `ID`=12309; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mariscal Jacob Alerio' WHERE `ID`=12310; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lana Martillo Fuerte' WHERE `ID`=12311; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Colosos' WHERE `ID`=12312; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ambrose Rayochispa' WHERE `ID`=12313; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jaelyne Vísperas' WHERE `ID`=12314; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Confesora Argenta Paletress' WHERE `ID`=12315; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eadric el Puro' WHERE `ID`=12316; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el caballero negro' WHERE `ID`=12317; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mokra el Trituracráneos' WHERE `ID`=12318; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mortacechador Visceri' WHERE `ID`=12319; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Runok Melenasalvaje' WHERE `ID`=12320; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cantor del alba de Eressea' WHERE `ID`=12321; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Zul\'tore' WHERE `ID`=12322; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Confesora Argenta Paletress' WHERE `ID`=12323; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eadric el Puro' WHERE `ID`=12324; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Gran Cruzado' WHERE `ID`=12338; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Gran Cruzado' WHERE `ID`=12339; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Gran Cruzado' WHERE `ID`=12340; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Gran Cruzado' WHERE `ID`=12341; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Gran Cruzado' WHERE `ID`=12342; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='En la Prueba del Gran Cruzado, consigue un cofre de tributo con 50 intentos restantes en el modo de 25 jugadores.' WHERE `ID`=12343; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Gran Cruzado' WHERE `ID`=12344; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Gran Cruzado' WHERE `ID`=12345; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Gran Cruzado' WHERE `ID`=12346; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Gran Cruzado' WHERE `ID`=12347; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa la Prueba del Gran Cruzado' WHERE `ID`=12348; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='En la Prueba del Gran Cruzado, consigue un cofre de tributo con 50 intentos restantes en el modo de 10 jugadores.' WHERE `ID`=12349; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Participante de la primera conquista del reino de la Prueba del Gran Cruzado con 50 intentos restantes en el modo de 25 jugadores.' WHERE `ID`=12350; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='En la Prueba del Gran Cruzado, consigue un cofre de tributo con 50 intentos restantes sin que muera ningún jugador en los encuentros contra los jefes en el modo de 25 jugadores.' WHERE `ID`=12358; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='En la Prueba del Gran Cruzado, consigue un cofre de tributo con 50 intentos restantes sin que muera ningún jugador en los encuentros contra los jefes en el modo de 25 jugadores.' WHERE `ID`=12359; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cumple los criterios de Un tributo a la locura sin que ningún jugador haya usado un objeto que solo se pueda obtener en el Coliseo de 25 jugadores, ni un objeto más poderoso.' WHERE `ID`=12360; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='300.000 curaciones en Isle of Conquest' WHERE `ID`=12378; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Haz 300 000 de daño en Isle of Conquest' WHERE `ID`=12379; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Completa cinco misiones diarias con tu huérfano fuera.' WHERE `ID`=12398; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema del heroísmo' WHERE `ID`=12418; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de Valor' WHERE `ID`=12419; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de la conquista' WHERE `ID`=12420; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='emblema de triunfo' WHERE `ID`=12421; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el caballero negro' WHERE `ID`=12439; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12478; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12479; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12480; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12481; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12482; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de escarcha' WHERE `ID`=12498; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de escarcha' WHERE `ID`=12499; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de escarcha' WHERE `ID`=12500; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de escarcha' WHERE `ID`=12501; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de escarcha' WHERE `ID`=12502; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de escarcha' WHERE `ID`=12503; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de escarcha' WHERE `ID`=12504; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de escarcha' WHERE `ID`=12505; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblema de escarcha' WHERE `ID`=12506; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el caballero negro' WHERE `ID`=12519; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre el Campeón guerrero (Prueba del Campeón)' WHERE `ID`=12538; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre el Campeón guerrero (Prueba del Campeón heroica)' WHERE `ID`=12539; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre el Campeón cazador (Prueba del Campeón)' WHERE `ID`=12540; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre el Campeón cazador (Prueba del Campeón heroica)' WHERE `ID`=12541; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre el Campeón mago (Prueba del Campeón)' WHERE `ID`=12542; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre el Campeón mago (Prueba del Campeón heroica)' WHERE `ID`=12543; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre el Campeón pícaro (Prueba del Campeón)' WHERE `ID`=12544; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre el Campeón pícaro (Prueba del Campeón heroica)' WHERE `ID`=12545; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre el Campeón chamán (Prueba del Campeón)' WHERE `ID`=12546; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre el Campeón chamán (Prueba del Campeón heroica)' WHERE `ID`=12547; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre la confesora Argenta Cabelloclaro (Prueba del Campeón)' WHERE `ID`=12548; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre la confesora Argenta Cabelloclaro (Prueba del Campeón heroica)' WHERE `ID`=12549; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre Eadric el Puro (Prueba del Campeón)' WHERE `ID`=12550; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre Eadric el Puro (Prueba del Campeón heroica)' WHERE `ID`=12551; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de El Caballero Negro (Prueba del Campeón)' WHERE `ID`=12552; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de El Caballero Negro (Prueba del Campeón heroica)' WHERE `ID`=12553; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Onyxia en el modo de 10 jugadores.' WHERE `ID`=12558; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Onyxia en el modo de 25 jugadores.' WHERE `ID`=12559; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Conectado durante el 5º aniversario de WoW.' WHERE `ID`=12562; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Onyxia en menos de 5 minutos en el modo de 10 jugadores.' WHERE `ID`=12564; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Haz que 50 vástagos de Onyxia salgan del cascarón durante 10 segundos mientras Onyxia levanta el vuelo, y después derrótala en el modo de 10 jugadores.' WHERE `ID`=12565; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Onyxia sin que nadie reciba daño de Aliento profundo en el modo de 10 jugadores.' WHERE `ID`=12566; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Onyxia en menos de 5 minutos en el modo de 25 jugadores.' WHERE `ID`=12567; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Haz que 50 vástagos de Onyxia salgan del cascarón durante 10 segundos mientras Onyxia levanta el vuelo, y después derrótala en el modo de 25 jugadores.' WHERE `ID`=12568; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Onyxia sin que nadie reciba daño de Aliento profundo en el modo de 25 jugadores.' WHERE `ID`=12569; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla de la Conquista' WHERE `ID`=12578; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='30 hks en COI' WHERE `ID`=12579; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Gladiador furioso' WHERE `ID`=12598; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Gladiador incansable' WHERE `ID`=12599; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo del triunfador' WHERE `ID`=12600; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vástago carmesí' WHERE `ID`=12618; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vástago azur' WHERE `ID`=12619; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vástago esmeralda' WHERE `ID`=12620; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cría de dardos' WHERE `ID`=12621; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cría de Gundrak' WHERE `ID`=12622; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cría de ravasaurio' WHERE `ID`=12623; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Prole de Faucavaja' WHERE `ID`=12624; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cría de Razzashi' WHERE `ID`=12625; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Arrojar' WHERE `ID`=12626; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cría descarriada' WHERE `ID`=12627; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mocos repugnantes' WHERE `ID`=12628; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='guacamayo jacinto' WHERE `ID`=12629; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cría saltando' WHERE `ID`=12630; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mojo' WHERE `ID`=12631; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Abrasador' WHERE `ID`=12632; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='con dientes' WHERE `ID`=12633; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='aliento de lodo' WHERE `ID`=12634; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cargador mortal de Rivendare' WHERE `ID`=12635; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='gruñido' WHERE `ID`=12636; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Alianza' WHERE `ID`=12638; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Horda' WHERE `ID`=12639; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Esclavo' WHERE `ID`=12658; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Vol\'jin' WHERE `ID`=12659; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lor\'themar Theron' WHERE `ID`=12660; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lady Sylvanas Brisaveloz' WHERE `ID`=12661; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cairne Pezuña de Sangre' WHERE `ID`=12662; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Varian Wrynn' WHERE `ID`=12663; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Magni Barbabronce' WHERE `ID`=12664; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Manitas Mayor Mekkatorque' WHERE `ID`=12665; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tyrande Susurravientos' WHERE `ID`=12666; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profeta Velen' WHERE `ID`=12667; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingvar el Saqueador' WHERE `ID`=12678; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Ymiron' WHERE `ID`=12679; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardianes Ley Eregos' WHERE `ID`=12680; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mal\'Ganis' WHERE `ID`=12681; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kronus' WHERE `ID`=12682; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sjonnir el Modelador de Hierro' WHERE `ID`=12683; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'arak' WHERE `ID`=12684; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heraldo Volazj' WHERE `ID`=12685; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El profeta Tharon\'ja' WHERE `ID`=12686; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gal\'darah' WHERE `ID`=12687; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cianigosa' WHERE `ID`=12688; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Keristrasza' WHERE `ID`=12689; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue más de 9000 puntos de logros.' WHERE `ID`=12698; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bronjahm' WHERE `ID`=12738; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Devorador de almas' WHERE `ID`=12739; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro forjador Garfrost' WHERE `ID`=12740; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ick y krick' WHERE `ID`=12741; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Falric' WHERE `ID`=12742; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sobrevive al encuentro con el Rey Exánime' WHERE `ID`=12743; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Scourgelord Tyrannus y Rimefang' WHERE `ID`=12744; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bronjahm' WHERE `ID`=12745; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Devorador de almas' WHERE `ID`=12746; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro forjador Garfrost' WHERE `ID`=12747; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ick y krick' WHERE `ID`=12748; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Scourgelord Tyrannus y Rimefang' WHERE `ID`=12749; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Falric' WHERE `ID`=12750; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sobrevive al encuentro con el Rey Exánime' WHERE `ID`=12751; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Bronjahm en La Forja de Almas en dificultad heroica dejando vivos al menos a 4 trozos de alma corruptos.' WHERE `ID`=12752; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escapa del Rey Exánime en menos de 6 minutos.' WHERE `ID`=12756; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rescata a Valithiria Caminasueños' WHERE `ID`=12757; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=12758; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=12759; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=12760; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profesor Putricidio' WHERE `ID`=12761; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Consejo del Príncipe de Sangre' WHERE `ID`=12762; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la reina de sangre Lana\'thel' WHERE `ID`=12763; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Rey Exánime en la Ciudadela de la Corona de Hielo en el modo de 10 jugadores.' WHERE `ID`=12764; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asaltando la Ciudadela' WHERE `ID`=12765; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Salas de Alaescarcha' WHERE `ID`=12766; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los trabajos de la peste' WHERE `ID`=12767; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el salón carmesí' WHERE `ID`=12768; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Trono Helado' WHERE `ID`=12769; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Tuétano' WHERE `ID`=12770; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reclama la victoria en la batalla de cañoneras' WHERE `ID`=12771; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Portador de la Muerte' WHERE `ID`=12772; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dama Susurromuerte' WHERE `ID`=12773; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lord Marrowgar matado' WHERE `ID`=12775; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dama Susurromuerte' WHERE `ID`=12776; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Batalla de cañoneras' WHERE `ID`=12777; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portador de la muerte' WHERE `ID`=12778; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la reina de sangre Lana\'thel sin convertirte en vampiro.' WHERE `ID`=12780; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ingvar el Saqueador' WHERE `ID`=12798; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Ymiron' WHERE `ID`=12799; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Guardianes Ley Eregos' WHERE `ID`=12800; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Mal\'Ganis' WHERE `ID`=12801; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Kronus' WHERE `ID`=12802; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sjonnir el Modelador de Hierro' WHERE `ID`=12803; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'arak' WHERE `ID`=12804; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heraldo Volazj' WHERE `ID`=12805; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El profeta Tharon\'ja' WHERE `ID`=12806; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gal\'darah' WHERE `ID`=12807; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cianigosa' WHERE `ID`=12808; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Keristrasza' WHERE `ID`=12809; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Participante en la primera derrota del reino del Rey Exánime en el modo de 25 jugadores heroico.' WHERE `ID`=12818; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=12822; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espíritus viles' WHERE `ID`=12823; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Rey Exánime en la Ciudadela de la Corona de Hielo en el modo de 10 jugadores heroico.' WHERE `ID`=12825; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Rey Exánime en la Ciudadela de la Corona de Hielo en el modo de 25 jugadores heroico.' WHERE `ID`=12826; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Toravon el Vigía de Hielo en el modo de 10 jugadores.' WHERE `ID`=12827; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Toravon el Vigía de Hielo en el modo de 25 jugadores.' WHERE `ID`=12828; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un regalo para la suma sacerdotisa de Elune' WHERE `ID`=12838; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un regalo para el profeta' WHERE `ID`=12839; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un regalo para el Señor de Forjaz' WHERE `ID`=12840; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un regalo para el Rey de Stormwind' WHERE `ID`=12841; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un regalo para el jefe de guerra' WHERE `ID`=12842; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un regalo para el señor regente de Quel\'Thalas' WHERE `ID`=12843; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un regalo para el Gran Cacique' WHERE `ID`=12844; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Un regalo para la reina Banshee' WHERE `ID`=12845; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Crea 12 pulseras de talismanes preciosos.' WHERE `ID`=12846; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Puñado de pétalos de rosa en Sraaz' WHERE `ID`=12859; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12878; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12879; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12880; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12881; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12882; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12883; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12884; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12885; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12886; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12887; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12888; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12889; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12890; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12891; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12892; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cría de oráculo curiosa' WHERE `ID`=12898; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cría de oráculo curiosa' WHERE `ID`=12899; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cachorro wolvar curioso' WHERE `ID`=12900; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Cachorro wolvar curioso' WHERE `ID`=12901; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12902; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12903; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12904; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12905; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12906; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12907; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Yelmo sagrado' WHERE `ID`=12908; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Rey Exánime en la Ciudadela de la Corona de Hielo en el modo de 25 jugadores.' WHERE `ID`=12909; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gana el derbi de pesca de Kalu\'ak' WHERE `ID`=12910; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Alcanza la reputación Exaltado con El Veredicto Cinéreo.' WHERE `ID`=12911; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Logrado el título de Gladiador colérico.' WHERE `ID`=12912; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12913; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=12914; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sin espinas' WHERE `ID`=12917; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Casa llena' WHERE `ID`=12918; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estoy en un bote' WHERE `ID`=12919; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Me he ido y hecho un lío' WHERE `ID`=12920; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Baila con mocos' WHERE `ID`=12921; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escasez de vacunas contra la gripe' WHERE `ID`=12922; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Náuseas, acidez estomacal, indigestión' WHERE `ID`=12923; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El susurrador de orbes' WHERE `ID`=12924; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Una vez mordido dos veces tímido' WHERE `ID`=12925; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='jinete del portal' WHERE `ID`=12926; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Todo lo que puedas comer' WHERE `ID`=12927; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estuve esperando mucho tiempo por esto' WHERE `ID`=12928; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Tuétano' WHERE `ID`=12945; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Portador de la Muerte' WHERE `ID`=12946; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reclama la victoria en la batalla de cañoneras' WHERE `ID`=12947; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dama Susurromuerte' WHERE `ID`=12948; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=12949; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=12950; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profesor Putricidio' WHERE `ID`=12951; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Consejo del Príncipe de Sangre' WHERE `ID`=12952; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la reina de sangre Lana\'thel' WHERE `ID`=12953; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rescata a Valithiria Caminasueños' WHERE `ID`=12954; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=12955; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asaltando la Ciudadela' WHERE `ID`=12956; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Trono Helado' WHERE `ID`=12957; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Salas de Alaescarcha' WHERE `ID`=12958; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los trabajos de la peste' WHERE `ID`=12959; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el salón carmesí' WHERE `ID`=12960; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lord Marrowgar matado' WHERE `ID`=12962; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=12966; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=12967; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profesor Putricidio' WHERE `ID`=12968; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipe Valanar' WHERE `ID`=12969; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valithria' WHERE `ID`=12971; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=12972; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Poseedor de la Agonía de Sombras.' WHERE `ID`=12975; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Devoraalmas en La Forja de Almas en dificultad heroica evitando que lance Explosión fantasma.' WHERE `ID`=12976; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=12977; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valithria' WHERE `ID`=12978; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valithria' WHERE `ID`=12979; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valithria' WHERE `ID`=12980; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profesor Putricidio' WHERE `ID`=12981; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=12982; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=12983; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=12984; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=12985; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=12986; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profesor Putricidio' WHERE `ID`=12987; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profesor Putricidio' WHERE `ID`=12988; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=12989; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marwyn' WHERE `ID`=12990; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marwyn' WHERE `ID`=12991; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al trío de boticarios de Químicos La Corona, S.L. en el Castillo de Colmillo Oscuro.' WHERE `ID`=12992; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al maestro de forja Gargelus en el Foso de Saron en dificultad heroica antes de que un jugador acumule 11 veces el efecto Escarcha permanente.' WHERE `ID`=12993; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Limpia la cámara antes del Señor de la Plaga Tyrannus en El Foso de Saron en dificultad heroica sin que nadie reciba daño de carámbanos en el primer intento.' WHERE `ID`=12994; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dama Susurromuerte' WHERE `ID`=12995; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=12996; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dama Susurromuerte' WHERE `ID`=12997; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dama Susurromuerte' WHERE `ID`=12998; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador furioso' WHERE `ID`=12999; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador implacable' WHERE `ID`=13000; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador mortal' WHERE `ID`=13001; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador furioso' WHERE `ID`=13002; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador implacable' WHERE `ID`=13003; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador furioso' WHERE `ID`=13004; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador implacable' WHERE `ID`=13005; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador furioso' WHERE `ID`=13006; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gladiador implacable' WHERE `ID`=13007; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue a Invencible de Arthas en la Ciudadela de la Corona de Hielo.' WHERE `ID`=13008; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue la cabeza de Mimiron en el combate contra Yogg-Saron de 25 jugadores sin la ayuda de ningún guardián.' WHERE `ID`=13009; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Consigue el Rompecorazones X-45 del boticario Hummel en el Castillo de Colmillo Oscuro durante Amor en el aire.' WHERE `ID`=13010; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la reina de sangre Lana\'thel siendo vampiro.' WHERE `ID`=13011; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la reina de sangre Lana\'thel sin convertirte en vampiro.' WHERE `ID`=13012; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la reina de sangre Lana\'thel siendo vampiro.' WHERE `ID`=13013; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sin espinas' WHERE `ID`=13016; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Casa llena' WHERE `ID`=13017; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estoy en un bote' WHERE `ID`=13018; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Me he ido y hecho un lío' WHERE `ID`=13019; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Baila con mocos' WHERE `ID`=13020; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escasez de vacunas contra la gripe' WHERE `ID`=13021; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Náuseas, acidez estomacal, indigestión...' WHERE `ID`=13022; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El susurrador de orbes' WHERE `ID`=13023; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Una vez mordido dos veces tímido' WHERE `ID`=13024; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='jinete del portal' WHERE `ID`=13025; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Todo lo que puedas comer' WHERE `ID`=13026; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Estuve esperando mucho tiempo por esto' WHERE `ID`=13027; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Hasta el cuello en Vile' WHERE `ID`=13028; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Utiliza la herramienta buscador de mazmorras para acabar mazmorras heroicas aleatorias hasta que te hayas agrupado con 10 jugadores aleatorios en total.' WHERE `ID`=13029; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Utiliza la herramienta buscador de mazmorras para acabar mazmorras heroicas aleatorias hasta que te hayas agrupado con 50 jugadores aleatorios en total.' WHERE `ID`=13030; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Utiliza la herramienta buscador de mazmorras para acabar mazmorras heroicas aleatorias hasta que te hayas agrupado con 100 jugadores aleatorios en total.' WHERE `ID`=13031; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipe Valanar' WHERE `ID`=13032; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipe Valanar' WHERE `ID`=13033; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipe Valanar' WHERE `ID`=13034; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portador de la muerte' WHERE `ID`=13035; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portador de la muerte' WHERE `ID`=13036; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portador de la muerte' WHERE `ID`=13037; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Tuétano' WHERE `ID`=13039; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dama Susurromuerte' WHERE `ID`=13040; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reclama la victoria en la batalla de cañoneras' WHERE `ID`=13041; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Portador de la Muerte' WHERE `ID`=13042; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=13043; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=13044; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profesor Putricidio' WHERE `ID`=13045; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Consejo del Príncipe de Sangre' WHERE `ID`=13046; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la reina de sangre Lana\'thel' WHERE `ID`=13047; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rescata a Valithiria Caminasueños' WHERE `ID`=13048; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=13049; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Tuétano' WHERE `ID`=13050; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dama Susurromuerte' WHERE `ID`=13051; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reclama la victoria en la batalla de cañoneras' WHERE `ID`=13052; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Portador de la Muerte' WHERE `ID`=13053; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=13054; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=13055; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profesor Putricidio' WHERE `ID`=13056; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Consejo del Príncipe de Sangre' WHERE `ID`=13057; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la reina de sangre Lana\'thel' WHERE `ID`=13058; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rescata a Valithiria Caminasueños' WHERE `ID`=13059; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=13060; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asaltando la Ciudadela' WHERE `ID`=13061; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los trabajos de la peste' WHERE `ID`=13062; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el salón carmesí' WHERE `ID`=13063; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Salas de Alaescarcha' WHERE `ID`=13064; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Trono Helado' WHERE `ID`=13065; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Asaltando la Ciudadela' WHERE `ID`=13066; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los trabajos de la peste' WHERE `ID`=13067; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el salón carmesí' WHERE `ID`=13068; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Las Salas de Alaescarcha' WHERE `ID`=13069; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Trono Helado' WHERE `ID`=13070; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Asalto a la Ciudadela (10 j.)' WHERE `ID`=13071; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Los Talleres de la Plaga (10 j.)' WHERE `ID`=13072; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: The Crimson Hall (10 j.)' WHERE `ID`=13073; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Las Salas de Frostwing (10 j.)' WHERE `ID`=13074; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Asalto a la Ciudadela (25 j.)' WHERE `ID`=13075; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Los Talleres de la Plaga (25 j.)' WHERE `ID`=13076; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: The Crimson Hall (25 j.)' WHERE `ID`=13077; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Heroico: Las Salas de Frostwing (25 j.)' WHERE `ID`=13078; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Batalla de cañoneras' WHERE `ID`=13079; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Batalla de cañoneras' WHERE `ID`=13080; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Batalla de cañoneras' WHERE `ID`=13081; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Lord Tuétano (Corona de Hielo 10 j.)' WHERE `ID`=13089; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Lord Tuétano (Corona de Hielo heroica 10 j.)' WHERE `ID`=13090; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Lord Tuétano (Corona de Hielo heroica 25 j.)' WHERE `ID`=13091; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Lord Tuétano (Corona de Hielo 25 j.)' WHERE `ID`=13092; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Lady Susurramuerte (Corona de Hielo 10 j.)' WHERE `ID`=13093; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias en la Batalla de naves de guerra (Corona de Hielo 10 j.)' WHERE `ID`=13094; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de El Libramorte (Corona de Hielo 10 j.)' WHERE `ID`=13095; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Panzachancro (Corona de Hielo 10 j.)' WHERE `ID`=13096; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Carapútrea (Corona de Hielo 10 j.)' WHERE `ID`=13097; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Consejo de Príncipes de Sangre (Corona de Hielo 10 j.)' WHERE `ID`=13098; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rescates de Valithria Caminasueños (Corona de Hielo 10 j.)' WHERE `ID`=13099; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del profesor Putricidio (Corona de Hielo 10 j.)' WHERE `ID`=13100; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de la Reina de Sangre Lana\'thel (Corona de Hielo 10 j.)' WHERE `ID`=13101; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Sindragosa (Corona de Hielo 10 j.)' WHERE `ID`=13102; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre el Rey Exánime (Corona de Hielo 10 j.)' WHERE `ID`=13103; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Lady Susurramuerte (Corona de Hielo heroica 10 j.)' WHERE `ID`=13104; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Lady Susurramuerte (Corona de Hielo 25 j.)' WHERE `ID`=13105; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Lady Susurramuerte (Corona de Hielo heroica 25 j.)' WHERE `ID`=13106; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Toravon el Vigía de Hielo (Conquista del Invierno 10 j.)' WHERE `ID`=13107; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Toravon el Vigía de Hielo (Conquista del Invierno 25 j.)' WHERE `ID`=13108; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias en la Batalla de naves de guerra (Corona de Hielo 25 j.)' WHERE `ID`=13109; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias en la Batalla de naves de guerra (Corona de Hielo heroica 10 j.)' WHERE `ID`=13110; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias en la Batalla de naves de guerra (Corona de Hielo heroica 25 j.)' WHERE `ID`=13111; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de El Libramorte (Corona de Hielo 25 j.)' WHERE `ID`=13112; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de El Libramorte (Corona de Hielo heroica 10 j.)' WHERE `ID`=13113; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de El Libramorte (Corona de Hielo heroica 25 j.)' WHERE `ID`=13114; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Panzachancro (Corona de Hielo 25 j.)' WHERE `ID`=13115; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Panzachancro (Corona de Hielo heroica 10 j.)' WHERE `ID`=13116; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Panzachancro (Corona de Hielo heroica 25 j.)' WHERE `ID`=13117; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Carapútrea (Corona de Hielo 25 j.)' WHERE `ID`=13118; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Carapútrea (Corona de Hielo heroica 10 j.)' WHERE `ID`=13119; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Carapútrea (Corona de Hielo heroica 25 j.)' WHERE `ID`=13120; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Consejo de Príncipes de Sangre (Corona de Hielo 25 j.)' WHERE `ID`=13121; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Consejo de Príncipes de Sangre (Corona de Hielo heroica 10 j.)' WHERE `ID`=13122; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del Consejo de Príncipes de Sangre (Corona de Hielo heroica 25 j.)' WHERE `ID`=13123; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rescates de Valithria Caminasueños (Corona de Hielo 25 j.)' WHERE `ID`=13124; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rescates de Valithria Caminasueños (Corona de Hielo heroica 10 j.)' WHERE `ID`=13125; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rescates de Valithria Caminasueños (Corona de Hielo heroica 25 j.)' WHERE `ID`=13126; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del profesor Putricidio (Corona de Hielo 25 j.)' WHERE `ID`=13127; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del profesor Putricidio (Corona de Hielo heroica 10 j.)' WHERE `ID`=13128; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes del profesor Putricidio (Corona de Hielo heroica 25 j.)' WHERE `ID`=13129; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de la Reina de Sangre Lana\'thel (Corona de Hielo 25 j.)' WHERE `ID`=13130; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de la Reina de Sangre Lana\'thel (Corona de Hielo heroica 10 j.)' WHERE `ID`=13131; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de la Reina de Sangre Lana\'thel (Corona de Hielo heroica 25 j.)' WHERE `ID`=13132; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Sindragosa (Corona de Hielo 25 j.)' WHERE `ID`=13133; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Sindragosa (Corona de Hielo heroica 10 j.)' WHERE `ID`=13134; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Sindragosa (Corona de Hielo heroica 25 j.)' WHERE `ID`=13135; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre el Rey Exánime (Corona de Hielo 25 j.)' WHERE `ID`=13136; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre el Rey Exánime (Corona de Hielo heroica 10 j.)' WHERE `ID`=13137; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Victorias sobre el Rey Exánime (Corona de Hielo heroica 25 j.)' WHERE `ID`=13138; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tuétano' WHERE `ID`=13139; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tuétano' WHERE `ID`=13140; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='susurromuerte' WHERE `ID`=13141; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='susurromuerte' WHERE `ID`=13142; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='cañonera' WHERE `ID`=13143; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='cañonera' WHERE `ID`=13144; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portador de la muerte' WHERE `ID`=13145; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portador de la muerte' WHERE `ID`=13146; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=13147; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=13148; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=13149; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=13150; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipes de sangre' WHERE `ID`=13151; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipes de sangre' WHERE `ID`=13152; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valithria' WHERE `ID`=13153; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valithria' WHERE `ID`=13154; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Putricida' WHERE `ID`=13155; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Putricida' WHERE `ID`=13156; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reina de sangre' WHERE `ID`=13157; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reina de sangre' WHERE `ID`=13158; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=13159; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=13160; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Exánime' WHERE `ID`=13161; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Exánime' WHERE `ID`=13162; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espíritus viles' WHERE `ID`=13163; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espíritus viles' WHERE `ID`=13164; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bronjahm' WHERE `ID`=13166; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bronjahm' WHERE `ID`=13167; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Devorador de almas' WHERE `ID`=13168; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Devorador de almas' WHERE `ID`=13169; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro forjador Garfrost' WHERE `ID`=13170; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ick y krick' WHERE `ID`=13172; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='ick y krick' WHERE `ID`=13173; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Scourgelord Tyrannus y Rimefang' WHERE `ID`=13174; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Scourgelord Tyrannus y Rimefang' WHERE `ID`=13175; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Falric' WHERE `ID`=13176; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Falric' WHERE `ID`=13177; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marwyn' WHERE `ID`=13178; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marwyn' WHERE `ID`=13179; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sobrevive al encuentro con el Rey Exánime' WHERE `ID`=13180; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sobrevive al encuentro con el Rey Exánime' WHERE `ID`=13181; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro forjador Garfrost' WHERE `ID`=13182; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblemas de triunfo adquiridos' WHERE `ID`=13183; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Emblemas de escarcha adquiridos' WHERE `ID`=13184; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Tuétano' WHERE `ID`=13185; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dama Susurromuerte' WHERE `ID`=13186; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reclama la victoria en la batalla de cañoneras' WHERE `ID`=13187; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Portador de la Muerte' WHERE `ID`=13188; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=13189; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=13190; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profesor Putricidio' WHERE `ID`=13191; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Consejo del Príncipe de Sangre' WHERE `ID`=13192; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la reina de sangre Lana\'thel' WHERE `ID`=13193; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rescata a Valithiria Caminasueños' WHERE `ID`=13194; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=13195; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Tuétano' WHERE `ID`=13196; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dama Susurromuerte' WHERE `ID`=13197; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reclama la victoria en la batalla de cañoneras' WHERE `ID`=13198; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El Portador de la Muerte' WHERE `ID`=13199; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=13200; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=13201; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profesor Putricidio' WHERE `ID`=13202; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota al Consejo del Príncipe de Sangre' WHERE `ID`=13203; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a la reina de sangre Lana\'thel' WHERE `ID`=13204; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rescata a Valithiria Caminasueños' WHERE `ID`=13205; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=13206; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tuétano' WHERE `ID`=13207; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='tuétano' WHERE `ID`=13208; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='susurromuerte' WHERE `ID`=13209; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='susurromuerte' WHERE `ID`=13210; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='cañonera' WHERE `ID`=13211; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='cañonera' WHERE `ID`=13212; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portador de la muerte' WHERE `ID`=13213; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Portador de la muerte' WHERE `ID`=13214; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=13215; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=13216; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=13217; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=13218; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipes de sangre' WHERE `ID`=13219; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipes de sangre' WHERE `ID`=13220; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valithria' WHERE `ID`=13221; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valithria' WHERE `ID`=13222; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Putricida' WHERE `ID`=13223; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Putricida' WHERE `ID`=13224; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reina de sangre' WHERE `ID`=13225; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reina de sangre' WHERE `ID`=13226; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=13227; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=13228; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Exánime' WHERE `ID`=13229; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rey Exánime' WHERE `ID`=13230; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los cuatro jinetes' WHERE `ID`=13233; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='maexxna' WHERE `ID`=13234; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tadeo' WHERE `ID`=13235; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Detestob' WHERE `ID`=13236; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Los cuatro jinetes' WHERE `ID`=13237; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='maexxna' WHERE `ID`=13238; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Detestob' WHERE `ID`=13239; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tadeo' WHERE `ID`=13240; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo del Iluminado' WHERE `ID`=13241; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tabardo de Gladiador colérico' WHERE `ID`=13242; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Espíritus viles' WHERE `ID`=13243; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Permita que Necrotic Plague se acumule hasta 30 antes de derrotar al Lich King en el modo de 25 jugadores.' WHERE `ID`=13244; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Permita que Necrotic Plague se acumule hasta 30 antes de derrotar al Lich King en el modo de 25 jugadores.' WHERE `ID`=13245; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Permita que Necrotic Plague se acumule hasta 30 antes de derrotar al Lich King en el modo de 10 jugadores.' WHERE `ID`=13246; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Permita que Necrotic Plague se acumule hasta 30 antes de derrotar al Lich King en el modo de 10 jugadores.' WHERE `ID`=13247; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de ira infinita' WHERE `ID`=13248; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de mojo puro' WHERE `ID`=13249; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco de sangre de piedra' WHERE `ID`=13250; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco del Norte' WHERE `ID`=13251; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Frasco del Wyrm de Escarcha' WHERE `ID`=13252; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes con honor' WHERE `ID`=13253; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla de la Conquista' WHERE `ID`=13254; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Golpes de gracia en la Isla de la Conquista' WHERE `ID`=13255; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Regalo del velo de invierno' WHERE `ID`=13256; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Strudel de maná conjurado' WHERE `ID`=13257; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Tiros por desencantar para el botín' WHERE `ID`=13258; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes con honor' WHERE `ID`=13259; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla de la Conquista' WHERE `ID`=13260; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes con honor en la Isla de la Conquista' WHERE `ID`=13261; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el caballero negro' WHERE `ID`=13262; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Confesora Argenta Paletress' WHERE `ID`=13263; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eadric el Puro' WHERE `ID`=13264; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bronjahm' WHERE `ID`=13265; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Devorador de almas' WHERE `ID`=13266; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro forjador Garfrost' WHERE `ID`=13267; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='asco' WHERE `ID`=13268; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Krik' WHERE `ID`=13269; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor de la Plaga Tyrannus' WHERE `ID`=13270; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Falric' WHERE `ID`=13271; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marwyn' WHERE `ID`=13272; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El rey Lich' WHERE `ID`=13273; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Koralon el Vigía de las llamas' WHERE `ID`=13274; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Toravon el Vigilante del Hielo' WHERE `ID`=13275; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='onyxia' WHERE `ID`=13276; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='aullido de hielo' WHERE `ID`=13277; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Jaraxxus' WHERE `ID`=13278; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eydis Aterraoscura' WHERE `ID`=13279; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fjola Aterraluz' WHERE `ID`=13280; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'arak' WHERE `ID`=13281; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Tuétano' WHERE `ID`=13282; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dama Susurromuerte' WHERE `ID`=13283; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Libramorte Colmillosauro' WHERE `ID`=13284; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=13285; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=13286; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profesor Putricidio' WHERE `ID`=13287; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reina de sangre Lana\'thel' WHERE `ID`=13288; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=13289; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El rey Lich' WHERE `ID`=13290; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Toravon el Vigilante del Hielo' WHERE `ID`=13291; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='aullido de hielo' WHERE `ID`=13292; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Jaraxxus' WHERE `ID`=13293; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Fjola Aterraluz' WHERE `ID`=13294; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eydis Aterraoscura' WHERE `ID`=13295; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'arak' WHERE `ID`=13296; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Tuétano' WHERE `ID`=13297; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dama Susurromuerte' WHERE `ID`=13298; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Libramorte Colmillosauro' WHERE `ID`=13299; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reina de sangre Lana\'thel' WHERE `ID`=13300; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=13301; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El rey Lich' WHERE `ID`=13302; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=13303; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=13304; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profesor Putricidio' WHERE `ID`=13305; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en la Prueba del Cruzado' WHERE `ID`=13306; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes en la Ciudadela de la Corona de Hielo' WHERE `ID`=13307; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'arak' WHERE `ID`=13308; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El rey Lich' WHERE `ID`=13309; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'arak' WHERE `ID`=13310; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'arak' WHERE `ID`=13311; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Confesora Argenta Paletress' WHERE `ID`=13312; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Eadric el Puro' WHERE `ID`=13313; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='el caballero negro' WHERE `ID`=13314; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Bronjahm' WHERE `ID`=13315; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Devorador de almas' WHERE `ID`=13316; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Maestro forjador Garfrost' WHERE `ID`=13317; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='asco' WHERE `ID`=13318; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor de la Plaga Tyrannus' WHERE `ID`=13319; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Falric' WHERE `ID`=13320; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Marwyn' WHERE `ID`=13321; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El rey Lich' WHERE `ID`=13323; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Toravon el Vigilante del Hielo' WHERE `ID`=13324; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Koralon el Vigía de las llamas' WHERE `ID`=13325; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='aullido de hielo' WHERE `ID`=13326; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Jaraxxus' WHERE `ID`=13327; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeones de facción' WHERE `ID`=13328; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gemelas Val\'kyr' WHERE `ID`=13329; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'arak' WHERE `ID`=13330; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Tuétano' WHERE `ID`=13331; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dama Susurromuerte' WHERE `ID`=13332; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encuentro de aeronaves' WHERE `ID`=13333; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Libramorte Colmillosauro' WHERE `ID`=13334; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valithria Caminasueños' WHERE `ID`=13335; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=13336; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=13337; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profesor Putricidio' WHERE `ID`=13338; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipes de sangre' WHERE `ID`=13339; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reina de sangre Lana\'thel' WHERE `ID`=13340; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=13341; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El rey Lich' WHERE `ID`=13342; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Toravon el Vigilante del Hielo' WHERE `ID`=13343; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Koralon el Vigía de las llamas' WHERE `ID`=13344; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='onyxia' WHERE `ID`=13345; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='aullido de hielo' WHERE `ID`=13346; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Jaraxxus' WHERE `ID`=13347; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Campeones de facción' WHERE `ID`=13348; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Gemelas Val\'kyr' WHERE `ID`=13349; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Anub\'arak' WHERE `ID`=13350; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Señor Tuétano' WHERE `ID`=13351; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Dama Susurromuerte' WHERE `ID`=13352; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Encuentro de aeronaves' WHERE `ID`=13353; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Libramorte Colmillosauro' WHERE `ID`=13354; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Valithria Caminasueños' WHERE `ID`=13355; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Festergut' WHERE `ID`=13356; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Rotface' WHERE `ID`=13357; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Profesor Putricidio' WHERE `ID`=13358; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Príncipes de sangre' WHERE `ID`=13359; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Reina de sangre Lana\'thel' WHERE `ID`=13360; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Sindragosa' WHERE `ID`=13361; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El rey Lich' WHERE `ID`=13362; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='El pez fantasma' WHERE `ID`=13363; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La joya de las alcantarillas' WHERE `ID`=13364; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Peligrosamente delicioso' WHERE `ID`=13365; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Apetito barriga monstruosa' WHERE `ID`=13366; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='La sangre es espesa' WHERE `ID`=13367; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla de la Conquista' WHERE `ID`=13368; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Isla de la Conquista' WHERE `ID`=13369; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Horda' WHERE `ID`=13370; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Medallón de la Alianza' WHERE `ID`=13371; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra verde de la Fiesta de la Cerveza' WHERE `ID`=13372; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de la Fiesta de la Cerveza verde llena' WHERE `ID`=13373; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de la Fiesta de la Cerveza verde llena' WHERE `ID`=13374; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de la Fiesta de la Cerveza verde llena' WHERE `ID`=13375; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de la Fiesta de la Cerveza verde llena' WHERE `ID`=13376; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Jarra de la Fiesta de la Cerveza verde llena' WHERE `ID`=13377; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13379; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13380; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13381; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13382; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13383; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13384; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13385; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13386; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13387; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13388; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ayudaste al Manitas Mayor Mekkatorque y a los Exiliados de Gnomeregan a que recuperaran la superficie de Gnomeregan.' WHERE `ID`=13389; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lord Marrowgar matado' WHERE `ID`=13393; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Lord Marrowgar matado' WHERE `ID`=13394; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13395; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13397; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13398; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13399; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13400; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13401; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13402; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13403; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13404; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13405; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13406; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13407; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13408; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13409; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13410; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13411; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13412; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13413; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13414; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13415; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13416; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13417; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13418; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13419; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13420; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Ayudaste a Vol\'jin en la derrota final de Zalazane, recuperando las Islas del Eco para los trols Lanza Negra.' WHERE `ID`=13421; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13422; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13423; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13424; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13425; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13426; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con El Aldor' WHERE `ID`=13427; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Exaltado con los Arúspices' WHERE `ID`=13428; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Halion en El Sagrario Rubí en el modo de 25 jugadores.' WHERE `ID`=13451; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Halion en El Sagrario Rubí en el modo de 25 jugadores en dificultad heroica.' WHERE `ID`=13452; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Halion en El Sagrario Rubí en el modo de 10 jugadores.' WHERE `ID`=13453; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Derrota a Halion en El Sagrario Rubí en el modo de 10 jugadores en dificultad heroica.' WHERE `ID`=13454; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Halion (El Sagrario Rubí 25 j.)' WHERE `ID`=13465; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Halion (El Sagrario Rubí 10 j.)' WHERE `ID`=13466; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Halion (El Sagrario Rubí heroica 25 j.)' WHERE `ID`=13467; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Muertes de Halion (El Sagrario Rubí heroica 10 j.)' WHERE `ID`=13468; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='' WHERE `ID`=13469; +UPDATE `achievement_criteria_dbc` SET `Description_Lang_esES`='Escarchado' WHERE `ID`=13470; + +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='General' WHERE `ID`=92; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Arenas' WHERE `ID`=123; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Personaje' WHERE `ID`=130; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Criaturas' WHERE `ID`=135; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Dinero' WHERE `ID`=140; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Clasificación de Arenas' WHERE `ID`=152; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Festival Lunar' WHERE `ID`=160; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Arena' WHERE `ID`=165; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Cocina' WHERE `ID`=170; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Habilidades Secundarias' WHERE `ID`=178; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Reinos del Este' WHERE `ID`=14777; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Clasico' WHERE `ID`=14808; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Clasico' WHERE `ID`=14821; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Clasico' WHERE `ID`=14861; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Clasico' WHERE `ID`=14864; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Misiones' WHERE `ID`=96; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Campos de Batalla' WHERE `ID`=124; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Muertes con Honor' WHERE `ID`=136; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Combate' WHERE `ID`=141; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Consumibles' WHERE `ID`=145; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Campos de Batalla' WHERE `ID`=153; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Pesca' WHERE `ID`=171; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Profesiones' WHERE `ID`=173; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='El Amor Está en el Aire' WHERE `ID`=187; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Kalimdor' WHERE `ID`=14778; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Valle de Alterac' WHERE `ID`=14801; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='La Legión Ardiente' WHERE `ID`=14805; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='La Legión Ardiente' WHERE `ID`=14822; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='La Legión Ardiente' WHERE `ID`=14862; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='La Legión Ardiente' WHERE `ID`=14865; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Exploración' WHERE `ID`=97; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Mazmorras' WHERE `ID`=125; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Muertes' WHERE `ID`=128; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Golpes de Gracia' WHERE `ID`=137; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Reputación' WHERE `ID`=147; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Mundo' WHERE `ID`=154; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Jardin Noble' WHERE `ID`=159; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Primeros Auxilios' WHERE `ID`=172; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Terrallende' WHERE `ID`=14779; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Cuenca de Arathi' WHERE `ID`=14802; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Mazmorra del Rey Exánime' WHERE `ID`=14806; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='La Ira del Rey Exánime' WHERE `ID`=14823; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='La Ira del Rey Exánime' WHERE `ID`=14863; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='La Ira del Rey Exánime' WHERE `ID`=14866; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Jugador vs. Jugador' WHERE `ID`=95; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Muertes' WHERE `ID`=122; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Mundo' WHERE `ID`=126; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Semana de los niños' WHERE `ID`=163; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Equipo' WHERE `ID`=191; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Rasganorte' WHERE `ID`=14780; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Ojo de la Tormenta' WHERE `ID`=14803; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Mazmorra Heroica del Rey Exánime' WHERE `ID`=14921; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Secretos de Ulduar' WHERE `ID`=14963; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Resurrección' WHERE `ID`=127; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Misiones' WHERE `ID`=133; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Festividad de Verano' WHERE `ID`=161; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Mazmorras y Bandas' WHERE `ID`=168; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Grito de Guerra' WHERE `ID`=14804; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Banda de 10 jugadores' WHERE `ID`=14922; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Llamada del Cruzado' WHERE `ID`=15021; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Fiesta de la Cerveza' WHERE `ID`=162; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Profesiones' WHERE `ID`=169; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Mazmorras y Bandas' WHERE `ID`=14807; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Playa de los Ancestros' WHERE `ID`=14881; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Banda de 25 jugadores' WHERE `ID`=14923; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='La Caida del Rey Exánime' WHERE `ID`=15062; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Habilidades' WHERE `ID`=132; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Halloween' WHERE `ID`=158; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Reputación' WHERE `ID`=201; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Conquista del Invierno' WHERE `ID`=14901; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Secretos de Ulduar 10 Jugadores' WHERE `ID`=14961; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Viaje' WHERE `ID`=134; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Eventos Mundiales' WHERE `ID`=155; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Secretos de Ulduar 25 Jugadores' WHERE `ID`=14962; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Generosidad del Peregrino' WHERE `ID`=14981; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Isla de Conquista' WHERE `ID`=15003; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Proezas de Fuerza' WHERE `ID`=81; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Social' WHERE `ID`=131; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Velo de Invierno' WHERE `ID`=156; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Llamada del Cruzado 10 Jugadores' WHERE `ID`=15001; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Estadisticas' WHERE `ID`=1; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Jugador vs. Jugador' WHERE `ID`=21; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Torneo Argenta' WHERE `ID`=14941; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='Llamada del Cruzado 25 Jugadores' WHERE `ID`=15002; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='La Caida del Rey Exánime 10 Jugadores' WHERE `ID`=15041; +UPDATE `achievement_category_dbc` SET `Name_Lang_esES`='La Caida del Rey Exánime 25 Jugadores' WHERE `ID`=15042; \ No newline at end of file diff --git a/sql/custom/mangos/0004_dualspec_mangos.sql b/sql/custom/mangos/0004_dualspec_mangos.sql new file mode 100644 index 0000000000..319e7b2558 --- /dev/null +++ b/sql/custom/mangos/0004_dualspec_mangos.sql @@ -0,0 +1,42 @@ +DELETE FROM creature_template WHERE entry IN (100601); +INSERT INTO creature_template (Entry, Name, SubName, MinLevel, MaxLevel, ModelId1, ModelId2, ModelId3, ModelId4, Faction, Scale, Family, CreatureType, InhabitType, RegenerateStats, RacialLeader, NpcFlags, UnitFlags, DynamicFlags, ExtraFlags, CreatureTypeFlags, SpeedWalk, SpeedRun, Detection, CallForHelp, Pursuit, Leash, Timeout, UnitClass, `Rank`, HealthMultiplier, PowerMultiplier, DamageMultiplier, DamageVariance, ArmorMultiplier, ExperienceMultiplier, MinLevelHealth, MaxLevelHealth, MinLevelMana, MaxLevelMana, MinMeleeDmg, MaxMeleeDmg, MinRangedDmg, MaxRangedDmg, Armor, MeleeAttackPower, RangedAttackPower, MeleeBaseAttackTime, RangedBaseAttackTime, DamageSchool, MinLootGold, MaxLootGold, LootId, PickpocketLootId, SkinningLootId, KillCredit1, KillCredit2, MechanicImmuneMask, SchoolImmuneMask, ResistanceHoly, ResistanceFire, ResistanceNature, ResistanceFrost, ResistanceShadow, ResistanceArcane, PetSpellDataId, MovementType, TrainerType, TrainerSpell, TrainerClass, TrainerRace, TrainerTemplateId, VendorTemplateId, EquipmentTemplateId, GossipMenuId, AIName, ScriptName) VALUES +('100601','Dual Specialization Crystal','','1','1','11659','11659','11659','11659','35','1','0','7','3','3','0','1','0','0','0','0','1','1.14286','20','0','0','0','0','1','0','1','1','1','1','1','1','42','42','0','0','2','2','0','0','7','11','0','2000','2000','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','','npc_custom_dualspec'); + +DELETE FROM creature WHERE id IN (100601); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100601, 0, 1, -8988.56, 849.754, 29.621, 2.27687, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100601, 1, 1, 1471.63, -4216.46, 58.9942, 4.35778, 25, 25, 0, 0); + +SET @STRING_ENTRY := 12000; +DELETE FROM `mangos_string` WHERE `entry` BETWEEN @STRING_ENTRY+0 AND @STRING_ENTRY+21; +INSERT INTO `mangos_string` (`entry`, `content_default`) VALUES +(@STRING_ENTRY+0, 'Dual Specialization allows you to quickly switch between two different talent builds and action bars.'), +(@STRING_ENTRY+1, 'The cost is '), +(@STRING_ENTRY+2, 'Change my specialization.'), +(@STRING_ENTRY+3, 'You don\'t have enough money to unlock dual specialization.'), +(@STRING_ENTRY+4, 'Are you sure you would like to activate your second specialization for '), +(@STRING_ENTRY+5, ' gold? This will allow you to quickly switch between two different talent builds and action bars.'), +(@STRING_ENTRY+6, 'You are already on that spec.'), +(@STRING_ENTRY+7, '[Activate] '), +(@STRING_ENTRY+8, '[Rename] '), +(@STRING_ENTRY+9, 'Unnamed'), +(@STRING_ENTRY+10, ' (active)'), +(@STRING_ENTRY+11, 'You are in combat and cannot switch spec at this time.'), +(@STRING_ENTRY+12, 'You must exit the instance to re-spec.'), +(@STRING_ENTRY+13, 'You are mounted and cannot switch spec at this time.'), +(@STRING_ENTRY+14, 'You are dead and cannot switch spec at this time.'), +(@STRING_ENTRY+15, 'You must unlock the dual talent specialization feature first.'), +(@STRING_ENTRY+16, 'Current level is less than ten - you cannot switch spec at this time.'), +(@STRING_ENTRY+17, '|cFF0041FF[Activate] '), +(@STRING_ENTRY+18, '|cFFCC00CC[Rename] '), +(@STRING_ENTRY+19, 'Are you sure you wish to switch your talent specialization? It will log you out from the world.'), +(@STRING_ENTRY+20, 'Purchase Dual Talent Specialization'), +(@STRING_ENTRY+21, 'Can not create dual spec item!'); + +SET @TEXT_ID := 50700; +DELETE FROM `npc_text` WHERE `ID` BETWEEN @TEXT_ID AND @TEXT_ID+1; +INSERT INTO `npc_text` (`ID`, `text0_0`) VALUES +(@TEXT_ID, 'Dual Specialization allows you to quickly switch between two different talent builds and action bars. It requires logout to switch specialization.'), +(@TEXT_ID+1, 'Dual Specialization allows you to quickly switch between two different talent builds and action bars. It requires logout to switch specialization.'); + +-- item +UPDATE `item_template` SET `ScriptName`='item_custom_dualspec' WHERE `entry`=17731; \ No newline at end of file diff --git a/sql/custom/mangos/0005_targetdummy_mangos.sql b/sql/custom/mangos/0005_targetdummy_mangos.sql new file mode 100644 index 0000000000..8159c9f6e3 --- /dev/null +++ b/sql/custom/mangos/0005_targetdummy_mangos.sql @@ -0,0 +1,25 @@ +DELETE FROM creature_template WHERE entry IN (100700, 100800, 100801); +INSERT INTO creature_template (Entry, Name, SubName, MinLevel, MaxLevel, ModelId1, ModelId2, ModelId3, ModelId4, Faction, Scale, Family, CreatureType, InhabitType, RegenerateStats, RacialLeader, NpcFlags, UnitFlags, DynamicFlags, ExtraFlags, CreatureTypeFlags, SpeedWalk, SpeedRun, Detection, CallForHelp, Pursuit, Leash, Timeout, UnitClass, `Rank`, HealthMultiplier, PowerMultiplier, DamageMultiplier, DamageVariance, ArmorMultiplier, ExperienceMultiplier, MinLevelHealth, MaxLevelHealth, MinLevelMana, MaxLevelMana, MinMeleeDmg, MaxMeleeDmg, MinRangedDmg, MaxRangedDmg, Armor, MeleeAttackPower, RangedAttackPower, MeleeBaseAttackTime, RangedBaseAttackTime, DamageSchool, MinLootGold, MaxLootGold, LootId, PickpocketLootId, SkinningLootId, KillCredit1, KillCredit2, MechanicImmuneMask, SchoolImmuneMask, ResistanceHoly, ResistanceFire, ResistanceNature, ResistanceFrost, ResistanceShadow, ResistanceArcane, PetSpellDataId, MovementType, TrainerType, TrainerSpell, TrainerClass, TrainerRace, TrainerTemplateId, VendorTemplateId, EquipmentTemplateId, GossipMenuId, AIName, ScriptName) VALUES +(100700, 'Grandmaster''s Training Dummy', '', 63, 63, 16074, 0, 0, 0, 7, 2.2, 0, 9, 3, 0, 0, 0, 32768, 0, 64, 4, 1, 1.14286, 20, 0, 0, 0, 0, 1, 3, 1000, 1, 1, 1, 1, 1, 7888000, 7888000, 0, 0, 0, 0, 0, 0, 4700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8585235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 'npc_target_dummy'), +(100800, 'Advanced Training Dummy', '', 61, 61, 3019, 0, 0, 0, 7, 1.8, 0, 9, 3, 3, 0, 0, 0, 0, 64, 0, 1, 1.14286, 20, 0, 0, 0, 0, 1, 1, 200, 1, 1, 1, 1, 1, 1397200, 1397200, 0, 0, 2, 2, 0, 0, 3700, 0, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 8585235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 'npc_target_dummy'), +(100801, 'Beginner Training Dummy', '', 60, 60, 3019, 0, 0, 0, 7, 1.2, 0, 9, 3, 3, 0, 0, 0, 0, 64, 0, 1, 1.14286, 20, 0, 0, 0, 0, 1, 0, 200, 1, 1, 1, 1, 1, 1397200, 1397200, 0, 0, 2, 2, 0, 0, 3000, 0, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 8585235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 'npc_target_dummy'); + +DELETE FROM creature WHERE id IN (100700, 100800, 100801); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100700, 1, 1, -1416.73, -76.4812, 158.526, 1.04029, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100700, 0, 1, 1768.18, 352.747, -62.2883, 4.4141, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100700, 1, 1, 2151.77, -4632.69, 50.4428, 3.59001, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100700, 1, 1, 10000.5, 2258.5, 1329.8, 3.99055, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100700, 0, 1, -4910.96, -1151.19, 501.449, 3.09082, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100700, 0, 1, -8795.57, 363.195, 101.021, 5.41645, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100800, 1, 1, -1422.05, -72.171, 157.476, 0.693121, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100800, 0, 1, 1780.49, 333.857, -62.2898, 2.37992, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100800, 1, 1, 2152.63, -4639.71, 50.3799, 3.22873, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100800, 1, 1, 10006.2, 2252.62, 1329.75, 3.99449, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100800, 0, 1, -4936.94, -1138.88, 501.46, 6.12402, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100800, 0, 1, -8789.85, 367.182, 101.021, 5.33006, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100801, 1, 1, -1410.51, -78.656, 158.935, 1.37014, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100801, 0, 1, 1783.91, 341.82, -62.3358, 2.8865, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100801, 1, 1, 2148.06, -4627.23, 50.9305, 3.88454, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100801, 1, 1, 9993.03, 2260.47, 1330.81, 4.48136, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100801, 0, 1, -4938.02, -1148.3, 501.497, 6.14209, 25, 25, 0, 0); +INSERT INTO `creature` (`id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecsmin`, `spawntimesecsmax`, `spawndist`, `MovementType`) VALUES (100801, 0, 1, -8800.62, 358.618, 101.021, 5.44787, 25, 25, 0, 0); diff --git a/sql/custom/mangos/0006_immersive.sql b/sql/custom/mangos/0006_immersive.sql new file mode 100644 index 0000000000..bdcdd174e6 --- /dev/null +++ b/sql/custom/mangos/0006_immersive.sql @@ -0,0 +1,183 @@ +-- backup +drop table if exists creature_template_backup; +create table creature_template_backup +SELECT * FROM creature_template where TrainerTemplateId <> 0 and TrainerClass <> 0 and GossipMenuId = 0; + +-- cleanup +DELETE FROM `gossip_menu` where entry > 60000; +DELETE FROM `gossip_menu_option` where menu_id in (60000, 60001, 60002, 60003, 60004); +DELETE FROM `gossip_menu_option` where option_text = 'Manage attributes'; +DELETE FROM `locales_gossip_menu_option` where menu_id in (60000, 60001, 60002, 60003, 60004); +DELETE FROM `locales_gossip_menu_option` where option_text_loc6 = 'Administrat atributos'; + +SET @TEXT_ID := 50800; +DELETE FROM `npc_text` WHERE `ID` in (@TEXT_ID, @TEXT_ID+1, @TEXT_ID+2); +INSERT INTO `npc_text` (`ID`, `text0_0`) VALUES +(@TEXT_ID, "Ah, $N, it appears our journey has brought us to this crucial point. Let's review your attributes to ensure you are prepared for the challenges ahead."), +(@TEXT_ID+1, "Are you sure you want to unlearn all your attributes?"), +(@TEXT_ID+2, "Interesting... Reducing your attributes will make your experience more challenging. Are you sure?"); + +DELETE FROM `locales_npc_text` WHERE `entry` in (@TEXT_ID, @TEXT_ID+1, @TEXT_ID+2); +INSERT INTO `locales_npc_text` (`entry`, `text0_0_loc6`) VALUES +(@TEXT_ID, "Ah, $N, parece que nuestro viaje nos ha llevado a este punto crucial. Revisemos tus atributos para asegurarnos de que estas preparados para los desafíos que se avecinan."), +(@TEXT_ID+1, "¿Estás seguro de que quieres reiniciar todos tus atributos?"), +(@TEXT_ID+2, "Interesante... Reducir tus atributos hará que tu experiencia sea más desafiante. ¿Estas seguro?"); + +-- root menu +INSERT INTO `gossip_menu` (`entry`, `text_id`, `script_id`, `condition_id`) +VALUES (60001, @TEXT_ID, 0, 0); + +INSERT INTO `gossip_menu` (`entry`, `text_id`, `script_id`, `condition_id`) +VALUES (60002, @TEXT_ID+1, 0, 0); + +INSERT INTO `gossip_menu` (`entry`, `text_id`, `script_id`, `condition_id`) +VALUES (60003, @TEXT_ID+2, 0, 0); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60001, 0, 7, 'Check Current Attributes', 18, 16, 0, 0, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60001, 0, 'Ver Atributos Actuales', ''); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60001, 1, 3, 'Improve Strength', 18, 16, 0, 1, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60001, 1, 'Mejorar Fuerza', ''); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60001, 2, 3, 'Improve Agility', 18, 16, 0, 2, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60001, 2, 'Mejorar Agilidad', ''); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60001, 3, 3, 'Improve Stamina', 18, 16, 0, 3, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60001, 3, 'Mejorar Aguante', ''); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60001, 4, 3, 'Improve Intellect', 18, 16, 0, 4, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60001, 4, 'Mejorar Intelecto', ''); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60001, 5, 3, 'Improve Spirit', 18, 16, 0, 5, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60001, 5, 'Mejorar Espiritu', ''); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60001, 7, 4, 'Unlearn all attributes', 1, 16, 60002, 0, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60001, 7, 'Reiniciar todos los atributos', ''); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60002, 6, 4, 'I am sure I do want to unlearn all attributes', 18, 16, 0, 6, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60002, 6, 'Estoy seguro que quiero reiniciar mis atributos', ''); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60001, 8, 4, 'Temporary reduce attributes', 1, 16, 60003, 0, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60001, 8, 'Reducir los atributos temporalmente', ''); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60003, 11, 3, 'Remove Reduction', 18, 16, 0, 11, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60003, 11, 'Quitar reducción de atributos', ''); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60003, 12, 3, 'Reduce by 90%', 18, 16, 0, 12, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60003, 12, 'Reducir un 90%', ''); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60003, 14, 3, 'Reduce by 70%', 18, 16, 0, 14, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60003, 14, 'Reducir un 70%', ''); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60003, 16, 3, 'Reduce by 50%', 18, 16, 0, 16, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60003, 16, 'Reducir un 50%', ''); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60003, 17, 3, 'Reduce by 30%', 18, 16, 0, 18, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60003, 17, 'Reducir un 30%', ''); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60003, 18, 3, 'Reduce by 20%', 18, 16, 0, 18, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60003, 18, 'Reducir un 20%', ''); + +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, +`box_money`, `box_text`, `condition_id`) VALUES (60003, 19, 3, 'Reduce by 10%', 18, 16, 0, 20, 0, 0, 0, '', 0); + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +VALUES (60003, 19, 'Reducir un 10%', ''); + +-- add to trainers +INSERT INTO `gossip_menu_option` +(`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, `box_money`, `box_text`, `condition_id`) +SELECT menu_id, 61, 3, 'Manage attributes', 1, 16, 60001, 0, 0, 0, 0, '', 0 FROM `gossip_menu_option` where `action_menu_id` = 4461; + +INSERT INTO `locales_gossip_menu_option` (`menu_id`, `id`, `option_text_loc6`, `box_text_loc6`) +SELECT menu_id, id, 'Administrat atributos', '' FROM `gossip_menu_option` WHERE option_text = 'Manage attributes'; + +-- add missing gossips to trainers +update creature_template set GossipMenuId = 4537 where entry in (select entry from creature_template_backup); +update gossip_menu_option set condition_id = 0 where action_menu_id = 4461; + +-- chat messages +DELETE FROM `mangos_string` where entry in (12100, 12101, 12102, 12103, 12104, 12105, 12106, 12107, 12108, 12109, 12110, 12111, 12112, 12113, 12114, 12115, 12116, 12117, 12118, 12119, 12120, 12121); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12118, '|cffffff00You have %u attribute points available.\n|cffffff00Speak with your class trainer to use them.', '|cffffff00Tienes %u puntos de atributos disponibles.\n|cffffff00Habla con tu entrenador de clase para usarlos.'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12119, '%s gained', '%s ganado'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12120, '%u reputation gained', '%u reputación ganada'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12121, '%s completed', '%s completado'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12117, '%u experience gained', '%u experiencia ganada'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12116, '|cffffff00Your attributes have been reset. You have |cff00ff00%u|cffffff00 points available', '|cffffff00Se han reiniciado tus atributos. Tienes |cff00ff00%u|cffffff00 puntos disponibles'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12115, '|cffffff00You have gained |cff00ff00+%u |cffffff00%s. |cff00ff00%u|cffffff00 points left. (|cffffff00%s|cffffff00 spent)', '|cffffff00Has ganado |cff00ff00+%u |cffffff00%s. |cff00ff00%u|cffffff00 puntos restantes. (|cffffff00%s|cffffff00 gastados)'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12114, '|cffffa0a0You don\'t have enough gold', '|cffffa0a0No tienes suficiente dinero'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12113, '|cffffa0a0You have no attribute points left', '|cffffa0a0No tienes mas puntos de atributos'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12112, '(disabled)', '(deshabilitado)'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12111, '|cffffff00You have changed your attribute modifier to |cff00ff00%s|cffffff00', '|cffffff00Has cambiado el modificador de atributos a |cff00ff00%s|cffffff00'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12110, '|cffffff00Suggested Attributes:\n%s', '|cffffff00Atributos Sugeridos:\n%s'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12109, '(|cff00ff00%s|cffffff00 modifier)', '(|cff00ff00%s|cffffff00 modificador)'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12108, '|cffffff00Current Attributes:\n%s', '|cffffff00Atributos Actuales:\n%s'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12107, '|cffffff00Points Available: |cff00ff00%u|cffffff00 (Cost: |cffffff00%s|cffffff00)', '|cffffff00Puntos disponibles: |cff00ff00%u|cffffff00 (Coste: |cffffff00%s|cffffff00)'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12106, 'Spirit', 'Espiritu'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12105, 'Intellect', 'Intelecto'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12104, 'Stamina', 'Aguante'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12103, 'Agility', 'Agilidad'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12102, 'Strength', 'Fuerza'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12101, '|cffffff00You have lost these attributes: %s', '|cffffff00Has perdido estos atributos: %s'); +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc6`) VALUES (12100, '|cffffff00Manual attributes are disabled.', '|cffffff00Los atributos manuales están deshabilitados.'); diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ba37dd1c3e..52ca754527 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -29,3 +29,7 @@ endif() if(BUILD_LOGIN_SERVER) add_subdirectory(realmd) endif() + +if(BUILD_IKE3_BOTS) +add_subdirectory(modules) +endif() diff --git a/src/game/AI/ScriptDevAI/ScriptDevAIMgr.cpp b/src/game/AI/ScriptDevAI/ScriptDevAIMgr.cpp index 4707dcfa75..8bc147d9c4 100644 --- a/src/game/AI/ScriptDevAI/ScriptDevAIMgr.cpp +++ b/src/game/AI/ScriptDevAI/ScriptDevAIMgr.cpp @@ -235,6 +235,31 @@ bool ScriptDevAIMgr::OnGossipSelect(Player* pPlayer, GameObject* pGo, uint32 uiS return pTempScript->pGossipSelectGO(pPlayer, pGo, uiSender, uiAction); } +bool ScriptDevAIMgr::OnGossipSelect(Player* pPlayer, Item* pItem, uint32 uiSender, uint32 uiAction, const char* code) +{ + debug_log("SD2: Item Gossip selection, sender: %u, action: %u", uiSender, uiAction); + + Script* pTempScript = GetScript(pItem->GetProto()->ScriptId); + + if (!pTempScript) + return false; + + if (code) + { + if (!pTempScript->pGossipSelectItemWithCode) + return false; + + pPlayer->GetPlayerMenu()->ClearMenus(); + return pTempScript->pGossipSelectItemWithCode(pPlayer, pItem, uiSender, uiAction, code); + } + + if (!pTempScript->pGossipSelectItem) + return false; + + pPlayer->GetPlayerMenu()->ClearMenus(); + return pTempScript->pGossipSelectItem(pPlayer, pItem, uiSender, uiAction); +} + uint32 ScriptDevAIMgr::GetDialogStatus(const Player* pPlayer, const Creature* pCreature) const { Script* pTempScript = GetScript(pCreature->GetScriptId()); diff --git a/src/game/AI/ScriptDevAI/ScriptDevAIMgr.h b/src/game/AI/ScriptDevAI/ScriptDevAIMgr.h index 8ac4b0cf31..b9140b2962 100644 --- a/src/game/AI/ScriptDevAI/ScriptDevAIMgr.h +++ b/src/game/AI/ScriptDevAI/ScriptDevAIMgr.h @@ -80,8 +80,8 @@ InstanceData* GetNewInstanceScript(Map* map) struct Script { Script() : - pGossipHello(nullptr), pGossipHelloGO(nullptr), pGossipSelect(nullptr), pGossipSelectGO(nullptr), - pGossipSelectWithCode(nullptr), pGossipSelectGOWithCode(nullptr), + pGossipHello(nullptr), pGossipHelloGO(nullptr), pGossipSelect(nullptr), pGossipSelectGO(nullptr), pGossipSelectItem(nullptr), + pGossipSelectWithCode(nullptr), pGossipSelectGOWithCode(nullptr), pGossipSelectItemWithCode(nullptr), pDialogStatusNPC(nullptr), pDialogStatusGO(nullptr), pQuestAcceptNPC(nullptr), pQuestAcceptGO(nullptr), pQuestAcceptItem(nullptr), pQuestRewardedNPC(nullptr), pQuestRewardedGO(nullptr), @@ -96,8 +96,10 @@ struct Script bool (*pGossipHelloGO)(Player*, GameObject*); bool (*pGossipSelect)(Player*, Creature*, uint32, uint32); bool (*pGossipSelectGO)(Player*, GameObject*, uint32, uint32); + bool (*pGossipSelectItem)(Player*, Item*, uint32, uint32); bool (*pGossipSelectWithCode)(Player*, Creature*, uint32, uint32, const char*); bool (*pGossipSelectGOWithCode)(Player*, GameObject*, uint32, uint32, const char*); + bool (*pGossipSelectItemWithCode)(Player*, Item*, uint32, uint32, const char*); uint32(*pDialogStatusNPC)(const Player*, const Creature*); uint32(*pDialogStatusGO)(const Player*, const GameObject*); bool (*pQuestAcceptNPC)(Player*, Creature*, Quest const*); @@ -140,6 +142,7 @@ class ScriptDevAIMgr bool OnGossipHello(Player* pPlayer, GameObject* pGo); bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction, const char* code); bool OnGossipSelect(Player* pPlayer, GameObject* pGo, uint32 uiSender, uint32 uiAction, const char* code); + bool OnGossipSelect(Player* pPlayer, Item* pItem, uint32 sender, uint32 action, const char* code); bool OnQuestAccept(Player* pPlayer, Creature* pCreature, Quest const* pQuest); bool OnQuestAccept(Player* pPlayer, GameObject* pGo, Quest const* pQuest); bool OnQuestAccept(Player* pPlayer, Item* pItem, Quest const* pQuest); diff --git a/src/game/AI/ScriptDevAI/scripts/custom/Transmogrification.cpp b/src/game/AI/ScriptDevAI/scripts/custom/Transmogrification.cpp new file mode 100644 index 0000000000..922fda2364 --- /dev/null +++ b/src/game/AI/ScriptDevAI/scripts/custom/Transmogrification.cpp @@ -0,0 +1,837 @@ +#include "Transmogrification.h" + +Transmogrification* Transmogrification::instance() +{ + static Transmogrification instance; + return &instance; +} + +#ifdef PRESETS +void Transmogrification::PresetTransmog(Player* player, Item* itemTransmogrified, uint32 fakeEntry, uint8 slot) +{ + if (!EnableSets) + return; + if (!player || !itemTransmogrified) + return; + if (slot >= EQUIPMENT_SLOT_END) + return; + if (!CanTransmogrifyItemWithItem(player, itemTransmogrified->GetProto(), sObjectMgr.GetItemPrototype(fakeEntry))) + return; + + // [AZTH] Custom + if (GetFakeEntry(itemTransmogrified->GetObjectGuid())) + DeleteFakeEntry(player, slot, itemTransmogrified); + + SetFakeEntry(player, fakeEntry, itemTransmogrified); // newEntry + itemTransmogrified->SetOwnerGuid(player->GetObjectGuid()); +} + +void Transmogrification::LoadPlayerSets(ObjectGuid pGUID) +{ + for (presetData::iterator it = presetById[pGUID].begin(); it != presetById[pGUID].end(); ++it) + it->second.clear(); + + presetById[pGUID].clear(); + + presetByName[pGUID].clear(); + + auto result = CharacterDatabase.PQuery("SELECT `PresetID`, `SetName`, `SetData` FROM `custom_transmogrification_sets` WHERE Owner = %u", pGUID.GetCounter()); + if (result) + { + do + { + uint8 PresetID = (*result)[0].GetUInt8(); + std::string SetName = (*result)[1].GetString(); + std::istringstream SetData((*result)[2].GetString()); + while (SetData.good()) + { + uint32 slot; + uint32 entry; + SetData >> slot >> entry; + if (SetData.fail()) + break; + if (slot >= EQUIPMENT_SLOT_END) + { + sLog.outError("Item entry (FakeEntry: %u, player: %s, slot: %u, presetId: %u) has invalid slot, ignoring.", entry, std::to_string(pGUID).c_str(), slot, uint32(PresetID)); + continue; + } + if (sObjectMgr.GetItemPrototype(entry)) + presetById[pGUID][PresetID][slot] = entry; // Transmogrification::Preset(presetName, fakeEntry); + //else + //sLog->outError(LOG_FILTER_SQL, "Item entry (FakeEntry: %u, playerGUID: %u, slot: %u, presetId: %u) does not exist, ignoring.", entry, GUID_LOPART(pGUID), uint32(slot), uint32(PresetID)); + } + + if (!presetById[pGUID][PresetID].empty()) + { + presetByName[pGUID][PresetID] = SetName; + // load all presets anyways + //if (presetByName[pGUID].size() >= GetMaxSets()) + // break; + } + else // should be deleted on startup, so this never runs (shouldnt..) + { + presetById[pGUID].erase(PresetID); + CharacterDatabase.PExecute("DELETE FROM `custom_transmogrification_sets` WHERE Owner = %u AND PresetID = %u", pGUID.GetCounter(), PresetID); + } + } while (result->NextRow()); + } +} + +bool Transmogrification::GetEnableSets() const +{ + return EnableSets; +} +uint8 Transmogrification::GetMaxSets() const +{ + return MaxSets; +} +float Transmogrification::GetSetCostModifier() const +{ + return SetCostModifier; +} +int32 Transmogrification::GetSetCopperCost() const +{ + return SetCopperCost; +} + +void Transmogrification::UnloadPlayerSets(ObjectGuid pGUID) +{ + for (presetData::iterator it = presetById[pGUID].begin(); it != presetById[pGUID].end(); ++it) + it->second.clear(); + presetById[pGUID].clear(); + + presetByName[pGUID].clear(); +} +#endif + +const char* Transmogrification::GetSlotName(uint8 slot, WorldSession* /*session*/) const +{ + switch (slot) + { + case EQUIPMENT_SLOT_HEAD: return "Head";// session->GetAcoreString(LANG_SLOT_NAME_HEAD); + case EQUIPMENT_SLOT_SHOULDERS: return "Shoulders";// session->GetAcoreString(LANG_SLOT_NAME_SHOULDERS); + case EQUIPMENT_SLOT_BODY: return "Shirt";// session->GetAcoreString(LANG_SLOT_NAME_BODY); + case EQUIPMENT_SLOT_CHEST: return "Chest";// session->GetAcoreString(LANG_SLOT_NAME_CHEST); + case EQUIPMENT_SLOT_WAIST: return "Waist";// session->GetAcoreString(LANG_SLOT_NAME_WAIST); + case EQUIPMENT_SLOT_LEGS: return "Legs";// session->GetAcoreString(LANG_SLOT_NAME_LEGS); + case EQUIPMENT_SLOT_FEET: return "Feet";// session->GetAcoreString(LANG_SLOT_NAME_FEET); + case EQUIPMENT_SLOT_WRISTS: return "Wrists";// session->GetAcoreString(LANG_SLOT_NAME_WRISTS); + case EQUIPMENT_SLOT_HANDS: return "Hands";// session->GetAcoreString(LANG_SLOT_NAME_HANDS); + case EQUIPMENT_SLOT_BACK: return "Back";// session->GetAcoreString(LANG_SLOT_NAME_BACK); + case EQUIPMENT_SLOT_MAINHAND: return "Main hand";// session->GetAcoreString(LANG_SLOT_NAME_MAINHAND); + case EQUIPMENT_SLOT_OFFHAND: return "Off hand";// session->GetAcoreString(LANG_SLOT_NAME_OFFHAND); + case EQUIPMENT_SLOT_RANGED: return "Ranged";// session->GetAcoreString(LANG_SLOT_NAME_RANGED); + case EQUIPMENT_SLOT_TABARD: return "Tabard";// session->GetAcoreString(LANG_SLOT_NAME_TABARD); + default: return nullptr; + } +} + +std::string Transmogrification::GetItemIcon(uint32 entry, uint32 width, uint32 height, int x, int y) const +{ + std::ostringstream ss; + ss << "|TInterface"; + const ItemPrototype* temp = sObjectMgr.GetItemPrototype(entry); + const ItemDisplayInfoEntry* dispInfo = nullptr; + if (temp) + { + GameObjectDisplayInfoEntry const* info = sGameObjectDisplayInfoStore.LookupEntry(temp->DisplayInfoID); + dispInfo = sItemStorage.LookupEntry(temp->DisplayInfoID); + if (dispInfo) + //ss << "/ICONS/" << dispInfo->inventoryIcon; + ss << "/ICONS/" << dispInfo->ID; + } + if (!dispInfo) + ss << "/InventoryItems/WoWUnknownItem01"; + ss << ":" << width << ":" << height << ":" << x << ":" << y << "|t"; + return ss.str(); +} + +std::string Transmogrification::GetSlotIcon(uint8 slot, uint32 width, uint32 height, int x, int y) const +{ + std::ostringstream ss; + ss << "|TInterface/PaperDoll/"; + switch (slot) + { + case EQUIPMENT_SLOT_HEAD: ss << "UI-PaperDoll-Slot-Head"; break; + case EQUIPMENT_SLOT_SHOULDERS: ss << "UI-PaperDoll-Slot-Shoulder"; break; + case EQUIPMENT_SLOT_BODY: ss << "UI-PaperDoll-Slot-Shirt"; break; + case EQUIPMENT_SLOT_CHEST: ss << "UI-PaperDoll-Slot-Chest"; break; + case EQUIPMENT_SLOT_WAIST: ss << "UI-PaperDoll-Slot-Waist"; break; + case EQUIPMENT_SLOT_LEGS: ss << "UI-PaperDoll-Slot-Legs"; break; + case EQUIPMENT_SLOT_FEET: ss << "UI-PaperDoll-Slot-Feet"; break; + case EQUIPMENT_SLOT_WRISTS: ss << "UI-PaperDoll-Slot-Wrists"; break; + case EQUIPMENT_SLOT_HANDS: ss << "UI-PaperDoll-Slot-Hands"; break; + case EQUIPMENT_SLOT_BACK: ss << "UI-PaperDoll-Slot-Chest"; break; + case EQUIPMENT_SLOT_MAINHAND: ss << "UI-PaperDoll-Slot-MainHand"; break; + case EQUIPMENT_SLOT_OFFHAND: ss << "UI-PaperDoll-Slot-SecondaryHand"; break; + case EQUIPMENT_SLOT_RANGED: ss << "UI-PaperDoll-Slot-Ranged"; break; + case EQUIPMENT_SLOT_TABARD: ss << "UI-PaperDoll-Slot-Tabard"; break; + default: ss << "UI-Backpack-EmptySlot"; + } + ss << ":" << width << ":" << height << ":" << x << ":" << y << "|t"; + return ss.str(); +} + +std::string Transmogrification::GetItemLink(Item* item, WorldSession* session) const +{ + int loc_idx = session->GetSessionDbLocaleIndex(); + const ItemPrototype* temp = item->GetProto(); + std::string name = temp->Name1; + //if (ItemLocale const* il = sObjectMgr.GetItemLocale(temp->ItemId)) + //ObjectMgr::GetLocaleString(il->Name, loc_idx, name); + + /*if (int32 itemRandPropId = item->GetItemRandomPropertyId()) + { + std::array const* suffix = nullptr; + if (itemRandPropId < 0) + { + if (const ItemRandomPropertiesEntry* itemRandEntry = sItemRandomPropertiesStore.LookupEntry(-itemRandPropId)) + suffix = &itemRandEntry->Name; + } + else + { + if (const ItemRandomPropertiesEntry* itemRandEntry = sItemRandomPropertiesStore.LookupEntry(itemRandPropId)) + suffix = &itemRandEntry->Name; + } + if (suffix) + { + std::string_view test((*suffix)[(name != temp->Name1) ? loc_idx : DEFAULT_LOCALE]); + if (!test.empty()) + { + name += ' '; + name += test; + } + } + }*/ + + std::ostringstream oss; + oss << "|c" << std::hex << ItemQualityColors[temp->Quality] << std::dec << + "|Hitem:" << temp->ItemId << ":" << + item->GetEnchantmentId(PERM_ENCHANTMENT_SLOT) << ":" << + item->GetEnchantmentId(PROP_ENCHANTMENT_SLOT_0) << ":" << + item->GetEnchantmentId(PROP_ENCHANTMENT_SLOT_1) << ":" << + item->GetEnchantmentId(PROP_ENCHANTMENT_SLOT_2) << ":" << + item->GetEnchantmentId(PROP_ENCHANTMENT_SLOT_3) << ":" << + item->GetItemRandomPropertyId() << ":" << item->GetItemSuffixFactor() << ":" << + item->GetOwner()->GetLevel() << "|h[" << name << "]|h|r"; + + return oss.str(); +} + +std::string Transmogrification::GetItemLink(uint32 entry, WorldSession* session) const +{ + const ItemPrototype* temp = sObjectMgr.GetItemPrototype(entry); + int loc_idx = session->GetSessionDbLocaleIndex(); + std::string name = temp->Name1; + std::ostringstream oss; + oss << "|c" << std::hex << ItemQualityColors[temp->Quality] << std::dec << + "|Hitem:" << entry << ":0:0:0:0:0:0:0:0:0|h[" << name << "]|h|r"; + + return oss.str(); +} + +uint32 Transmogrification::GetFakeEntry(const ObjectGuid itemGUID) const +{ + const auto itr = dataMap.find(itemGUID); + if (itr == dataMap.end()) return 0; + const auto itr2 = entryMap.find(itr->second); + if (itr2 == entryMap.end()) return 0; + const auto itr3 = itr2->second.find(itemGUID); + if (itr3 == itr2->second.end()) return 0; + return itr3->second; +} + +void Transmogrification::UpdateItem(Player* player, Item* item) const +{ + if (item->IsEquipped()) + player->SetVisibleItemSlot(item->GetSlot(), item); +} + +void Transmogrification::DeleteFakeEntry(Player* player, uint8 /*slot*/, Item* itemTransmogrified) +{ + //if (!GetFakeEntry(item)) + // return false; + DeleteFakeFromDB(itemTransmogrified->GetObjectGuid()); + UpdateItem(player, itemTransmogrified); +} + +void Transmogrification::SetFakeEntry(Player* player, uint32 newEntry, Item* itemTransmogrified) +{ + const ObjectGuid itemGUID = itemTransmogrified->GetObjectGuid(); + entryMap[player->GetObjectGuid()][itemGUID] = newEntry; + dataMap[itemGUID] = player->GetObjectGuid(); + CharacterDatabase.PExecute("REPLACE INTO custom_transmogrification (GUID, FakeEntry, Owner) VALUES (%u, %u, %u)", itemGUID.GetCounter(), newEntry, player->GetObjectGuid()); + UpdateItem(player, itemTransmogrified); +} + +TransmogAcoreStrings Transmogrification::Transmogrify(Player* player, ObjectGuid TransmogrifierGUID, uint8 slot, /*uint32 newEntry, */bool no_cost) +{ + if (slot >= EQUIPMENT_SLOT_END) + { + sLog.outError("Transmogrify wrong slot: %u", slot); + return LANG_ERR_TRANSMOG_INVALID_SLOT; + } + + Item* itemTransmogrifier = nullptr; + // guid of the transmogrifier item, if it's not 0 + if (TransmogrifierGUID) + { + itemTransmogrifier = player->GetItemByGuid(TransmogrifierGUID); + if (!itemTransmogrifier) + { + return LANG_ERR_TRANSMOG_MISSING_SRC_ITEM; + } + } + + // transmogrified item + Item* itemTransmogrified = player->GetItemByPos(INVENTORY_SLOT_BAG_0, slot); + if (!itemTransmogrified) + { + return LANG_ERR_TRANSMOG_MISSING_DEST_ITEM; + } + + if (!itemTransmogrifier) // reset look newEntry + { + // Custom + DeleteFakeEntry(player, slot, itemTransmogrified); + } + else + { + if (!CanTransmogrifyItemWithItem(player, itemTransmogrified->GetProto(), itemTransmogrifier->GetProto())) + return LANG_ERR_TRANSMOG_INVALID_ITEMS; + + if (sTransmogrification->GetFakeEntry(itemTransmogrified->GetObjectGuid()) == itemTransmogrifier->GetEntry()) + return LANG_ERR_TRANSMOG_SAME_DISPLAYID; + + if (!no_cost) + { + if (RequireToken) + { + if (player->HasItemCount(TokenEntry, TokenAmount)) + player->DestroyItemCount(TokenEntry, TokenAmount, true); + else + return LANG_ERR_TRANSMOG_NOT_ENOUGH_TOKENS; + } + + uint32 cost = GetSpecialPrice(itemTransmogrified->GetProto()); + cost *= ScaledCostModifier; + cost += CopperCost; + + if (cost) // 0 cost if reverting look + { + if (player->GetMoney() < cost) + return LANG_ERR_TRANSMOG_NOT_ENOUGH_MONEY; + player->ModifyMoney(-(int)cost); + } + } + + // Custom + SetFakeEntry(player, itemTransmogrifier->GetEntry(), itemTransmogrified); // newEntry + itemTransmogrified->SetOwnerGuid(player->GetObjectGuid()); + + if (itemTransmogrifier->GetProto()->Bonding == BIND_WHEN_EQUIPPED || itemTransmogrifier->GetProto()->Bonding == BIND_WHEN_USE) + itemTransmogrifier->SetBinding(true); + + itemTransmogrifier->SetOwnerGuid(player->GetObjectGuid()); + } + + return LANG_ERR_TRANSMOG_OK; +} + +bool Transmogrification::CanTransmogrifyItemWithItem(Player* player, ItemPrototype const* target, ItemPrototype const* source) const +{ + if (!target || !source) + return false; + + if (source->ItemId == target->ItemId) + return false; + + if (source->DisplayInfoID == target->DisplayInfoID) + return false; + + if (source->Class != target->Class) + return false; + + if (source->InventoryType == INVTYPE_BAG || + source->InventoryType == INVTYPE_RELIC || + source->InventoryType == INVTYPE_FINGER || + source->InventoryType == INVTYPE_TRINKET || + source->InventoryType == INVTYPE_AMMO || + source->InventoryType == INVTYPE_QUIVER) + return false; + + if (target->InventoryType == INVTYPE_BAG || + target->InventoryType == INVTYPE_RELIC || + target->InventoryType == INVTYPE_FINGER || + target->InventoryType == INVTYPE_TRINKET || + target->InventoryType == INVTYPE_AMMO || + target->InventoryType == INVTYPE_QUIVER) + return false; + + if (!SuitableForTransmogrification(player, target) || !SuitableForTransmogrification(player, source)) + return false; + + if (IsRangedWeapon(source->Class, source->SubClass) != IsRangedWeapon(target->Class, target->SubClass)) + return false; + + if (source->InventoryType != target->InventoryType) + { + if (source->Class == ITEM_CLASS_WEAPON && !(IsRangedWeapon(target->Class, target->SubClass) || + // [AZTH] Yehonal: fixed weapon check + (target->InventoryType == INVTYPE_WEAPON || target->InventoryType == INVTYPE_2HWEAPON || target->InventoryType == INVTYPE_WEAPONMAINHAND || target->InventoryType == INVTYPE_WEAPONOFFHAND) + && (source->InventoryType == INVTYPE_WEAPON || source->InventoryType == INVTYPE_2HWEAPON || source->InventoryType == INVTYPE_WEAPONMAINHAND || source->InventoryType == INVTYPE_WEAPONOFFHAND) + )) + return false; + if (source->Class == ITEM_CLASS_ARMOR && + !((source->InventoryType == INVTYPE_CHEST || source->InventoryType == INVTYPE_ROBE) && + (target->InventoryType == INVTYPE_CHEST || target->InventoryType == INVTYPE_ROBE))) + return false; + } + + return true; +} + +bool Transmogrification::SuitableForTransmogrification(Player* player, ItemPrototype const* proto) +{ + if (!player || !proto) + return false; + + if (proto->Class != ITEM_CLASS_ARMOR && + proto->Class != ITEM_CLASS_WEAPON) + return false; + + // Don't allow fishing poles + if (proto->Class == ITEM_CLASS_WEAPON && proto->SubClass == ITEM_SUBCLASS_WEAPON_FISHING_POLE) + return false; + + // Check skill requirements + if (proto->RequiredSkill != 0) + { + if (player->GetSkillValue(static_cast(proto->RequiredSkill)) == 0) + return false; + + if (player->GetSkillValue(static_cast(proto->RequiredSkill)) < proto->RequiredSkillRank) + return false; + } + + // Check spell requirements + if (proto->RequiredSpell != 0 && !player->HasSpell(proto->RequiredSpell)) + return false; + + // Check level requirements + if (player->GetLevel() < proto->RequiredLevel) + return false; + + return true; +} + +uint32 Transmogrification::GetSpecialPrice(ItemPrototype const* proto) const +{ + uint32 cost = proto->SellPrice ? proto->SellPrice : 100; + return cost; +} + +std::string Transmogrification::FormatPrice(uint32 copper) const +{ + std::ostringstream out; + if (!copper) + { + out << "0"; + return out.str(); + } + + uint32 gold = uint32(copper / 10000); + copper -= (gold * 10000); + uint32 silver = uint32(copper / 100); + copper -= (silver * 100); + + bool space = false; + if (gold > 0) + { + out << gold << "g"; + space = true; + } + + if (silver > 0 && gold < 50) + { + if (space) out << " "; + out << silver << "s"; + space = true; + } + + if (copper > 0 && gold < 10) + { + if (space) out << " "; + out << copper << "c"; + } + + return out.str(); +} + +bool Transmogrification::IsRangedWeapon(uint32 Class, uint32 SubClass) const +{ + return Class == ITEM_CLASS_WEAPON && ( + SubClass == ITEM_SUBCLASS_WEAPON_BOW || + SubClass == ITEM_SUBCLASS_WEAPON_GUN || + SubClass == ITEM_SUBCLASS_WEAPON_CROSSBOW); +} + +bool Transmogrification::IsAllowed(uint32 entry) const +{ + return Allowed.find(entry) != Allowed.end(); +} + +bool Transmogrification::IsNotAllowed(uint32 entry) const +{ + return NotAllowed.find(entry) != NotAllowed.end(); +} + +bool Transmogrification::IsAllowedQuality(uint32 quality) const +{ + switch (quality) + { + case ITEM_QUALITY_POOR: return AllowPoor; + case ITEM_QUALITY_NORMAL: return AllowCommon; + case ITEM_QUALITY_UNCOMMON: return AllowUncommon; + case ITEM_QUALITY_RARE: return AllowRare; + case ITEM_QUALITY_EPIC: return AllowEpic; + case ITEM_QUALITY_LEGENDARY: return AllowLegendary; + case ITEM_QUALITY_ARTIFACT: return AllowArtifact; + default: return false; + } +} + +void Transmogrification::LoadConfig(bool reload) +{ +#ifdef PRESETS + EnableSetInfo = true; + SetNpcText = 601084; + + EnableSets = true; + MaxSets = 10; + SetCostModifier = 3.0f; + SetCopperCost = 0; + + if (MaxSets > MAX_OPTIONS) + MaxSets = MAX_OPTIONS; + + if (reload) // dont store presets for nothing + { + sWorld.ExecuteForAllSessions([this](WorldSession& worldSession) + { + if (Player* player = worldSession.GetPlayer()) + { + // skipping session check + UnloadPlayerSets(player->GetObjectGuid()); + if (GetEnableSets()) + LoadPlayerSets(player->GetObjectGuid()); + } + }); + } +#endif + + EnableTransmogInfo = true; + TransmogNpcText = 601083; + TransmogNpcSelectLookText = 601085; + TransmogNpcConfirmText = 601086; + TransmogNpcAlreadyText = 601087; + TransmogNpcAlreadyAltText = 601088; + + std::istringstream issAllowed(""); + std::istringstream issNotAllowed(""); + while (issAllowed.good()) + { + uint32 entry; + issAllowed >> entry; + if (issAllowed.fail()) + break; + Allowed.insert(entry); + } + while (issNotAllowed.good()) + { + uint32 entry; + issNotAllowed >> entry; + if (issNotAllowed.fail()) + break; + NotAllowed.insert(entry); + } + + ScaledCostModifier = 1.0f; + CopperCost = 0; + + RequireToken = false; + TokenEntry = 49426; + TokenAmount = 1; + + AllowPoor = true; + AllowCommon = true; + AllowUncommon = true; + AllowRare = true; + AllowEpic = true; + AllowLegendary = true; + AllowArtifact = true; + + AllowMixedArmorTypes = false; + AllowMixedWeaponTypes = false; + AllowFishingPoles = false; + + IgnoreReqRace = false; + IgnoreReqClass = false; + IgnoreReqSkill = false; + IgnoreReqSpell = false; + IgnoreReqLevel = false; + IgnoreReqEvent = false; + IgnoreReqStats = false; + + if (!sObjectMgr.GetItemPrototype(TokenEntry)) + { + //sLog->outError(LOG_FILTER_SERVER_LOADING, "Transmogrification.TokenEntry (%u) does not exist. Using default.", TokenEntry); + TokenEntry = 49426; + } +} + +void Transmogrification::DeleteFakeFromDB(const ObjectGuid itemLowGuid) +{ + const ObjectGuid itemGUID = itemLowGuid; + + if (dataMap.find(itemGUID) != dataMap.end()) + { + if (entryMap.find(dataMap[itemGUID]) != entryMap.end()) + entryMap[dataMap[itemGUID]].erase(itemGUID); + dataMap.erase(itemGUID); + } + + CharacterDatabase.PExecute("DELETE FROM custom_transmogrification WHERE GUID = %u", itemLowGuid.GetCounter()); +} + +void Transmogrification::CleanUp(Player* pPlayer) +{ + auto result = CharacterDatabase.PQuery("SELECT GUID, FakeEntry FROM custom_transmogrification WHERE Owner = %u", pPlayer->GetObjectGuid()); + if (result) + { + do + { + const auto itemGUID = ObjectGuid(HIGHGUID_ITEM, (*result)[0].GetUInt32()); + if (!pPlayer->GetItemByGuid(itemGUID)) + CharacterDatabase.PExecute("DELETE FROM custom_transmogrification WHERE GUID = %u", itemGUID.GetCounter()); + } while (result->NextRow()); + } +} + +void Transmogrification::BuildTransmogMap(Player* pPlayer) +{ + const ObjectGuid playerGUID = pPlayer->GetObjectGuid(); + entryMap.erase(playerGUID); + auto result = CharacterDatabase.PQuery("SELECT GUID, FakeEntry FROM custom_transmogrification WHERE Owner = %u", pPlayer->GetObjectGuid()); + if (result) + { + do + { + ObjectGuid itemGUID = ObjectGuid(HIGHGUID_ITEM, (*result)[0].GetUInt32()); + const uint32 fakeEntry = (*result)[1].GetUInt32(); + if (sObjectMgr.GetItemPrototype(fakeEntry)) + { + dataMap[itemGUID] = playerGUID; + entryMap[playerGUID][itemGUID] = fakeEntry; + } + } while (result->NextRow()); + } +} + +bool Transmogrification::Refresh(Player* pPlayer, Item* pEquippedItem) +{ + //if (!pPlayer || !pEquippedItem) + // return false; + + //if (pPlayer->AI()) + // return false; + // + bool ok = false; + //const uint8 slot = pEquippedItem->GetSlot(); + //// We need the equipped item's GUID to compared with the ones saved in the DB for each player + //const ObjectGuid EquippedItemGUID = pEquippedItem->GetObjectGuid(); + + //// If we find an equipped item that has a Transmogrifier then we need to reapply it + //if (const uint32 Transmogrifier = GetFakeEntry(EquippedItemGUID)) + //{ + // // We need to search for the Transmogrifier in all the bags and bank + // if (Item* pItemTransmogrifier = pPlayer->GetItemByEntry(Transmogrifier)) + // { + // const uint16 VisibleBase = PLAYER_VISIBLE_ITEM_1_0 + slot * MAX_VISIBLE_ITEM_OFFSET; + // if (pPlayer->GetUInt32Value(VisibleBase + 0) != pItemTransmogrifier->GetEntry()) + // { + // pPlayer->SetVisibleItemSlot(slot, pItemTransmogrifier); + // ok = true; + // } + // } + // else + // { + // // If we couldn't find the Transmogrifier then we need to delete it from the DB + // DeleteFakeEntry(pPlayer, slot, pEquippedItem); + // const uint16 VisibleBase = PLAYER_VISIBLE_ITEM_1_0 + slot * MAX_VISIBLE_ITEM_OFFSET; + // if (pPlayer->GetUInt32Value(VisibleBase + 0) != pEquippedItem->GetEntry()) + // pPlayer->SetVisibleItemSlot(slot, pEquippedItem); + // } + //} + + return ok; +} + +bool Transmogrification::RevertAll(Player* pPlayer) +{ + if (!pPlayer) + return false; + + bool ok = false; + //if (!pPlayer->RevertTransmogSlots.empty()) + //{ + // for (const auto slot : pPlayer->RevertTransmogSlots) + // { + // // If we find an equipped item then let's check if it's transmogrified + // if (Item* pEquippedItem = pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, slot)) + // { + // const uint16 VisibleBase = PLAYER_VISIBLE_ITEM_1_0 + slot * MAX_VISIBLE_ITEM_OFFSET; + // if (pPlayer->GetUInt32Value(VisibleBase + 0) != pEquippedItem->GetEntry()) + // { + // pPlayer->SetVisibleItemSlot(slot, pEquippedItem); + // ok = true; + // } + // } + // } + // pPlayer->RevertTransmogSlots.clear(); + //} + //else + //{ + // // Check all the equipped items to see if they have a Transmogrifier + // for (uint8 slot = EQUIPMENT_SLOT_START; slot < EQUIPMENT_SLOT_END; ++slot) + // { + // // If we find an equipped item then let's check if it's transmogrified + // if (Item* pEquippedItem = pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, slot)) + // { + // const uint16 VisibleBase = PLAYER_VISIBLE_ITEM_1_0 + slot * MAX_VISIBLE_ITEM_OFFSET; + // if (pPlayer->GetUInt32Value(VisibleBase + 0) != pEquippedItem->GetEntry()) + // { + // pPlayer->SetVisibleItemSlot(slot, pEquippedItem); + // ok = true; + // } + // } + // } + //} + + return ok; +} + +bool Transmogrification::ApplyAll(Player* pPlayer) +{ + //if (!pPlayer) + // return false; + + bool ok = false; + //// Check all the equipped items to see if they have a Transmogrifier + //for (uint8 slot = EQUIPMENT_SLOT_START; slot < EQUIPMENT_SLOT_END; ++slot) + //{ + // // If we find an equipped item then let's check if it's transmogrified + // if (Item* pEquippedItem = pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, slot)) + // { + // // We need the equipped item's GUID to compare with the ones saved in the DB for each player + // const ObjectGuid EquippedItemGUID = pEquippedItem->GetObjectGuid(); + + // // If we find an equipped item that has a Transmogrifier then we need to reapply it + // if (const uint32 Transmogrifier = GetFakeEntry(EquippedItemGUID)) + // { + // // We need to search for the Transmogrifier in all the bags and bank + // if (Item* pItemTransmogrifier = pPlayer->GetItemByEntry(Transmogrifier)) + // { + // const uint16 VisibleBase = PLAYER_VISIBLE_ITEM_1_0 + slot * MAX_VISIBLE_ITEM_OFFSET; + // if (pPlayer->GetUInt32Value(VisibleBase + 0) != pItemTransmogrifier->GetEntry()) + // { + // pPlayer->SetVisibleItemSlot(slot, pItemTransmogrifier); + // ok = true; + // } + // } + // else + // { + // // If we couldn't find the Transmogrifier then we need to delete it from the DB + // DeleteFakeEntry(pPlayer, slot, pEquippedItem); + // const uint16 VisibleBase = PLAYER_VISIBLE_ITEM_1_0 + slot * MAX_VISIBLE_ITEM_OFFSET; + // if (pPlayer->GetUInt32Value(VisibleBase + 0) != pEquippedItem->GetEntry()) + // pPlayer->SetVisibleItemSlot(slot, pEquippedItem); + // } + // } + // } + //} + + return ok; +} + +void Transmogrification::OnLogout(Player* player) +{ + if (!player) + return; + + const ObjectGuid pGUID = player->GetObjectGuid(); + for (transmog2Data::const_iterator it = entryMap[pGUID].begin(); it != entryMap[pGUID].end(); ++it) + dataMap.erase(it->first); + entryMap.erase(pGUID); +} + +bool Transmogrification::GetEnableTransmogInfo() const +{ + return EnableTransmogInfo; +} +uint32 Transmogrification::GetTransmogNpcText() const +{ + return TransmogNpcText; +} +uint32 Transmogrification::GetNpcSelectLookText() const +{ + return TransmogNpcSelectLookText; +} +uint32 Transmogrification::GetSetNpcConfirmText() const +{ + return TransmogNpcConfirmText; +} +uint32 Transmogrification::GetSetNpcAlreadyText() const +{ + return TransmogNpcAlreadyText; +} +uint32 Transmogrification::GetSetNpcAlreadyAltText() const +{ + return TransmogNpcAlreadyAltText; +} +bool Transmogrification::GetEnableSetInfo() const +{ + return EnableSetInfo; +} +uint32 Transmogrification::GetSetNpcText() const +{ + return SetNpcText; +} +float Transmogrification::GetScaledCostModifier() const +{ + return ScaledCostModifier; +} +int32 Transmogrification::GetCopperCost() const +{ + return CopperCost; +} +bool Transmogrification::GetRequireToken() const +{ + return RequireToken; +} +uint32 Transmogrification::GetTokenEntry() const +{ + return TokenEntry; +} +uint32 Transmogrification::GetTokenAmount() const +{ + return TokenAmount; +} +bool Transmogrification::GetAllowMixedArmorTypes() const +{ + return AllowMixedArmorTypes; +}; +bool Transmogrification::GetAllowMixedWeaponTypes() const +{ + return AllowMixedWeaponTypes; +}; \ No newline at end of file diff --git a/src/game/AI/ScriptDevAI/scripts/custom/Transmogrification.h b/src/game/AI/ScriptDevAI/scripts/custom/Transmogrification.h new file mode 100644 index 0000000000..e1b78d088f --- /dev/null +++ b/src/game/AI/ScriptDevAI/scripts/custom/Transmogrification.h @@ -0,0 +1,189 @@ +#ifndef DEF_TRANSMOGRIFICATION_H +#define DEF_TRANSMOGRIFICATION_H + +#include "World/World.h" + +#include + +#define PRESETS // comment this line to disable preset feature totally +#define MAX_OPTIONS 25 // do not alter + +class Item; +class Player; +class WorldSession; +struct ItemPrototype; + +enum TransmogAcoreStrings // Language.h might have same entries, appears when executing SQL, change if needed +{ + LANG_ERR_TRANSMOG_OK = 11100, // change this + LANG_ERR_TRANSMOG_INVALID_SLOT, + LANG_ERR_TRANSMOG_INVALID_SRC_ENTRY, + LANG_ERR_TRANSMOG_MISSING_SRC_ITEM, + LANG_ERR_TRANSMOG_MISSING_DEST_ITEM, + LANG_ERR_TRANSMOG_INVALID_ITEMS, + LANG_ERR_TRANSMOG_NOT_ENOUGH_MONEY, + LANG_ERR_TRANSMOG_NOT_ENOUGH_TOKENS, + LANG_ERR_TRANSMOG_SAME_DISPLAYID, + + LANG_ERR_UNTRANSMOG_OK, + LANG_ERR_UNTRANSMOG_SINGLE_OK, + LANG_ERR_UNTRANSMOG_NO_TRANSMOGS, + LANG_ERR_UNTRANSMOG_SINGLE_NO_TRANSMOGS, + + +#ifdef PRESETS + LANG_PRESET_ERR_INVALID_NAME, +#endif + LANG_CMD_TRANSMOG_SHOW, + LANG_CMD_TRANSMOG_HIDE, + LANG_CMD_TRANSMOG_ADD_UNSUITABLE, + LANG_CMD_TRANSMOG_ADD_FORBIDDEN, + LANG_MENU_NO_SUITABLE_ITEMS, + LANG_MENU_REMOVE, + LANG_MENU_BACK, + LANG_MENU_MAIN_MENU, + LANG_MENU_BEFORE, + LANG_MENU_AFTER, + LANG_MENU_COST_IS, + LANG_MENU_CONFIRM, + LANG_MENU_YOUR_ITEM, + LANG_MENU_TRANSMOG, + LANG_MENU_POSSIBLE_LOOK, + LANG_MENU_OPTIONS, +}; + +class Transmogrification +{ +public: + static Transmogrification* instance(); + + typedef std::unordered_map transmog2Data; + typedef std::unordered_map transmogMap; + transmogMap entryMap; // entryMap[pGUID][iGUID] = entry + + typedef std::unordered_map transmogData; + transmogData dataMap; // dataMap[iGUID] = pGUID + +#ifdef PRESETS + bool EnableSetInfo; + uint32 SetNpcText; + + typedef std::map slotMap; + typedef std::map presetData; + typedef std::unordered_map presetDataMap; + presetDataMap presetById; // presetById[pGUID][presetID][slot] = entry + typedef std::map presetIdMap; + typedef std::unordered_map presetNameMap; + presetNameMap presetByName; // presetByName[pGUID][presetID] = presetName + + void PresetTransmog(Player* player, Item* itemTransmogrified, uint32 fakeEntry, uint8 slot); + + bool EnableSets; + uint8 MaxSets; + float SetCostModifier; + int32 SetCopperCost; + + bool GetEnableSets() const; + uint8 GetMaxSets() const; + float GetSetCostModifier() const; + int32 GetSetCopperCost() const; + + void LoadPlayerSets(ObjectGuid pGUID); + void UnloadPlayerSets(ObjectGuid pGUID); +#endif + + bool EnableTransmogInfo; + uint32 TransmogNpcText; + uint32 TransmogNpcSelectLookText; + uint32 TransmogNpcConfirmText; + uint32 TransmogNpcAlreadyText; + uint32 TransmogNpcAlreadyAltText; + + // Use IsAllowed() and IsNotAllowed() + // these are thread unsafe, but assumed to be static data so it should be safe + std::set Allowed; + std::set NotAllowed; + + float ScaledCostModifier; + int32 CopperCost; + + bool RequireToken; + uint32 TokenEntry; + uint32 TokenAmount; + + bool AllowPoor; + bool AllowCommon; + bool AllowUncommon; + bool AllowRare; + bool AllowEpic; + bool AllowLegendary; + bool AllowArtifact; + bool AllowHeirloom; + + bool AllowMixedArmorTypes; + bool AllowMixedWeaponTypes; + bool AllowFishingPoles; + + bool IgnoreReqRace; + bool IgnoreReqClass; + bool IgnoreReqSkill; + bool IgnoreReqSpell; + bool IgnoreReqLevel; + bool IgnoreReqEvent; + bool IgnoreReqStats; + + bool IsAllowed(uint32 entry) const; + bool IsNotAllowed(uint32 entry) const; + bool IsAllowedQuality(uint32 quality) const; + bool IsRangedWeapon(uint32 Class, uint32 SubClass) const; + + void LoadConfig(bool reload); // thread unsafe + + std::string GetItemIcon(uint32 entry, uint32 width, uint32 height, int x, int y) const; + std::string GetSlotIcon(uint8 slot, uint32 width, uint32 height, int x, int y) const; + const char* GetSlotName(uint8 slot, WorldSession* session) const; + std::string GetItemLink(Item* item, WorldSession* session) const; + std::string GetItemLink(uint32 entry, WorldSession* session) const; + uint32 GetFakeEntry(ObjectGuid itemGUID) const; + void UpdateItem(Player* player, Item* item) const; + void DeleteFakeEntry(Player* player, uint8 slot, Item* itemTransmogrified); + void SetFakeEntry(Player* player, uint32 newEntry, Item* itemTransmogrified); + + TransmogAcoreStrings Transmogrify(Player* player, ObjectGuid itemTransmogrifier, uint8 slot, /*uint32 newEntry, */bool no_cost = false); + bool CanTransmogrifyItemWithItem(Player* player, ItemPrototype const* target, ItemPrototype const* source) const; + static bool SuitableForTransmogrification(Player* player, ItemPrototype const* proto); + // bool CanBeTransmogrified(Item const* item); + // bool CanTransmogrify(Item const* item); + uint32 GetSpecialPrice(ItemPrototype const* proto) const; + std::string FormatPrice(uint32 copper) const; + + void DeleteFakeFromDB(ObjectGuid itemLowGuid); + static void CleanUp(Player* pPlayer); + void BuildTransmogMap(Player* pPlayer); + bool Refresh(Player* pPlayer, Item* pEquippedItem); + static bool RevertAll(Player* pPlayer); + bool ApplyAll(Player* pPlayer); + void OnLogout(Player* player); + float GetScaledCostModifier() const; + int32 GetCopperCost() const; + + bool GetRequireToken() const; + uint32 GetTokenEntry() const; + uint32 GetTokenAmount() const; + + bool GetAllowMixedArmorTypes() const; + bool GetAllowMixedWeaponTypes() const; + + // Config + bool GetEnableTransmogInfo() const; + uint32 GetTransmogNpcText() const; + bool GetEnableSetInfo() const; + uint32 GetSetNpcText() const; + uint32 GetNpcSelectLookText() const; + uint32 GetSetNpcConfirmText() const; + uint32 GetSetNpcAlreadyText() const; + uint32 GetSetNpcAlreadyAltText() const; +}; +#define sTransmogrification Transmogrification::instance() + +#endif diff --git a/src/game/AI/ScriptDevAI/scripts/custom/item_custom_dualspec.cpp b/src/game/AI/ScriptDevAI/scripts/custom/item_custom_dualspec.cpp new file mode 100644 index 0000000000..8739594558 --- /dev/null +++ b/src/game/AI/ScriptDevAI/scripts/custom/item_custom_dualspec.cpp @@ -0,0 +1,188 @@ +/* +* ScriptData +* SDName: item_custom_dualspec +* SD%Complete: 100 +* SDComment: +* EndScriptData +*/ + +#include "AI/ScriptDevAI/ScriptDevAIMgr.h" +#include "AI/ScriptDevAI/include/sc_gossip.h" + +enum +{ + TEXT_ID_GEM = 50701, +}; + +enum DualSpecMessages +{ + DUAL_SPEC_DESCRIPTION = 12000, + DUAL_SPEC_COST_IS, + DUAL_SPEC_CHANGE_MY_SPEC, + DUAL_SPEC_NO_GOLD_UNLOCK, + DUAL_SPEC_ARE_YOU_SURE_BEGIN, + DUAL_SPEC_ARE_YOU_SURE_END, + DUAL_SPEC_ALREADY_ON_SPEC, + DUAL_SPEC_ACTIVATE, + DUAL_SPEC_RENAME, + DUAL_SPEC_UNNAMED, + DUAL_SPEC_ACTIVE, + DUAL_SPEC_ERR_COMBAT, + DUAL_SPEC_ERR_INSTANCE, + DUAL_SPEC_ERR_MOUNT, + DUAL_SPEC_ERR_DEAD, + DUAL_SPEC_ERR_UNLOCK, + DUAL_SPEC_ERR_LEVEL, + DUAL_SPEC_ACTIVATE_COLOR, + DUAL_SPEC_RENAME_COLOR, + DUAL_SPEC_ARE_YOU_SURE_SWITCH, + DUAL_SPEC_PURCHASE, +}; + +bool GossipItemUse_custom_dualspec(Player* pPlayer, Item* pItem, const SpellCastTargets& /*pTargets*/) +{ + pPlayer->GetPlayerMenu()->ClearMenus(); + + if (pPlayer->IsInCombat()) + { + const std::string msg = pPlayer->GetSession()->GetMangosString(DUAL_SPEC_ERR_COMBAT); + pPlayer->GetSession()->SendNotification(msg.c_str()); + return false; + } + + if (pPlayer->GetMap()->IsBattleGround() || pPlayer->GetMap()->IsDungeon() || pPlayer->GetMap()->IsRaid()) + { + const std::string msg = pPlayer->GetSession()->GetMangosString(DUAL_SPEC_ERR_INSTANCE); + pPlayer->GetSession()->SendNotification(msg.c_str()); + return false; + } + + if (pPlayer->IsFlying() || pPlayer->IsTaxiFlying() || pPlayer->IsMounted()) + { + const std::string msg = pPlayer->GetSession()->GetMangosString(DUAL_SPEC_ERR_MOUNT); + pPlayer->GetSession()->SendNotification(msg.c_str()); + return false; + } + + if (pPlayer->IsDead()) + { + const std::string msg = pPlayer->GetSession()->GetMangosString(DUAL_SPEC_ERR_DEAD); + pPlayer->GetSession()->SendNotification(msg.c_str()); + return false; + } + + if (pPlayer->GetSpecsCount() < MAX_TALENT_SPECS) + { + const std::string msg = pPlayer->GetSession()->GetMangosString(DUAL_SPEC_ERR_UNLOCK); + pPlayer->GetSession()->SendNotification(msg.c_str()); + return false; + } + + if (pPlayer->GetLevel() < 10) + { + const std::string msg = pPlayer->GetSession()->GetMangosString(DUAL_SPEC_ERR_LEVEL); + pPlayer->GetSession()->SendNotification(msg.c_str()); + return false; + } + + uint8 specCount = pPlayer->GetSpecsCount(); + for (uint8 i = 0; i < specCount; ++i) + { + std::stringstream specNameString; + specNameString << pPlayer->GetSession()->GetMangosString(DUAL_SPEC_ACTIVATE_COLOR); + if (pPlayer->GetSpecName(i) == "NULL") + specNameString << pPlayer->GetSession()->GetMangosString(DUAL_SPEC_UNNAMED); + else + specNameString << pPlayer->GetSpecName(i); + if (i == pPlayer->GetActiveSpec()) + specNameString << pPlayer->GetSession()->GetMangosString(DUAL_SPEC_ACTIVE); + else + specNameString << ""; + + specNameString << "|r"; + + const std::string msg = pPlayer->GetSession()->GetMangosString(DUAL_SPEC_ARE_YOU_SURE_SWITCH); + pPlayer->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_BATTLE, specNameString.str(), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + (1 + i), msg, 0, false); + } + + for (uint8 i = 0; i < specCount; ++i) + { + std::stringstream specNameString; + specNameString << pPlayer->GetSession()->GetMangosString(DUAL_SPEC_RENAME_COLOR); + if (pPlayer->GetSpecName(i) == "NULL") + specNameString << pPlayer->GetSession()->GetMangosString(DUAL_SPEC_UNNAMED); + else + specNameString << pPlayer->GetSpecName(i); + if (i == pPlayer->GetActiveSpec()) + specNameString << pPlayer->GetSession()->GetMangosString(DUAL_SPEC_ACTIVE); + + specNameString << "|r"; + + pPlayer->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_BATTLE, specNameString.str(), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + (10 + i), "", 0, true); + } + + pPlayer->SEND_GOSSIP_MENU(TEXT_ID_GEM, pItem->GetObjectGuid()); + return true; +} + +bool GossipSelectItem_custom_dualspec(Player* pPlayer, Item* pItem, uint32 sender, uint32 action) +{ + switch (action) + { + case GOSSIP_ACTION_INFO_DEF + 1: + { + if (pPlayer->GetActiveSpec() == 0) + { + pPlayer->CLOSE_GOSSIP_MENU(); + const std::string msg = pPlayer->GetSession()->GetMangosString(DUAL_SPEC_ALREADY_ON_SPEC); + pPlayer->GetSession()->SendNotification(msg.c_str()); + break; + } + pPlayer->ActivateSpec(0); + break; + } + case GOSSIP_ACTION_INFO_DEF + 2: + { + if (pPlayer->GetActiveSpec() == 1) + { + pPlayer->CLOSE_GOSSIP_MENU(); + const std::string msg = pPlayer->GetSession()->GetMangosString(DUAL_SPEC_ALREADY_ON_SPEC); + pPlayer->GetSession()->SendNotification(msg.c_str()); + break; + } + pPlayer->ActivateSpec(1); + break; + } + case GOSSIP_ACTION_INFO_DEF + 999: + { + pPlayer->CLOSE_GOSSIP_MENU(); + break; + } + default: + break; + } + + return true; +} + +bool GossipSelectItemWithCode_custom_dualspec(Player* pPlayer, Item* pItem, uint32 sender, uint32 action, const char* sCode) +{ + if (action == GOSSIP_ACTION_INFO_DEF + 10) + pPlayer->SetSpecName(0, sCode); + else if (action == GOSSIP_ACTION_INFO_DEF + 11) + pPlayer->SetSpecName(1, sCode); + + pPlayer->CLOSE_GOSSIP_MENU(); + return true; +} + +void AddSC_item_custom_dualspec() +{ + Script* pNewScript; + pNewScript = new Script; + pNewScript->Name = "item_custom_dualspec"; + pNewScript->pItemUse = &GossipItemUse_custom_dualspec; + pNewScript->pGossipSelectItem = &GossipSelectItem_custom_dualspec; + pNewScript->pGossipSelectItemWithCode = &GossipSelectItemWithCode_custom_dualspec; + pNewScript->RegisterSelf(false); +} diff --git a/src/game/AI/ScriptDevAI/scripts/custom/npc_custom_dualspec.cpp b/src/game/AI/ScriptDevAI/scripts/custom/npc_custom_dualspec.cpp new file mode 100644 index 0000000000..da35e609dd --- /dev/null +++ b/src/game/AI/ScriptDevAI/scripts/custom/npc_custom_dualspec.cpp @@ -0,0 +1,221 @@ +/* +* ScriptData +* SDName: npc_custom_dualspec +* SD%Complete: 100 +* SDComment: +* EndScriptData +*/ + +#include "AI/ScriptDevAI/ScriptDevAIMgr.h" +#include "AI/ScriptDevAI/include/sc_gossip.h" +#include "World.h" + +enum +{ + TEXT_ID_CRYSTAL = 50700, +}; + +enum DualSpecMessages +{ + DUAL_SPEC_DESCRIPTION = 12000, + DUAL_SPEC_COST_IS, + DUAL_SPEC_CHANGE_MY_SPEC, + DUAL_SPEC_NO_GOLD_UNLOCK, + DUAL_SPEC_ARE_YOU_SURE_BEGIN, + DUAL_SPEC_ARE_YOU_SURE_END, + DUAL_SPEC_ALREADY_ON_SPEC, + DUAL_SPEC_ACTIVATE, + DUAL_SPEC_RENAME, + DUAL_SPEC_UNNAMED, + DUAL_SPEC_ACTIVE, + DUAL_SPEC_ERR_COMBAT, + DUAL_SPEC_ERR_INSTANCE, + DUAL_SPEC_ERR_MOUNT, + DUAL_SPEC_ERR_DEAD, + DUAL_SPEC_ERR_UNLOCK, + DUAL_SPEC_ERR_LEVEL, + DUAL_SPEC_ACTIVATE_COLOR, + DUAL_SPEC_RENAME_COLOR, + DUAL_SPEC_ARE_YOU_SURE_SWITCH, + DUAL_SPEC_PURCHASE, + DUAL_SPEC_ERR_ITEM_CREATE, +}; + +bool Add_dualspec_item(Player* player) +{ + if (!player) + return false; + + WorldSession* session = player->GetSession(); + + uint32 itemId = sWorld.getConfig(CONFIG_UINT32_DUAL_SPEC_ITEM_ID); + ItemPrototype const* pProto = ObjectMgr::GetItemPrototype(itemId); + if (!pProto) + { + session->SendAreaTriggerMessage("%s", DUAL_SPEC_ERR_ITEM_CREATE); + return false; + } + + uint32 count = 1; + + // Adding items + uint32 noSpaceForCount = 0; + + // check space and find places + ItemPosCountVec dest; + uint8 msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, itemId, count, &noSpaceForCount); + if (msg != EQUIP_ERR_OK) // convert to possible store amount + count -= noSpaceForCount; + + if (count == 0 || dest.empty()) // can't add any + { + session->SendAreaTriggerMessage("%s", DUAL_SPEC_ERR_ITEM_CREATE); + return false; + } + + Item* item = player->StoreNewItem(dest, itemId, true, Item::GenerateItemRandomPropertyId(itemId)); + + if (count > 0 && item) + { + player->SendNewItem(item, count, false, true); + } + + if (noSpaceForCount > 0) + session->SendAreaTriggerMessage("%s", DUAL_SPEC_ERR_ITEM_CREATE); + + return true; +} + +bool GossipHello_custom_dualspec(Player* player, Creature* creature) +{ + const std::string purchase = player->GetSession()->GetMangosString(DUAL_SPEC_PURCHASE); + const std::string areYouSure = player->GetSession()->GetMangosString(DUAL_SPEC_ARE_YOU_SURE_BEGIN) + std::to_string(uint32(sWorld.getConfig(CONFIG_UINT32_DUAL_SPEC_COST) / 10000)) + player->GetSession()->GetMangosString(DUAL_SPEC_ARE_YOU_SURE_END); + const std::string changeSpec = player->GetSession()->GetMangosString(DUAL_SPEC_CHANGE_MY_SPEC); + uint8 specCount = player->GetSpecsCount(); + if (specCount < MAX_TALENT_SPECS) + { + // Display cost + const std::string costIs = player->GetSession()->GetMangosString(DUAL_SPEC_COST_IS) + std::to_string(uint32(sWorld.getConfig(CONFIG_UINT32_DUAL_SPEC_COST) / 10000)) + " g"; + player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_MONEY_BAG, purchase, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 0, areYouSure, sWorld.getConfig(CONFIG_UINT32_DUAL_SPEC_COST), false); + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, costIs, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 0); + } + else + { + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, changeSpec, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); + if (!player->GetItemCount(sWorld.getConfig(CONFIG_UINT32_DUAL_SPEC_ITEM_ID), true)) + Add_dualspec_item(player); + } + + player->SEND_GOSSIP_MENU(TEXT_ID_CRYSTAL, creature->GetObjectGuid()); + return true; +} + +bool GossipSelect_custom_dualspec(Player* player, Creature* creature, uint32 sender, uint32 action) +{ + switch (action) + { + case GOSSIP_ACTION_INFO_DEF + 0: + { + if (player->GetMoney() >= sWorld.getConfig(CONFIG_UINT32_DUAL_SPEC_COST)) + { + player->ModifyMoney(-int32(sWorld.getConfig(CONFIG_UINT32_DUAL_SPEC_COST))); + player->SetSpecsCount(player->GetSpecsCount() + 1); + GossipSelect_custom_dualspec(player, creature, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); + Add_dualspec_item(player); + } + else + { + const std::string msg = player->GetSession()->GetMangosString(DUAL_SPEC_NO_GOLD_UNLOCK); + player->GetSession()->SendNotification(msg.c_str()); + } + break; + } + case GOSSIP_ACTION_INFO_DEF + 1: + { + if (player->GetActiveSpec() == 0) + { + player->CLOSE_GOSSIP_MENU(); + const std::string msg = player->GetSession()->GetMangosString(DUAL_SPEC_ALREADY_ON_SPEC); + player->GetSession()->SendNotification(msg.c_str()); + GossipSelect_custom_dualspec(player, creature, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); + break; + } + player->ActivateSpec(0); + break; + } + case GOSSIP_ACTION_INFO_DEF + 2: + { + if (player->GetActiveSpec() == 1) + { + player->CLOSE_GOSSIP_MENU(); + const std::string msg = player->GetSession()->GetMangosString(DUAL_SPEC_ALREADY_ON_SPEC); + player->GetSession()->SendNotification(msg.c_str()); + GossipSelect_custom_dualspec(player, creature, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); + break; + } + player->ActivateSpec(1); + break; + } + case GOSSIP_ACTION_INFO_DEF + 5: + { + uint8 specCount = player->GetSpecsCount(); + for (uint8 i = 0; i < specCount; ++i) + { + std::stringstream specNameString; + specNameString << player->GetSession()->GetMangosString(DUAL_SPEC_ACTIVATE); + if (player->GetSpecName(i) == "NULL") + specNameString << player->GetSession()->GetMangosString(DUAL_SPEC_UNNAMED); + else + specNameString << player->GetSpecName(i); + if (i == player->GetActiveSpec()) + specNameString << player->GetSession()->GetMangosString(DUAL_SPEC_ACTIVE); + else + specNameString << ""; + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, specNameString.str(), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + (1 + i)); + } + + for (uint8 i = 0; i < specCount; ++i) + { + std::stringstream specNameString; + specNameString << player->GetSession()->GetMangosString(DUAL_SPEC_RENAME); + if (player->GetSpecName(i) == "NULL") + specNameString << player->GetSession()->GetMangosString(DUAL_SPEC_UNNAMED); + else + specNameString << player->GetSpecName(i); + if (i == player->GetActiveSpec()) + specNameString << player->GetSession()->GetMangosString(DUAL_SPEC_ACTIVE); + else + specNameString << ""; + player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_TALK, specNameString.str(), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + (10 + i), "", 0, true); + } + player->SEND_GOSSIP_MENU(TEXT_ID_CRYSTAL, creature->GetObjectGuid()); + break; + } + } + return true; +} + +bool GossipSelectWithCode_custom_dualspec(Player* player, Creature* creature, uint32 sender, uint32 action, const char* sCode) +{ + std::string strCode = sCode; + CharacterDatabase.escape_string(strCode); + + if (action == GOSSIP_ACTION_INFO_DEF + 10) + player->SetSpecName(0, strCode.c_str()); + else if (action == GOSSIP_ACTION_INFO_DEF + 11) + player->SetSpecName(1, strCode.c_str()); + + player->CLOSE_GOSSIP_MENU(); + GossipSelect_custom_dualspec(player, creature, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); + return true; +} + +void AddSC_npc_custom_dualspec() +{ + Script* pNewScript = new Script; + pNewScript->Name = "npc_custom_dualspec"; + pNewScript->pGossipHello = &GossipHello_custom_dualspec; + pNewScript->pGossipSelect = &GossipSelect_custom_dualspec; + pNewScript->pGossipSelectWithCode = &GossipSelectWithCode_custom_dualspec; + pNewScript->RegisterSelf(); +} diff --git a/src/game/AI/ScriptDevAI/scripts/custom/npc_target_dummy.cpp b/src/game/AI/ScriptDevAI/scripts/custom/npc_target_dummy.cpp new file mode 100644 index 0000000000..91e71473cd --- /dev/null +++ b/src/game/AI/ScriptDevAI/scripts/custom/npc_target_dummy.cpp @@ -0,0 +1,118 @@ + +struct npc_target_dummyAI : public Scripted_NoMovementAI +{ + npc_target_dummyAI(Creature* creature) : Scripted_NoMovementAI(creature) { Reset(); } + + std::unordered_map attackers; + std::map m_damageMap; + + time_t m_combatStartTime; + time_t m_combatEndTime; + + uint32 m_uiCombatTimer; + + void Reset() override + { + attackers.clear(); + + m_uiCombatTimer = 2000; + SetCombatMovement(false); + SetReactState(REACT_PASSIVE); + } + + void Aggro(Unit* who) override + { + m_damageMap.clear(); + m_combatStartTime = time(nullptr); + m_combatEndTime = 0; + } + + void AddAttackerToList(Unit* pWho) + { + auto itr = attackers.find(pWho->GetObjectGuid()); + if (itr != attackers.end()) + itr->second = std::time(nullptr); + else + attackers.emplace(pWho->GetObjectGuid(), std::time(nullptr)); + } + + void EnterEvadeMode() override + { + m_combatEndTime = time(nullptr); + m_uiCombatTimer = 0; + ScriptedAI::EnterEvadeMode(); + } + + void SpellHit(Unit* caster, const SpellEntry* spellInfo) override + { + if (caster) + AddAttackerToList(caster); + } + + void DamageTaken(Unit* dealer, uint32& uiDamage, DamageEffectType damagetype, SpellEntry const* spellInfo) override + { + if (dealer) + { + m_damageMap[dealer->GetObjectGuid()] += uiDamage; + AddAttackerToList(dealer); + } + } + + void ReceiveEmote(Player* player, uint32 uiEmote) override + { + if (uiEmote == TEXTEMOTE_WAVE) + { + time_t seconds = (m_combatEndTime ? m_combatEndTime : time(nullptr)) - m_combatStartTime; + ChatHandler(player).PSendSysMessage("Player DPS during last combat that lasted %ld seconds: %ld Total Damage: %lu", seconds, m_damageMap[player->GetObjectGuid()] / seconds, m_damageMap[player->GetObjectGuid()]); + } + } + + void UpdateAI(const uint32 uiDiff) override + { + if (m_creature->IsInCombat()) + { + if (m_uiCombatTimer <= uiDiff) + { + for (auto itr = attackers.begin(); itr != attackers.end();) + { + Unit* pAttacker = m_creature->GetMap()->GetUnit(itr->first); + + if (!pAttacker || !pAttacker->IsInWorld()) + { + itr = attackers.erase(itr); + continue; + } + if (itr->second + 5 < std::time(nullptr)) + { + m_creature->_removeAttacker(pAttacker); + m_creature->getThreatManager().modifyThreatPercent(pAttacker, -101.0f); + itr = attackers.erase(itr); + continue; + } + ++itr; + } + + if (m_creature->getThreatManager().isThreatListEmpty()) + EnterEvadeMode(); + + m_uiCombatTimer = 2000; + } + else + m_uiCombatTimer -= uiDiff; + } + } +}; + +UnitAI* GetAI_npc_target_dummy(Creature* creature) +{ + return new npc_target_dummyAI(creature); +} + +void AddSC_TargetDummy() +{ + Script* pNewScript = new Script; + pNewScript = new Script; + pNewScript->Name = "npc_target_dummy"; + pNewScript->GetAI = &GetAI_npc_target_dummy; + pNewScript->RegisterSelf(); +} \ No newline at end of file diff --git a/src/game/AI/ScriptDevAI/scripts/custom/transmog_scripts.cpp b/src/game/AI/ScriptDevAI/scripts/custom/transmog_scripts.cpp new file mode 100644 index 0000000000..39f21e11c6 --- /dev/null +++ b/src/game/AI/ScriptDevAI/scripts/custom/transmog_scripts.cpp @@ -0,0 +1,730 @@ +/* +5.0 +Transmogrification 3.3.5a - Gossip menu +By Rochet2 + +ScriptName for NPC: +Creature_Transmogrify + +TODO: +Make DB saving even better (Deleting)? What about coding? + +Fix the cost formula +-- Too much data handling, use default costs + +Are the qualities right? +Blizzard might have changed the quality requirements. +(TC handles it with stat checks) + +Cant transmogrify rediculus items // Foereaper: would be fun to stab people with a fish +-- Cant think of any good way to handle this easily, could rip flagged items from cata DB +*/ + +#include "Bag.h" +#include "Transmogrification.h" +#define sTransmogrifier sTransmogrification +#define GTS session->GetAcoreString // dropped translation support, no one using? + +void ShowTransmogItems(Player* player, Creature* creature, uint8 slot) // Only checks bags while can use an item from anywhere in inventory +{ + WorldSession* session = player->GetSession(); + Item* oldItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, slot); + if (oldItem) + { + uint32 limit = 0; + uint32 price = sTransmogrifier->GetSpecialPrice(oldItem->GetProto()); + price *= sTransmogrifier->GetScaledCostModifier(); + price += sTransmogrifier->GetCopperCost(); + std::ostringstream ss; + ss << std::endl; + if (sTransmogrifier->GetRequireToken()) + ss << std::endl << std::endl << sTransmogrifier->GetTokenAmount() << " x " << sTransmogrifier->GetItemLink(sTransmogrifier->GetTokenEntry(), session); + + for (uint8 i = INVENTORY_SLOT_ITEM_START; i < INVENTORY_SLOT_ITEM_END; ++i) + { + if (limit > MAX_OPTIONS) + break; + Item* newItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, i); + if (!newItem) + continue; + if (!sTransmogrifier->CanTransmogrifyItemWithItem(player, oldItem->GetProto(), newItem->GetProto())) + continue; + if (sTransmogrifier->GetFakeEntry(oldItem->GetObjectGuid()) == newItem->GetEntry()) + continue; + ++limit; + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, ss.str(), price, false); + } + + for (uint8 i = INVENTORY_SLOT_BAG_START; i < INVENTORY_SLOT_BAG_END; ++i) + { + const auto bag = dynamic_cast(player->GetItemByPos(INVENTORY_SLOT_BAG_0, i)); + if (!bag) + continue; + for (uint32 j = 0; j < bag->GetBagSize(); ++j) + { + if (limit > MAX_OPTIONS) + break; + Item* newItem = player->GetItemByPos(i, j); + if (!newItem) + continue; + if (!sTransmogrifier->CanTransmogrifyItemWithItem(player, oldItem->GetProto(), newItem->GetProto())) + continue; + if (sTransmogrifier->GetFakeEntry(oldItem->GetObjectGuid()) == newItem->GetEntry()) + continue; + ++limit; + player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_MONEY_BAG, sTransmogrifier->GetItemIcon(newItem->GetEntry(), 30, 30, -18, 0) + sTransmogrifier->GetItemLink(newItem, session), slot, newItem->GetObjectGuid().GetCounter(), "Using this item for transmogrify will bind it to you and make it non-refundable and non-tradeable.\nDo you wish to continue?\n\n" + sTransmogrifier->GetItemIcon(newItem->GetEntry(), 40, 40, -15, -10) + sTransmogrifier->GetItemLink(newItem, session) + ss.str(), price, false); + } + } + } + + player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_MONEY_BAG, "Remove transmogrification", EQUIPMENT_SLOT_END + 3, slot, "Remove transmogrification from the slot?", 0, false); + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Update menu", EQUIPMENT_SLOT_END, slot); + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Back...", EQUIPMENT_SLOT_END + 1, 0); + player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetObjectGuid()); +} + +bool OnGossipHello(Player* player, Creature* creature) +{ + WorldSession* session = player->GetSession(); + if (sTransmogrifier->GetEnableTransmogInfo()) + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "How does transmogrification work?", EQUIPMENT_SLOT_END + 9, 0); + for (uint8 slot = EQUIPMENT_SLOT_START; slot < EQUIPMENT_SLOT_END; ++slot) + { + if (const char* slotName = sTransmogrifier->GetSlotName(slot, session)) + { + Item* newItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, slot); + uint32 entry = newItem ? sTransmogrifier->GetFakeEntry(newItem->GetObjectGuid()) : 0; + std::string icon = entry ? sTransmogrifier->GetItemIcon(entry, 30, 30, -18, 0) : sTransmogrifier->GetSlotIcon(slot, 30, 30, -18, 0); + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, slotName, EQUIPMENT_SLOT_END, 0); + } + } +#ifdef PRESETS + //if (sTransmogrifier->GetEnableSets()) + // player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Manage sets", EQUIPMENT_SLOT_END + 4, 0); +#endif + //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Remove all transmogrifications", EQUIPMENT_SLOT_END + 2, 0, "Remove transmogrifications from all equipped items?", 0, false); + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Update menu", EQUIPMENT_SLOT_END + 1, 0); + player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetObjectGuid()); + return true; +} + +bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) +{ + player->GetPlayerMenu()->ClearMenus(); + WorldSession* session = player->GetSession(); + switch (sender) + { + case EQUIPMENT_SLOT_END: // Show items you can use + ShowTransmogItems(player, creature, action); + break; + case EQUIPMENT_SLOT_END + 1: // Main menu + OnGossipHello(player, creature); + break; + case EQUIPMENT_SLOT_END + 2: // Remove Transmogrifications + { + bool removed = false; + auto trans = CharacterDatabase.BeginTransaction(); + for (uint8 slot = EQUIPMENT_SLOT_START; slot < EQUIPMENT_SLOT_END; ++slot) + { + if (Item* newItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, slot)) + { + if (!sTransmogrifier->GetFakeEntry(newItem->GetObjectGuid())) + continue; + sTransmogrifier->DeleteFakeEntry(player, slot, newItem); + removed = true; + } + } + if (removed) + { + session->SendAreaTriggerMessage("%s", LANG_ERR_UNTRANSMOG_OK); + CharacterDatabase.CommitTransaction(); + } + else + session->SendNotification(LANG_ERR_UNTRANSMOG_NO_TRANSMOGS); + OnGossipHello(player, creature); + } break; + case EQUIPMENT_SLOT_END + 3: // Remove Transmogrification from single item + { + if (Item* newItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, action)) + { + if (sTransmogrifier->GetFakeEntry(newItem->GetObjectGuid())) + { + sTransmogrifier->DeleteFakeEntry(player, action, newItem); + session->SendAreaTriggerMessage("%s", LANG_ERR_UNTRANSMOG_OK); + } + else + session->SendNotification(LANG_ERR_UNTRANSMOG_NO_TRANSMOGS); + } + OnGossipSelect(player, creature, EQUIPMENT_SLOT_END, action); + } break; +#ifdef PRESETS + case EQUIPMENT_SLOT_END + 4: // Presets menu + { + if (!sTransmogrifier->GetEnableSets()) + { + OnGossipHello(player, creature); + return true; + } + if (sTransmogrifier->GetEnableSetInfo()) + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "How do sets work?", EQUIPMENT_SLOT_END + 10, 0); + for (Transmogrification::presetIdMap::const_iterator it = sTransmogrifier->presetByName[player->GetObjectGuid()].begin(); it != sTransmogrifier->presetByName[player->GetObjectGuid()].end(); ++it) + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "zz?" /*it->second*/, EQUIPMENT_SLOT_END + 6, it->first); + + if (sTransmogrifier->presetByName[player->GetObjectGuid()].size() < sTransmogrifier->GetMaxSets()) + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Save set", EQUIPMENT_SLOT_END + 8, 0); + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Back...", EQUIPMENT_SLOT_END + 1, 0); + player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetObjectGuid()); + } break; + case EQUIPMENT_SLOT_END + 5: // Use preset + { + if (!sTransmogrifier->GetEnableSets()) + { + OnGossipHello(player, creature); + return true; + } + // action = presetID + for (Transmogrification::slotMap::const_iterator it = sTransmogrifier->presetById[player->GetObjectGuid()][action].begin(); it != sTransmogrifier->presetById[player->GetObjectGuid()][action].end(); ++it) + { + if (Item* item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, it->first)) + sTransmogrifier->PresetTransmog(player, item, it->second, it->first); + } + OnGossipSelect(player, creature, EQUIPMENT_SLOT_END + 6, action); + } break; + case EQUIPMENT_SLOT_END + 6: // view preset + { + if (!sTransmogrifier->GetEnableSets()) + { + OnGossipHello(player, creature); + return true; + } + // action = presetID + for (Transmogrification::slotMap::const_iterator it = sTransmogrifier->presetById[player->GetObjectGuid()][action].begin(); it != sTransmogrifier->presetById[player->GetObjectGuid()][action].end(); ++it) + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "zzz"/*sTransmogrifier->GetItemIcon(it->second, 30, 30, -18, 0) + sTransmogrifier->GetItemLink(it->second, session)*/, sender, action); + + player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_MONEY_BAG, "Use this set", EQUIPMENT_SLOT_END + 5, action, "Using this set for transmogrify will bind transmogrified items to you and make them non-refundable and non-tradeable.\nDo you wish to continue?\n\n" + sTransmogrifier->presetByName[player->GetObjectGuid()][action], 0, false); + player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_MONEY_BAG, "Delete set", EQUIPMENT_SLOT_END + 7, action, "Are you sure you want to delete " + sTransmogrifier->presetByName[player->GetObjectGuid()][action] + "?", 0, false); + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Back...", EQUIPMENT_SLOT_END + 4, 0); + player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetObjectGuid()); + } break; + case EQUIPMENT_SLOT_END + 7: // Delete preset + { + if (!sTransmogrifier->GetEnableSets()) + { + OnGossipHello(player, creature); + return true; + } + // action = presetID + CharacterDatabase.PExecute("DELETE FROM `custom_transmogrification_sets` WHERE Owner = %u AND PresetID = %u", player->GetObjectGuid(), action); + sTransmogrifier->presetById[player->GetObjectGuid()][action].clear(); + sTransmogrifier->presetById[player->GetObjectGuid()].erase(action); + sTransmogrifier->presetByName[player->GetObjectGuid()].erase(action); + + OnGossipSelect(player, creature, EQUIPMENT_SLOT_END + 4, 0); + } break; + case EQUIPMENT_SLOT_END + 8: // Save preset + { + if (!sTransmogrifier->GetEnableSets() || sTransmogrifier->presetByName[player->GetObjectGuid()].size() >= sTransmogrifier->GetMaxSets()) + { + OnGossipHello(player, creature); + return true; + } + uint32 cost = 0; + bool canSave = false; + for (uint8 slot = EQUIPMENT_SLOT_START; slot < EQUIPMENT_SLOT_END; ++slot) + { + if (!sTransmogrifier->GetSlotName(slot, session)) + continue; + if (Item* newItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, slot)) + { + uint32 entry = sTransmogrifier->GetFakeEntry(newItem->GetObjectGuid()); + if (!entry) + continue; + const ItemPrototype* temp = sObjectMgr.GetItemPrototype(entry); + if (!temp) + continue; + if (!sTransmogrifier->SuitableForTransmogrification(player, temp)) // no need to check? + continue; + cost += sTransmogrifier->GetSpecialPrice(temp); + canSave = true; + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "zzzu"/*sTransmogrifier->GetItemIcon(entry, 30, 30, -18, 0) + sTransmogrifier->GetItemLink(entry, session)*/, EQUIPMENT_SLOT_END + 8, 0); + } + } + if (canSave) + player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_MONEY_BAG, "Save set", 0, 0, "Insert set name", cost * sTransmogrifier->GetSetCostModifier() + sT->GetSetCopperCost(), true); + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Update menu", sender, action); + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Back...", EQUIPMENT_SLOT_END + 4, 0); + player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetObjectGuid()); + } break; + case EQUIPMENT_SLOT_END + 10: // Set info + { + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Back...", EQUIPMENT_SLOT_END + 4, 0); + player->SEND_GOSSIP_MENU(sTransmogrifier->GetSetNpcText(), creature->GetObjectGuid()); + } break; +#endif + case EQUIPMENT_SLOT_END + 9: // Transmog info + { + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Back...", EQUIPMENT_SLOT_END + 1, 0); + player->SEND_GOSSIP_MENU(sTransmogrifier->GetTransmogNpcText(), creature->GetObjectGuid()); + } break; + default: // Transmogrify + { + if (!sender && !action) + { + OnGossipHello(player, creature); + return true; + } + // sender = slot, action = display + TransmogAcoreStrings res = sTransmogrifier->Transmogrify(player, ObjectGuid(HIGHGUID_ITEM, action), sender); + if (res == LANG_ERR_TRANSMOG_OK) + session->SendAreaTriggerMessage("%s", LANG_ERR_TRANSMOG_OK); + else + session->SendNotification(res); + // OnGossipSelect(player, creature, EQUIPMENT_SLOT_END, sender); + // ShowTransmogItems(player, creature, sender); + player->CLOSE_GOSSIP_MENU(); + } break; + } + return true; +} + +#ifdef PRESETS +bool OnGossipSelectCode(Player* player, Creature* creature, uint32 sender, uint32 action, const char* code) +{ + player->GetPlayerMenu()->ClearMenus(); + if (sender || action) + return true; // should never happen + if (!sTransmogrifier->GetEnableSets()) + { + OnGossipHello(player, creature); + return true; + } + std::string name(code); + if (name.find('"') != std::string::npos || name.find('\\') != std::string::npos) + player->GetSession()->SendNotification(LANG_PRESET_ERR_INVALID_NAME); + else + { + for (uint8 presetID = 0; presetID < sTransmogrifier->GetMaxSets(); ++presetID) // should never reach over max + { + if (sTransmogrifier->presetByName[player->GetObjectGuid()].find(presetID) != sTransmogrifier->presetByName[player->GetObjectGuid()].end()) + continue; // Just remember never to use presetByName[pGUID][presetID] when finding etc! + + int32 cost = 0; + std::map items; + for (uint8 slot = EQUIPMENT_SLOT_START; slot < EQUIPMENT_SLOT_END; ++slot) + { + if (!sTransmogrifier->GetSlotName(slot, player->GetSession())) + continue; + if (Item* newItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, slot)) + { + uint32 entry = sTransmogrifier->GetFakeEntry(newItem->GetObjectGuid()); + if (!entry) + continue; + const ItemPrototype* temp = sObjectMgr.GetItemPrototype(entry); + if (!temp) + continue; + if (!sTransmogrifier->SuitableForTransmogrification(player, temp)) + continue; + cost += sTransmogrifier->GetSpecialPrice(temp); + items[slot] = entry; + } + } + if (items.empty()) + break; // no transmogrified items were found to be saved + cost *= sTransmogrifier->GetSetCostModifier(); + cost += sTransmogrifier->GetSetCopperCost(); + if (player->GetMoney() < (int)cost) + { + player->GetSession()->SendNotification(LANG_ERR_TRANSMOG_NOT_ENOUGH_MONEY); + break; + } + + std::ostringstream ss; + for (std::map::iterator it = items.begin(); it != items.end(); ++it) + { + ss << uint32(it->first) << ' ' << it->second << ' '; + sTransmogrifier->presetById[player->GetObjectGuid()][presetID][it->first] = it->second; + } + sTransmogrifier->presetByName[player->GetObjectGuid()][presetID] = name; // Make sure code doesnt mess up SQL! + CharacterDatabase.PExecute("REPLACE INTO `custom_transmogrification_sets` (`Owner`, `PresetID`, `SetName`, `SetData`) VALUES (%u, %u, \"%s\", \"%s\")", player->GetObjectGuid(), uint32(presetID), name.c_str(), ss.str().c_str()); + if (cost) + player->ModifyMoney(-cost); + break; + } + } + //OnGossipSelect(player, creature, EQUIPMENT_SLOT_END+4, 0); + player->CLOSE_GOSSIP_MENU(); // Wait for SetMoney to get fixed, issue #10053 + return true; +} +#endif + +std::map > Items; +bool GossipHello_TransmogNPC(Player* pPlayer, Creature* pUnit) +{ + pPlayer->GetPlayerMenu()->ClearMenus(); + + if (sTransmogrifier->GetEnableTransmogInfo()) + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "How does transmogrification work?", EQUIPMENT_SLOT_END + 9, 0); + + // Only show the menu option for items that you have equipped + for (uint8 Slot = EQUIPMENT_SLOT_START; Slot < EQUIPMENT_SLOT_END; Slot++) + { + // No point in checking for tabard, shirt, necklace, rings or trinkets + if (Slot == EQUIPMENT_SLOT_NECK || Slot == EQUIPMENT_SLOT_FINGER1 || Slot == EQUIPMENT_SLOT_FINGER2 || Slot == EQUIPMENT_SLOT_TRINKET1 || Slot == EQUIPMENT_SLOT_TRINKET2 || Slot == EQUIPMENT_SLOT_TABARD || Slot == EQUIPMENT_SLOT_BODY) + continue; + + // Only show the menu option for transmogrifiers that you have per slot + if (Item* pEquippedItem = pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, Slot)) + { + // Only show the menu option if there is a transmogrifying option available + bool has_option = false; + + if (!has_option) + { + // Check in main inventory + for (uint8 i = INVENTORY_SLOT_ITEM_START; i < INVENTORY_SLOT_ITEM_END; ++i) + { + if (Item* pTransmogrifier = pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, i)) + { + if (!sTransmogrifier->CanTransmogrifyItemWithItem(pPlayer, pEquippedItem->GetProto(), pTransmogrifier->GetProto())) + continue; + + has_option = true; + break; + } + } + } + if (!has_option) + { + // Check in the other bags + for (uint8 i = INVENTORY_SLOT_BAG_START; i < INVENTORY_SLOT_BAG_END; ++i) + { + if (const auto pBag = dynamic_cast(pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, i))) + { + for (uint32 j = 0; j < pBag->GetBagSize(); ++j) + { + if (Item* pTransmogrifier = pBag->GetItemByPos(static_cast(j))) + { + if (!sTransmogrifier->CanTransmogrifyItemWithItem(pPlayer, pEquippedItem->GetProto(), pTransmogrifier->GetProto())) + continue; + + has_option = true; + break; + } + } + } + + // If we find a suitable mog in the first bag then there's no point in checking the rest + if (has_option) + break; + } + } + if (!has_option) + { + // Check in the bank's main inventory + for (uint8 i = BANK_SLOT_ITEM_START; i < BANK_SLOT_ITEM_END; ++i) + { + if (Item* pTransmogrifier = pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, i)) + { + if (!sTransmogrifier->CanTransmogrifyItemWithItem(pPlayer, pEquippedItem->GetProto(), pTransmogrifier->GetProto())) + continue; + + has_option = true; + break; + } + } + } + if (!has_option) + { + // Check in the bank's other bags + for (uint8 i = BANK_SLOT_BAG_START; i < BANK_SLOT_BAG_END; ++i) + { + if (const auto pBag = dynamic_cast(pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, i))) + { + for (uint32 j = 0; j < pBag->GetBagSize(); ++j) + { + if (Item* pTransmogrifier = pBag->GetItemByPos(static_cast(j))) + { + if (!sTransmogrifier->CanTransmogrifyItemWithItem(pPlayer, pEquippedItem->GetProto(), pTransmogrifier->GetProto())) + continue; + + has_option = true; + break; + } + } + } + + if (has_option) + break; + } + } + + if (has_option) + { + std::string SlotName = sTransmogrifier->GetSlotName(Slot, pPlayer->GetSession()); + if (SlotName.length() > 0) + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_TABARD, SlotName.c_str(), EQUIPMENT_SLOT_END, Slot); + } + } + } + + // Remove all transmogrifiers + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_BATTLE, "Remove all transmogrifications.", EQUIPMENT_SLOT_END + 2, 0); + pPlayer->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, pUnit->GetObjectGuid()); + + return true; +} + +bool GossipSelect_TransmogNPC(Player* pPlayer, Creature* pUnit, const uint32 sender, const uint32 aSlot) +{ + pPlayer->GetPlayerMenu()->ClearMenus(); + // Display the available transmofrifiers inside the options + if (sender == EQUIPMENT_SLOT_END) + { + if (Item* pEquippedItem = pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, static_cast(aSlot))) + { + const ObjectGuid EquippedItemGUID = pEquippedItem->GetObjectGuid(); + if (ItemPrototype const* equippedProto = pEquippedItem->GetProto()) + { + std::string yourItem; + const std::string equip_name = equippedProto->Name1; + yourItem = pPlayer->GetSession()->GetMangosString(LANG_MENU_YOUR_ITEM) + equip_name; + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, yourItem.c_str(), sender, aSlot); + } + + const uint64 PlayerGUID = pPlayer->GetObjectGuid(); + Items[PlayerGUID].clear(); + for (uint8 i = INVENTORY_SLOT_ITEM_START; i < INVENTORY_SLOT_ITEM_END; i++) + if (Item* pItemTransmogrifier = pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, i)) + if (sTransmogrifier->CanTransmogrifyItemWithItem(pPlayer, pEquippedItem->GetProto(), pItemTransmogrifier->GetProto()) && sTransmogrification->GetFakeEntry(pEquippedItem->GetObjectGuid()) != pItemTransmogrifier->GetEntry()) + if (Items[PlayerGUID].find(pItemTransmogrifier->GetProto()->DisplayInfoID) == Items[PlayerGUID].end()) + { + Items[PlayerGUID][pItemTransmogrifier->GetProto()->DisplayInfoID] = pItemTransmogrifier; + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, pItemTransmogrifier->GetProto()->Name1, aSlot + 100, pItemTransmogrifier->GetProto()->DisplayInfoID); + } + + for (uint8 i = INVENTORY_SLOT_BAG_START; i < INVENTORY_SLOT_BAG_END; i++) + if (const auto pBag = dynamic_cast(pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, i))) + for (uint32 j = 0; j < pBag->GetBagSize(); j++) + if (Item* pItemTransmogrifier = pBag->GetItemByPos(static_cast(j))) + if (sTransmogrifier->CanTransmogrifyItemWithItem(pPlayer, pEquippedItem->GetProto(), pItemTransmogrifier->GetProto()) && sTransmogrification->GetFakeEntry(pEquippedItem->GetObjectGuid()) != pItemTransmogrifier->GetEntry()) + if (Items[PlayerGUID].find(pItemTransmogrifier->GetProto()->DisplayInfoID) == Items[PlayerGUID].end()) + { + Items[PlayerGUID][pItemTransmogrifier->GetProto()->DisplayInfoID] = pItemTransmogrifier; + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, pItemTransmogrifier->GetProto()->Name1, aSlot + 100, pItemTransmogrifier->GetProto()->DisplayInfoID); + } + + for (uint8 i = BANK_SLOT_ITEM_START; i < BANK_SLOT_ITEM_END; i++) + if (Item* pItemTransmogrifier = pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, i)) + if (sTransmogrifier->CanTransmogrifyItemWithItem(pPlayer, pEquippedItem->GetProto(), pItemTransmogrifier->GetProto()) && sTransmogrification->GetFakeEntry(pEquippedItem->GetObjectGuid()) != pItemTransmogrifier->GetEntry()) + if (Items[PlayerGUID].find(pItemTransmogrifier->GetProto()->DisplayInfoID) == Items[PlayerGUID].end()) + { + Items[PlayerGUID][pItemTransmogrifier->GetProto()->DisplayInfoID] = pItemTransmogrifier; + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, pItemTransmogrifier->GetProto()->Name1, aSlot + 100, pItemTransmogrifier->GetProto()->DisplayInfoID); + } + + for (uint8 i = BANK_SLOT_BAG_START; i < BANK_SLOT_BAG_END; i++) + if (const auto pBag = dynamic_cast(pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, i))) + for (uint32 j = 0; j < pBag->GetBagSize(); j++) + if (Item* pItemTransmogrifier = pBag->GetItemByPos(static_cast(j))) + if (sTransmogrifier->CanTransmogrifyItemWithItem(pPlayer, pEquippedItem->GetProto(), pItemTransmogrifier->GetProto()) && sTransmogrification->GetFakeEntry(pEquippedItem->GetObjectGuid()) != pItemTransmogrifier->GetEntry()) + if (Items[PlayerGUID].find(pItemTransmogrifier->GetProto()->DisplayInfoID) == Items[PlayerGUID].end()) + { + Items[PlayerGUID][pItemTransmogrifier->GetProto()->DisplayInfoID] = pItemTransmogrifier; + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, pItemTransmogrifier->GetProto()->Name1, aSlot + 100, pItemTransmogrifier->GetProto()->DisplayInfoID); + } + + // Remove the transmogrifier on the current item + bool hasTransmogOptions = !Items[PlayerGUID].empty(); + bool hasTransmog = false; + if (const uint32 FakeEntry = sTransmogrification->GetFakeEntry(EquippedItemGUID)) + { + hasTransmog = true; + if (ItemPrototype const* pItem = sObjectMgr.GetItemPrototype(FakeEntry)) + { + const std::string item_name = pItem->Name1; + const std::string illusion = pPlayer->GetSession()->GetMangosString(LANG_MENU_REMOVE) + item_name; + //pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_BATTLE, pPlayer->GetSession()->GetMangosString(LANG_MENU_OPTIONS), sender, aSlot); + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_BATTLE, illusion.c_str(), EQUIPMENT_SLOT_END + 3, aSlot); + } + } + else + { + if (Items[PlayerGUID].empty()) + { + pPlayer->GetSession()->SendAreaTriggerMessage(pPlayer->GetSession()->GetMangosString(LANG_MENU_NO_SUITABLE_ITEMS)); + GossipHello_TransmogNPC(pPlayer, pUnit); + return true; + } + } + + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, pPlayer->GetSession()->GetMangosString(LANG_MENU_BACK), EQUIPMENT_SLOT_END + 1, 0); + if (hasTransmog && !hasTransmogOptions) + pPlayer->SEND_GOSSIP_MENU(sTransmogrifier->GetSetNpcAlreadyText(), pUnit->GetObjectGuid()); + else if (hasTransmog && hasTransmogOptions) + pPlayer->SEND_GOSSIP_MENU(sTransmogrifier->GetSetNpcAlreadyAltText(), pUnit->GetObjectGuid()); + else + pPlayer->SEND_GOSSIP_MENU(sTransmogrifier->GetNpcSelectLookText(), pUnit->GetObjectGuid()); + } + else + GossipHello_TransmogNPC(pPlayer, pUnit); + } + // Go back to main menu + else if (sender == EQUIPMENT_SLOT_END + 1) + GossipHello_TransmogNPC(pPlayer, pUnit); + // Remove all transmogrifications + else if (sender == EQUIPMENT_SLOT_END + 2) + { + bool removed = false; + for (uint8 Slot = EQUIPMENT_SLOT_START; Slot < EQUIPMENT_SLOT_END; ++Slot) + { + if (Item* pEquippedItem = pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, Slot)) + { + ObjectGuid EquippedItemGUID = pEquippedItem->GetObjectGuid(); + if (!sTransmogrification->GetFakeEntry(EquippedItemGUID)) + continue; + + sTransmogrification->DeleteFakeEntry(pPlayer, Slot, pEquippedItem); + removed = true; + } + } + if (removed) + { + pPlayer->GetSession()->SendAreaTriggerMessage("%s", pPlayer->GetSession()->GetMangosString(LANG_ERR_UNTRANSMOG_OK)); + + uint32 selfVisualSpell = 24085; + uint32 npcToPlayerSpell = 14867; + pUnit->CastSpell(pPlayer, npcToPlayerSpell, TRIGGERED_OLD_TRIGGERED); + pPlayer->CastSpell(pPlayer, selfVisualSpell, TRIGGERED_OLD_TRIGGERED); + } + else + pPlayer->GetSession()->SendNotification(LANG_ERR_UNTRANSMOG_NO_TRANSMOGS); + + GossipHello_TransmogNPC(pPlayer, pUnit); + } + // Remove transmogrification on a single equipped item + else if (sender == EQUIPMENT_SLOT_END + 3) + { + bool removed = false; + if (Item* pEquippedItem = pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, static_cast(aSlot))) + { + const ObjectGuid EquippedItemGUID = pEquippedItem->GetObjectGuid(); + if (sTransmogrification->GetFakeEntry(EquippedItemGUID)) + { + sTransmogrification->DeleteFakeEntry(pPlayer, static_cast(aSlot), pEquippedItem); + removed = true; + } + } + const std::string SlotName = sTransmogrifier->GetSlotName(static_cast(aSlot), pPlayer->GetSession()); + if (removed) + { + pPlayer->GetSession()->SendAreaTriggerMessage("%s (%s)", pPlayer->GetSession()->GetMangosString(LANG_ERR_UNTRANSMOG_SINGLE_OK), SlotName.c_str()); + + uint32 selfVisualSpell = 24085; + uint32 npcToPlayerSpell = 14867; + pUnit->CastSpell(pPlayer, npcToPlayerSpell, TRIGGERED_OLD_TRIGGERED); + pPlayer->CastSpell(pPlayer, selfVisualSpell, TRIGGERED_OLD_TRIGGERED); + } + else + pPlayer->GetSession()->SendAreaTriggerMessage("%s (%s)", pPlayer->GetSession()->GetMangosString(LANG_ERR_UNTRANSMOG_SINGLE_NO_TRANSMOGS), SlotName.c_str()); + + GossipHello_TransmogNPC(pPlayer, pUnit); + } + // Update all transmogrifications + else if (sender == EQUIPMENT_SLOT_END + 4) + { + sTransmogrification->ApplyAll(pPlayer); + pPlayer->GetSession()->SendAreaTriggerMessage("Your appearance was refreshed"); + GossipHello_TransmogNPC(pPlayer, pUnit); + } + // Info about transmogrification + else if (sender == EQUIPMENT_SLOT_END + 9) + { + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, pPlayer->GetSession()->GetMangosString(LANG_MENU_BACK), EQUIPMENT_SLOT_END + 1, 0); + pPlayer->SEND_GOSSIP_MENU(sTransmogrifier->GetTransmogNpcText(), pUnit->GetObjectGuid()); + } + // Check cost + else if (sender >= 100) + { + // The cost is the vendor sell price of the transmogrifier or 1 Gold + const uint64 PlayerGUID = pPlayer->GetObjectGuid(); + if (Item* pItemTransmogrifier = Items[PlayerGUID][aSlot]) + { + if (ItemPrototype const* protoItemTransmogrifier = pItemTransmogrifier->GetProto()) + { + // Display transaction + Item* pItemTransmogrified = pPlayer->GetItemByPos(INVENTORY_SLOT_BAG_0, static_cast(sender - 100)); + if (!pItemTransmogrified) + { + GossipHello_TransmogNPC(pPlayer, pUnit); + return true; + } + if (ItemPrototype const* protoItemTransmogrified = pItemTransmogrified->GetProto()) + { + std::string nameItemTransmogrified = protoItemTransmogrified->Name1; + std::string before = pPlayer->GetSession()->GetMangosString(LANG_MENU_BEFORE) + nameItemTransmogrified; + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, before.c_str(), sender, aSlot); + } + + // get cost + uint32 cost = sTransmogrifier->GetSpecialPrice(pItemTransmogrified->GetProto()); + cost *= sTransmogrifier->GetScaledCostModifier(); + cost += sTransmogrifier->GetCopperCost(); + + std::string nameItemTransmogrifier = protoItemTransmogrifier->Name1; + std::string after = pPlayer->GetSession()->GetMangosString(LANG_MENU_AFTER) + nameItemTransmogrifier; + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, after.c_str(), sender, aSlot); + + // Display cost + std::string s_cost; + s_cost = pPlayer->GetSession()->GetMangosString(LANG_MENU_COST_IS) + sTransmogrifier->FormatPrice(cost); + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, s_cost.c_str(), sender, aSlot); + + // Only show confirmation button if player has enough money + if (pPlayer->GetMoney() > cost) + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, pPlayer->GetSession()->GetMangosString(LANG_MENU_CONFIRM), sender - 100, aSlot); + else + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, pPlayer->GetSession()->GetMangosString(LANG_ERR_TRANSMOG_NOT_ENOUGH_MONEY), sender, aSlot); + + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, pPlayer->GetSession()->GetMangosString(LANG_MENU_BACK), EQUIPMENT_SLOT_END, pItemTransmogrified->GetSlot()); + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, pPlayer->GetSession()->GetMangosString(LANG_MENU_MAIN_MENU), EQUIPMENT_SLOT_END + 1, 0); + pPlayer->SEND_GOSSIP_MENU(sTransmogrifier->GetSetNpcConfirmText(), pUnit->GetObjectGuid()); + } + } + } + else + { + const uint64 PlayerGUID = pPlayer->GetObjectGuid(); + if (!Items[PlayerGUID][aSlot]) + return false; + + // sender = slot, action = display + TransmogAcoreStrings res = sTransmogrifier->Transmogrify(pPlayer, Items[PlayerGUID][aSlot]->GetObjectGuid(), static_cast(sender)); + if (res == LANG_ERR_TRANSMOG_OK) + { + uint32 selfVisualSpell = 24085; + uint32 npcToPlayerSpell = 14867; + pUnit->CastSpell(pPlayer, npcToPlayerSpell, TRIGGERED_OLD_TRIGGERED); + pPlayer->CastSpell(pPlayer, selfVisualSpell, TRIGGERED_OLD_TRIGGERED); + //pPlayer->GetSession()->SendAreaTriggerMessage("Successfully casted an illusion on your %s", sTransmogrifier->GetSlotName(static_cast(sender), pPlayer->GetSession())); + pPlayer->GetSession()->SendAreaTriggerMessage("%s (%s)", pPlayer->GetSession()->GetMangosString(LANG_ERR_TRANSMOG_OK), sTransmogrifier->GetSlotName(static_cast(sender), pPlayer->GetSession())); + GossipHello_TransmogNPC(pPlayer, pUnit); + } + else + { + pPlayer->GetSession()->SendNotification(res); + GossipHello_TransmogNPC(pPlayer, pUnit); + } + Items[PlayerGUID].clear(); + GossipHello_TransmogNPC(pPlayer, pUnit); + } + return true; +} + +void AddSC_Transmog() +{ + auto newscript = new Script; + newscript->Name = "npc_transmogrifier"; + newscript->pGossipHello = &GossipHello_TransmogNPC; + newscript->pGossipSelect = &GossipSelect_TransmogNPC; + newscript->RegisterSelf(false); +} \ No newline at end of file diff --git a/src/game/AI/ScriptDevAI/scripts/eastern_kingdoms/world_eastern_kingdoms.cpp b/src/game/AI/ScriptDevAI/scripts/eastern_kingdoms/world_eastern_kingdoms.cpp index aa1d93ad7c..fcf628d9e2 100644 --- a/src/game/AI/ScriptDevAI/scripts/eastern_kingdoms/world_eastern_kingdoms.cpp +++ b/src/game/AI/ScriptDevAI/scripts/eastern_kingdoms/world_eastern_kingdoms.cpp @@ -67,6 +67,10 @@ struct world_map_eastern_kingdoms : public ScriptedMap case GO_SUMMON_CIRCLE: m_goEntryGuidCollection[pGo->GetEntry()].push_back(pGo->GetObjectGuid()); break; + case GO_NECROPOLIS_CITY: + pGo->GetVisibilityData().SetVisibilityDistanceOverride(VisibilityDistanceType::Infinite); + pGo->SetActiveObjectState(true); + break; } } diff --git a/src/game/AI/ScriptDevAI/scripts/kalimdor/world_kalimdor.cpp b/src/game/AI/ScriptDevAI/scripts/kalimdor/world_kalimdor.cpp index bc64a7b0a8..a009d2927c 100644 --- a/src/game/AI/ScriptDevAI/scripts/kalimdor/world_kalimdor.cpp +++ b/src/game/AI/ScriptDevAI/scripts/kalimdor/world_kalimdor.cpp @@ -196,6 +196,18 @@ struct world_map_kalimdor : public ScriptedMap case GO_SUMMON_CIRCLE: m_goEntryGuidCollection[pGo->GetEntry()].push_back(pGo->GetObjectGuid()); break; + case GO_AQ_GATE_MAIN: + case GO_AQ_GATE_ROOTS: + case GO_AQ_GATE_RUNES: + sWorldState.SetAQGateGuid(pGo->GetEntry(), pGo->GetDbGuid()); + pGo->SetGoState(sWorldState.IsGateClosed() ? GO_STATE_READY : GO_STATE_ACTIVE); + pGo->SendForcedObjectUpdate(); + pGo->SetActiveObjectState(true); + break; + case GO_NECROPOLIS_CITY: + pGo->GetVisibilityData().SetVisibilityDistanceOverride(VisibilityDistanceType::Infinite); + pGo->SetActiveObjectState(true); + break; } } diff --git a/src/game/AI/ScriptDevAI/scripts/kalimdor/world_kalimdor.h b/src/game/AI/ScriptDevAI/scripts/kalimdor/world_kalimdor.h index ad2720dfd6..bc2676d4d7 100644 --- a/src/game/AI/ScriptDevAI/scripts/kalimdor/world_kalimdor.h +++ b/src/game/AI/ScriptDevAI/scripts/kalimdor/world_kalimdor.h @@ -37,6 +37,10 @@ enum NPC_COLOSSUS_RESEARCHER_SOPHIA = 15797, NPC_COLOSSUS_RESEARCHER_NESTOR = 15798, NPC_COLOSSUS_RESEARCHER_EAZEL = 15799, + + GO_AQ_GATE_MAIN = 176146, + GO_AQ_GATE_ROOTS = 176147, + GO_AQ_GATE_RUNES = 176148, }; enum Encounters diff --git a/src/game/AI/ScriptDevAI/scripts/world/scourge_invasion.cpp b/src/game/AI/ScriptDevAI/scripts/world/scourge_invasion.cpp index 3c5376bbae..154fd6c0c3 100644 --- a/src/game/AI/ScriptDevAI/scripts/world/scourge_invasion.cpp +++ b/src/game/AI/ScriptDevAI/scripts/world/scourge_invasion.cpp @@ -293,7 +293,7 @@ class GoNecropolis : public GameObjectAI GoNecropolis(GameObject* gameobject) : GameObjectAI(gameobject) { m_go->SetActiveObjectState(true); - //m_go->SetVisibilityModifier(3000.0f); + m_go->GetVisibilityData().SetVisibilityDistanceOverride(VisibilityDistanceType::Infinite); } }; diff --git a/src/game/AI/ScriptDevAI/scripts/world/war_effort.cpp b/src/game/AI/ScriptDevAI/scripts/world/war_effort.cpp index 70f220a0e2..0db3797a0f 100644 --- a/src/game/AI/ScriptDevAI/scripts/world/war_effort.cpp +++ b/src/game/AI/ScriptDevAI/scripts/world/war_effort.cpp @@ -22,99 +22,6 @@ #include "Grids/GridNotifiersImpl.h" #include "OutdoorPvP/OutdoorPvP.h" -enum Quests -{ - QUEST_ALLIANCE_COPPER_BARS_1 = 8492, - QUEST_ALLIANCE_COPPER_BARS_2 = 8493, - QUEST_HORDE_COPPER_BARS_1 = 8532, - QUEST_HORDE_COPPER_BARS_2 = 8533, - - QUEST_ALLIANCE_PURPLE_LOTUS_1 = 8505, - QUEST_ALLIANCE_PURPLE_LOTUS_2 = 8506, - QUEST_HORDE_PURPLE_LOTUS_1 = 8582, - QUEST_HORDE_PURPLE_LOTUS_2 = 8583, - - QUEST_HORDE_PEACEBLOOM_1 = 8549, - QUEST_HORDE_PEACEBLOOM_2 = 8550, - - QUEST_ALLIANCE_LINEN_BANDAGE_1 = 8517, - QUEST_ALLIANCE_LINEN_BANDAGE_2 = 8518, - - QUEST_ALLIANCE_RAINBOW_FIN_ALBACORE_1 = 8524, - QUEST_ALLIANCE_RAINBOW_FIN_ALBACORE_2 = 8525, - - QUEST_ALLIANCE_LIGHT_LEATHER_1 = 8511, - QUEST_ALLIANCE_LIGHT_LEATHER_2 = 8512, - - QUEST_HORDE_WOOL_BANDAGES_1 = 8604, - QUEST_HORDE_WOOL_BANDAGES_2 = 8605, - - QUEST_ALLIANCE_STRANGLEKELP_1 = 8503, - QUEST_ALLIANCE_STRANGLEKELP_2 = 8504, - - QUEST_ALLIANCE_MEDIUM_LEATHER_1 = 8513, - QUEST_ALLIANCE_MEDIUM_LEATHER_2 = 8514, - - QUEST_HORDE_LEAN_WOLF_STEAKS_1 = 8611, - QUEST_HORDE_LEAN_WOLF_STEAKS_2 = 8612, - - QUEST_HORDE_TIN_BARS_1 = 8542, - QUEST_HORDE_TIN_BARS_2 = 8543, - - QUEST_ALLIANCE_SILK_BANDAGES_1 = 8520, - QUEST_ALLIANCE_SILK_BANDAGES_2 = 8521, - - QUEST_ALLIANCE_IRON_BARS_1 = 8494, - QUEST_ALLIANCE_IRON_BARS_2 = 8495, - - QUEST_ALLIANCE_ROAST_RAPTOR_1 = 8526, - QUEST_ALLIANCE_ROAST_RAPTOR_2 = 8527, - - QUEST_HORDE_FIREBLOOM_1 = 8580, - QUEST_HORDE_FIREBLOOM_2 = 8581, - - QUEST_HORDE_HEAVY_LEATHER_1 = 8588, - QUEST_HORDE_HEAVY_LEATHER_2 = 8589, - - QUEST_ALLIANCE_SPOTTED_YELLOWTAIL_1 = 8528, - QUEST_ALLIANCE_SPOTTED_YELLOWTAIL_2 = 8529, - QUEST_HORDE_SPOTTED_YELLOWTAIL_1 = 8613, - QUEST_HORDE_SPOTTED_YELLOWTAIL_2 = 8614, - - QUEST_ALLIANCE_THICK_LEATHER_1 = 8515, - QUEST_ALLIANCE_THICK_LEATHER_2 = 8516, - QUEST_HORDE_THICK_LEATHER_1 = 8590, - QUEST_HORDE_THICK_LEATHER_2 = 8591, - - QUEST_HORDE_MITHRIL_BARS_1 = 8545, - QUEST_HORDE_MITHRIL_BARS_2 = 8546, - - QUEST_ALLIANCE_RUNECLOTH_BANDAGES_1 = 8522, - QUEST_ALLIANCE_RUNECLOTH_BANDAGES_2 = 8523, - QUEST_HORDE_RUNECLOTH_BANDAGES_1 = 8609, - QUEST_HORDE_RUNECLOTH_BANDAGES_2 = 8610, - - QUEST_ALLIANCE_ARTHAS_TEARS_1 = 8509, - QUEST_ALLIANCE_ARTHAS_TEARS_2 = 8510, - - QUEST_ALLIANCE_THORIUM_BARS_1 = 8499, - QUEST_ALLIANCE_THORIUM_BARS_2 = 8500, - - QUEST_HORDE_BAKED_SALMON_1 = 8615, - QUEST_HORDE_BAKED_SALMON_2 = 8616, - - QUEST_HORDE_RUGGED_LEATHER_1 = 8600, - QUEST_HORDE_RUGGED_LEATHER_2 = 8601, - - QUEST_HORDE_MAGEWEAVE_BANDAGE_1 = 8607, - QUEST_HORDE_MAGEWEAVE_BANDAGE_2 = 8608, - - QUEST_BANG_A_GONG = 8743, - - SAY_BANG_GONG = 11427, - SAY_QIRAJI_BREAK = 11432, -}; - bool QuestRewarded_war_effort(Player* player, Creature* creature, Quest const* quest) { uint32 itemCount = quest->ReqItemCount[0]; diff --git a/src/game/AI/ScriptDevAI/system/ScriptLoader.cpp b/src/game/AI/ScriptDevAI/system/ScriptLoader.cpp index d4e75252f0..4c0e0d2762 100644 --- a/src/game/AI/ScriptDevAI/system/ScriptLoader.cpp +++ b/src/game/AI/ScriptDevAI/system/ScriptLoader.cpp @@ -8,6 +8,10 @@ extern void AddSC_battleground(); // custom +extern void AddSC_Transmog(); +extern void AddSC_TargetDummy(); +extern void AddSC_npc_custom_dualspec(); +extern void AddSC_item_custom_dualspec(); // examples extern void AddSC_example_creature(); @@ -213,6 +217,10 @@ void AddScripts() AddSC_battleground(); // custom + AddSC_Transmog(); + AddSC_TargetDummy(); + AddSC_npc_custom_dualspec(); + AddSC_item_custom_dualspec(); // examples AddSC_example_creature(); diff --git a/src/game/Achievements/AchievementMgr.cpp b/src/game/Achievements/AchievementMgr.cpp new file mode 100644 index 0000000000..7c3194e67e --- /dev/null +++ b/src/game/Achievements/AchievementMgr.cpp @@ -0,0 +1,4306 @@ +/* + * This file is part of the AzerothCore Project. See AUTHORS file for Copyright information + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by the + * Free Software Foundation; either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include "Accounts/AccountMgr.h" +#include "AchievementMgr.h" +// #include "ArenaTeam.h" +// #include "ArenaTeamMgr.h" +#include "BattleGround.h" +// #include "BattleGroundAB.h" +// #include "BattleGroundAV.h" +// #include "BattleGroundWS.h" +// #include "CellImpl.h" +#include "Chat/Chat.h" +// #include "ChatTextBuilder.h" +// #include "Common.h" +//#include "Database/DatabaseEnv.h" +//#include "Database/QueryResult.h" +//// #include "DBCEnums.h" +//#include "DBCStores.h" +// #include "DisableMgr.h" +// #include "GameEventMgr.h" +// #include "GridNotifiersImpl.h" +// #include "Guild.h" +#include "Guilds/GuildMgr.h" +#include "Guilds/Guild.h" +// #include "InstanceScript.h" +// #include "Language.h" +//#include "Map.h" +//#include "MapManager.h" +//#include "ItemPrototype.h" +#include "Globals/ObjectMgr.h" +// #include "Player.h" +// #include "ReputationMgr.h" +#include "AchievementScriptMgr.h" +// #include "World.h" +// #include "WorldPacket.h" +#include "Spells/SpellMgr.h" +#include "GameEvents/GameEventMgr.h" +#include "World/World.h" + +#ifdef ENABLE_PLAYERBOTS +#include "playerbot.h" +#include "PlayerbotAIConfig.h" +#endif + +INSTANTIATE_SINGLETON_1(AchievementGlobalMgr); + +char constexpr Achievementfmt[] = "iiiissssssssssssssssissssssssssssssssiiiiiissssssssssssssssiiii"; +SQLStorage sAchievementStore(Achievementfmt, "ID", "achievement_dbc"); + +char constexpr AchievementCategoryfmt[] = "iissssssssssssssssiii"; +SQLStorage sAchievementCategoryStore(AchievementCategoryfmt, "ID", "achievement_category_dbc"); + +char constexpr AchievementCriteriafmt[] = "iiiiiiiiissssssssssssssssiiiiii"; +SQLStorage sAchievementCriteriaStore(AchievementCriteriafmt, "ID", "achievement_criteria_dbc"); + +enum ComparisionType +{ + COMP_TYPE_EQ = 0, + COMP_TYPE_HIGH, + COMP_TYPE_LOW, + COMP_TYPE_HIGH_EQ, + COMP_TYPE_LOW_EQ, + COMP_TYPE_MAX +}; + +template +bool CompareValues(ComparisionType type, T val1, T val2) +{ + switch (type) + { + case COMP_TYPE_EQ: + return val1 == val2; + case COMP_TYPE_HIGH: + return val1 > val2; + case COMP_TYPE_LOW: + return val1 < val2; + case COMP_TYPE_HIGH_EQ: + return val1 >= val2; + case COMP_TYPE_LOW_EQ: + return val1 <= val2; + default: + // incorrect parameter + MANGOS_ASSERT(false); + return false; + } +} + +bool AchievementCriteriaData::IsValid(AchievementCriteriaEntry const* criteria) +{ + if (dataType >= MAX_ACHIEVEMENT_CRITERIA_DATA_TYPE) + { + sLog.outError("sql.sql Table `achievement_criteria_data` for criteria (Entry: %u) has wrong data type (%u), ignored.", criteria->ID, dataType); + return false; + } + + switch (criteria->requiredType) + { + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE: + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE: + case ACHIEVEMENT_CRITERIA_TYPE_WIN_BG: + case ACHIEVEMENT_CRITERIA_TYPE_FALL_WITHOUT_DYING: + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST: // only hardcoded list + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL: + case ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA: + case ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA: + case ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE: + case ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL: + case ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL: + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE: + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2: + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET: + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2: + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT: + case ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE: + case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL: + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST: // only Children's Week achievements + case ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM: // only Children's Week achievements + case ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS: + case ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL: + case ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN: + break; + default: + if (dataType != ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT) + { + sLog.outDetail("sql.sql Table `achievement_criteria_data` has data for non-supported criteria type (Entry: %u Type: %u), ignored.", criteria->ID, criteria->requiredType); + return false; + } + break; + } + + switch (dataType) + { + case ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE: + case ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT: + case ACHIEVEMENT_CRITERIA_DATA_TYPE_NTH_BIRTHDAY: + return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE: + if (!creature.id || !sObjectMgr.GetCreatureTemplate(creature.id)) + { + sLog.outDetail("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_CREATURE (%u) has non-existing creature id in value1 (%u), ignored.", + criteria->ID, criteria->requiredType, dataType, creature.id); + return false; + } + return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE: + if (classRace.class_id && ((1 << (classRace.class_id - 1)) & CLASSMASK_ALL_PLAYABLE) == 0) + { + sLog.outError("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE (%u) has non-existing class in value1 (%u), ignored.", + criteria->ID, criteria->requiredType, dataType, classRace.class_id); + return false; + } + if (classRace.race_id && ((1 << (classRace.race_id - 1)) & RACEMASK_ALL_PLAYABLE) == 0) + { + sLog.outError("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE (%u) has non-existing race in value2 (%u), ignored.", + criteria->ID, criteria->requiredType, dataType, classRace.race_id); + return false; + } + return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH: + if (health.percent < 1 || health.percent > 100) + { + sLog.outError("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_PLAYER_LESS_HEALTH (%u) has wrong percent value in value1 (%u), ignored.", + criteria->ID, criteria->requiredType, dataType, health.percent); + return false; + } + return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD: + if (player_dead.own_team_flag > 1) + { + sLog.outError("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD (%u) has wrong boolean value1 (%u).", + criteria->ID, criteria->requiredType, dataType, player_dead.own_team_flag); + return false; + } + return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA: + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA: + { + SpellEntry const* spellEntry = sSpellTemplate.LookupEntry(aura.spell_id); + if (!spellEntry) + { + sLog.outDetail("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type %s (%u) has wrong spell id in value1 (%u), ignored.", + 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); + return false; + } + if (aura.effect_idx >= 3) + { + sLog.outDetail("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type %s (%u) has wrong spell effect index in value2 (%u), ignored.", + 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); + return false; + } + if (!spellEntry->EffectApplyAuraName[aura.effect_idx]) + { + sLog.outDetail("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type %s (%u) has non-aura spell effect (ID: %u Effect: %u), ignores.", + 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); + return false; + } + return true; + } + case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA: + // if (!sAreaTableStore.LookupEntry(area.id)) + if (!sWorldMapAreaStore.LookupEntry(area.id)) + { + sLog.outDetail("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA (%u) has wrong area id in value1 (%u), ignored.", + criteria->ID, criteria->requiredType, dataType, area.id); + return false; + } + return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE: + if (value.compType >= COMP_TYPE_MAX) + { + sLog.outDetail("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE (%u) has wrong ComparisionType in value2 (%u), ignored.", + value.compType, criteria->requiredType, dataType, value.value); + return false; + } + return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL: + if (level.minlevel > MAX_LEVEL) + { + sLog.outError("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL (%u) has wrong minlevel in value1 (%u), ignored.", + criteria->ID, criteria->requiredType, dataType, level.minlevel); + return false; + } + return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER: + if (gender.gender > GENDER_NONE) + { + sLog.outError("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER (%u) has wrong gender in value1 (%u), ignored.", + criteria->ID, criteria->requiredType, dataType, gender.gender); + return false; + } + return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT: + if (!ScriptId) + { + sLog.outDetail("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT (%u) does not have ScriptName set, ignored.", + criteria->ID, criteria->requiredType, dataType); + return false; + } + return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY: + if (difficulty.difficulty >= MAX_DIFFICULTY) + { + sLog.outDetail("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY (%u) has wrong difficulty in value1 (%u), ignored.", + criteria->ID, criteria->requiredType, dataType, difficulty.difficulty); + return false; + } + return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT: + if (map_players.maxcount <= 0) + { + sLog.outError("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT (%u) has wrong max players count in value1 (%u), ignored.", + criteria->ID, criteria->requiredType, dataType, map_players.maxcount); + return false; + } + return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM: + if (team.team != ALLIANCE && team.team != HORDE) + { + sLog.outError("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM (%u) has unknown team in value1 (%u), ignored.", + criteria->ID, criteria->requiredType, dataType, team.team); + return false; + } + return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK: + if (drunk.state >= MAX_DRUNKEN) + { + sLog.outError("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK (%u) has unknown drunken state in value1 (%u), ignored.", + criteria->ID, criteria->requiredType, dataType, drunk.state); + return false; + } + return true; + // TODO: find a way to treat holidays + // case ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY: + // if (!sHolidaysStore.LookupEntry(holiday.id)) + // { + // sLog.outError("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY (%u) has unknown holiday in value1 (%u), ignored.", + // criteria->ID, criteria->requiredType, dataType, holiday.id); + // return false; + // } + // return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE: + case ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_TEAMS_SCORES: + return true; // not check correctness node indexes + case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM: + if (equipped_item.item_quality >= MAX_ITEM_QUALITY) + { + sLog.outError("sql.sql Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_S_EQUIPED_ITEM (%u) has unknown quality state in value1 (%u), ignored.", + criteria->ID, criteria->requiredType, dataType, equipped_item.item_quality); + return false; + } + return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID: + // if (!sMapStore.LookupEntry(map_id.mapId)) + if (!sWorldMapAreaStore.LookupEntry(map_id.mapId)) + { + sLog.outDetail("sql.sql Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID (%u) has unknown map id in value1 (%u), ignored.", + criteria->ID, criteria->requiredType, dataType, map_id.mapId); + return false; + } + return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE: + if (!classRace.class_id && !classRace.race_id) + { + sLog.outError("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE (%u) must not have 0 in either value field, ignored.", + criteria->ID, criteria->requiredType, dataType); + return false; + } + if (classRace.class_id && ((1 << (classRace.class_id - 1)) & CLASSMASK_ALL_PLAYABLE) == 0) + { + sLog.outError("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE (%u) has non-existing class in value1 (%u), ignored.", + criteria->ID, criteria->requiredType, dataType, classRace.class_id); + return false; + } + if (classRace.race_id && ((1 << (classRace.race_id - 1)) & RACEMASK_ALL_PLAYABLE) == 0) + { + sLog.outError("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE (%u) has non-existing race in value2 (%u), ignored.", + criteria->ID, criteria->requiredType, dataType, classRace.race_id); + return false; + } + return true; + // TODO: research it mayb we can use titles some way + case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_KNOWN_TITLE: + { + return false; + /*if (known_title.title_id > POSITIVE_HONOR_RANK_COUNT * 2) + { + sLog.outError("sql.sql Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_DATA_TYPE_S_KNOWN_TITLE (%u) have unknown title_id in value1 (%u), ignore.", + criteria->ID, criteria->requiredType, dataType, known_title.title_id); + return false; + } + return true;*/ + } + default: + sLog.outDetail("sql.sql Table `achievement_criteria_data` (Entry: %u Type: %u) has data for non-supported data type (%u), ignored.", criteria->ID, criteria->requiredType, dataType); + return false; + } +} + +bool AchievementCriteriaData::Meets(uint32 criteria_id, Player const* source, Unit const* target, uint32 miscvalue1 /*= 0*/) const +{ + switch (dataType) + { + case ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE: + { + return true; + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE: + { + if (!target || target->GetTypeId() != TYPEID_UNIT) + return false; + + return target->GetEntry() == creature.id; + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE: + { + if (!target || target->GetTypeId() != TYPEID_PLAYER) + return false; + if (classRace.class_id && classRace.class_id != ((Player*)(target))->getClass()) + return false; + if (classRace.race_id && classRace.race_id != ((Player*)(target))->getRace()) + return false; + + return true; + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE: + { + if (!source || source->GetTypeId() != TYPEID_PLAYER) + return false; + if (classRace.class_id && classRace.class_id != ((Player*)(source))->getClass()) + return false; + if (classRace.race_id && classRace.race_id != ((Player*)(source))->getRace()) + return false; + + return true; + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH: + { + if (!target || target->GetTypeId() != TYPEID_PLAYER) + return false; + + return !(uint32(target->GetHealthPercent()) > health.percent); + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD: + { + if (target && !target->IsAlive()) + if (const Player* player = ((Player*)(target))) + if (player->GetDeathTimer() != 0) + // flag set == must be same team, not set == different team + return (player->GetTeamId() == source->GetTeamId()) == (player_dead.own_team_flag != 0); + + return false; + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA: + { + return source->HasAura(aura.spell_id, static_cast(aura.effect_idx)); + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_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: + { + // TODO: aura effects might differ + return target && target->HasAura(aura.spell_id, static_cast(aura.effect_idx)); + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE: + { + return CompareValues(ComparisionType(value.compType), miscvalue1, value.value); + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL: + { + if (!target) + return false; + + return target->GetLevel() >= level.minlevel; + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER: + { + if (!target) + return false; + + return target->getGender() == gender.gender; + } + + // TODO: research scripts for criteria checks + case ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT: + { + return sAchievementScriptMgr.OnCriteriaCheck(ScriptId, const_cast(source), const_cast(target), criteria_id); + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY: + { + // vanilla has no difficulties + return source->GetMap()->IsDungeon() || source->GetMap()->IsRaid(); + //if (source->GetMap()->IsRaid()) + // if (source->GetMap()->Is25ManRaid() != ((difficulty.difficulty & RAID_DIFFICULTY_MASK_25MAN) != 0)) + // return false; + + //AchievementCriteriaEntry const* criteria = sAchievementCriteriaStore.LookupEntry(criteria_id); + //uint8 spawnMode = source->GetMap()->GetSpawnMode(); + //// Dungeons completed on heroic mode count towards both in general achievement, but not in statistics. + //return sAchievementMgr.IsStatisticCriteria(criteria) ? spawnMode == difficulty.difficulty : spawnMode >= difficulty.difficulty; + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT: + { + return source->GetMap()->GetPlayersCountExceptGMs() <= map_players.maxcount; + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM: + { + if (!target || target->GetTypeId() != TYPEID_PLAYER) + return false; + + // DB data compatibility... + uint32 teamOld = ((Player*)(target))->GetTeamId() == TEAM_INDEX_ALLIANCE ? ALLIANCE : HORDE; + return teamOld == team.team; + } + case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK: + { + return Player::GetDrunkenstateByValue(source->GetDrunkValue()) >= DrunkenState(drunk.state); + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY: + { + return IsHolidayActive(HolidayIds(holiday.id)); + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE: + { + BattleGround* bg = source->GetBattleGround(); + if (!bg) + return false; + + uint32 score = bg->GetTeamScore(source->GetTeamId()); + return score >= bg_loss_team_score.min_score && score <= bg_loss_team_score.max_score; + } + + // TODO: research instance scripts + // case ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT: + // { + // if (!source->IsInWorld()) + // return false; + // Map* map = source->GetMap(); + // if (!map->IsDungeon()) + // { + // sLog.outError("sql.sql Achievement system call ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT (%u) for achievement criteria %u for non-dungeon/non-raid map %u", + // ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT, criteria_id, map->GetId()); + // return false; + // } + // InstanceScript* instance = map->ToInstanceMap()->GetInstanceScript(); + // if (!instance) + // { + // sLog.outError("sql.sql Achievement system call ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT (%u) for achievement criteria %u for map %u but map does not have a instance script", + // ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT, criteria_id, map->GetId()); + // return false; + // } + // return instance->CheckAchievementCriteriaMeet(criteria_id, source, target, miscvalue1); + // } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM: + { + ItemPrototype const* pProto = sObjectMgr.GetItemPrototype(miscvalue1); + if (!pProto) + return false; + return pProto->ItemLevel >= equipped_item.item_level && pProto->Quality >= equipped_item.item_quality; + } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID: + { + return source->GetMapId() == map_id.mapId; + } + + // TODO: research here + // case ACHIEVEMENT_CRITERIA_DATA_TYPE_NTH_BIRTHDAY: + // { + // time_t birthday_start = time_t(sWorld.GetIntConfig(CONFIG_BIRTHDAY_TIME)); + // tm birthday_tm; + // localtime_r(&birthday_start, &birthday_tm); + + // // exactly N birthday + // birthday_tm.tm_year += birthday_login.nth_birthday; + + // time_t birthday = mktime(&birthday_tm); + // time_t now = sWorld.GetGameTime(); + // return now <= birthday + DAY && now >= birthday; + // } + // TODO: research + // case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_KNOWN_TITLE: + // { + // if (CharTitlesEntry const* titleInfo = sCharTitlesStore.LookupEntry(known_title.title_id)) + // return source && source->HasTitle(titleInfo->bit_index); + + // return false; + // } + + case ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_TEAMS_SCORES: + { + BattleGround* bg = source->GetBattleGround(); + if (!bg) + { + return false; + } + + BattleGroundWinner winnerTeam = bg->GetWinner(); + if (winnerTeam == WINNER_NONE) + { + return false; + } + + const PvpTeamIndex winnerTeamIndex = winnerTeam == WINNER_ALLIANCE ? TEAM_INDEX_ALLIANCE : TEAM_INDEX_HORDE; + const PvpTeamIndex loserTeamIndex = winnerTeam == WINNER_ALLIANCE ? TEAM_INDEX_HORDE : TEAM_INDEX_ALLIANCE; + uint32 winnnerScore = bg->GetTeamScore(winnerTeamIndex); + uint32 loserScore = bg->GetTeamScore(loserTeamIndex); + return source->GetTeamId() == winnerTeamIndex && winnnerScore == teams_scores.winner_score && loserScore == teams_scores.loser_score; + } + + default: break; + } + return false; +} + +bool AchievementCriteriaDataSet::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(criteria_id, source, target, miscvalue)) + return false; + + return true; +} + +AchievementMgr::AchievementMgr(Player* player) +{ + m_player = player; + m_hasAchiever = false; + m_version = sAchievementMgr.getCurrentVersion(); +} + +AchievementMgr::~AchievementMgr() +{ +} + +void AchievementMgr::Reset() +{ + for (CompletedAchievementMap::const_iterator iter = m_completedAchievements.begin(); iter != m_completedAchievements.end(); ++iter) + { + // WorldPacket data(SMSG_ACHIEVEMENT_DELETED, 4); + // data << uint32(iter->first); + // m_player->SendDirectMessage(&data); + } + + for (CriteriaProgressMap::const_iterator iter = m_criteriaProgress.begin(); iter != m_criteriaProgress.end(); ++iter) + { + // WorldPacket data(SMSG_CRITERIA_DELETED, 4); + // data << uint32(iter->first); + // m_player->SendDirectMessage(&data); + } + + m_completedAchievements.clear(); + m_criteriaProgress.clear(); + DeleteFromDB(m_player->GetGUIDLow()); + // DeleteFromDB(m_player->GetGUID().GetCounter()); + + // // re-fill data + CheckAllAchievementCriteria(); +} + +void AchievementMgr::ResetAchievementCriteria(AchievementCriteriaCondition condition, uint32 value, bool evenIfCriteriaComplete) +{ + // disable for gamemasters with GM-mode enabled + if (m_player->IsGameMaster()) + return; + + sLog.outDetail("achievement AchievementMgr::ResetAchievementCriteria(%u, %u, %u)", condition, value, evenIfCriteriaComplete); + + AchievementCriteriaEntryList const* achievementCriteriaList = sAchievementMgr.GetAchievementCriteriaByCondition(condition, value); + if (!achievementCriteriaList) + return; + + for (AchievementCriteriaEntryList::const_iterator i = achievementCriteriaList->begin(); i != achievementCriteriaList->end(); ++i) + { + AchievementCriteriaEntry const* achievementCriteria = (*i); + AchievementEntry const* achievement = sAchievementStore.LookupEntry(achievementCriteria->referredAchievement); + if (!achievement) + continue; + + // don't update already completed criteria if not forced or achievement already complete + if ((IsCompletedCriteria(achievementCriteria, achievement) && !evenIfCriteriaComplete) || HasAchieved(achievement->ID)) + continue; + + RemoveCriteriaProgress(achievementCriteria); + } +} + +void AchievementMgr::DeleteFromDB(uint32 lowguid) +{ + //// CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabase.BeginTransaction(); + + CharacterDatabase.PExecute("DELETE FROM `character_achievement` WHERE `guid` = '%u'", lowguid); + // CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_ACHIEVEMENT); // "DELETE FROM character_achievement WHERE guid = ?" + // stmt->setUInt32(0, lowguid); + // trans->Append(stmt); + + CharacterDatabase.PExecute("DELETE FROM `character_achievement_progress` WHERE `guid` = '%u'", lowguid); + // stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_ACHIEVEMENT_PROGRESS); // "DELETE FROM character_achievement_progress WHERE guid = ?" + // stmt->setUInt32(0, lowguid); + // trans->Append(stmt); + + CharacterDatabase.CommitTransaction(); + //// CharacterDatabase.CommitTransaction(trans); +} + +void AchievementMgr::SyncAccountAcchievements() +{ + if (GetPlayer()->isRealPlayer()) + { + // Check if its a new character + if (GetPlayer()->GetTotalPlayedTime() == 0) + { + // Copy other characters achievements into this character + const uint8 newCharacterRace = GetPlayer()->getRace(); + const uint32 newCharacterGuid = GetPlayer()->GetGUIDLow(); + const uint32 accountId = GetPlayer()->GetSession()->GetAccountId(); + const bool newCharacterIsAlliance = newCharacterRace == 1 || newCharacterRace == 3 || newCharacterRace == 4 || newCharacterRace == 7 || newCharacterRace == 11; + + std::vector accountCharacterGuids; + auto result = CharacterDatabase.PQuery("SELECT guid, race FROM `characters` WHERE `account` = '%u' ORDER BY guid", accountId); + if (result) + { + do + { + Field* fields = result->Fetch(); + const uint32 characterGuid = fields[0].GetUInt32(); + const uint8 characterRace = fields[1].GetUInt8(); + if (characterGuid != newCharacterGuid) + { + accountCharacterGuids.push_back(characterGuid); + } + } + while (result->NextRow()); + } + + for (const uint32& characterGuid : accountCharacterGuids) + { + result = CharacterDatabase.PQuery("SELECT achievement, date FROM `character_achievement` WHERE `guid` = '%u'", characterGuid); + if (result) + { + do + { + Field* fields = result->Fetch(); + const uint32 achievementId = fields[0].GetUInt32(); + const uint32 achievementDate = fields[1].GetUInt32(); + const AchievementEntry* achievement = sAchievementStore.LookupEntry(achievementId); + if (achievement) + { + // Check if the achievement is valid for the character's faction + if (achievement->requiredFaction == -1 || + (newCharacterIsAlliance && achievement->requiredFaction == 1) || + (!newCharacterIsAlliance && achievement->requiredFaction == 0)) + { + CharacterDatabase.PExecute("DELETE FROM `character_achievement` WHERE `achievement` = '%u' AND `guid` = '%u'", + achievementId, + newCharacterGuid + ); + + CharacterDatabase.PExecute("INSERT INTO `character_achievement` (`guid`, `achievement`, `date`) VALUES ('%u', '%u', '%u')", + newCharacterGuid, + achievementId, + achievementDate + ); + } + } + + } + while (result->NextRow()); + } + } + } + else + { + // Copy the character achievement to other characters in the account + std::vector> accountCharacterGuids; + const uint32 currentCharacterGuid = GetPlayer()->GetGUIDLow(); + const uint32 accountId = GetPlayer()->GetSession()->GetAccountId(); + auto result = CharacterDatabase.PQuery("SELECT guid, race FROM `characters` WHERE `account` = '%u'", accountId); + if (result) + { + do + { + Field* fields = result->Fetch(); + const uint32 characterGuid = fields[0].GetUInt32(); + const uint8 characterRace = fields[1].GetUInt8(); + if (characterGuid != currentCharacterGuid) + { + const bool isAlliance = characterRace == 1 || characterRace == 3 || characterRace == 4 || characterRace == 7 || characterRace == 11; + accountCharacterGuids.push_back(std::make_pair(characterGuid, isAlliance)); + } + } + while (result->NextRow()); + } + + // Sync earned achievements + if (!m_completedAchievements.empty()) + { + for (CompletedAchievementMap::iterator iter = m_completedAchievements.begin(); iter != m_completedAchievements.end(); ++iter) + { + const AchievementEntry* achievement = sAchievementStore.LookupEntry(iter->first); + if (achievement) + { + for (const auto& pair : accountCharacterGuids) + { + const uint32 characterGuid = pair.first; + const bool isAlliance = pair.second; + + // Check if the achievement is valid for the character's faction + if (achievement->requiredFaction == -1 || + (isAlliance && achievement->requiredFaction == 1) || + (!isAlliance && achievement->requiredFaction == 0)) + { + CharacterDatabase.PExecute("DELETE FROM `character_achievement` WHERE `achievement` = '%u' AND `guid` = '%u'", + iter->first, + characterGuid + ); + + CharacterDatabase.PExecute("INSERT INTO `character_achievement` (`guid`, `achievement`, `date`) VALUES ('%u', '%u', '%u')", + characterGuid, + iter->first, + uint32(iter->second.date) + ); + } + } + } + } + } + } + + // TO DO: Sync achievement progress + // ... + } +} + +void AchievementMgr::SaveToDB() +{ + if (sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_ACCOUNT_ACHIEVEMENTS)) + { + SyncAccountAcchievements(); + } + + if (!m_completedAchievements.empty()) + { + for (CompletedAchievementMap::iterator iter = m_completedAchievements.begin(); iter != m_completedAchievements.end(); ++iter) + { + if (!iter->second.changed) + continue; + + CharacterDatabase.PExecute("DELETE FROM `character_achievement` WHERE `achievement` = '%u' AND `guid` = '%u'", + iter->first, + GetPlayer()->GetGUIDLow() + ); + // CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_ACHIEVEMENT_BY_ACHIEVEMENT); // "DELETE FROM character_achievement WHERE achievement = ? AND guid = ?" + // stmt->setUInt16(0, iter->first); + // stmt->setUInt32(1, GetPlayer()->GetGUID().GetCounter()); + // trans->Append(stmt); + + CharacterDatabase.PExecute("INSERT INTO `character_achievement` (`guid`, `achievement`, `date`) VALUES ('%u', '%u', '%u')", + GetPlayer()->GetGUIDLow(), + iter->first, + uint32(iter->second.date) + ); + // stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_ACHIEVEMENT); // "INSERT INTO character_achievement (guid, achievement, date) VALUES (?, ?, ?)" + // stmt->setUInt32(0, GetPlayer()->GetGUID().GetCounter()); + // stmt->setUInt16(1, iter->first); + // stmt->setUInt32(2, uint32(iter->second.date)); + // trans->Append(stmt); + + iter->second.changed = false; + + sAchievementScriptMgr.OnAchievementSave(/*trans, */GetPlayer(), iter->first, iter->second); + } + } + + if (!m_criteriaProgress.empty()) + { + for (CriteriaProgressMap::iterator iter = m_criteriaProgress.begin(); iter != m_criteriaProgress.end(); ++iter) + { + if (!iter->second.changed) + continue; + + CharacterDatabase.PExecute("DELETE FROM `character_achievement_progress` WHERE `guid` = '%u' AND `criteria` = '%u'", + GetPlayer()->GetGUIDLow(), + iter->first + ); + // CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_ACHIEVEMENT_PROGRESS_BY_CRITERIA); // "DELETE FROM character_achievement_progress WHERE guid = ? AND criteria = ?" + // stmt->setUInt32(0, GetPlayer()->GetGUID().GetCounter()); + // stmt->setUInt16(1, iter->first); + // trans->Append(stmt); + + // // pussywizard: insert only for (counter != 0) is very important! this is how criteria of completed achievements gets deleted from db (by setting counter to 0); if conflicted during merge - contact me + if (iter->second.counter) + { + CharacterDatabase.PExecute("INSERT INTO `character_achievement_progress` (`guid`, `criteria`, `counter`, `date`) VALUES ('%u', '%u', '%u', '%u')", + GetPlayer()->GetGUIDLow(), + iter->first, + iter->second.counter, + uint32(iter->second.date) + ); + // stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_ACHIEVEMENT_PROGRESS); // "INSERT INTO character_achievement_progress (guid, criteria, counter, date) VALUES (?, ?, ?, ?)" + // stmt->setUInt32(0, GetPlayer()->GetGUID().GetCounter()); + // stmt->setUInt16(1, iter->first); + // stmt->setUInt32(2, iter->second.counter); + // stmt->setUInt32(3, uint32(iter->second.date)); + // trans->Append(stmt); + } + + iter->second.changed = false; + + sAchievementScriptMgr.OnCriteriaSave(/*trans, */GetPlayer(), iter->first, iter->second); + } + } +} + +void AchievementMgr::LoadFromDB(ObjectGuid guid, SqlQueryHolder* holder) +{ + auto achievementResult = holder->GetResult(PLAYER_LOGIN_QUERY_LOADACHIEVEMENTS); + auto criteriaResult = holder->GetResult(PLAYER_LOGIN_QUERY_LOAD_CRITERIA_PROGRESS); + + if (achievementResult) + { + do + { + Field* fields = achievementResult->Fetch(); + uint32 achievementid = fields[0].GetUInt16(); + + // must not happen: cleanup at server startup in sAchievementMgr.LoadCompletedAchievements() + AchievementEntry const* achievement = sAchievementStore.LookupEntry(achievementid); + if (!achievement) + continue; + + CompletedAchievementData& ca = m_completedAchievements[achievementid]; + ca.date = time_t(fields[1].GetUInt32()); + ca.changed = false; + + // title achievement rewards are retroactive + // TODO: research titles + // if (AchievementReward const* reward = sAchievementMgr.GetAchievementReward(achievement)) + // if (uint32 titleId = reward->titleId[Player::TeamIdForRace(GetPlayer()->getRace())]) + // if (CharTitlesEntry const* titleEntry = sCharTitlesStore.LookupEntry(titleId)) + // if (!GetPlayer()->HasTitle(titleEntry)) + // GetPlayer()->SetTitle(titleEntry); + } + while (achievementResult->NextRow()); + } + + if (criteriaResult) + { + do + { + Field* fields = criteriaResult->Fetch(); + uint32 id = fields[0].GetUInt16(); + uint32 counter = fields[1].GetUInt32(); + time_t date = time_t(fields[2].GetUInt32()); + + AchievementCriteriaEntry const* criteria = sAchievementCriteriaStore.LookupEntry(id); + if (!criteria) + { + // we will remove not existed criteria for all characters + sLog.outError("achievement, Non-existing achievement criteria %u data removed from table `character_achievement_progress`.", id); + + CharacterDatabase.PExecute("DELETE FROM `character_achievement_progress` WHERE `criteria` = '%u'", + uint16(id) + ); + + // CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_INVALID_ACHIEV_PROGRESS_CRITERIA); + + // stmt->setUInt16(0, uint16(id)); + + // CharacterDatabase.Execute(stmt); + + continue; + } + + if (criteria->timeLimit && time_t(date + criteria->timeLimit) < time(nullptr)) + continue; + + CriteriaProgress& progress = m_criteriaProgress[id]; + progress.counter = counter; + progress.date = date; + progress.changed = false; + } + while (criteriaResult->NextRow()); + } +} + +void AchievementMgr::EnableAchiever(uint32 version) +{ + m_hasAchiever = true; + m_version = version; +} + +bool AchievementMgr::AddAchievement(const AchievementEntry* achievement) +{ + if (achievement) + { + const uint32 achievementId = achievement->refAchievement ? achievement->refAchievement : achievement->ID; + if (!HasAchieved(achievementId)) + { + const AchievementCriteriaEntryList* criteriaList = sAchievementMgr.GetAchievementCriteriaByAchievement(achievementId); + if (criteriaList) + { + // Counter can never complete + if (achievement->flags & ACHIEVEMENT_FLAG_COUNTER) + { + return false; + } + else + { + for (AchievementCriteriaEntryList::const_iterator itr = criteriaList->begin(); itr != criteriaList->end(); ++itr) + { + const AchievementCriteriaEntry* criteria = *itr; + SetCriteriaProgress(criteria, criteria->raw.count); + + // If the achievement is a collection of other achievements complete them too + if (criteria->requiredType == ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT) + { + const uint32 linkedAchievementID = criteria->complete_achievement.linkedAchievement; + const AchievementEntry* linkedAchievement = sAchievementStore.LookupEntry(linkedAchievementID); + if (achievement) + { + AddAchievement(linkedAchievement); + } + } + + if (IsCompletedCriteria(criteria, achievement)) + { + CompletedCriteriaFor(achievement); + } + } + } + } + + if(IsCompletedAchievement(achievement)) + { + CompletedAchievement(achievement); + return true; + } + } + } + + return false; +} + +bool AchievementMgr::RemoveAchievement(const AchievementEntry* achievement) +{ + if (achievement) + { + const uint32 achievementId = achievement->refAchievement ? achievement->refAchievement : achievement->ID; + if (HasAchieved(achievementId)) + { + CharacterDatabase.BeginTransaction(); + + CharacterDatabase.PExecute("DELETE FROM `character_achievement` WHERE `achievement` = '%u' AND `guid` = '%u'", + achievementId, + GetPlayer()->GetGUIDLow() + ); + + const AchievementCriteriaEntryList* criteriaList = sAchievementMgr.GetAchievementCriteriaByAchievement(achievementId); + if (criteriaList) + { + for (AchievementCriteriaEntryList::const_iterator itr = criteriaList->begin(); itr != criteriaList->end(); ++itr) + { + const AchievementCriteriaEntry* criteria = *itr; + SetCriteriaProgress(criteria, 0); + + CharacterDatabase.PExecute("DELETE FROM `character_achievement_progress` WHERE `guid` = '%u' AND `criteria` = '%u'", + GetPlayer()->GetGUIDLow(), + criteria->ID + ); + + m_criteriaProgress.erase(criteria->ID); + } + } + + m_completedAchievements.erase(achievementId); + + CharacterDatabase.CommitTransaction(); + } + } + + return false; +} + +void AchievementMgr::SendAchievementEarned(AchievementEntry const* achievement) const +{ + const auto date = m_completedAchievements.at(achievement->ID).date; + + if (GetPlayer()->GetSession()->PlayerLoading()) + return; + + // Don't send for achievements with ACHIEVEMENT_FLAG_TRACKING + if (achievement->flags & ACHIEVEMENT_FLAG_HIDDEN) + return; + + sLog.outDetail("achievement AchievementMgr::SendAchievementEarned(%u)", achievement->ID); + + //Guild* guild = sGuildMgr.GetGuildById(GetPlayer()->GetGuildId()); + // TODO: research broadcast + // if (guild) { + // Acore::BroadcastTextBuilder _builder(GetPlayer(), CHAT_MSG_GUILD_ACHIEVEMENT, BROADCAST_TEXT_ACHIEVEMENT_EARNED, GetPlayer()->GetGender(), GetPlayer(), achievement->ID); + // Acore::LocalizedPacketDo _localizer(_builder); + // guild->BroadcastWorker(_localizer, GetPlayer()); + // } + + AchievementEntry const* achievementEntry = sAchievementStore.LookupEntry(achievement->ID); + std::ostringstream notification; + std::string chrName = GetPlayer()->GetName(); + notification << chrName << " has earned the achievement "; + const uint8 playerLocale = GetPlayerLocale(); + const char* achievementName = achievementEntry->GetName(playerLocale); + const char* achievementDescription = achievementEntry->GetDescription(playerLocale); + const char* achievementTitleReward = achievementEntry->GetTitleReward(playerLocale); + std::string title = achievementEntry && achievementName ? achievementName : ""; + notification << "|cFFFFFF00|Hachievement:" << achievement->ID << "|h[" << title << "]|h|r"; + + if (sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_SEND_MESSAGE)) + { + Guild* guild = sGuildMgr.GetGuildById(GetPlayer()->GetGuildId()); + if (guild) + { + WorldPacket gmsg; + ChatHandler::BuildChatPacket(gmsg, CHAT_MSG_GUILD, notification.str().c_str(), LANG_UNIVERSAL, CHAT_TAG_NONE, GetPlayer()->GetObjectGuid()); + guild->BroadcastPacket(gmsg); + } + + if (achievement->flags & (ACHIEVEMENT_FLAG_REALM_FIRST_KILL | ACHIEVEMENT_FLAG_REALM_FIRST_REACH)) + { + // If guild exists - send its name to the server + // If guild does not exist - send player's name to the server + if (achievement->flags & ACHIEVEMENT_FLAG_REALM_FIRST_KILL && guild) + { + // WorldPacket data(SMSG_SERVER_FIRST_ACHIEVEMENT, guild->GetName().size() + 1 + 8 + 4 + 4); + // data << guild->GetName(); + // data << GetPlayer()->GetGUID(); + // data << uint32(achievement->ID); + // data << uint32(0); // display name as plain string in chat (always 0 for guild) + // sWorld.SendGlobalMessage(&data); + } + else + { + // BattleGroundWinner teamId = GetPlayer()->GetTeamId(); + + // // broadcast realm first reached + // WorldPacket data(SMSG_SERVER_FIRST_ACHIEVEMENT, GetPlayer()->GetName().size() + 1 + 8 + 4 + 4); + // data << GetPlayer()->GetName(); + // data << GetPlayer()->GetGUID(); + // data << uint32(achievement->ID); + // std::size_t linkTypePos = data.wpos(); + // data << uint32(1); // display name as clickable link in chat + // sWorld.SendGlobalMessage(&data, nullptr, teamId); + + // data.put(linkTypePos, 0); // display name as plain string in chat + // sWorld.SendGlobalMessage(&data, nullptr, teamId == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE); + } + } + // if player is in world he can tell his friends about new achievement + else if (GetPlayer()->IsInWorld()) + { + WorldPacket data; + ChatHandler::BuildChatPacket(data, CHAT_MSG_SYSTEM, notification.str().c_str(), LANG_UNIVERSAL, CHAT_TAG_NONE, GetPlayer()->GetObjectGuid()); + GetPlayer()->SendMessageToSetInRange(data, sWorld.getConfig(CONFIG_FLOAT_LISTEN_RANGE_SAY), true); + } + } + + if (!achievement || !achievementName || !achievementDescription || !achievementTitleReward) return; + + // visual effect + //m_player->GetSession()->SendPlaySpellVisual(guid, 0xB3); // visual effect on trainer + + //WorldPacket data(SMSG_PLAY_SPELL_VISUAL, 8 + 4); // visual effect on guid + //data << m_player->GetObjectGuid(); + //data << uint32(248); // index from SpellVisualKit.dbc + //m_player->SendMessageToSet(data, true); + + //WorldPacket data2(SMSG_PLAY_SPELL_VISUAL, 8 + 4); // visual effect on guid + //data2 << m_player->GetObjectGuid(); + //data2 << uint32(452); // index from SpellVisualKit.dbc + //m_player->SendMessageToSet(data2, true); + + //WorldPacket data3(SMSG_PLAY_SPELL_VISUAL, 8 + 4); // visual effect on guid + //data3 << m_player->GetObjectGuid(); + //data3 << uint32(456); // index from SpellVisualKit.dbc + //m_player->SendMessageToSet(data3, true); + + //m_player->GetSession()->SendPlaySpellVisual(m_player->GetObjectGuid(), 0xB3); // visual effect on trainer + + // send visual effect + if (sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_SEND_VISUAL) && sWorld.getConfig(CONFIG_UINT32_ACHIEVEMENTS_EFFECT_ID)) + { + m_player->PlaySpellVisual(sWorld.getConfig(CONFIG_UINT32_ACHIEVEMENTS_EFFECT_ID)); + } + + // Don't send if no Achiever addon + if (sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_SEND_ADDON) && HasAchiever()) + { + ChatHandler(m_player).PSendSysMessage( + "ACHI|AE|%u;%u" + , achievement->ID + , uint32(date) + ); + } + + // ChatHandler(m_player).PSendSysMessage("ACHI|AE|%u|%s%s|%i|%s|%i|%u|%u|%u|%i|%u|%s|%i|%u|%u|%s|%i|%u" + // , achievement->ID + // , m_completedAchievements[achievement->ID] + // , breadCrumbs.c_str(), achievement->name[0] + // , achievement->name_flags + // , achievement->description[0] + // , achievement->desc_flags + // , achievement->categoryId + // , achievement->points + // , achievement->OrderInCategory + // , achievement->flags + // , achievement->icon + // , achievement->titleReward[0] + // , achievement->titleReward_flags + // , achievement->count + // , achievement->refAchievement + // , category->name[0] + // , category->name_flags + // , category->sortOrder); + + // ChatHandler(m_player).PSendSysMessage("Achievement earned: %s[%s], x%u points (%s)", breadCrumbs.c_str(), achievement->name[0], achievement->points, achievement->description[0]); +} + +void AchievementMgr::SendCriteriaUpdate(AchievementCriteriaEntry const* entry, CriteriaProgress const* progress, uint32 timeElapsed, bool timedCompleted) const +{ + if (!entry || !progress->changed) return; + + // Don't send if no Achiever addon + if (!HasAchiever()) + return; + + ChatHandler(m_player).PSendSysMessage("ACHI|ACU|%u;%u;%u;%u" + , entry->ID + , entry->referredAchievement + , progress->counter + , uint32(progress->date) + ); + + // WorldPacket data(SMSG_CRITERIA_UPDATE, 8 + 4 + 8); + // data << uint32(entry->ID); + + // // the counter is packed like a packed Guid + // data.appendPackGUID(progress->counter); + + // data << GetPlayer()->GetPackGUID(); + // if (!entry->timeLimit) + // data << uint32(0); + // else + // data << uint32(timedCompleted ? 0 : 1); // 1 is for keeping the counter at 0 in client + // data.AppendPackedTime(progress->date); + // data << uint32(timeElapsed); // time elapsed in seconds + // data << uint32(0); // unk + // GetPlayer()->SendDirectMessage(&data); +} + +/** + * called at player login. The player might have fulfilled some achievements when the achievement system wasn't working yet. + */ +void AchievementMgr::CheckAllAchievementCriteria() +{ + // suppress sending packets + for (uint32 i = 0; i < ACHIEVEMENT_CRITERIA_TYPE_TOTAL; ++i) + UpdateAchievementCriteria(AchievementCriteriaTypes(i)); +} + +// static const uint32 achievIdByArenaSlot[MAX_ARENA_SLOT] = { 1057, 1107, 1108 }; +static const uint32 achievIdForDungeon[][4] = +{ + // ach_cr_id, is_dungeon, is_raid, is_heroic_dungeon + { 321, true, true, true }, + { 916, false, true, false }, + { 917, false, true, false }, + { 918, true, false, false }, + { 2219, false, false, true }, + { 0, false, false, false } +}; + +/** + * this function will be called whenever the user might have done a criteria relevant action + */ +void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscValue1 /*= 0*/, uint32 miscValue2 /*= 0*/, Unit* unit /*= nullptr*/) +{ + // disable for gamemasters with GM-mode enabled + if (m_player->IsGameMaster()) + return; + +#ifdef ENABLE_PLAYERBOTS + uint32 accId = GetPlayer()->GetSession()->GetAccountId(); + if (sPlayerbotAIConfig.IsInRandomAccountList(accId) && !sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_FOR_BOTS)) + return; +#endif + + if (type >= ACHIEVEMENT_CRITERIA_TYPE_TOTAL) + { + sLog.outError("achievement UpdateAchievementCriteria: Wrong criteria type %u", type); + return; + } + + // sLog.outError("achievement AchievementMgr::UpdateAchievementCriteria(%u, %u, %u)", type, miscValue1, miscValue2); + + AchievementCriteriaEntryList const* achievementCriteriaList = nullptr; + + switch (type) + { + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE: + case ACHIEVEMENT_CRITERIA_TYPE_WIN_BG: + case ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL: + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT: + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE: + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND: + case ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_CREATURE: + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST: + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET: + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL: + case ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE: + case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL_AT_AREA: + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL: + case ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM: + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL: + case ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM: + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM: + case ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA: + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION: + case ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS: + case ACHIEVEMENT_CRITERIA_TYPE_HK_RACE: + case ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE: + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM: + case ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT: + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2: + case ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT: + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS: + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE: + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2: + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE: + if (miscValue1) + { + achievementCriteriaList = sAchievementMgr.GetSpecialAchievementCriteriaByType(type, miscValue1); + break; + } + achievementCriteriaList = sAchievementMgr.GetAchievementCriteriaByType(type); + break; + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM: + if (miscValue2) + { + achievementCriteriaList = sAchievementMgr.GetSpecialAchievementCriteriaByType(type, miscValue2); + break; + } + achievementCriteriaList = sAchievementMgr.GetAchievementCriteriaByType(type); + break; + default: + achievementCriteriaList = sAchievementMgr.GetAchievementCriteriaByType(type); + break; + } + + if (!achievementCriteriaList) + return; + + const auto size = achievementCriteriaList->size(); + + sAchievementScriptMgr.OnBeforeCheckCriteria(this, achievementCriteriaList); + + for (AchievementCriteriaEntryList::const_iterator i = achievementCriteriaList->begin(); i != achievementCriteriaList->end(); ++i) + { + AchievementCriteriaEntry const* achievementCriteria = (*i); + AchievementEntry const* achievement = sAchievementStore.LookupEntry(achievementCriteria->referredAchievement); + if (!achievement) + continue; + + if (!CanUpdateCriteria(achievementCriteria, achievement)) + continue; + + if (!sAchievementScriptMgr.CanCheckCriteria(this, achievementCriteria)) + continue; + + switch (type) + { + // std. case: increment at 1 + case ACHIEVEMENT_CRITERIA_TYPE_NUMBER_OF_TALENT_RESETS: + case ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL: + case ACHIEVEMENT_CRITERIA_TYPE_CREATE_AUCTION: + case ACHIEVEMENT_CRITERIA_TYPE_WON_AUCTIONS: /* FIXME: for online player only currently */ + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED: + case ACHIEVEMENT_CRITERIA_TYPE_QUEST_ABANDONED: + case ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN: + case ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + // std case: increment at miscvalue1 + case ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS: + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TALENTS: + case ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD: + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TRAVELLING: + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_AT_BARBER: + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_MAIL: + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY: + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_EARNED_BY_AUCTIONS:/* FIXME: for online player only currently */ + case ACHIEVEMENT_CRITERIA_TYPE_TOTAL_DAMAGE_RECEIVED: + case ACHIEVEMENT_CRITERIA_TYPE_TOTAL_HEALING_RECEIVED: + case ACHIEVEMENT_CRITERIA_TYPE_USE_LFD_TO_GROUP_WITH_PLAYERS: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + SetCriteriaProgress(achievementCriteria, miscValue1, PROGRESS_ACCUMULATE); + break; + } + // std case: high value at miscvalue1 + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_BID: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_SOLD: /* FIXME: for online player only currently */ + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_DEALT: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_RECEIVED: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEAL_CASTED: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALING_RECEIVED: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + SetCriteriaProgress(achievementCriteria, miscValue1, PROGRESS_HIGHEST); + break; + } + // specialized cases + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + + if (achievement->categoryId == CATEGORY_CHILDRENS_WEEK) + { + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data || !data->Meets(GetPlayer(), nullptr)) + continue; + } + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_WIN_BG: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + if (achievementCriteria->win_bg.bgMapID != GetPlayer()->GetMapId()) + continue; + + // those requirements couldn't be found in the dbc + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data || !data->Meets(GetPlayer(), unit)) + continue; + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + if (achievementCriteria->kill_creature.creatureID != miscValue1) + continue; + + // those requirements couldn't be found in the dbc + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data || !data->Meets(GetPlayer(), unit)) + continue; + + SetCriteriaProgress(achievementCriteria, miscValue2, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue2) + continue; + + // those requirements couldn't be found in the dbc + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data || !data->Meets(GetPlayer(), unit, miscValue1)) + continue; + + SetCriteriaProgress(achievementCriteria, miscValue2, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL: + { + if (AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria)) + if (!data->Meets(GetPlayer(), unit)) + continue; + + const uint8 currentLevel = GetPlayer()->GetLevel(); + SetCriteriaProgress(achievementCriteria, currentLevel); + + uint8 maxLevel = 60; +#ifdef MANGOSBOT_ONE + maxLevel = 70; +#endif +#ifdef MANGOSBOT_TWO + maxLevel = 80; +#endif + // Hardcore challenge + if (currentLevel == maxLevel) + { + // Check the current amount of deaths + bool challengeCompleted = true; + const AchievementCriteriaEntryList* criteriaList = sAchievementMgr.GetAchievementCriteriaByType(ACHIEVEMENT_CRITERIA_TYPE_DEATH); + if (criteriaList) + { + const AchievementCriteriaEntry* criteria = criteriaList->front(); + if (criteria) + { + const CriteriaProgress* progress = GetCriteriaProgress(criteria); + if (progress) + { + challengeCompleted = progress->counter <= 0; + } + } + } + + if (challengeCompleted) + { + sAchievementMgr.AddAchievement(GetPlayer()->GetSession(), 704); + } + } + + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL: + { + // update at loading or specific skill update + if (miscValue1 && miscValue1 != achievementCriteria->reach_skill_level.skillID) + continue; + if (uint32 skillvalue = GetPlayer()->GetSkillValueBase(achievementCriteria->reach_skill_level.skillID)) + SetCriteriaProgress(achievementCriteria, skillvalue); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL: + { + // update at loading or specific skill update + if (miscValue1 && miscValue1 != achievementCriteria->learn_skill_level.skillID) + continue; + if (uint32 maxSkillvalue = GetPlayer()->GetSkillValuePure(achievementCriteria->learn_skill_level.skillID)) + SetCriteriaProgress(achievementCriteria, maxSkillvalue); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT: + { + if ((miscValue1 && achievementCriteria->complete_achievement.linkedAchievement == miscValue1) || (!miscValue1 && GetPlayer()->HasAchieved(achievementCriteria->complete_achievement.linkedAchievement))) + SetCriteriaProgress(achievementCriteria, 1); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST_COUNT: + { + uint32 counter = 0; + QuestStatusMap& questMap = GetPlayer()->getQuestStatusMap(); + for (auto& quest : questMap) + { + if (quest.second.m_rewarded) + counter++; + } + SetCriteriaProgress(achievementCriteria, counter); + break; + } + // case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST_DAILY: + // { + // time_t nextDailyResetTime = sWorld.GetNextDailyQuestsResetTime(); + // CriteriaProgress* progress = GetCriteriaProgress(achievementCriteria); + + // if (!miscValue1) // Login case. + // { + // // reset if player missed one day. + // if (progress && progress->date < (nextDailyResetTime - 2 * DAY)) + // SetCriteriaProgress(achievementCriteria, 0, PROGRESS_SET); + // continue; + // } + + // ProgressType progressType; + // if (!progress) + // // 1st time. Start count. + // progressType = PROGRESS_SET; + // else if (progress->date < (nextDailyResetTime - 2 * DAY)) + // // last progress is older than 2 days. Player missed 1 day => Retart count. + // progressType = PROGRESS_RESET; + // else if (progress->date < (nextDailyResetTime - DAY)) + // // last progress is between 1 and 2 days. => 1st time of the day. + // progressType = PROGRESS_ACCUMULATE; + // else + // // last progress is within the day before the reset => Already counted today. + // continue; + + // SetCriteriaProgress(achievementCriteria, 1, progressType); + // break; + // } + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE: + { + // speedup for non-login case + if (miscValue1 && miscValue1 != achievementCriteria->complete_quests_in_zone.zoneID) + continue; + + uint32 counter = 0; + + QuestStatusMap& questMap = GetPlayer()->getQuestStatusMap(); + for (auto& quest : questMap) + { + if (!quest.second.m_rewarded) + continue; + + Quest const* qInfo = sObjectMgr.GetQuestTemplate(quest.first); + if (qInfo && qInfo->GetZoneOrSort() >= 0 && uint32(qInfo->GetZoneOrSort()) == achievementCriteria->complete_quests_in_zone.zoneID) + counter++; + } + SetCriteriaProgress(achievementCriteria, counter); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + if (GetPlayer()->GetMapId() != achievementCriteria->complete_battleground.mapID) + continue; + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_DEATH_AT_MAP: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + if (GetPlayer()->GetMapId() != achievementCriteria->death_at_map.mapID) + continue; + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_DEATH: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + // skip wrong arena achievements, if not achievIdByArenaSlot then normal total death counter + /*bool notfit = false; + for (int j = 0; j < MAX_ARENA_SLOT; ++j) + { + if (achievIdByArenaSlot[j] == achievement->ID) + { + BattleGround* bg = GetPlayer()->GetBattleGround(); + if (!bg || !bg->isArena() || ArenaTeam::GetSlotByType(bg->GetArenaType()) != j) + notfit = true; + + break; + } + } + if (notfit) + continue;*/ + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + + Map const* map = GetPlayer()->IsInWorld() ? GetPlayer()->GetMap() : sMapMgr.FindMap(GetPlayer()->GetMapId(), GetPlayer()->GetInstanceId()); + if (!map || !map->IsDungeon()) + continue; + + // search case + bool found = false; + for (int j = 0; achievIdForDungeon[j][0]; ++j) + { + if (achievIdForDungeon[j][0] == achievement->ID) + { + if (map->IsRaid()) + { + // if raid accepted (ignore difficulty) + if (!achievIdForDungeon[j][2]) + break; // for + } + else// if (GetPlayer()->GetDungeonDifficulty() == DUNGEON_DIFFICULTY_NORMAL) + { + // dungeon in normal mode accepted + if (!achievIdForDungeon[j][1]) + break; // for + } + // else + // { + // // dungeon in heroic mode accepted + // if (!achievIdForDungeon[j][3]) + // break; // for + // } + + found = true; + break; // for + } + } + if (!found) + continue; + + //FIXME: work only for instances where max == min for players + // if (map->ToInstanceMap()->GetMaxPlayers() != achievementCriteria->death_in_dungeon.manLimit) + // continue; + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_CREATURE: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + if (miscValue1 != achievementCriteria->killed_by_creature.creatureEntry) + continue; + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_PLAYER: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + + // if team check required: must kill by opposition faction + if (achievement->ID == 318 && miscValue2 == GetPlayer()->GetTeamId()) + continue; + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_FALL_WITHOUT_DYING: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + + // those requirements couldn't be found in the dbc + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data || !data->Meets(GetPlayer(), unit)) + continue; + + // miscvalue1 is the ingame fallheight*100 as stored in dbc + SetCriteriaProgress(achievementCriteria, miscValue1); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_DEATHS_FROM: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + if (miscValue2 != achievementCriteria->death_from.type) + continue; + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST: + { + // if miscvalues != 0, it contains the questID. + if (miscValue1) + { + if (miscValue1 != achievementCriteria->complete_quest.questID) + continue; + } + else + { + // login case. + if (!GetPlayer()->GetQuestRewardStatus(achievementCriteria->complete_quest.questID)) + continue; + } + + if (AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria)) + if (!data->Meets(GetPlayer(), unit)) + continue; + + SetCriteriaProgress(achievementCriteria, 1); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET: + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2: + { + if (!miscValue1 || miscValue1 != achievementCriteria->be_spell_target.spellID) + continue; + + // those requirements couldn't be found in the dbc + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data) + continue; + + if (!data->Meets(GetPlayer(), unit)) + continue; + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL: + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2: + { + if (!miscValue1 || miscValue1 != achievementCriteria->cast_spell.spellID) + continue; + + // those requirements couldn't be found in the dbc + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data) + continue; + + if (!data->Meets(GetPlayer(), unit)) + continue; + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL: + { + if (miscValue1 && miscValue1 != achievementCriteria->learn_spell.spellID) + continue; + + if (GetPlayer()->HasSpell(achievementCriteria->learn_spell.spellID)) + SetCriteriaProgress(achievementCriteria, 1); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE: + { + // miscvalue1=loot_type (note: 0 = LOOT_CORPSE and then it ignored) + // miscvalue2=count of item loot + if (!miscValue1 || !miscValue2) + continue; + if (miscValue1 != achievementCriteria->loot_type.lootType) + continue; + + // zone specific + if (achievementCriteria->loot_type.lootTypeCount == 1) + { + // those requirements couldn't be found in the dbc + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data || !data->Meets(GetPlayer(), unit)) + continue; + } + + SetCriteriaProgress(achievementCriteria, miscValue2, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM: + { + // speedup for non-login case + if (miscValue1 && achievementCriteria->own_item.itemID != miscValue1) + continue; + SetCriteriaProgress(achievementCriteria, miscValue2, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA: + { + if (!miscValue1) // no update at login + continue; + + // additional requirements + if (achievementCriteria->additionalRequirements[0].additionalRequirement_type == ACHIEVEMENT_CRITERIA_CONDITION_NO_LOSE) + { + // those requirements couldn't be found in the dbc + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data || !data->Meets(GetPlayer(), unit, miscValue1)) + { + // reset the progress as we have a win without the requirement. + SetCriteriaProgress(achievementCriteria, 0); + continue; + } + } + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + + if (achievementCriteria->use_item.itemID != miscValue1) + continue; + + // Children's Week achievements have extra requirements + //if (achievement->categoryId == CATEGORY_CHILDRENS_WEEK || achievement->ID == 1291) // Lonely? + { + // Xinef: skip progress only if data exists and is not meet + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (data && !data->Meets(GetPlayer(), nullptr)) + continue; + } + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM: + { + // You _have_ to loot that item, just owning it when logging in does _not_ count! + if (!miscValue1) + continue; + if (miscValue1 != achievementCriteria->own_item.itemID) + continue; + SetCriteriaProgress(achievementCriteria, miscValue2, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA: + { + WorldMapOverlayEntry const* worldOverlayEntry = sWorldMapOverlayStore.LookupEntry(achievementCriteria->explore_area.areaReference); + if (!worldOverlayEntry) + break; + + bool matchFound = false; + for (int j = 0; j < MAX_WORLD_MAP_OVERLAY_AREA_IDX; ++j) + { + // auto const* area = sAreaTableStore.LookupEntry(worldOverlayEntry->areatableID[j]); + auto const* area = GetAreaEntryByAreaID(worldOverlayEntry->areatableID[j]); + if (!area) + break; + + uint32 playerIndexOffset = uint32(area->exploreFlag) / 32; + if (playerIndexOffset >= PLAYER_EXPLORED_ZONES_SIZE) + continue; + + uint32 mask = 1 << (uint32(area->exploreFlag) % 32); + if (GetPlayer()->GetUInt32Value(PLAYER_EXPLORED_ZONES_1 + playerIndexOffset) & mask) + { + matchFound = true; + break; + } + } + + if (matchFound) + SetCriteriaProgress(achievementCriteria, 1); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_BUY_BANK_SLOT: + { + SetCriteriaProgress(achievementCriteria, GetPlayer()->GetBankBagSlotCount()); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION: + { + // skip faction check only at loading + if (miscValue1 && miscValue1 != achievementCriteria->gain_reputation.factionID) + continue; + + FactionEntry const* factionEntry = sFactionStore.LookupEntry(achievementCriteria->gain_reputation.factionID); + if (!factionEntry) + continue; + + int32 reputation = GetPlayer()->GetReputationMgr().GetReputation(achievementCriteria->gain_reputation.factionID); + if (reputation > 0) + SetCriteriaProgress(achievementCriteria, reputation); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION: + { + uint32 exaltedCount = 0; + for (unsigned int i = 1; i < sFactionStore.GetNumRows(); ++i) + { + FactionEntry const* factionEntry = sFactionStore.LookupEntry(i); + if (factionEntry && (factionEntry->HasReputation())) + { + ReputationRank rank = GetPlayer()->GetReputationMgr().GetRank(factionEntry); + if (rank == REP_EXALTED) + exaltedCount++; + } + } + SetCriteriaProgress(achievementCriteria, exaltedCount); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_VISIT_BARBER_SHOP: + { + // skip for login case + if (!miscValue1) + continue; + SetCriteriaProgress(achievementCriteria, 1); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM: + { + // miscvalue1 = itemid + // miscvalue2 = itemSlot + if (!miscValue1) + continue; + + if (miscValue2 != achievementCriteria->equip_epic_item.itemSlot) + continue; + + // check item level and quality via achievement_criteria_data + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data || !data->Meets(GetPlayer(), 0, miscValue1)) + continue; + + SetCriteriaProgress(achievementCriteria, 1); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT: + { + // miscvalue1 = itemid + // miscvalue2 = diced value + if (!miscValue1) + continue; + if (miscValue2 != achievementCriteria->roll_greed_on_loot.rollValue) + continue; + + ItemPrototype const* pProto = sObjectMgr.GetItemPrototype(miscValue1); + if (!pProto) + continue; + + // check item level via achievement_criteria_data + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data || !data->Meets(GetPlayer(), 0, pProto->ItemLevel)) + continue; + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE: + { + // miscvalue1 = emote + if (!miscValue1) + continue; + if (miscValue1 != achievementCriteria->do_emote.emoteID) + continue; + if (achievementCriteria->do_emote.count) + { + // those requirements couldn't be found in the dbc + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data || !data->Meets(GetPlayer(), unit)) + continue; + } + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE: + case ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE: + { + if (!miscValue1) + continue; + + if (achievementCriteria->additionalRequirements[0].additionalRequirement_type == ACHIEVEMENT_CRITERIA_CONDITION_BG_MAP) + { + if (GetPlayer()->GetMapId() != achievementCriteria->additionalRequirements[0].additionalRequirement_value) + continue; + + // map specific case (BG in fact) expected player targeted damage/heal + if (!unit || unit->GetTypeId() != TYPEID_PLAYER) + continue; + } + + SetCriteriaProgress(achievementCriteria, miscValue1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM: + { + // miscvalue1 = item_id + if (!miscValue1) + continue; + if (miscValue1 != achievementCriteria->equip_item.itemID) + continue; + + SetCriteriaProgress(achievementCriteria, 1); + 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_FISH_IN_GAMEOBJECT: + { + if (!miscValue1) + continue; + if (miscValue1 != achievementCriteria->fish_in_gameobject.goEntry) + continue; + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS: + { + if (miscValue1 && miscValue1 != achievementCriteria->learn_skillline_spell.skillLine) + continue; + + uint32 spellCount = 0; + for (PlayerSpellMap::const_iterator spellIter = GetPlayer()->GetSpellMap().begin(); spellIter != GetPlayer()->GetSpellMap().end(); ++spellIter) + { + SkillLineAbilityMapBounds bounds = sSpellMgr.GetSkillLineAbilityMapBoundsBySpellId(spellIter->first); + for (SkillLineAbilityMap::const_iterator skillIter = bounds.first; skillIter != bounds.second; ++skillIter) + { + if (skillIter->second->id == achievementCriteria->learn_skillline_spell.skillLine) + { + // xinef: do not add couter twice if by any chance skill is listed twice in dbc (eg. skill 777 and spell 22717) + ++spellCount; + break; + } + } + } + + SetCriteriaProgress(achievementCriteria, spellCount); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + + if (achievementCriteria->win_duel.duelCount) + { + // those requirements couldn't be found in the dbc + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data) + continue; + + if (!data->Meets(GetPlayer(), unit)) + continue; + } + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REVERED_REPUTATION: + { + uint32 counter = 0; + for (unsigned int i = 1; i < sFactionStore.GetNumRows(); ++i) + { + FactionEntry const* factionEntry = sFactionStore.LookupEntry(i); + if (factionEntry && (factionEntry->HasReputation())) + { + ReputationRank rank = GetPlayer()->GetReputationMgr().GetRank(factionEntry); + if (rank >= REP_REVERED) + counter++; + } + } + SetCriteriaProgress(achievementCriteria, counter); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_HONORED_REPUTATION: + { + uint32 counter = 0; + for (unsigned int i = 1; i < sFactionStore.GetNumRows(); ++i) + { + FactionEntry const* factionEntry = sFactionStore.LookupEntry(i); + if (factionEntry && (factionEntry->HasReputation())) + { + ReputationRank rank = GetPlayer()->GetReputationMgr().GetRank(factionEntry); + if (rank >= REP_HONORED) + counter++; + } + } + SetCriteriaProgress(achievementCriteria, counter); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS: + { + uint32 counter = 0; + for (unsigned int i = 1; i < sFactionStore.GetNumRows(); ++i) + { + FactionEntry const* factionEntry = sFactionStore.LookupEntry(i); + if (factionEntry && (factionEntry->HasReputation())) + { + if (FactionState const* state = GetPlayer()->GetReputationMgr().GetState(factionEntry)) + { + if ((state->Flags & FACTION_FLAG_VISIBLE) && !(state->Flags & FACTION_FLAG_INVISIBLE_FORCED)) + counter++; + } + } + } + SetCriteriaProgress(achievementCriteria, counter); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_EPIC_ITEM: + case ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM: + { + // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case + if (!miscValue1) + continue; + ItemPrototype const* proto = sObjectMgr.GetItemPrototype(miscValue1); + if (!proto || proto->Quality < ITEM_QUALITY_EPIC) + continue; + // do not count legendary as epic + if (achievementCriteria->ID != 6141 && proto->Quality == ITEM_QUALITY_LEGENDARY) + continue; + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE: + { + if (miscValue1 && miscValue1 != achievementCriteria->learn_skill_line.skillLine) + continue; + + uint32 spellCount = 0; + for (PlayerSpellMap::const_iterator spellIter = GetPlayer()->GetSpellMap().begin(); spellIter != GetPlayer()->GetSpellMap().end(); ++spellIter) + { + SkillLineAbilityMapBounds bounds = sSpellMgr.GetSkillLineAbilityMapBoundsBySpellId(spellIter->first); + for (SkillLineAbilityMap::const_iterator skillIter = bounds.first; skillIter != bounds.second; ++skillIter) + { + if (skillIter->second->id == achievementCriteria->learn_skill_line.skillLine) + { + // xinef: do not add couter twice if by any chance skill is listed twice in dbc (eg. skill 777 and spell 22717) + ++spellCount; + break; + } + } + } + + SetCriteriaProgress(achievementCriteria, spellCount); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL: + { + SetCriteriaProgress(achievementCriteria, GetPlayer()->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORABLE_KILLS)); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS: + { + if (!miscValue1 || miscValue1 != achievementCriteria->hk_class.classID) + continue; + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_HK_RACE: + { + if (!miscValue1 || miscValue1 != achievementCriteria->hk_race.raceID) + continue; + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_GOLD_VALUE_OWNED: + { + SetCriteriaProgress(achievementCriteria, GetPlayer()->GetMoney(), PROGRESS_HIGHEST); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_EARN_ACHIEVEMENT_POINTS: + { + if (!miscValue1) + { + uint32 points = 0; + for (CompletedAchievementMap::iterator itr = m_completedAchievements.begin(); itr != m_completedAchievements.end(); ++itr) + if (AchievementEntry const* pAchievement = sAchievementStore.LookupEntry(itr->first)) + points += pAchievement->points; + SetCriteriaProgress(achievementCriteria, points, PROGRESS_SET); + } + else + SetCriteriaProgress(achievementCriteria, miscValue1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE: + { + if (!miscValue1 || miscValue1 != achievementCriteria->bg_objective.objectiveId) + continue; + + // those requirements couldn't be found in the dbc + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data || !data->Meets(GetPlayer(), unit)) + continue; + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL: + case ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL: + case ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS: + { + // skip login update + if (!miscValue1) + continue; + + // those requirements couldn't be found in the dbc + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data || !data->Meets(GetPlayer(), unit)) + continue; + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL_AT_AREA: + { + if (!miscValue1 || miscValue1 != achievementCriteria->honorable_kill_at_area.areaID) + continue; + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + // case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_TEAM_RATING: + // { + // uint32 reqTeamType = achievementCriteria->highest_team_rating.teamtype; + + // if (miscValue1) + // { + // if (miscValue2 != reqTeamType) + // continue; + + // SetCriteriaProgress(achievementCriteria, miscValue1, PROGRESS_HIGHEST); + // } + // else // login case + // { + // for (uint32 arena_slot = 0; arena_slot < MAX_ARENA_SLOT; ++arena_slot) + // { + // uint32 arenaTeamId = GetPlayer()->GetArenaTeamId(arena_slot); + // if (!arenaTeamId) + // continue; + + // ArenaTeam* team = sArenaTeamMgr->GetArenaTeamById(arenaTeamId); + // if (!team || team->GetType() != reqTeamType) + // continue; + + // SetCriteriaProgress(achievementCriteria, team->GetStats().Rating, PROGRESS_HIGHEST); + // break; + // } + // } + + // break; + // } + // case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_PERSONAL_RATING: + // { + // uint32 reqTeamType = achievementCriteria->highest_personal_rating.teamtype; + + // if (miscValue1) + // { + // if (miscValue2 != reqTeamType) + // continue; + + // SetCriteriaProgress(achievementCriteria, miscValue1, PROGRESS_HIGHEST); + // } + // else // login case + // { + // for (uint32 arena_slot = 0; arena_slot < MAX_ARENA_SLOT; ++arena_slot) + // { + // uint32 arenaTeamId = GetPlayer()->GetArenaTeamId(arena_slot); + // if (!arenaTeamId) + // continue; + + // ArenaTeam* team = sArenaTeamMgr->GetArenaTeamById(arenaTeamId); + // if (!team || team->GetType() != reqTeamType) + // continue; + + // if (ArenaTeamMember const* member = team->GetMember(GetPlayer()->GetGUID())) + // { + // SetCriteriaProgress(achievementCriteria, member->PersonalRating, PROGRESS_HIGHEST); + // break; + // } + // } + // } + + // break; + // } + case ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN: + { + // This criteria is only called directly after login - with expected miscvalue1 == 1 + if (!miscValue1) + continue; + + // They have no proper requirements in dbc + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data || !data->Meets(GetPlayer(), unit)) + continue; + + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_PLAY_ARENA: + case ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA: // This also behaves like ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA + { + // those requirements couldn't be found in the dbc + AchievementCriteriaDataSet const* data = sAchievementMgr.GetCriteriaDataSet(achievementCriteria); + if (!data || !data->Meets(GetPlayer(), nullptr)) + continue; + + // Check map id requirement + if (miscValue1 == achievementCriteria->win_arena.mapID) + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; + } + // std case: not exist in DBC, not triggered in code as result + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALTH: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_SPELLPOWER: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_ARMOR: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_POWER: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_STAT: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_RATING: + break; + // FIXME: not triggered in code as result, need to implement + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_RAID: + break; + case ACHIEVEMENT_CRITERIA_TYPE_OWN_RANK: + { + if (miscValue1 && ((miscValue1 < 4) || (miscValue1 > (HONOR_RANK_COUNT - 1)) || ((miscValue1 - 4) != achievementCriteria->own_rank.rank))) + continue; + + uint32 highestRank = GetPlayer()->GetHonorHighestRankInfo().rank; + if (highestRank < 4 || (highestRank > (HONOR_RANK_COUNT - 1))) + continue; + + if ((highestRank - 4) == achievementCriteria->own_rank.rank) + SetCriteriaProgress(achievementCriteria, 1); + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_TOTAL: + break; // Not implemented yet :( + } + + if (IsCompletedCriteria(achievementCriteria, achievement)) + { + CompletedCriteriaFor(achievement); + } + + // check again the completeness for SUMM and REQ COUNT achievements, + // as they don't depend on the completed criteria but on the sum of the progress of each individual criteria + if (achievement->flags & ACHIEVEMENT_FLAG_SUMM) + { + if (IsCompletedAchievement(achievement)) + { + CompletedAchievement(achievement); + } + } + + if (AchievementEntryList const* achRefList = sAchievementMgr.GetAchievementByReferencedId(achievement->ID)) + { + for (AchievementEntryList::const_iterator itr = achRefList->begin(); itr != achRefList->end(); ++itr) + { + if (IsCompletedAchievement(*itr)) + { + CompletedAchievement(*itr); + } + } + } + } +} + +bool AchievementMgr::IsCompletedCriteria(AchievementCriteriaEntry const* achievementCriteria, AchievementEntry const* achievement) +{ + // counter can never complete + if (achievement->flags & ACHIEVEMENT_FLAG_COUNTER) + return false; + + if (achievement->flags & (ACHIEVEMENT_FLAG_REALM_FIRST_REACH | ACHIEVEMENT_FLAG_REALM_FIRST_KILL)) + { + // someone on this realm has already completed that achievement + if (sAchievementMgr.IsRealmCompleted(achievement)) + return false; + +#ifdef ENABLE_PLAYERBOTS + uint32 accId = GetPlayer()->GetSession()->GetAccountId(); + if (sPlayerbotAIConfig.IsInRandomAccountList(accId) && !sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_REALM_FIRST_FOR_BOTS)) + return false; +#endif + } + + // pussywizard: progress will be deleted after getting the achievement (optimization) + // finished achievement should indicate criteria completed, since not finding progress would start some timed achievements and probably other things + if (HasAchieved(achievement->ID)) + { + bool completed = true; + + // completed only after all referenced achievements are also completed + if (AchievementEntryList const* achRefList = sAchievementMgr.GetAchievementByReferencedId(achievement->ID)) + { + for (AchievementEntryList::const_iterator itr = achRefList->begin(); itr != achRefList->end(); ++itr) + { + if (!IsCompletedAchievement(*itr)) + { + completed = false; + break; + } + } + } + + if (completed) + return true; + } + + CriteriaProgress const* progress = GetCriteriaProgress(achievementCriteria); + if (!progress) + return false; + + if (!sAchievementScriptMgr.IsCompletedCriteria(this, achievementCriteria, achievement, progress)) + return false; + + switch (achievementCriteria->requiredType) + { + case ACHIEVEMENT_CRITERIA_TYPE_WIN_BG: + return progress->counter >= achievementCriteria->win_bg.winCount; + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE: + return progress->counter >= achievementCriteria->kill_creature.creatureCount; + case ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL: + return progress->counter >= achievementCriteria->reach_level.level; + case ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL: + return progress->counter >= achievementCriteria->reach_skill_level.skillLevel; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT: + return progress->counter >= 1; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST_COUNT: + return progress->counter >= achievementCriteria->complete_quest_count.totalQuestCount; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST_DAILY: + return progress->counter >= achievementCriteria->complete_daily_quest_daily.numberOfDays; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE: + return progress->counter >= achievementCriteria->complete_quests_in_zone.questCount; + case ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE: + case ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE: + return progress->counter >= achievementCriteria->healing_done.count; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST: + return progress->counter >= achievementCriteria->complete_daily_quest.questCount; + case ACHIEVEMENT_CRITERIA_TYPE_FALL_WITHOUT_DYING: + return progress->counter >= achievementCriteria->fall_without_dying.fallHeight; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST: + return progress->counter >= 1; + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET: + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2: + return progress->counter >= achievementCriteria->be_spell_target.spellCount; + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL: + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2: + return progress->counter >= achievementCriteria->cast_spell.castCount; + case ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE: + return progress->counter >= achievementCriteria->bg_objective.completeCount; + case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL_AT_AREA: + return progress->counter >= achievementCriteria->honorable_kill_at_area.killCount; + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL: + return progress->counter >= 1; + case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL: + case ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL: + return progress->counter >= achievementCriteria->honorable_kill.killCount; + case ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM: + return progress->counter >= achievementCriteria->own_item.itemCount; + case ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA: + return progress->counter >= achievementCriteria->win_rated_arena.count; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_PERSONAL_RATING: + return progress->counter >= achievementCriteria->highest_personal_rating.PersonalRating; + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL: + return progress->counter >= (achievementCriteria->learn_skill_level.skillLevel * 75); + case ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM: + return progress->counter >= achievementCriteria->use_item.itemCount; + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM: + return progress->counter >= achievementCriteria->loot_item.itemCount; + case ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA: + return progress->counter >= 1; + case ACHIEVEMENT_CRITERIA_TYPE_BUY_BANK_SLOT: + return progress->counter >= achievementCriteria->buy_bank_slot.numberOfSlots; + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION: + return progress->counter >= achievementCriteria->gain_reputation.reputationAmount; + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION: + return progress->counter >= achievementCriteria->gain_exalted_reputation.numberOfExaltedFactions; + case ACHIEVEMENT_CRITERIA_TYPE_VISIT_BARBER_SHOP: + return progress->counter >= achievementCriteria->visit_barber.numberOfVisits; + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM: + return progress->counter >= achievementCriteria->equip_epic_item.count; + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT: + return progress->counter >= achievementCriteria->roll_greed_on_loot.count; + case ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS: + return progress->counter >= achievementCriteria->hk_class.count; + case ACHIEVEMENT_CRITERIA_TYPE_HK_RACE: + return progress->counter >= achievementCriteria->hk_race.count; + case ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE: + return progress->counter >= achievementCriteria->do_emote.count; + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM: + return progress->counter >= achievementCriteria->equip_item.count; + case ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD: + 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_SPECIAL_PVP_KILL: + return progress->counter >= achievementCriteria->special_pvp_kill.killCount; + case ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT: + return progress->counter >= achievementCriteria->fish_in_gameobject.lootCount; + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS: + return progress->counter >= achievementCriteria->learn_skillline_spell.spellCount; + case ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL: + return progress->counter >= achievementCriteria->win_duel.duelCount; + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE: + return progress->counter >= achievementCriteria->loot_type.lootTypeCount; + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE: + return progress->counter >= achievementCriteria->learn_skill_line.spellCount; + case ACHIEVEMENT_CRITERIA_TYPE_EARN_ACHIEVEMENT_POINTS: + return progress->counter >= 9000; + case ACHIEVEMENT_CRITERIA_TYPE_USE_LFD_TO_GROUP_WITH_PLAYERS: + return progress->counter >= achievementCriteria->use_lfg.dungeonsComplete; + case ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS: + return progress->counter >= achievementCriteria->get_killing_blow.killCount; + case ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN: + return true; + case ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA: + return achievementCriteria->win_arena.count && progress->counter >= achievementCriteria->win_arena.count; + case ACHIEVEMENT_CRITERIA_TYPE_OWN_RANK: + return progress->counter >= 1; + // handle all statistic-only criteria here + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND: + case ACHIEVEMENT_CRITERIA_TYPE_DEATH_AT_MAP: + case ACHIEVEMENT_CRITERIA_TYPE_DEATH: + case ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON: + case ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_CREATURE: + case ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_PLAYER: + case ACHIEVEMENT_CRITERIA_TYPE_DEATHS_FROM: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_TEAM_RATING: + case ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS: + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TALENTS: + case ACHIEVEMENT_CRITERIA_TYPE_NUMBER_OF_TALENT_RESETS: + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_AT_BARBER: + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_MAIL: + case ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL: + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE: + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_EARNED_BY_AUCTIONS: + case ACHIEVEMENT_CRITERIA_TYPE_CREATE_AUCTION: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_BID: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_SOLD: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_GOLD_VALUE_OWNED: + case ACHIEVEMENT_CRITERIA_TYPE_WON_AUCTIONS: + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REVERED_REPUTATION: + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_HONORED_REPUTATION: + case ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS: + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_EPIC_ITEM: + case ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALTH: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_SPELLPOWER: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_ARMOR: + case ACHIEVEMENT_CRITERIA_TYPE_QUEST_ABANDONED: + case ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN: + case ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS: + case ACHIEVEMENT_CRITERIA_TYPE_PLAY_ARENA: + default: + break; + } + return false; +} + +void AchievementMgr::CompletedCriteriaFor(AchievementEntry const* achievement) +{ + // counter can never complete + if (achievement->flags & ACHIEVEMENT_FLAG_COUNTER) + return; + + // already completed and stored + if (HasAchieved(achievement->ID)) + return; + + if (IsCompletedAchievement(achievement)) + CompletedAchievement(achievement); +} + +bool AchievementMgr::IsCompletedAchievement(AchievementEntry const* entry) +{ + // counter can never complete + if (entry->flags & ACHIEVEMENT_FLAG_COUNTER) + return false; + + // 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 = sAchievementMgr.GetAchievementCriteriaByAchievement(achievmentForTestId); + if (!cList) + return false; + uint32 count = 0; + + // For SUMM achievements, we have to count the progress of each criteria of the achievement. + // Oddly, the target count is NOT contained in the achievement, but in each individual criteria + if (entry->flags & ACHIEVEMENT_FLAG_SUMM) + { + for (AchievementCriteriaEntryList::const_iterator itr = cList->begin(); itr != cList->end(); ++itr) + { + AchievementCriteriaEntry const* criteria = *itr; + + CriteriaProgress const* progress = GetCriteriaProgress(criteria); + if (!progress) + continue; + + count += progress->counter; + + // for counters, field4 contains the main count requirement + if (count >= criteria->raw.count) + return true; + } + return false; + } + + // Default case - need complete all or + bool completed_all = true; + for (AchievementCriteriaEntryList::const_iterator itr = cList->begin(); itr != cList->end(); ++itr) + { + AchievementCriteriaEntry const* criteria = *itr; + + bool completed = IsCompletedCriteria(criteria, entry); + + // 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; + + // completed as have req. count of completed criterias + if (achievmentForTestCount > 0 && achievmentForTestCount <= count) + return true; + } + + // all criterias completed requirement + if (completed_all && achievmentForTestCount == 0) + return true; + + return false; +} + +CriteriaProgress* AchievementMgr::GetCriteriaProgress(AchievementCriteriaEntry const* entry) +{ + CriteriaProgressMap::iterator iter = m_criteriaProgress.find(entry->ID); + + if (iter == m_criteriaProgress.end()) + return nullptr; + + return &(iter->second); +} + +void AchievementMgr::SetCriteriaProgress(AchievementCriteriaEntry const* entry, uint32 changeValue, ProgressType ptype) +{ + // Don't allow to cheat - doing timed achievements without timer active + TimedAchievementMap::iterator timedIter = m_timedAchievements.find(entry->ID); + if (entry->timeLimit && timedIter == m_timedAchievements.end()) + return; + + if (!sAchievementScriptMgr.OnBeforeCriteriaProgress(GetPlayer(), entry)) + { + return; + } + + const uint8 playerLocale = GetPlayerLocale(); + const char* criteriaName = entry->GetName(playerLocale); + + auto const* achievement = sAchievementStore.LookupEntry(entry->referredAchievement); + if (achievement) + { + const char* achievementName = achievement->GetName(playerLocale); + const char* achievementDescription = achievement->GetDescription(playerLocale); + if (achievementName) + { + // sLog.outError("achievement AchievementMgr::SetCriteriaProgress(%u, %u) %s [%s]", entry->ID, changeValue, m_player->GetName(), achievement->name[0]); + std::string breadCrumbs; + auto categoryId = achievement->categoryId; + do + { + auto const* category = sAchievementCategoryStore.LookupEntry(categoryId); + if (category) + { + const char* categoryName = category->GetName(playerLocale); + if(categoryName) + { + categoryId = category->parentCategory; + breadCrumbs = std::string("[") + std::string(categoryName) + std::string("]/") + breadCrumbs; + } + } + } + while (categoryId != -1); + sLog.outDebug("AchievementMgr::SetCriteriaProgress(%u) %s criteria(%s) for %s[%s], %u points (%s)", entry->ID, m_player->GetName(), criteriaName, breadCrumbs.c_str(), achievementName, achievement->points, achievementDescription); + } + } + + CriteriaProgress* progress = GetCriteriaProgress(entry); + if (!progress) + { + // not create record for 0 counter but allow it for timed achievements + // we will need to send 0 progress to client to start the timer + if (changeValue == 0 && !entry->timeLimit) + return; + + progress = &m_criteriaProgress[entry->ID]; + progress->counter = changeValue; + } + else + { + uint32 newValue = 0; + switch (ptype) + { + case PROGRESS_SET: + case PROGRESS_RESET: + newValue = changeValue; + break; + + case PROGRESS_ACCUMULATE: + { + // avoid overflow + uint32 max_value = std::numeric_limits::max(); + newValue = max_value - progress->counter > changeValue ? progress->counter + changeValue : max_value; + break; + } + + case PROGRESS_HIGHEST: + newValue = progress->counter < changeValue ? changeValue : progress->counter; + break; + } + + // not update (not mark as changed) if counter will have same value + if (ptype != PROGRESS_RESET && progress->counter == newValue && !entry->timeLimit) + return; + + progress->counter = newValue; + } + + progress->changed = true; + progress->date = time(nullptr); // set the date to the latest update. + + uint32 timeElapsed = 0; + bool timedCompleted = false; + + if (entry->timeLimit) + { + // has to exist else we wouldn't be here + timedCompleted = IsCompletedCriteria(entry, sAchievementStore.LookupEntry(entry->referredAchievement)); + // Client expects this in packet + timeElapsed = entry->timeLimit - (timedIter->second / IN_MILLISECONDS); + + // Remove the timer, we wont need it anymore + if (timedCompleted) + m_timedAchievements.erase(timedIter); + } + + SendCriteriaUpdate(entry, progress, timeElapsed, true); + + sAchievementScriptMgr.OnCriteriaProgress(GetPlayer(), entry); +} + +void AchievementMgr::RemoveCriteriaProgress(const AchievementCriteriaEntry* entry) +{ + CriteriaProgressMap::iterator criteriaProgress = m_criteriaProgress.find(entry->ID); + if (criteriaProgress == m_criteriaProgress.end()) + return; + + // WorldPacket data(SMSG_CRITERIA_DELETED, 4); + // data << uint32(entry->ID); + // m_player->SendDirectMessage(&data); + + m_criteriaProgress.erase(criteriaProgress); +} + +void AchievementMgr::UpdateTimedAchievements(uint32 timeDiff) +{ + if (!m_timedAchievements.empty()) + { + for (TimedAchievementMap::iterator itr = m_timedAchievements.begin(); itr != m_timedAchievements.end();) + { + // Time is up, remove timer and reset progress + if (itr->second <= timeDiff) + { + AchievementCriteriaEntry const* entry = sAchievementCriteriaStore.LookupEntry(itr->first); + RemoveCriteriaProgress(entry); + m_timedAchievements.erase(itr++); + } + else + { + itr->second -= timeDiff; + ++itr; + } + } + } +} + +void AchievementMgr::StartTimedAchievement(AchievementCriteriaTimedTypes type, uint32 entry, uint32 timeLost /*= 0*/) +{ + AchievementCriteriaEntryList const& achievementCriteriaList = sAchievementMgr.GetTimedAchievementCriteriaByType(type); + for (AchievementCriteriaEntryList::const_iterator i = achievementCriteriaList.begin(); i != achievementCriteriaList.end(); ++i) + { + if ((*i)->timerStartEvent != entry) + continue; + + AchievementEntry const* achievement = sAchievementStore.LookupEntry((*i)->referredAchievement); + if (m_timedAchievements.find((*i)->ID) == m_timedAchievements.end() && !IsCompletedCriteria(*i, achievement)) + { + // Start the timer + if ((*i)->timeLimit * IN_MILLISECONDS > timeLost) + { + m_timedAchievements[(*i)->ID] = (*i)->timeLimit * IN_MILLISECONDS - timeLost; + + // and at client too + SetCriteriaProgress(*i, 0, PROGRESS_SET); + } + } + } +} + +void AchievementMgr::RemoveTimedAchievement(AchievementCriteriaTimedTypes type, uint32 entry) +{ + AchievementCriteriaEntryList const& achievementCriteriaList = sAchievementMgr.GetTimedAchievementCriteriaByType(type); + for (AchievementCriteriaEntryList::const_iterator i = achievementCriteriaList.begin(); i != achievementCriteriaList.end(); ++i) + { + if ((*i)->timerStartEvent != entry) + continue; + + TimedAchievementMap::iterator timedIter = m_timedAchievements.find((*i)->ID); + // We don't have timer for this achievement + if (timedIter == m_timedAchievements.end()) + continue; + + // remove progress + RemoveCriteriaProgress(*i); + + // Remove the timer + m_timedAchievements.erase(timedIter); + } +} + +void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement) +{ + // disable for gamemasters with GM-mode enabled + if (m_player->IsGameMaster()) + { + sLog.outDebug("achievement Not available in GM mode."); + ChatHandler(m_player->GetSession()).PSendSysMessage("Not available in GM mode"); + return; + } + + if (!sAchievementScriptMgr.OnBeforeAchievementComplete(GetPlayer(), achievement)) + { + return; + } + + if (achievement->flags & ACHIEVEMENT_FLAG_COUNTER || HasAchieved(achievement->ID)) + return; + + if (achievement) + { + const uint8 playerLocale = GetPlayerLocale(); + const char* achievementName = achievement->GetName(playerLocale); + const char* achievementDescription = achievement->GetDescription(playerLocale); + if(achievementName) + { + // sLog.outError("achievement AchievementMgr::CompletedAchievement(%u) %s [%s] x%u points", achievement->ID, m_player->GetName(), achievement->name[0], achievement->points); + std::string breadCrumbs; + auto categoryId = achievement->categoryId; + do + { + auto const* category = sAchievementCategoryStore.LookupEntry(categoryId); + if (category) + { + const char* categoryName = category->GetName(playerLocale); + if(categoryName) + { + categoryId = category->parentCategory; + breadCrumbs = std::string("[") + std::string(categoryName) + std::string("]/") + breadCrumbs; + } + } + } + while (categoryId != -1); + sLog.outDebug("AchievementMgr::CompletedAchievement(%u) %s %s[%s], %u points (%s)", achievement->ID, m_player->GetName(), breadCrumbs.c_str(), achievementName, achievement->points, achievementDescription); + } + } + + CompletedAchievementData& ca = m_completedAchievements[achievement->ID]; + ca.date = time(nullptr); + ca.changed = true; + SendAchievementEarned(achievement); + + sAchievementScriptMgr.OnAchievementComplete(GetPlayer(), achievement); + + // pussywizard: set all progress counters to 0, so progress will be deleted from db during save + { + bool allRefsCompleted = true; + uint32 achiCheckId = achievement->refAchievement ? achievement->refAchievement : achievement->ID; + + if (AchievementEntryList const* achRefList = sAchievementMgr.GetAchievementByReferencedId(achiCheckId)) + { + for (AchievementEntryList::const_iterator itr = achRefList->begin(); itr != achRefList->end(); ++itr) + { + if (!IsCompletedAchievement(*itr)) + { + allRefsCompleted = false; + break; + } + } + } + + if (allRefsCompleted) + { + if (AchievementCriteriaEntryList const* cList = sAchievementMgr.GetAchievementCriteriaByAchievement(achiCheckId)) + { + for (AchievementCriteriaEntryList::const_iterator itr = cList->begin(); itr != cList->end(); ++itr) + { + if (CriteriaProgress* progress = GetCriteriaProgress(*itr)) + { + AchievementCriteriaEntry const* crt = (*itr); + if ((crt->flags & ACHIEVEMENT_CRITERIA_FLAG_HIDDEN) != 0) + { + progress->changed = true; + progress->counter = 0; + } + } + } + } + } + } + + if (achievement->flags & (ACHIEVEMENT_FLAG_REALM_FIRST_REACH | ACHIEVEMENT_FLAG_REALM_FIRST_KILL) && SEC_PLAYER == m_player->GetSession()->GetSecurity()) + sAchievementMgr.SetRealmCompleted(achievement); + + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT, achievement->ID); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_EARN_ACHIEVEMENT_POINTS, achievement->points); + + // reward items and titles if any + AchievementReward const* reward = sAchievementMgr.GetAchievementReward(achievement); + + // no rewards + if (!reward) + return; + + // titles + //! Currently there's only one achievement that deals with gender-specific titles. + //! Since no common attributes were found, (not even in titleRewardFlags field) + //! we explicitly check by ID. Maybe in the future we could move the achievement_reward + //! condition fields to the condition system. + // TODO: research + // if (uint32 titleId = reward->titleId[achievement->ID == 1793 ? GetPlayer()->GetGender() : uint8(GetPlayer()->GetTeamId())]) + // if (CharTitlesEntry const* titleEntry = sCharTitlesStore.LookupEntry(titleId)) + // GetPlayer()->SetTitle(titleEntry); + + // mail + if (reward->sender) + { + // MailDraft draft(reward->mailTemplate); + + // if (!reward->mailTemplate) + // { + // std::string subject = reward->subject; + // std::string text = reward->text; + + // LocaleConstant localeConstant = GetPlayer()->GetSession()->GetSessionDbLocaleIndex(); + // if (localeConstant != LOCALE_enUS) + // { + // if(AchievementRewardLocale const* loc = sAchievementMgr.GetAchievementRewardLocale(achievement)) + // { + // ObjectMgr::GetLocaleString(loc->Subject, localeConstant, subject); + // ObjectMgr::GetLocaleString(loc->Text, localeConstant, text); + // } + // } + + // draft = MailDraft(subject, text); + // } + + // // CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); + // CharacterDatabase.BeginTransaction(GetPlayer()->GetGUIDLow()); + + // Item* item = reward->itemId ? Item::CreateItem(reward->itemId, 1, GetPlayer()) : nullptr; + // if (item) + // { + // // save new item before send + // item->SaveToDB(trans); // save for prevent lost at next mail load, if send fail then item will deleted + + // // item + // draft.AddItem(item); + // } + + // draft.SendMailTo(trans, GetPlayer(), MailSender(MAIL_CREATURE, reward->sender)); + // // CharacterDatabase.CommitTransaction(trans); + // CharacterDatabase.CommitTransaction(); + } +} + +void AchievementMgr::SendAllAchievementData() const +{ + // WorldPacket data(SMSG_ALL_ACHIEVEMENT_DATA, m_completedAchievements.size() * 8 + 4 + m_criteriaProgress.size() * 38 + 4); + // BuildAllDataPacket(&data); + // GetPlayer()->GetSession()->SendPacket(&data); +} + +void AchievementMgr::SendRespondInspectAchievements(Player* player) const +{ + // WorldPacket data(SMSG_RESPOND_INSPECT_ACHIEVEMENTS, 9 + m_completedAchievements.size() * 8 + 4 + m_criteriaProgress.size() * 38 + 4); + // data << GetPlayer()->GetPackGUID(); + // BuildAllDataPacket(&data); + // player->GetSession()->SendPacket(&data); +} + +/** + * used by SMSG_RESPOND_INSPECT_ACHIEVEMENT and SMSG_ALL_ACHIEVEMENT_DATA + */ +// void AchievementMgr::BuildAllDataPacket(WorldPacket* data) const +// { +// for (CompletedAchievementMap::const_iterator iter = m_completedAchievements.begin(); iter != m_completedAchievements.end(); ++iter) +// { +// // Skip hidden achievements +// AchievementEntry const* achievement = sAchievementStore.LookupEntry(iter->first); +// if (!achievement || achievement->flags & ACHIEVEMENT_FLAG_HIDDEN) +// continue; + +// *data << uint32(iter->first); +// data->AppendPackedTime(iter->second.date); +// } + +// *data << int32(-1); + +// for (CriteriaProgressMap::const_iterator iter = m_criteriaProgress.begin(); iter != m_criteriaProgress.end(); ++iter) +// { +// *data << uint32(iter->first); +// data->appendPackGUID(iter->second.counter); +// *data << GetPlayer()->GetPackGUID(); +// *data << uint32(0); +// data->AppendPackedTime(iter->second.date); +// *data << uint32(0); +// *data << uint32(0); +// } + +// *data << int32(-1); +// } + +bool AchievementMgr::HasAchieved(uint32 achievementId) const +{ + return m_completedAchievements.find(achievementId) != m_completedAchievements.end(); +} + +bool AchievementMgr::CanUpdateCriteria(AchievementCriteriaEntry const* criteria, AchievementEntry const* achievement) +{ + // TODO: research disable manager + // if (DisableMgr::IsDisabledFor(DISABLE_TYPE_ACHIEVEMENT_CRITERIA, criteria->ID, nullptr)) + // return false; + + if (achievement->patch != sAchievementMgr.getCurrentPatch()) + return false; + + if (achievement->mapID != -1 && GetPlayer()->GetMapId() != uint32(achievement->mapID)) + return false; + + if ((achievement->requiredFaction == ACHIEVEMENT_FACTION_HORDE && GetPlayer()->GetTeamId() != TEAM_INDEX_HORDE) || + (achievement->requiredFaction == ACHIEVEMENT_FACTION_ALLIANCE && GetPlayer()->GetTeamId() != TEAM_INDEX_ALLIANCE)) + return false; + + for (uint32 i = 0; i < MAX_CRITERIA_REQUIREMENTS; ++i) { + if (!criteria->additionalRequirements[i].additionalRequirement_type) + continue; + + switch (criteria->additionalRequirements[i].additionalRequirement_type) { + case ACHIEVEMENT_CRITERIA_CONDITION_BG_MAP: + if (GetPlayer()->GetMapId() != criteria->additionalRequirements[i].additionalRequirement_value) + return false; + break; + case ACHIEVEMENT_CRITERIA_CONDITION_NOT_IN_GROUP: + if (GetPlayer()->GetGroup()) + return false; + break; + default: + break; + } + } + + // // don't update already completed criteria + if (IsCompletedCriteria(criteria, achievement)) + return false; + + return true; +} + +uint8 AchievementMgr::GetPlayerLocale() const +{ + uint8 localeIndex = 0; + if (m_player) + { + const int playerLocaleIndex = m_player->GetSession()->GetSessionDbLocaleIndex(); + if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_koKR)) + { + localeIndex = 2; + } + else if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_frFR)) + { + localeIndex = 3; + } + else if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_deDE)) + { + localeIndex = 4; + } + else if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_zhCN)) + { + localeIndex = 6; + } + else if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_zhTW)) + { + localeIndex = 8; + } + else if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_esES)) + { + localeIndex = 9; + } + else if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_esMX)) + { + localeIndex = 10; + } + else if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_ruRU)) + { + localeIndex = 11; + } + } + + return localeIndex; +} + +bool AchievementGlobalMgr::hasAchiever(WorldSession* session) const +{ + Player* plr = session->GetPlayer(); + if (!plr) + return false; + +#ifdef ENABLE_PLAYERBOTS + if(!plr->isRealPlayer()) + return false; +#endif + + //sLog.outBasic("AchievementGlobalMgr: checking if sending data enabled..."); + const AchievementMgr* aMgr = plr->GetAchievementMgr(); + return aMgr && aMgr->HasAchiever(); +} + +void AchievementGlobalMgr::enableAchiever(WorldSession* session, uint32 version) const +{ + if (!sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_ENABLED)) + return; + + Player* plr = session->GetPlayer(); + if (!plr) + return; + +#ifdef ENABLE_PLAYERBOTS + if (!plr->isRealPlayer()) + return; +#endif + + //sLog.outBasic("AchievementGlobalMgr: enabling sending data..."); + + AchievementMgr* aMgr = plr->GetAchievementMgr(); + if (aMgr) + { + if (!aMgr->HasAchiever()) + { + getAllCategories(session, version); + getAllAchievements(session, version); + getAllCriteria(session, version); + getCharacterCriteria(session); + getCharacterAchievements(session); + } + + aMgr->EnableAchiever(version); + } +} + +bool AchievementGlobalMgr::AddAchievement(WorldSession* session, uint32 achievementId) +{ + if (!sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_ENABLED)) + return false; + + Player* player = session->GetPlayer(); + if (player) + { + AchievementMgr* achievementMgr = player->GetAchievementMgr(); + if (achievementMgr) + { + const AchievementEntry* achievement = sAchievementStore.LookupEntry(achievementId); + if (achievement) + { + return achievementMgr->AddAchievement(achievement); + } + } + } + + return false; +} + +bool AchievementGlobalMgr::RemoveAchievement(WorldSession* session, uint32 achievementId) +{ + if (!sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_ENABLED)) + return false; + + Player* player = session->GetPlayer(); + if (player) + { + AchievementMgr* achievementMgr = player->GetAchievementMgr(); + if (achievementMgr) + { + const AchievementEntry* achievement = sAchievementStore.LookupEntry(achievementId); + if (achievement) + { + return achievementMgr->RemoveAchievement(achievement); + } + } + } + + return false; +} + +void AchievementGlobalMgr::getAllCategories(WorldSession* session, uint32 version) const +{ + if (!sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_ENABLED)) + return; + +#ifdef ENABLE_PLAYERBOTS + Player* plr = session->GetPlayer(); + if (!plr || !plr->isRealPlayer()) + return; +#endif + + if (version >= getCurrentVersion()) + return; + + const auto maxId = sAchievementCategoryStore.GetMaxEntry(); + const auto count = sAchievementCategoryStore.GetRecordCount(); + + uint32 i = 0; + for (uint32 entryId = 0; entryId < maxId; ++entryId) + { + AchievementCategoryEntry const* category = sAchievementCategoryStore.LookupEntry(entryId); + if (!category) + continue; + + if (category->patch > getCurrentPatch()) + continue; + + const char* categoryName = category->GetName(GetPlayerLocale(session)); + const auto* name = std::strlen(categoryName) <= 2 ? "_" : categoryName; + + ChatHandler(session).PSendSysMessage + ( + "ACHI|CA|%u;%i;%s;%i;%u;%u" + , category->ID + , category->parentCategory + , name + , category->sortOrder + , ++i + , count + ); + } + + ChatHandler(session).PSendSysMessage("ACHI|CAV|1"); +} + +void AchievementGlobalMgr::getAllAchievements(WorldSession* session, uint32 version) const +{ + if (!sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_ENABLED)) + return; + +#ifdef ENABLE_PLAYERBOTS + Player* plr = session->GetPlayer(); + if (!plr || !plr->isRealPlayer()) + return; +#endif + + if (version >= getCurrentVersion()) + return; + + const auto maxId = sAchievementStore.GetMaxEntry(); + const auto count = sAchievementStore.GetRecordCount(); + uint32 i = 0; + for (uint32 entryId = 0; entryId < maxId; ++entryId) + { + AchievementEntry const* achievement = sAchievementStore.LookupEntry(entryId); + if (!achievement) + continue; + + if (achievement->patch > getCurrentPatch()) + continue; + + if ((achievement->requiredFaction == ACHIEVEMENT_FACTION_HORDE && session->GetPlayer()->GetTeamId() != TEAM_INDEX_HORDE) || + (achievement->requiredFaction == ACHIEVEMENT_FACTION_ALLIANCE && session->GetPlayer()->GetTeamId() != TEAM_INDEX_ALLIANCE)) + continue; + + const uint8 playerLocale = GetPlayerLocale(session); + const char* achievementName = achievement->GetName(playerLocale); + const char* achievementDescription = achievement->GetDescription(playerLocale); + const char* achievementTitleReward = achievement->GetTitleReward(playerLocale); + + const auto* name = std::strlen(achievementName) <= 2 ? "_" : achievementName; + const auto* description = std::strlen(achievementDescription) <= 2 ? "_" : achievementDescription; + const auto* titleReward = std::strlen(achievementTitleReward) <= 2 ? "_" : achievementTitleReward; + + ChatHandler(session).PSendSysMessage + ( + "ACHI|AC|%u;%i;%i;%s;%s;%u;%u;%u;%i;%u;%s;%i;%u;%u;%u" + , achievement->ID + , achievement->requiredFaction + , achievement->parentAchievement + , name + , description + , achievement->categoryId + , achievement->points + , achievement->OrderInCategory + , achievement->flags + , achievement->icon + , titleReward + , achievement->count + , achievement->refAchievement + , ++i + , count + ); + } + + ChatHandler(session).PSendSysMessage("ACHI|ACV|1"); +} + +void AchievementGlobalMgr::getAllCriteria(WorldSession* session, uint32 version) const +{ + if (!sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_ENABLED)) + return; + +#ifdef ENABLE_PLAYERBOTS + Player* plr = session->GetPlayer(); + if (!plr || !plr->isRealPlayer()) + return; +#endif + + if (version >= getCurrentVersion()) + return; + + const auto maxId = sAchievementCriteriaStore.GetMaxEntry(); + const auto count = sAchievementCriteriaStore.GetRecordCount(); + uint32 i = 0; + for (uint32 entryId = 0; entryId < maxId; ++entryId) + { + AchievementCriteriaEntry const* criteria = sAchievementCriteriaStore.LookupEntry(entryId); + if (!criteria) + continue; + + const char* criteriaName = criteria->GetName(GetPlayerLocale(session)); + const auto* name = std::strlen(criteriaName) <= 2 ? "_" : criteriaName; + + ChatHandler(session).PSendSysMessage + ( + "ACHI|CR|%u;%i;%i;%i;%i;%i;%i;%i;%i;%s;%i;%i;%i;%i;%i;%u;%u" + , criteria->ID + , criteria->referredAchievement + , criteria->requiredType + , criteria->raw.field3 + , criteria->raw.count + , criteria->additionalRequirements[0].additionalRequirement_type + , criteria->additionalRequirements[0].additionalRequirement_value + , criteria->additionalRequirements[1].additionalRequirement_type + , criteria->additionalRequirements[1].additionalRequirement_value + , name + , criteria->flags + , criteria->timedType + , criteria->timerStartEvent + , criteria->timeLimit + , criteria->showOrder + , ++i + , count + ); + } + + ChatHandler(session).PSendSysMessage("ACHI|CRV|1"); +} + +void AchievementGlobalMgr::getCharacterCriteria(WorldSession* session) const +{ + if (!sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_ENABLED)) + return; + + const auto playerGuid = session->GetPlayer()->GetGUIDLow(); + Player* plr = session->GetPlayer(); + +#ifdef ENABLE_PLAYERBOTS + if (!plr || !plr->isRealPlayer()) + return; +#endif + + const AchievementMgr* aMgr = plr->GetAchievementMgr(); + if(aMgr) + { + std::vector sentCriterias; + std::unique_ptr criteriaResult(CharacterDatabase.PQuery("SELECT `criteria`, `counter`, `date` FROM `character_achievement_progress` WHERE `guid` = '%u'", playerGuid)); + if (criteriaResult) + { + do + { + Field* fields = criteriaResult->Fetch(); + uint32 id = fields[0].GetUInt16(); + uint32 counter = fields[1].GetUInt32(); + const auto date = time_t(fields[2].GetUInt32()); + + AchievementCriteriaEntry const* criteria = sAchievementCriteriaStore.LookupEntry(id); + if (!criteria) + { + continue; + } + + if (criteria->timeLimit && time_t(date + criteria->timeLimit) < time(nullptr)) + { + continue; + } + + ChatHandler(session).PSendSysMessage + ( + "ACHI|CH_CR|%u;%i;%u" + , id + , counter + , uint32(date) + ); + + sentCriterias.push_back(id); + + } + while (criteriaResult->NextRow()); + } + + const auto maxId = sAchievementStore.GetMaxEntry(); + const auto count = sAchievementStore.GetRecordCount(); + uint32 i = 0; + for (uint32 entryId = 0; entryId < maxId; ++entryId) + { + AchievementEntry const* achievement = sAchievementStore.LookupEntry(entryId); + if (!achievement) + continue; + + if (achievement->patch > getCurrentPatch()) + continue; + + if ((achievement->requiredFaction == ACHIEVEMENT_FACTION_HORDE && session->GetPlayer()->GetTeamId() != TEAM_INDEX_HORDE) || + (achievement->requiredFaction == ACHIEVEMENT_FACTION_ALLIANCE && session->GetPlayer()->GetTeamId() != TEAM_INDEX_ALLIANCE)) + continue; + + // for achievement with referenced achievement criterias get from referenced and counter from self + uint32 achievmentForTestId = achievement->refAchievement ? achievement->refAchievement : achievement->ID; + uint32 achievmentForTestCount = achievement->count; + + if (aMgr->HasAchieved(achievmentForTestId)) + { + AchievementCriteriaEntryList const* cList = sAchievementMgr.GetAchievementCriteriaByAchievement(achievmentForTestId); + for (AchievementCriteriaEntryList::const_iterator i = cList->begin(); i != cList->end(); ++i) + { + AchievementCriteriaEntry const* achievementCriteria = (*i); + AchievementEntry const* achievementTemp = sAchievementStore.LookupEntry(achievementCriteria->referredAchievement); + if (!achievementTemp) + continue; + + // do not mark all criterias if only one was needed for achievement + if (achievementTemp->count == 1 && cList->size() > 1) + continue; + + if (std::find(sentCriterias.begin(), sentCriterias.end(), achievementCriteria->ID) != sentCriterias.end()) + continue; + + ChatHandler(session).PSendSysMessage + ( + "ACHI|CH_CR|%u;%i;%u" + , achievementCriteria->ID + , std::max(uint32(1), achievementCriteria->raw.count) + , uint32(time_t(time(nullptr))) + ); + } + } + } + } +} + +void AchievementGlobalMgr::getCharacterAchievements(WorldSession* session) const +{ + if (!sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_ENABLED)) + return; + +#ifdef ENABLE_PLAYERBOTS + Player* plr = session->GetPlayer(); + if (!plr || !plr->isRealPlayer()) + return; +#endif + + const auto playerGuid = session->GetPlayer()->GetGUIDLow(); + std::unique_ptr achievementResult(CharacterDatabase.PQuery("SELECT `achievement`, `date` FROM `character_achievement` WHERE `guid` = '%u'", playerGuid)); + if (achievementResult) + { + do + { + Field* fields = achievementResult->Fetch(); + uint32 achievementid = fields[0].GetUInt16(); + + AchievementEntry const* achievement = sAchievementStore.LookupEntry(achievementid); + if (!achievement) + { + continue; + } + + const auto date = time_t(fields[1].GetUInt32()); + + + ChatHandler(session).PSendSysMessage + ( + "ACHI|CH_AC|%u;%u" + , achievementid + , uint32(date) + ); + + } + while (achievementResult->NextRow()); + } +} + +//AchievementGlobalMgr* AchievementGlobalMgr::instance() +//{ +// static AchievementGlobalMgr instance; +// return &instance; +//} + +bool AchievementGlobalMgr::IsStatisticCriteria(AchievementCriteriaEntry const* achievementCriteria) const +{ + return isStatisticAchievement(sAchievementStore.LookupEntry(achievementCriteria->referredAchievement)); +} + +bool AchievementGlobalMgr::isStatisticAchievement(AchievementEntry const* achievement) const +{ + if (!achievement) + return false; + + AchievementCategoryEntry const* cat = sAchievementCategoryStore.LookupEntry(achievement->categoryId); + do + { + switch(cat->ID) + { + case ACHIEVEMENT_CATEGORY_STATISTICS: + return true; + case ACHIEVEMENT_CATEOGRY_GENERAL: + return false; + default: + cat = sAchievementCategoryStore.LookupEntry(cat->parentCategory); + break; + } + } + while (cat); + + return false; +} + +bool AchievementGlobalMgr::IsRealmCompleted(AchievementEntry const* achievement) const +{ + auto itr = m_allCompletedAchievements.find(achievement->ID); + if (itr == m_allCompletedAchievements.end()) + return false; + + if (itr->second == std::chrono::system_clock::time_point::min()) + return false; + + if (!sAchievementScriptMgr.IsRealmCompleted(this, achievement, itr->second)) + return false; + + if (itr->second == std::chrono::system_clock::time_point::max()) + return true; + + // Allow completing the realm first kill for entire minute after first person did it + // it may allow more than one group to achieve it (highly unlikely) + // but apparently this is how blizz handles it as well + if (achievement->flags & ACHIEVEMENT_FLAG_REALM_FIRST_KILL) + return (std::chrono::system_clock::now() - itr->second) > std::chrono::minutes(1); + + sAchievementScriptMgr.SetRealmCompleted(achievement); + + return true; +} + +void AchievementGlobalMgr::SetRealmCompleted(AchievementEntry const* achievement) +{ + if (IsRealmCompleted(achievement)) + return; + + m_allCompletedAchievements[achievement->ID] = std::chrono::system_clock::now(); +} + +//========================================================== +void AchievementGlobalMgr::LoadAchievementCriteriaList() +{ + uint32 oldMSTime = WorldTimer::getMSTime(); + + if (sAchievementCriteriaStore.GetMaxEntry() == 0) + { + sLog.outBasic(" server.loading", ">> Loaded 0 achievement criteria."); + sLog.outBasic(" server.loading", " "); + return; + } + + uint32 loaded = 0; + for (uint32 entryId = 0; entryId < sAchievementCriteriaStore.GetMaxEntry(); ++entryId) + { + AchievementCriteriaEntry const* criteria = sAchievementCriteriaStore.LookupEntry(entryId); + if (!criteria) + continue; + + m_AchievementCriteriasByType[criteria->requiredType].push_back(criteria); + m_AchievementCriteriaListByAchievement[criteria->referredAchievement].push_back(criteria); + + if (criteria->additionalRequirements[0].additionalRequirement_type != ACHIEVEMENT_CRITERIA_CONDITION_NONE) + m_AchievementCriteriasByCondition[criteria->additionalRequirements[0].additionalRequirement_type][criteria->additionalRequirements[0].additionalRequirement_value].push_back(criteria); + if (criteria->additionalRequirements[1].additionalRequirement_type != ACHIEVEMENT_CRITERIA_CONDITION_NONE && + criteria->additionalRequirements[1].additionalRequirement_type != criteria->additionalRequirements[0].additionalRequirement_type) + m_AchievementCriteriasByCondition[criteria->additionalRequirements[1].additionalRequirement_type][criteria->additionalRequirements[1].additionalRequirement_value].push_back(criteria); + + switch (criteria->requiredType) + { + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE: + m_SpecialList[criteria->requiredType][criteria->kill_creature.creatureID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_WIN_BG: + m_SpecialList[criteria->requiredType][criteria->win_bg.bgMapID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL: + m_SpecialList[criteria->requiredType][criteria->reach_skill_level.skillID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT: + m_SpecialList[criteria->requiredType][criteria->complete_achievement.linkedAchievement].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE: + m_SpecialList[criteria->requiredType][criteria->complete_quests_in_zone.zoneID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND: + m_SpecialList[criteria->requiredType][criteria->complete_battleground.mapID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_CREATURE: + m_SpecialList[criteria->requiredType][criteria->killed_by_creature.creatureEntry].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST: + m_SpecialList[criteria->requiredType][criteria->complete_quest.questID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET: + m_SpecialList[criteria->requiredType][criteria->be_spell_target.spellID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL: + m_SpecialList[criteria->requiredType][criteria->cast_spell.spellID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE: + m_SpecialList[criteria->requiredType][criteria->bg_objective.objectiveId].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL_AT_AREA: + m_SpecialList[criteria->requiredType][criteria->honorable_kill_at_area.areaID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL: + m_SpecialList[criteria->requiredType][criteria->learn_spell.spellID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM: + m_SpecialList[criteria->requiredType][criteria->own_item.itemID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL: + m_SpecialList[criteria->requiredType][criteria->learn_skill_level.skillID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM: + m_SpecialList[criteria->requiredType][criteria->use_item.itemID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM: + m_SpecialList[criteria->requiredType][criteria->own_item.itemID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA: + { + WorldMapOverlayEntry const* worldOverlayEntry = sWorldMapOverlayStore.LookupEntry(criteria->explore_area.areaReference); + if (!worldOverlayEntry) + break; + + for (uint8 j = 0; j < MAX_WORLD_MAP_OVERLAY_AREA_IDX; ++j) + if (worldOverlayEntry->areatableID[j]) + { + bool valid = true; + for (uint8 i = 0; i < j; ++i) + if (worldOverlayEntry->areatableID[j] == worldOverlayEntry->areatableID[i]) + valid = false; + if (valid) + m_SpecialList[criteria->requiredType][worldOverlayEntry->areatableID[j]].push_back(criteria); + } + } + break; + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION: + m_SpecialList[criteria->requiredType][criteria->gain_reputation.factionID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM: + m_SpecialList[criteria->requiredType][criteria->equip_epic_item.itemSlot].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS: + m_SpecialList[criteria->requiredType][criteria->hk_class.classID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_HK_RACE: + m_SpecialList[criteria->requiredType][criteria->hk_race.raceID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE: + m_SpecialList[criteria->requiredType][criteria->do_emote.emoteID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM: + m_SpecialList[criteria->requiredType][criteria->equip_item.itemID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT: + m_SpecialList[criteria->requiredType][criteria->use_gameobject.goEntry].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2: + m_SpecialList[criteria->requiredType][criteria->be_spell_target.spellID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT: + m_SpecialList[criteria->requiredType][criteria->fish_in_gameobject.goEntry].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS: + m_SpecialList[criteria->requiredType][criteria->learn_skillline_spell.skillLine].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE: + m_SpecialList[criteria->requiredType][criteria->loot_type.lootType].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2: + m_SpecialList[criteria->requiredType][criteria->cast_spell.spellID].push_back(criteria); + break; + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE: + m_SpecialList[criteria->requiredType][criteria->learn_skill_line.skillLine].push_back(criteria); + break; + } + + if (criteria->timeLimit) + m_AchievementCriteriasByTimedType[criteria->timedType].push_back(criteria); + + ++loaded; + } + + sLog.outBasic(">> Loaded %u achievement criteria in %u ms", loaded, WorldTimer::getMSTimeDiff(oldMSTime, WorldTimer::getMSTime())); +} + +void AchievementGlobalMgr::LoadAchievementReferenceList() +{ + uint32 oldMSTime = WorldTimer::getMSTime(); + + if (sAchievementStore.GetMaxEntry() == 0) + { + sLog.outBasic(" server.loading", ">> Loaded 0 achievement references."); + sLog.outBasic(" server.loading", " "); + return; + } + + uint32 count = 0; + + for (uint32 entryId = 0; entryId < sAchievementStore.GetMaxEntry(); ++entryId) + { + AchievementEntry const* achievement = sAchievementStore.LookupEntry(entryId); + if (!achievement || !achievement->refAchievement) + continue; + + m_AchievementListByReferencedId[achievement->refAchievement].push_back(achievement); + ++count; + } + + sLog.outBasic(">> Loaded %u achievement references in %u ms", count, WorldTimer::getMSTimeDiff(oldMSTime, WorldTimer::getMSTime())); +} + +void AchievementGlobalMgr::LoadAchievementCriteriaData() +{ + uint32 oldMSTime = WorldTimer::getMSTime(); + + m_criteriaDataMap.clear(); // need for reload case + + auto result = WorldDatabase.Query("SELECT criteria_id, type, value1, value2, ScriptName FROM achievement_criteria_data"); + + if (!result) + { + sLog.outBasic(" server.loading", ">> Loaded 0 additional achievement criteria data. DB table `achievement_criteria_data` is empty."); + sLog.outBasic(" server.loading", " "); + return; + } + + uint32 count = 0; + + do + { + Field* fields = result->Fetch(); + uint32 criteria_id = fields[0].GetUInt32(); + + AchievementCriteriaEntry const* criteria = sAchievementCriteriaStore.LookupEntry(criteria_id); + + if (!criteria) + { + sLog.outError("sql.sql Table `achievement_criteria_data` has data for non-existing criteria (Entry: %u), ignore.", criteria_id); + continue; + } + + uint32 dataType = fields[1].GetUInt8(); + std::string scriptName = fields[4].GetString(); + uint32 scriptId = 0; + if (scriptName.length()) // not empty + { + if (dataType != ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT) + sLog.outError("sql.sql Table `achievement_criteria_data` has ScriptName set for non-scripted data type (Entry: %u, type %u), useless data.", criteria_id, dataType); + else + scriptId = sAchievementScriptMgr.getScriptId(scriptName.c_str()); + } + + AchievementCriteriaData data(dataType, fields[2].GetUInt32(), fields[3].GetUInt32(), scriptId); + + if (!data.IsValid(criteria)) + continue; + + // this will allocate empty data set storage + AchievementCriteriaDataSet& dataSet = m_criteriaDataMap[criteria_id]; + dataSet.SetCriteriaId(criteria_id); + + // add real data only for not NONE data types + if (data.dataType != ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE) + dataSet.Add(data); + + // counting data by and data types + ++count; + } + while (result->NextRow()); + + // post loading checks + for (uint32 entryId = 0; entryId < sAchievementCriteriaStore.GetMaxEntry(); ++entryId) + { + AchievementCriteriaEntry const* criteria = sAchievementCriteriaStore.LookupEntry(entryId); + if (!criteria) + continue; + + switch (criteria->requiredType) + { + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE: + case ACHIEVEMENT_CRITERIA_TYPE_WIN_BG: + case ACHIEVEMENT_CRITERIA_TYPE_FALL_WITHOUT_DYING: + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET: + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL: + case ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE: + case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL: + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT: + case ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS: + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2: + case ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL: + case ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN: + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE: + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2: + // achievement requires db data + break; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST: + { + AchievementEntry const* achievement = sAchievementStore.LookupEntry(criteria->referredAchievement); + if (!achievement) + continue; + + // exist many achievements with this criteria, use at this moment hardcoded check to skil simple case + if (achievement->ID == 1282) + break; + + continue; + } + case ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA: // need skip generic cases + if (criteria->additionalRequirements[0].additionalRequirement_type != ACHIEVEMENT_CRITERIA_CONDITION_NO_LOSE) + continue; + break; + case ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE: // need skip generic cases + if (criteria->do_emote.count == 0) + continue; + break; + case ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL: // skip statistics + if (criteria->win_duel.duelCount == 0) + continue; + break; + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE: // need skip generic cases + if (criteria->loot_type.lootTypeCount != 1) + continue; + break; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST: + case ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM: // only Children's Week achievements + { + AchievementEntry const* achievement = sAchievementStore.LookupEntry(criteria->referredAchievement); + if (!achievement) + continue; + if (achievement->categoryId != CATEGORY_CHILDRENS_WEEK) + continue; + break; + } + default: // type not use DB data, ignore + continue; + } + + // TODO: research disable manager + // if (!GetCriteriaDataSet(criteria) && !DisableMgr::IsDisabledFor(DISABLE_TYPE_ACHIEVEMENT_CRITERIA, entryId, nullptr)) + // sLog.outError("sql.sql Table `achievement_criteria_data` does not have expected data for criteria (Entry: %u Type: %u) for achievement %u.", criteria->ID, criteria->requiredType, criteria->referredAchievement); + } + + sLog.outBasic(">> Loaded %u additional achievement criteria data in %u ms", count, WorldTimer::getMSTimeDiff(oldMSTime, WorldTimer::getMSTime())); +} + +void AchievementGlobalMgr::LoadCompletedAchievements() +{ + uint32 oldMSTime = WorldTimer::getMSTime(); + + auto result = CharacterDatabase.Query("SELECT achievement FROM character_achievement GROUP BY achievement"); + + // Populate _allCompletedAchievements with all realm first achievement ids to make multithreaded access safer + // while it will not prevent races, it will prevent crashes that happen because std::unordered_map key was added + // instead the only potential race will happen on value associated with the key + for (uint32 i = 0; i < sAchievementStore.GetMaxEntry(); ++i) + if (AchievementEntry const* achievement = sAchievementStore.LookupEntry(i)) + if (achievement->flags & (ACHIEVEMENT_FLAG_REALM_FIRST_REACH | ACHIEVEMENT_FLAG_REALM_FIRST_KILL)) + m_allCompletedAchievements[achievement->ID] = std::chrono::system_clock::time_point::min(); + + if (!result) + { + sLog.outBasic(" server.loading", ">> Loaded 0 completed achievements. DB table `character_achievement` is empty."); + sLog.outBasic(" server.loading", " "); + return; + } + + do + { + Field* fields = result->Fetch(); + + uint16 achievementId = fields[0].GetUInt16(); + const AchievementEntry* achievement = sAchievementStore.LookupEntry(achievementId); + if (!achievement) + { + // Remove non existent achievements from all characters + sLog.outError("achievement Non-existing achievement %u data removed from table `character_achievement`.", achievementId); + + // CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_INVALID_ACHIEVMENT); + CharacterDatabase.PExecute("DELETE FROM `character_achievement` WHERE `achievement` = '%u'", uint16(achievementId)); + // stmt->setUInt16(0, uint16(achievementId)); + // CharacterDatabase.Execute(stmt); + + continue; + } + else if (achievement->flags & (ACHIEVEMENT_FLAG_REALM_FIRST_REACH | ACHIEVEMENT_FLAG_REALM_FIRST_KILL)) + m_allCompletedAchievements[achievementId] = std::chrono::system_clock::time_point::max(); + } + while (result->NextRow()); + + sLog.outBasic(">> Loaded %lu completed achievements in %u ms", (unsigned long)m_allCompletedAchievements.size(), WorldTimer::getMSTimeDiff(oldMSTime, WorldTimer::getMSTime())); +} + +void AchievementGlobalMgr::LoadRewards() +{ + uint32 oldMSTime = WorldTimer::getMSTime(); + + m_achievementRewards.clear(); // need for reload case + + // 0 1 2 3 4 5 6 7 + auto result = WorldDatabase.Query("SELECT ID, TitleA, TitleH, ItemID, Sender, Subject, Body, MailTemplateID FROM achievement_reward"); + + if (!result) + { + sLog.outBasic(" server.loading", ">> Loaded 0 achievement rewards. DB table `achievement_reward` is empty."); + sLog.outBasic(" server.loading", " "); + return; + } + + uint32 count = 0; + + do + { + Field* fields = result->Fetch(); + uint32 entry = fields[0].GetUInt32(); + AchievementEntry const* achievement = sAchievementStore.LookupEntry(entry); + if (!achievement) + { + sLog.outError("sql.sql Table `achievement_reward` has wrong achievement (Entry: %u). Ignoring.", entry); + continue; + } + + AchievementReward reward; + reward.titleId[0] = fields[1].GetUInt32(); // Alliance title + reward.titleId[1] = fields[2].GetUInt32(); // Horde title + reward.itemId = fields[3].GetUInt32(); + reward.sender = fields[4].GetUInt32(); // The sender of the mail (a creature from creature_template) + // reward.subject = fields[5].GetString(); + // reward.text = fields[6].GetString(); // Body in DB + reward.mailTemplate = fields[7].GetUInt32(); + + // Must reward a title or send a mail else, skip it. + if (!reward.titleId[0] && !reward.titleId[1] && !reward.sender) + { + sLog.outError("sql.sql Table `achievement_reward` (Entry: %u) does not have any title or item reward data. Ignoring.", entry); + continue; + } + + if (achievement->requiredFaction == ACHIEVEMENT_FACTION_ANY && (!reward.titleId[0] ^ !reward.titleId[1])) + sLog.outError("achievement Table `achievement_reward` (Entry: %u) has title (A: %u H: %u) set for only one team.", entry, reward.titleId[0], reward.titleId[1]); + + if (reward.titleId[0]) + { + // TODO: research + // CharTitlesEntry const* titleEntry = sCharTitlesStore.LookupEntry(reward.titleId[0]); + // if (!titleEntry) + // { + // sLog.outError("sql.sql Table `achievement_reward` (Entry: %u) has invalid title id (%u) in `title_A`. Setting it to 0.", entry, reward.titleId[0]); + // reward.titleId[0] = 0; + // } + } + + if (reward.titleId[1]) + { + // TODO: research + // CharTitlesEntry const* titleEntry = sCharTitlesStore.LookupEntry(reward.titleId[1]); + // if (!titleEntry) + // { + // sLog.outError("sql.sql Table `achievement_reward` (Entry: %u) has invalid title id (%u) in `title_H`. Setting it to 0.", entry, reward.titleId[1]); + // reward.titleId[1] = 0; + // } + } + + // Check mail data before item for report including wrong item case + if (reward.sender) + { + if (!sObjectMgr.GetCreatureTemplate(reward.sender)) + { + sLog.outDetail("sql.sql Table `achievement_reward` (Entry: %u) has invalid creature_template entry %u as Sender. Will not send the mail reward.", entry, reward.sender); + reward.sender = 0; + } + } + else + { + if (reward.itemId) + sLog.outDetail("sql.sql Table `achievement_reward` (Entry: %u) has itemId reward set but does not have Sender data set. Item will not be sent.", entry); + + if (!reward.subject.empty()) + sLog.outDetail("sql.sql Table `achievement_reward` (Entry: %u) has mail Subject but does not have Sender data set.", entry); // Maybe add "Mail will not be sent." ? + + if (!reward.text.empty()) + sLog.outDetail("sql.sql Table `achievement_reward` (Entry: %u) has mail text (Body) set but does not have Sender data set.", entry); // Maybe add "Mail will not be sent." ? + + if (reward.mailTemplate) + sLog.outDetail("sql.sql Table `achievement_reward` (Entry: %u) has mailTemplate set does not have Sender data set.", entry); // Maybe add "Mail will not be sent." ? + } + + // if (reward.mailTemplate) + // { + // if (!sMailTemplateStore.LookupEntry(reward.mailTemplate)) + // { + // sLog.outError("sql.sql Table `achievement_reward` (Entry: %u) has invalid mailTemplate (%u) (check the DBC).", entry, reward.mailTemplate); + // reward.mailTemplate = 0; + // } + // else if (!reward.subject.empty() || !reward.text.empty()) + // sLog.outError("sql.sql Table `achievement_reward` (Entry: %u) has mailTemplate (%u) and mail Subject/Body. To use the column mailTemplate, Subject and Body must be empty.", entry, reward.mailTemplate); + // } + + if (reward.itemId) + { + if (!sObjectMgr.GetItemPrototype(reward.itemId)) + { + // Not sure it's an error, it's probably an outDebug instead, because we can simply send a mail with no reward, right? + sLog.outDetail("sql.sql Table `achievement_reward` (Entry: %u) has invalid item_template id %u. Reward mail will not contain any item.", entry, reward.itemId); + reward.itemId = 0; + } + } + + m_achievementRewards[entry] = reward; + ++count; + } + while (result->NextRow()); + + sLog.outBasic(">> Loaded %u achievement rewards in %u ms", count, WorldTimer::getMSTimeDiff(oldMSTime, WorldTimer::getMSTime())); +} + +void AchievementGlobalMgr::LoadRewardLocales() +{ + uint32 oldMSTime = WorldTimer::getMSTime(); + + m_achievementRewardLocales.clear(); // need for reload case + + // 0 1 2 3 + auto result = WorldDatabase.Query("SELECT ID, Locale, Subject, Text FROM achievement_reward_locale"); + + if (!result) + { + sLog.outBasic(" server.loading", ">> Loaded 0 achievement reward locale strings. DB table `achievement_reward_locale` is empty"); + sLog.outBasic(" server.loading", " "); + return; + } + + do + { + Field* fields = result->Fetch(); + + uint32 ID = fields[0].GetUInt32(); + if (m_achievementRewards.find(ID) == m_achievementRewards.end()) + { + sLog.outDetail("sql.sql Table `achievement_reward_locale` (Entry: %u) has locale strings for non-existing achievement reward.", ID); + continue; + } + + LocaleConstant locale = GetLocaleByName(fields[1].GetString()); + if (locale == LOCALE_enUS) + continue; + + AchievementRewardLocale& data = m_achievementRewardLocales[ID]; + // ObjectMgr::AddLocaleString(fields[2].GetString(), locale, data.Subject); + // ObjectMgr::AddLocaleString(fields[3].GetString(), locale, data.Text); + } + while (result->NextRow()); + + sLog.outBasic(">> Loaded %lu Achievement Reward Locale strings in %u ms", (unsigned long)m_achievementRewardLocales.size(), WorldTimer::getMSTimeDiff(oldMSTime, WorldTimer::getMSTime())); +} + +void AchievementGlobalMgr::LoadAllData() +{ + if (!sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_ENABLED)) + return; + + sLog.outString("Loading Achievements..."); + LoadAchievementReferenceList(); + sLog.outString("Loading Achievement Criteria Lists..."); + LoadAchievementCriteriaList(); + sLog.outString("Loading Achievement Criteria Data..."); + LoadAchievementCriteriaData(); + sLog.outString("Loading Achievement Rewards..."); + LoadRewards(); + sLog.outString("Loading Achievement Reward Locales..."); + LoadRewardLocales(); + sLog.outString("Loading Completed Achievements..."); + LoadCompletedAchievements(); +} + +AchievementEntry const* AchievementGlobalMgr::GetAchievement(uint32 achievementId) const +{ + return sAchievementStore.LookupEntry(achievementId); +} + +uint8 AchievementGlobalMgr::GetPlayerLocale(WorldSession* session) const +{ + uint8 localeIndex = 0; + if (session) + { + const int playerLocaleIndex = session->GetSessionDbLocaleIndex(); + if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_koKR)) + { + localeIndex = 2; + } + else if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_frFR)) + { + localeIndex = 3; + } + else if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_deDE)) + { + localeIndex = 4; + } + else if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_zhCN)) + { + localeIndex = 6; + } + else if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_zhTW)) + { + localeIndex = 8; + } + else if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_esES)) + { + localeIndex = 9; + } + else if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_esMX)) + { + localeIndex = 10; + } + else if (playerLocaleIndex == sObjectMgr.GetStorageLocaleIndexFor(LOCALE_ruRU)) + { + localeIndex = 11; + } + } + + return localeIndex; +} + +const char* AchievementEntry::GetName(uint32 locale) const +{ + const char* output = name[0]; + if (locale < MAX_ACHIEVEMENT_LOCALE) + { + if (std::strlen(name[locale]) > 0) + { + output = name[locale]; + } + } + + return output; +} + +const char* AchievementEntry::GetDescription(uint32 locale) const +{ + const char* output = description[0]; + if (locale < MAX_ACHIEVEMENT_LOCALE) + { + if (std::strlen(description[locale]) > 0) + { + output = description[locale]; + } + } + + return output; +} + +const char* AchievementEntry::GetTitleReward(uint32 locale) const +{ + const char* output = titleReward[0]; + if (locale < MAX_ACHIEVEMENT_LOCALE) + { + if (std::strlen(titleReward[locale]) > 0) + { + output = titleReward[locale]; + } + } + + return output; +} + +const char* AchievementCategoryEntry::GetName(uint32 locale) const +{ + const char* output = name[0]; + if (locale < MAX_ACHIEVEMENT_LOCALE) + { + if (std::strlen(name[locale]) > 0) + { + output = name[locale]; + } + } + + return output; +} + +const char* AchievementCriteriaEntry::GetName(uint32 locale) const +{ + const char* output = name[0]; + if (locale < MAX_ACHIEVEMENT_LOCALE) + { + if (std::strlen(name[locale]) > 0) + { + output = name[locale]; + } + } + + return output; +} diff --git a/src/game/Achievements/AchievementMgr.h b/src/game/Achievements/AchievementMgr.h new file mode 100644 index 0000000000..7aeef22af2 --- /dev/null +++ b/src/game/Achievements/AchievementMgr.h @@ -0,0 +1,1142 @@ +#ifndef _ACHIEVEMENT_MGR_H +#define _ACHIEVEMENT_MGR_H + +//#include "SharedDefines.h" + +#include +#include +#include +#include + +//#include "Common.h" +// #include "DatabaseEnv.h" +//#include "DBCEnums.h" +//#include "DBCStores.h" +//#include "ObjectGuid.h" +//#include "Database/SQLStorage.h" +//#include "Map.h" +//#include "Policies/Singleton.h" + +extern SQLStorage sAchievementCriteriaStore; +extern SQLStorage sAchievementStore; +extern SQLStorage sAchievementCategoryStore; + +enum Difficulty +{ + REGULAR_DIFFICULTY = 0, + + DUNGEON_DIFFICULTY_NORMAL = 0, + // DUNGEON_DIFFICULTY_HEROIC = 1, + // DUNGEON_DIFFICULTY_EPIC = 2, + + RAID_DIFFICULTY_25MAN_NORMAL = 0, + RAID_DIFFICULTY_40MAN_NORMAL = 1, + // RAID_DIFFICULTY_10MAN_HEROIC = 2, + // RAID_DIFFICULTY_25MAN_HEROIC = 3, +}; + +#define MAX_DUNGEON_DIFFICULTY 0 +#define MAX_RAID_DIFFICULTY 1 +#define MAX_DIFFICULTY 1 +#define MAX_ACHIEVEMENT_LOCALE 16 + +enum AchievementFaction +{ + ACHIEVEMENT_FACTION_HORDE = 0, + ACHIEVEMENT_FACTION_ALLIANCE = 1, + ACHIEVEMENT_FACTION_ANY = -1, +}; + +enum AchievementFlags +{ + ACHIEVEMENT_FLAG_COUNTER = 0x00000001, // Just count statistic (never stop and complete) + ACHIEVEMENT_FLAG_HIDDEN = 0x00000002, // Not sent to client - internal use only + ACHIEVEMENT_FLAG_STORE_MAX_VALUE = 0x00000004, // Store only max value? used only in "Reach level xx" + ACHIEVEMENT_FLAG_SUMM = 0x00000008, // Use summ criteria value from all reqirements (and calculate max value) + ACHIEVEMENT_FLAG_MAX_USED = 0x00000010, // Show max criteria (and calculate max value ??) + ACHIEVEMENT_FLAG_REQ_COUNT = 0x00000020, // Use not zero req count (and calculate max value) + ACHIEVEMENT_FLAG_AVERAGE = 0x00000040, // Show as average value (value / time_in_days) depend from other flag (by def use last criteria value) + ACHIEVEMENT_FLAG_BAR = 0x00000080, // Show as progress bar (value / max vale) depend from other flag (by def use last criteria value) + ACHIEVEMENT_FLAG_REALM_FIRST_REACH = 0x00000100, // + ACHIEVEMENT_FLAG_REALM_FIRST_KILL = 0x00000200, // +}; + +#define MAX_CRITERIA_REQUIREMENTS 2 + +enum AchievementCriteriaCondition +{ + ACHIEVEMENT_CRITERIA_CONDITION_NONE = 0, + ACHIEVEMENT_CRITERIA_CONDITION_NO_DEATH = 1, // reset progress on death + ACHIEVEMENT_CRITERIA_CONDITION_UNK1 = 2, // only used in "Complete a daily quest every day for five consecutive days" + ACHIEVEMENT_CRITERIA_CONDITION_BG_MAP = 3, // requires you to be on specific map, reset at change + ACHIEVEMENT_CRITERIA_CONDITION_NO_LOSE = 4, // only used in "Win 10 arenas without losing" + ACHIEVEMENT_CRITERIA_CONDITION_NO_SPELL_HIT = 9, // requires the player not to be hit by specific spell + ACHIEVEMENT_CRITERIA_CONDITION_NOT_IN_GROUP = 10, // requires the player not to be in group + ACHIEVEMENT_CRITERIA_CONDITION_UNK3 = 13, // unk + ACHIEVEMENT_CRITERIA_CONDITION_TOTAL = 14 +}; + +enum AchievementCriteriaFlags +{ + ACHIEVEMENT_CRITERIA_FLAG_SHOW_PROGRESS_BAR = 0x00000001, // Show progress as bar + ACHIEVEMENT_CRITERIA_FLAG_HIDDEN = 0x00000002, // Not show criteria in client + ACHIEVEMENT_CRITERIA_FLAG_FAIL_ACHIEVEMENT = 0x00000004, // BG related?? + ACHIEVEMENT_CRITERIA_FLAG_RESET_ON_START = 0x00000008, // + ACHIEVEMENT_CRITERIA_FLAG_IS_DATE = 0x00000010, // not used + ACHIEVEMENT_CRITERIA_FLAG_MONEY_COUNTER = 0x00000020 // Displays counter as money +}; + +enum AchievementCriteriaTimedTypes +{ + ACHIEVEMENT_TIMED_TYPE_EVENT = 1, // Timer is started by internal event with id in timerStartEvent + ACHIEVEMENT_TIMED_TYPE_QUEST = 2, // Timer is started by accepting quest with entry in timerStartEvent + ACHIEVEMENT_TIMED_TYPE_SPELL_CASTER = 5, // Timer is started by casting a spell with entry in timerStartEvent + ACHIEVEMENT_TIMED_TYPE_SPELL_TARGET = 6, // Timer is started by being target of spell with entry in timerStartEvent + ACHIEVEMENT_TIMED_TYPE_CREATURE = 7, // Timer is started by killing creature with entry in timerStartEvent + ACHIEVEMENT_TIMED_TYPE_ITEM = 9, // Timer is started by using item with entry in timerStartEvent + + ACHIEVEMENT_TIMED_TYPE_MAX, +}; + +enum AchievementCriteriaTypes +{ + ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE = 0, + ACHIEVEMENT_CRITERIA_TYPE_WIN_BG = 1, + ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL = 5, + ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL = 7, + ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT = 8, + ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST_COUNT = 9, + ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST_DAILY = 10, // you have to complete a daily quest x times in a row + ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE = 11, + ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE = 13, + ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST = 14, + ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND = 15, + ACHIEVEMENT_CRITERIA_TYPE_DEATH_AT_MAP = 16, + ACHIEVEMENT_CRITERIA_TYPE_DEATH = 17, + ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON = 18, + ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_RAID = 19, + ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_CREATURE = 20, + ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_PLAYER = 23, + ACHIEVEMENT_CRITERIA_TYPE_FALL_WITHOUT_DYING = 24, + ACHIEVEMENT_CRITERIA_TYPE_DEATHS_FROM = 26, + ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST = 27, + ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET = 28, + ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL = 29, + ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE = 30, + ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL_AT_AREA = 31, + ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA = 32, + ACHIEVEMENT_CRITERIA_TYPE_PLAY_ARENA = 33, + ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL = 34, + ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL = 35, + ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM = 36, + ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA = 37, // TODO: the archievements 1162 and 1163 requires a special rating which can't be found in the dbc + ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_TEAM_RATING = 38, + ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_PERSONAL_RATING = 39, + ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL = 40, + ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM = 41, + ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM = 42, + ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA = 43, + ACHIEVEMENT_CRITERIA_TYPE_OWN_RANK = 44, + ACHIEVEMENT_CRITERIA_TYPE_BUY_BANK_SLOT = 45, + ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION = 46, + ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION = 47, + ACHIEVEMENT_CRITERIA_TYPE_VISIT_BARBER_SHOP = 48, // note: rewarded as soon as the player payed, not at taking place at the seat + ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM = 49, + ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT = 50, // TODO: itemlevel is mentioned in text but not present in dbc + ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT = 51, + ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS = 52, + ACHIEVEMENT_CRITERIA_TYPE_HK_RACE = 53, + ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE = 54, + ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE = 55, + ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS = 56, // TODO: in some cases map not present, and in some cases need do without die + ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM = 57, + ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS = 59, + ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TALENTS = 60, + ACHIEVEMENT_CRITERIA_TYPE_NUMBER_OF_TALENT_RESETS = 61, + ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD = 62, + ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TRAVELLING = 63, + ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_AT_BARBER = 65, + ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_MAIL = 66, + ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY = 67, + ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT = 68, + ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2 = 69, + ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL = 70, + ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT = 72, + ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN = 74, // TODO: title id is not mentioned in dbc + ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS = 75, + ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL = 76, + ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL = 77, + ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE = 78, // TODO: creature type (demon, undead etc.) is not stored in dbc + ACHIEVEMENT_CRITERIA_TYPE_GOLD_EARNED_BY_AUCTIONS = 80, + ACHIEVEMENT_CRITERIA_TYPE_CREATE_AUCTION = 82, + ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_BID = 83, + ACHIEVEMENT_CRITERIA_TYPE_WON_AUCTIONS = 84, + ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_SOLD = 85, + ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_GOLD_VALUE_OWNED = 86, + ACHIEVEMENT_CRITERIA_TYPE_GAIN_REVERED_REPUTATION = 87, + ACHIEVEMENT_CRITERIA_TYPE_GAIN_HONORED_REPUTATION = 88, + ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS = 89, + ACHIEVEMENT_CRITERIA_TYPE_LOOT_EPIC_ITEM = 90, + ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM = 91, + ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED = 93, + ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED = 94, + ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALTH = 95, + ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_POWER = 96, + ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_STAT = 97, + ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_SPELLPOWER = 98, + ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_ARMOR = 99, + ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_RATING = 100, + ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_DEALT = 101, + ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_RECEIVED = 102, + ACHIEVEMENT_CRITERIA_TYPE_TOTAL_DAMAGE_RECEIVED = 103, + ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEAL_CASTED = 104, + ACHIEVEMENT_CRITERIA_TYPE_TOTAL_HEALING_RECEIVED = 105, + ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALING_RECEIVED = 106, + ACHIEVEMENT_CRITERIA_TYPE_QUEST_ABANDONED = 107, + ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN = 108, + ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE = 109, + ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2 = 110, // TODO: target entry is missing + ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE = 112, + ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL = 113, + ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS = 114, + ACHIEVEMENT_CRITERIA_TYPE_EARN_ACHIEVEMENT_POINTS = 115, + ACHIEVEMENT_CRITERIA_TYPE_USE_LFD_TO_GROUP_WITH_PLAYERS = 119, + ACHIEVEMENT_CRITERIA_TYPE_TOTAL = 124, // 0..123 => 124 criteria types total +}; + +enum AchievementCategory +{ + CATEGORY_CHILDRENS_WEEK = 163, +}; + + +//// GCC have alternative #pragma pack(N) syntax and old gcc version not support pack(push,N), also any gcc version not support it at some platform +#if defined(__GNUC__) +#pragma pack(1) +#else +#pragma pack(push,1) +#endif + +struct AchievementEntry +{ + uint32 ID; // 0 + int32 requiredFaction; // 1 -1=all, 0=horde, 1=alliance + int32 mapID; // 2 -1=none + uint32 parentAchievement; // 3 its Achievement parent (can`t start while parent uncomplete, use its Criteria if don`t have own, use its progress on begin) + std::array name; // 4-19 + uint32 name_flags; // 20 + char* description[16]; // 21-36 + uint32 desc_flags; // 37 + uint32 categoryId; // 38 + uint32 points; // 39 reward points + uint32 OrderInCategory; // 40 + uint32 flags; // 41 + uint32 icon; // 42 icon (from SpellIcon.dbc) + char* titleReward[16]; // 43-58 + uint32 titleReward_flags; // 59 + uint32 count; // 60 - need this count of completed criterias (own or referenced achievement criterias) + uint32 refAchievement; // 61 - referenced achievement (counting of all completed criterias) + uint32 patch; + +public: + const char* GetName(uint32 locale) const; + const char* GetDescription(uint32 locale) const; + const char* GetTitleReward(uint32 locale) const; +}; + +struct AchievementCategoryEntry +{ + int32 ID; // 0 + int32 parentCategory; // 1 -1 for main category + char* name[16]; // 2-17 + uint32 name_flags; // 18 + uint32 sortOrder; // 19 + uint32 patch; + +public: + const char* GetName(uint32 locale) const; +}; + +struct AchievementCriteriaEntry +{ + uint32 ID; // 0 + uint32 referredAchievement; // 1 + uint32 requiredType; // 2 + union + { + // ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE = 0 + // TODO: also used for player deaths.. + struct + { + uint32 creatureID; // 3 + uint32 creatureCount; // 4 + } kill_creature; + + // ACHIEVEMENT_CRITERIA_TYPE_WIN_BG = 1 + struct + { + uint32 bgMapID; // 3 + uint32 winCount; // 4 + } win_bg; + + // ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL = 5 + struct + { + uint32 unused; // 3 + uint32 level; // 4 + } reach_level; + + // ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL = 7 + struct + { + uint32 skillID; // 3 + uint32 skillLevel; // 4 + } reach_skill_level; + + // ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT = 8 + struct + { + uint32 linkedAchievement; // 3 + } complete_achievement; + + // ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST_COUNT = 9 + struct + { + uint32 unused; // 3 + uint32 totalQuestCount; // 4 + } complete_quest_count; + + // ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST_DAILY = 10 + struct + { + uint32 unused; // 3 + uint32 numberOfDays; // 4 + } complete_daily_quest_daily; + + // ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE = 11 + struct + { + uint32 zoneID; // 3 + uint32 questCount; // 4 + } complete_quests_in_zone; + + // ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST = 14 + struct + { + uint32 unused; // 3 + uint32 questCount; // 4 + } complete_daily_quest; + + // ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND = 15 + struct + { + uint32 mapID; // 3 + } complete_battleground; + + // ACHIEVEMENT_CRITERIA_TYPE_DEATH_AT_MAP = 16 + struct + { + uint32 mapID; // 3 + } death_at_map; + + // ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON = 18 + struct + { + uint32 manLimit; // 3 + } death_in_dungeon; + + // ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_RAID = 19 + struct + { + uint32 groupSize; // 3 can be 5, 10 or 25 + } complete_raid; + + // ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_CREATURE = 20 + struct + { + uint32 creatureEntry; // 3 + } killed_by_creature; + + // ACHIEVEMENT_CRITERIA_TYPE_FALL_WITHOUT_DYING = 24 + struct + { + uint32 unused; // 3 + uint32 fallHeight; // 4 + } fall_without_dying; + + // ACHIEVEMENT_CRITERIA_TYPE_DEATHS_FROM = 26 + struct + { + uint32 type; // 3, see enum EnviromentalDamage + } death_from; + + // ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST = 27 + struct + { + uint32 questID; // 3 + uint32 questCount; // 4 + } complete_quest; + + // ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET = 28 + // ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2 = 69 + struct + { + uint32 spellID; // 3 + uint32 spellCount; // 4 + } be_spell_target; + + // ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL = 29 + // ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2 = 110 + struct + { + uint32 spellID; // 3 + uint32 castCount; // 4 + } cast_spell; + + // ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE + struct + { + uint32 objectiveId; // 3 + uint32 completeCount; // 4 + } bg_objective; + + // ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL_AT_AREA = 31 + struct + { + uint32 areaID; // 3 Reference to AreaTable.dbc + uint32 killCount; // 4 + } honorable_kill_at_area; + + // ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA = 32 + struct + { + uint32 mapID; // 3 Reference to Map.dbc + uint32 count; // 4 Number of times that the arena must be won. + } win_arena; + + // ACHIEVEMENT_CRITERIA_TYPE_PLAY_ARENA = 33 + struct + { + uint32 mapID; // 3 Reference to Map.dbc + } play_arena; + + // ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL = 34 + struct + { + uint32 spellID; // 3 Reference to Map.dbc + } learn_spell; + + // ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM = 36 + struct + { + uint32 itemID; // 3 + uint32 itemCount; // 4 + } own_item; + + // ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA = 37 + struct + { + uint32 unused; // 3 + uint32 count; // 4 + } win_rated_arena; + + // ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_TEAM_RATING = 38 + struct + { + uint32 teamtype; // 3 {2, 3, 5} + } highest_team_rating; + + // ACHIEVEMENT_CRITERIA_TYPE_REACH_TEAM_RATING = 39 + struct + { + uint32 teamtype; // 3 {2, 3, 5} + uint32 PersonalRating; // 4 + } highest_personal_rating; + + // ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL = 40 + struct + { + uint32 skillID; // 3 + uint32 skillLevel; // 4 apprentice=1, journeyman=2, expert=3, artisan=4, master=5, grand master=6 + } learn_skill_level; + + // ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM = 41 + struct + { + uint32 itemID; // 3 + uint32 itemCount; // 4 + } use_item; + + // ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM = 42 + struct + { + uint32 itemID; // 3 + uint32 itemCount; // 4 + } loot_item; + + // ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA = 43 + struct + { + uint32 areaReference; // 3 + } explore_area; + + // ACHIEVEMENT_CRITERIA_TYPE_OWN_RANK = 44 + struct + { + // TODO: This rank is _NOT_ the index from CharTitles.dbc + uint32 rank; // 3 + } own_rank; + + // ACHIEVEMENT_CRITERIA_TYPE_BUY_BANK_SLOT = 45 + struct + { + uint32 unused; // 3 + uint32 numberOfSlots; // 4 + } buy_bank_slot; + + // ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION = 46 + struct + { + uint32 factionID; // 3 + uint32 reputationAmount; // 4 Total reputation amount, so 42000 = exalted + } gain_reputation; + + // ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION= 47 + struct + { + uint32 unused; // 3 + uint32 numberOfExaltedFactions; // 4 + } gain_exalted_reputation; + + // ACHIEVEMENT_CRITERIA_TYPE_VISIT_BARBER_SHOP = 48 + struct + { + uint32 unused; // 3 + uint32 numberOfVisits; // 4 + } visit_barber; + + // ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM = 49 + // TODO: where is the required itemlevel stored? + struct + { + uint32 itemSlot; // 3 + uint32 count; // 4 + } equip_epic_item; + + // ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT = 50 + struct + { + uint32 rollValue; // 3 + uint32 count; // 4 + } roll_need_on_loot; + // ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT = 51 + struct + { + uint32 rollValue; // 3 + uint32 count; // 4 + } roll_greed_on_loot; + + // ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS = 52 + struct + { + uint32 classID; // 3 + uint32 count; // 4 + } hk_class; + + // ACHIEVEMENT_CRITERIA_TYPE_HK_RACE = 53 + struct + { + uint32 raceID; // 3 + uint32 count; // 4 + } hk_race; + + // ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE = 54 + // TODO: where is the information about the target stored? + struct + { + uint32 emoteID; // 3 enum TextEmotes + uint32 count; // 4 count of emotes, always required special target or requirements + } do_emote; + + // ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE = 13 + // ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE = 55 + struct + { + uint32 unused; // 3 + uint32 count; // 4 + } healing_done; + + // ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS = 56 + struct + { + uint32 unused; + uint32 killCount; + } get_killing_blow; + + // ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM = 57 + struct + { + uint32 itemID; // 3 + uint32 count; // 4 + } equip_item; + + // ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD= 62 + struct + { + uint32 unused; // 3 + uint32 goldInCopper; // 4 + } quest_reward_money; + + // ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY = 67 + struct + { + uint32 unused; // 3 + uint32 goldInCopper; // 4 + } loot_money; + + // ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT = 68 + struct + { + uint32 goEntry; // 3 + uint32 useCount; // 4 + } use_gameobject; + + // ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL = 70 + // TODO: are those special criteria stored in the dbc or do we have to add another sql table? + struct + { + uint32 unused; // 3 + uint32 killCount; // 4 + } special_pvp_kill; + + // ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT = 72 + struct + { + uint32 goEntry; // 3 + uint32 lootCount; // 4 + } fish_in_gameobject; + + // ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS = 75 + struct + { + uint32 skillLine; // 3 + uint32 spellCount; // 4 + } learn_skillline_spell; + + // ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL = 76 + struct + { + uint32 unused; // 3 + uint32 duelCount; // 4 + } win_duel; + + // ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_POWER = 96 + struct + { + uint32 powerType; // 3 mana=0, 1=rage, 3=energy, 6=runic power + } highest_power; + + // ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_STAT = 97 + struct + { + uint32 statType; // 3 4=spirit, 3=int, 2=stamina, 1=agi, 0=strength + } highest_stat; + + // ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_SPELLPOWER = 98 + struct + { + uint32 spellSchool; // 3 + } highest_spellpower; + + // ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_RATING = 100 + struct + { + uint32 ratingType; // 3 + } highest_rating; + + // ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE = 109 + struct + { + uint32 lootType; // 3 3=fishing, 2=pickpocket, 4=disentchant + uint32 lootTypeCount; // 4 + } loot_type; + + // ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE = 112 + struct + { + uint32 skillLine; // 3 + uint32 spellCount; // 4 + } learn_skill_line; + + // ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL = 113 + struct + { + uint32 unused; // 3 + uint32 killCount; // 4 + } honorable_kill; + + struct + { + uint32 unused; + uint32 dungeonsComplete; + } use_lfg; + + struct + { + uint32 field3; // 3 main requirement + uint32 count; // 4 main requirement count + } raw; + }; + + struct + { + uint32 additionalRequirement_type; + uint32 additionalRequirement_value; + } additionalRequirements[MAX_CRITERIA_REQUIREMENTS]; + + char const* name[16]; // 9-24 + uint32 name_flags; // 25 + uint32 flags; // 26 + uint32 timedType; // 27 + uint32 timerStartEvent; // 28 Alway appears with timed events + // for timed spells it is spell id for + // timed kills it is creature id + uint32 timeLimit; // 29 time limit in seconds + uint32 showOrder; // 30 show order + +public: + const char* GetName(uint32 locale) const; +}; + +//// GCC have alternative #pragma pack() syntax and old gcc version not support pack(pop), also any gcc version not support it at some platform +#if defined(__GNUC__) +#pragma pack() +#else +#pragma pack(pop) +#endif + + +typedef std::list AchievementCriteriaEntryList; +typedef std::list AchievementEntryList; + +typedef std::unordered_map AchievementCriteriaListByAchievement; +typedef std::map AchievementListByReferencedId; + +struct CriteriaProgress +{ + uint32 counter; + time_t date; // latest update time. + bool changed; +}; + +enum AchievementCriteriaDataType +{ + // 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_SCRIPT = 11, // scripted requirement + 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_DATA_TYPE_INSTANCE_SCRIPT = 18, // 0 0 maker instance script call for check current criteria requirements fit + ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM = 19, // item_level item_quality for equipped item in slot to check item level and quality + ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID = 20, // map_id 0 player must be on map with id in map_id + ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE = 21, // class_id race_id + ACHIEVEMENT_CRITERIA_DATA_TYPE_NTH_BIRTHDAY = 22, // N login on day of N-th Birthday + ACHIEVEMENT_CRITERIA_DATA_TYPE_S_KNOWN_TITLE = 23, // title_id known (pvp) title, values from dbc + ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_TEAMS_SCORES = 24, // winner_score loser score player's team win bg and their teams have exact scores +}; +#define MAX_ACHIEVEMENT_CRITERIA_DATA_TYPE 25 // maximum value in AchievementCriteriaDataType enum + +enum AchievementCommonCategories +{ + ACHIEVEMENT_CATEOGRY_GENERAL = -1, + ACHIEVEMENT_CATEGORY_STATISTICS = 1 +}; + +class Player; +class Unit; + +struct AchievementCriteriaData +{ + AchievementCriteriaDataType dataType{ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE}; + union + { + // ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE = 0 (no data) + // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE = 1 + struct + { + uint32 id; + } creature; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE = 2 + // ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE = 21 + struct + { + uint32 class_id; + uint32 race_id; + } classRace; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH = 3 + struct + { + uint32 percent; + } health; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_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 + struct + { + uint32 spell_id; + uint32 effect_idx; + } aura; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA = 6 + struct + { + uint32 id; + } area; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE = 8 + struct + { + uint32 value; + uint32 compType; + } value; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL = 9 + struct + { + uint32 minlevel; + } level; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER = 10 + struct + { + uint32 gender; + } gender; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT = 11 (no data) + // ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY = 12 + struct + { + uint32 difficulty; + } difficulty; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT = 13 + struct + { + uint32 maxcount; + } map_players; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM = 14 + struct + { + uint32 team; + } team; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK = 15 + struct + { + uint32 state; + } drunk; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY = 16 + struct + { + uint32 id; + } holiday; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE= 17 + struct + { + uint32 min_score; + uint32 max_score; + } bg_loss_team_score; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT = 18 (no data) + // ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM = 19 + struct + { + uint32 item_level; + uint32 item_quality; + } equipped_item; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID = 20 + struct + { + uint32 mapId; + } map_id; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_NTH_BIRTHDAY = 22 + struct + { + uint32 nth_birthday; + } birthday_login; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_KNOWN_TITLE = 23 + struct + { + uint32 title_id; + } known_title; + // ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_TEAMS_SCORES = 24 + struct + { + uint32 winner_score; + uint32 loser_score; + } teams_scores; + // ... + struct + { + uint32 value1; + uint32 value2; + } raw; + }; + uint32 ScriptId; + + AchievementCriteriaData() + { + raw.value1 = 0; + raw.value2 = 0; + ScriptId = 0; + } + + AchievementCriteriaData(uint32 _dataType, uint32 _value1, uint32 _value2, uint32 _scriptId) : dataType(AchievementCriteriaDataType(_dataType)) + { + raw.value1 = _value1; + raw.value2 = _value2; + ScriptId = _scriptId; + } + + bool IsValid(AchievementCriteriaEntry const* criteria); + bool Meets(uint32 criteria_id, Player const* source, Unit const* target, uint32 miscvalue1 = 0) const; +}; + +struct AchievementCriteriaDataSet +{ + AchievementCriteriaDataSet() {} + typedef std::vector Storage; + void Add(AchievementCriteriaData const& data) { storage.push_back(data); } + bool Meets(Player const* source, Unit const* target, uint32 miscvalue = 0) const; + void SetCriteriaId(uint32 id) {criteria_id = id;} +private: + uint32 criteria_id{0}; + Storage storage; +}; + +typedef std::map AchievementCriteriaDataMap; + +struct AchievementReward +{ + uint32 titleId[2]; + uint32 itemId; + uint32 sender; + std::string subject; + std::string text; + uint32 mailTemplate; +}; + +typedef std::map AchievementRewards; + +struct AchievementRewardLocale +{ + std::vector Subject; + std::vector Text; +}; + +typedef std::map AchievementRewardLocales; + +struct CompletedAchievementData +{ + time_t date; + bool changed; +}; + +typedef std::unordered_map CriteriaProgressMap; +typedef std::unordered_map CompletedAchievementMap; + +class Unit; +class Player; +class WorldPacket; + +class AchievementMgr +{ +public: + explicit AchievementMgr(Player* player); + ~AchievementMgr(); + + void Reset(); + static void DeleteFromDB(uint32 lowguid); + void LoadFromDB(ObjectGuid guid, SqlQueryHolder* holder); + void SaveToDB(); + // void LoadFromDB(PreparedQueryResult achievementResult, PreparedQueryResult criteriaResult); + // void SaveToDB(CharacterDatabaseTransaction trans); + void ResetAchievementCriteria(AchievementCriteriaCondition condition, uint32 value, bool evenIfCriteriaComplete = false); + void UpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscValue1 = 0, uint32 miscValue2 = 0, Unit* unit = nullptr); + void CompletedAchievement(AchievementEntry const* entry); + void CheckAllAchievementCriteria(); + void SendAllAchievementData() const; + void SendRespondInspectAchievements(Player* player) const; + [[nodiscard]] bool HasAchieved(uint32 achievementId) const; + Player* GetPlayer() const { return m_player; } + void UpdateTimedAchievements(uint32 timeDiff); + void StartTimedAchievement(AchievementCriteriaTimedTypes type, uint32 entry, uint32 timeLost = 0); + void RemoveTimedAchievement(AchievementCriteriaTimedTypes type, uint32 entry); // used for quest and scripted timed achievements + + void RemoveCriteriaProgress(AchievementCriteriaEntry const* entry); + + bool HasAchiever() const { return m_hasAchiever; } + void EnableAchiever(uint32 version); + uint32 GetVersion() { return m_version; } + + bool AddAchievement(const AchievementEntry* entry); + bool RemoveAchievement(const AchievementEntry* entry); + +private: + enum ProgressType { PROGRESS_SET, PROGRESS_ACCUMULATE, PROGRESS_HIGHEST, PROGRESS_RESET }; + void SendAchievementEarned(AchievementEntry const* achievement) const; + void SendCriteriaUpdate(AchievementCriteriaEntry const* entry, CriteriaProgress const* progress, uint32 timeElapsed, bool timedCompleted) const; + CriteriaProgress* GetCriteriaProgress(AchievementCriteriaEntry const* entry); + void SetCriteriaProgress(AchievementCriteriaEntry const* entry, uint32 changeValue, ProgressType ptype = PROGRESS_SET); + void CompletedCriteriaFor(AchievementEntry const* achievement); + bool IsCompletedCriteria(AchievementCriteriaEntry const* achievementCriteria, AchievementEntry const* achievement); + bool IsCompletedAchievement(AchievementEntry const* entry); + bool CanUpdateCriteria(AchievementCriteriaEntry const* criteria, AchievementEntry const* achievement); + // void BuildAllDataPacket(WorldPacket* data) const; + + uint8 GetPlayerLocale() const; + void SyncAccountAcchievements(); + + Player* m_player; + CriteriaProgressMap m_criteriaProgress; + CompletedAchievementMap m_completedAchievements; + typedef std::map TimedAchievementMap; + TimedAchievementMap m_timedAchievements; // Criteria id/time left in MS + + bool m_hasAchiever; + uint32 m_version; +}; + +class AchievementGlobalMgr +{ +public: + AchievementGlobalMgr() {} + ~AchievementGlobalMgr() {} //= default; + + //static AchievementGlobalMgr* instance(); + + static uint32 getCurrentPatch() { return uint32(0); } + static uint32 getCurrentVersion() { return uint32(1); } + + bool IsStatisticCriteria(AchievementCriteriaEntry const* achievementCriteria) const; + bool isStatisticAchievement(AchievementEntry const* achievement) const; + + void getAllCategories(WorldSession* session, uint32 version) const; + void getAllAchievements(WorldSession* session, uint32 version) const; + void getAllCriteria(WorldSession* session, uint32 version) const; + + void getCharacterCriteria(WorldSession* session) const; + void getCharacterAchievements(WorldSession* session) const; + + bool hasAchiever(WorldSession* session) const; + void enableAchiever(WorldSession* session, uint32 version) const; + + bool AddAchievement(WorldSession* session, uint32 achievementId); + bool RemoveAchievement(WorldSession* session, uint32 achievementId); + + [[nodiscard]] AchievementCriteriaEntryList const* GetAchievementCriteriaByType(AchievementCriteriaTypes type) const + { + return &m_AchievementCriteriasByType[type]; + } + + AchievementCriteriaEntryList const* GetSpecialAchievementCriteriaByType(AchievementCriteriaTypes type, uint32 val) + { + if (m_SpecialList[type].find(val) != m_SpecialList[type].end()) + return &m_SpecialList[type][val]; + return nullptr; + } + + AchievementCriteriaEntryList const* GetAchievementCriteriaByCondition(AchievementCriteriaCondition condition, uint32 val) + { + if (m_AchievementCriteriasByCondition[condition].find(val) != m_AchievementCriteriasByCondition[condition].end()) + return &m_AchievementCriteriasByCondition[condition][val]; + return nullptr; + } + + [[nodiscard]] AchievementCriteriaEntryList const& GetTimedAchievementCriteriaByType(AchievementCriteriaTimedTypes type) const + { + return m_AchievementCriteriasByTimedType[type]; + } + + [[nodiscard]] AchievementCriteriaEntryList const* GetAchievementCriteriaByAchievement(uint32 id) const + { + AchievementCriteriaListByAchievement::const_iterator itr = m_AchievementCriteriaListByAchievement.find(id); + return itr != m_AchievementCriteriaListByAchievement.end() ? &itr->second : nullptr; + } + + [[nodiscard]] AchievementEntryList const* GetAchievementByReferencedId(uint32 id) const + { + AchievementListByReferencedId::const_iterator itr = m_AchievementListByReferencedId.find(id); + return itr != m_AchievementListByReferencedId.end() ? &itr->second : nullptr; + } + + AchievementReward const* GetAchievementReward(AchievementEntry const* achievement) const + { + AchievementRewards::const_iterator iter = m_achievementRewards.find(achievement->ID); + return iter != m_achievementRewards.end() ? &iter->second : nullptr; + } + + AchievementRewardLocale const* GetAchievementRewardLocale(AchievementEntry const* achievement) const + { + AchievementRewardLocales::const_iterator iter = m_achievementRewardLocales.find(achievement->ID); + return iter != m_achievementRewardLocales.end() ? &iter->second : nullptr; + } + + AchievementCriteriaDataSet const* GetCriteriaDataSet(AchievementCriteriaEntry const* achievementCriteria) const + { + AchievementCriteriaDataMap::const_iterator iter = m_criteriaDataMap.find(achievementCriteria->ID); + return iter != m_criteriaDataMap.end() ? &iter->second : nullptr; + } + + bool IsRealmCompleted(AchievementEntry const* achievement) const; + void SetRealmCompleted(AchievementEntry const* achievement); + + void LoadAchievementCriteriaList(); + void LoadAchievementCriteriaData(); + void LoadAchievementReferenceList(); + void LoadCompletedAchievements(); + void LoadRewards(); + void LoadRewardLocales(); + void LoadAllData(); + + [[nodiscard]] AchievementEntry const* GetAchievement(uint32 achievementId) const; + +private: + uint8 GetPlayerLocale(WorldSession* session) const; + +private: + AchievementCriteriaDataMap m_criteriaDataMap; + + // store achievement criterias by type to speed up lookup + AchievementCriteriaEntryList m_AchievementCriteriasByType[ACHIEVEMENT_CRITERIA_TYPE_TOTAL]; + AchievementCriteriaEntryList m_AchievementCriteriasByTimedType[ACHIEVEMENT_TIMED_TYPE_MAX]; + // 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::unordered_map AllCompletedAchievements; + AllCompletedAchievements m_allCompletedAchievements; + + AchievementRewards m_achievementRewards; + AchievementRewardLocales m_achievementRewardLocales; + + // pussywizard: + std::map m_SpecialList[ACHIEVEMENT_CRITERIA_TYPE_TOTAL]; + std::map m_AchievementCriteriasByCondition[ACHIEVEMENT_CRITERIA_CONDITION_TOTAL]; +}; + +//MaNGOS::Singleton::Instance() +#define sAchievementMgr MaNGOS::Singleton::Instance() + +#endif diff --git a/src/game/Achievements/AchievementScriptMgr.cpp b/src/game/Achievements/AchievementScriptMgr.cpp new file mode 100644 index 0000000000..77cbb4edd8 --- /dev/null +++ b/src/game/Achievements/AchievementScriptMgr.cpp @@ -0,0 +1,3543 @@ +/* + * This file is part of the AzerothCore Project. See AUTHORS file for Copyright information + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by the + * Free Software Foundation; either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +// #include "Chat.h" +// #include "Config.h" +// #include "CreatureAI.h" +// #include "DatabaseEnv.h" +//#include "DBCStores.h" +// #include "GossipDef.h" +// #include "ObjectMgr.h" +// #include "OutdoorPvPMgr.h" +// #include "Player.h" +// #include "ScriptedGossip.h" +#include "AchievementScriptMgr.h" +// #include "ScriptSystem.h" +// #include "SpellInfo.h" +// #include "SpellScript.h" +// #include "Transport.h" +// #include "Vehicle.h" +// #include "SmartAI.h" +// #include "WorldPacket.h" + +INSTANTIATE_SINGLETON_1(AchievementScriptMgr); + +// Utility macros to refer to the script registry. +#define SCR_REG_MAP(T) ScriptRegistry::ScriptMap +#define SCR_REG_ITR(T) ScriptRegistry::ScriptMapIterator +#define SCR_REG_LST(T) ScriptRegistry::ScriptPointerList + +// Utility macros for looping over scripts. +#define FOR_SCRIPTS(T, C, E) \ + if (!SCR_REG_LST(T).empty()) \ + for (SCR_REG_ITR(T) C = SCR_REG_LST(T).begin(); \ + C != SCR_REG_LST(T).end(); ++C) +#define FOR_SCRIPTS_RET(T, C, E, R) \ + if (SCR_REG_LST(T).empty()) \ + return R; \ + for (SCR_REG_ITR(T) C = SCR_REG_LST(T).begin(); \ + C != SCR_REG_LST(T).end(); ++C) +#define FOREACH_SCRIPT(T) \ + FOR_SCRIPTS(T, itr, end) \ + itr->second + +// Utility macros for finding specific scripts. +#define GET_SCRIPT(T, I, V) \ + T* V = ScriptRegistry::GetScriptById(I); \ + if (!V) \ + return; +#define GET_SCRIPT_RET(T, I, V, R) \ + T* V = ScriptRegistry::GetScriptById(I); \ + if (!V) \ + return R; + +//namespace Achievement { + +//struct TSpellSummary +//{ +// uint8 Targets; // set of enum SelectTarget +// uint8 Effects; // set of enum SelectEffect +//}*SpellSummary; + +//AchievementScriptMgr::AchievementScriptMgr() +// : _scriptCount(0), _scheduledScripts(0), _script_loader_callback(nullptr) { } +// +//AchievementScriptMgr::~AchievementScriptMgr() { } + +//AchievementScriptMgr* AchievementScriptMgr::instance() +//{ +// static AchievementScriptMgr instance; +// return &instance; +//} + +void AchievementScriptMgr::Initialize() +{ + sLog.outBasic("server.loading, > Loading C++ scripts"); + sLog.outBasic("server.loading, "); + + loadScriptNames(); + + // AddSC_SmartScripts(); + + // MANGOS_ASSERT(_script_loader_callback); + + // MANGOS_ASSERT(_script_loader_callback, + // "Script loader callback wasn't registered!"); + + // _script_loader_callback(); +} + +void AchievementScriptMgr::Unload() +{ +#define SCR_CLEAR(T) \ + for (SCR_REG_ITR(T) itr = SCR_REG_LST(T).begin(); itr != SCR_REG_LST(T).end(); ++itr) \ + delete itr->second; \ + SCR_REG_LST(T).clear(); + + // Clear scripts for every script type. + // SCR_CLEAR(SpellScriptLoader); + // SCR_CLEAR(ServerScript); + // SCR_CLEAR(WorldScript); + // SCR_CLEAR(FormulaScript); + // SCR_CLEAR(WorldMapScript); + // SCR_CLEAR(InstanceMapScript); + // SCR_CLEAR(BattlegroundMapScript); + // SCR_CLEAR(ItemScript); + // SCR_CLEAR(CreatureScript); + // SCR_CLEAR(GameObjectScript); + // SCR_CLEAR(AreaTriggerScript); + // SCR_CLEAR(BattlegroundScript); + // SCR_CLEAR(OutdoorPvPScript); + // SCR_CLEAR(CommandScript); + // SCR_CLEAR(WeatherScript); + // SCR_CLEAR(AuctionHouseScript); + // SCR_CLEAR(ConditionScript); + // SCR_CLEAR(VehicleScript); + // SCR_CLEAR(DynamicObjectScript); + // SCR_CLEAR(TransportScript); + SCR_CLEAR(AchievementCriteriaScript); + // SCR_CLEAR(PlayerScript); + // SCR_CLEAR(AccountScript); + // SCR_CLEAR(GuildScript); + // SCR_CLEAR(GroupScript); + // SCR_CLEAR(GlobalScript); + // SCR_CLEAR(ModuleScript); + // SCR_CLEAR(BGScript); + SCR_CLEAR(AchievementScript); + // SCR_CLEAR(ArenaTeamScript); + // SCR_CLEAR(SpellSC); + // SCR_CLEAR(GameEventScript); + // SCR_CLEAR(MailScript); + // SCR_CLEAR(MiscScript); + // SCR_CLEAR(PetScript); + // SCR_CLEAR(ArenaScript); + // SCR_CLEAR(CommandSC); + +#undef SCR_CLEAR + + //delete[] SpellSummary; +} + +void AchievementScriptMgr::LoadDatabase() +{ + uint32 oldMSTime = WorldTimer::getMSTime(); + + // sScriptSystemMgr->LoadScriptWaypoints(); + + // Add all scripts that must be loaded after db/maps + // ScriptRegistry::AddALScripts(); + // ScriptRegistry::AddALScripts(); + // ScriptRegistry::AddALScripts(); + // ScriptRegistry::AddALScripts(); + // ScriptRegistry::AddALScripts(); + // ScriptRegistry::AddALScripts(); + // ScriptRegistry::AddALScripts(); + // ScriptRegistry::AddALScripts(); + // ScriptRegistry::AddALScripts(); + // ScriptRegistry::AddALScripts(); + // ScriptRegistry::AddALScripts(); + // ScriptRegistry::AddALScripts(); + // ScriptRegistry::AddALScripts(); + ScriptRegistry::AddALScripts(); + + // FillSpellSummary(); + + CheckIfScriptsInDatabaseExist(); + + sLog.outBasic("server.loading, >> Loaded %u C++ scripts in %u ms", GetScriptCount(), WorldTimer::getMSTimeDiff(oldMSTime, WorldTimer::getMSTime())); + sLog.outBasic("server.loading, "); +} + +void AchievementScriptMgr::loadScriptNames() { + // uint32 oldMSTime = getMSTime(); + + // We insert an empty placeholder here so we can use the + // script id 0 as dummy for "no script found". + _scriptNamesStore.emplace_back(""); + + std::unique_ptr result( + WorldDatabase.Query("SELECT DISTINCT(`ScriptName`) FROM `achievement_criteria_data` WHERE `ScriptName` <> '' AND `type` = 11")); + // "UNION " + // "SELECT DISTINCT(ScriptName) FROM battleground_template WHERE ScriptName <> '' " + // "UNION " + // "SELECT DISTINCT(ScriptName) FROM creature WHERE ScriptName <> '' " + // "UNION " + // "SELECT DISTINCT(ScriptName) FROM creature_template WHERE ScriptName <> '' " + // "UNION " + // "SELECT DISTINCT(ScriptName) FROM gameobject WHERE ScriptName <> '' " + // "UNION " + // "SELECT DISTINCT(ScriptName) FROM gameobject_template WHERE ScriptName <> '' " + // "UNION " + // "SELECT DISTINCT(ScriptName) FROM item_template WHERE ScriptName <> '' " + // "UNION " + // "SELECT DISTINCT(ScriptName) FROM areatrigger_scripts WHERE ScriptName <> '' " + // "UNION " + // "SELECT DISTINCT(ScriptName) FROM spell_script_names WHERE ScriptName <> '' " + // "UNION " + // "SELECT DISTINCT(ScriptName) FROM transports WHERE ScriptName <> '' " + // "UNION " + // "SELECT DISTINCT(ScriptName) FROM game_weather WHERE ScriptName <> '' " + // "UNION " + // "SELECT DISTINCT(ScriptName) FROM conditions WHERE ScriptName <> '' " + // "UNION " + // "SELECT DISTINCT(ScriptName) FROM outdoorpvp_template WHERE ScriptName <> '' " + // "UNION " + // "SELECT DISTINCT(script) FROM instance_template WHERE script <> ''"); + + if (!result) + { + MANGOS_ASSERT(false); + // LOG_INFO("server.loading", " "); + // LOG_ERROR("sql.sql", ">> Loaded empty set of Script Names!"); + return; + } + + _scriptNamesStore.reserve(result->GetRowCount() + 1); + + do + { + _scriptNamesStore.push_back((*result)[0].GetString()); + } while (result->NextRow()); + + std::sort(_scriptNamesStore.begin(), _scriptNamesStore.end()); + // LOG_INFO("server.loading", ">> Loaded " SZFMTD " ScriptNames in %u ms", _scriptNamesStore.size(), GetMSTimeDiffToNow(oldMSTime)); + // LOG_INFO("server.loading", " "); +} + +void AchievementScriptMgr::CheckIfScriptsInDatabaseExist() +{ + for (auto const& scriptName : _scriptNamesStore) + { + if (uint32 sid = getScriptId(scriptName.c_str())) + { + if ( + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + !ScriptRegistry::GetScriptById(sid) + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) && + // !ScriptRegistry::GetScriptById(sid) + ) + { + sLog.outBasic("sql.sql, Script named '%s' is assigned in the database, but has no code!", scriptName.c_str()); + } + } + } +} + +// void AchievementScriptMgr::FillSpellSummary() +// { +// UnitAI::FillAISpellInfo(); + +// SpellSummary = new TSpellSummary[sSpellMgr->GetSpellInfoStoreSize()]; + +// SpellInfo const* pTempSpell; + +// for (uint32 i = 0; i < sSpellMgr->GetSpellInfoStoreSize(); ++i) +// { +// SpellSummary[i].Effects = 0; +// SpellSummary[i].Targets = 0; + +// pTempSpell = sSpellMgr->GetSpellInfo(i); +// // This spell doesn't exist. +// if (!pTempSpell) +// continue; + +// for (uint32 j = 0; j < MAX_SPELL_EFFECTS; ++j) +// { +// // Spell targets self. +// if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER) +// SpellSummary[i].Targets |= 1 << (SELECT_TARGET_SELF - 1); + +// // Spell targets a single enemy. +// if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ENEMY || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DEST_TARGET_ENEMY) +// SpellSummary[i].Targets |= 1 << (SELECT_TARGET_SINGLE_ENEMY - 1); + +// // Spell targets AoE at enemy. +// if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_SRC_AREA_ENEMY || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_DEST_AREA_ENEMY || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DEST_DYNOBJ_ENEMY) +// SpellSummary[i].Targets |= 1 << (SELECT_TARGET_AOE_ENEMY - 1); + +// // Spell targets an enemy. +// if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ENEMY || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DEST_TARGET_ENEMY || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_SRC_AREA_ENEMY || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_DEST_AREA_ENEMY || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DEST_DYNOBJ_ENEMY) +// SpellSummary[i].Targets |= 1 << (SELECT_TARGET_ANY_ENEMY - 1); + +// // Spell targets a single friend (or self). +// if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ALLY || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_PARTY) +// SpellSummary[i].Targets |= 1 << (SELECT_TARGET_SINGLE_FRIEND - 1); + +// // Spell targets AoE friends. +// if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER_AREA_PARTY || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_LASTTARGET_AREA_PARTY || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER) +// SpellSummary[i].Targets |= 1 << (SELECT_TARGET_AOE_FRIEND - 1); + +// // Spell targets any friend (or self). +// if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ALLY || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_PARTY || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER_AREA_PARTY || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_LASTTARGET_AREA_PARTY || +// pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER) +// SpellSummary[i].Targets |= 1 << (SELECT_TARGET_ANY_FRIEND - 1); + +// // Make sure that this spell includes a damage effect. +// if (pTempSpell->Effects[j].Effect == SPELL_EFFECT_SCHOOL_DAMAGE || +// pTempSpell->Effects[j].Effect == SPELL_EFFECT_INSTAKILL || +// pTempSpell->Effects[j].Effect == SPELL_EFFECT_ENVIRONMENTAL_DAMAGE || +// pTempSpell->Effects[j].Effect == SPELL_EFFECT_HEALTH_LEECH) +// SpellSummary[i].Effects |= 1 << (SELECT_EFFECT_DAMAGE - 1); + +// // Make sure that this spell includes a healing effect (or an apply aura with a periodic heal). +// if (pTempSpell->Effects[j].Effect == SPELL_EFFECT_HEAL || +// pTempSpell->Effects[j].Effect == SPELL_EFFECT_HEAL_MAX_HEALTH || +// pTempSpell->Effects[j].Effect == SPELL_EFFECT_HEAL_MECHANICAL || +// (pTempSpell->Effects[j].Effect == SPELL_EFFECT_APPLY_AURA && pTempSpell->Effects[j].ApplyAuraName == 8)) +// SpellSummary[i].Effects |= 1 << (SELECT_EFFECT_HEALING - 1); + +// // Make sure that this spell applies an aura. +// if (pTempSpell->Effects[j].Effect == SPELL_EFFECT_APPLY_AURA) +// SpellSummary[i].Effects |= 1 << (SELECT_EFFECT_AURA - 1); +// } +// } +// } + +// void AchievementScriptMgr::CreateSpellScripts(uint32 spellId, std::list& scriptVector) +// { +// SpellScriptsBounds bounds = sObjectMgr.GetSpellScriptsBounds(spellId); + +// for (SpellScriptsContainer::iterator itr = bounds.first; itr != bounds.second; ++itr) +// { +// SpellScriptLoader* tmpscript = ScriptRegistry::GetScriptById(itr->second); +// if (!tmpscript) +// continue; + +// SpellScript* script = tmpscript->GetSpellScript(); + +// if (!script) +// continue; + +// script->_Init(&tmpscript->GetName(), spellId); + +// scriptVector.push_back(script); +// } +// } + +// void AchievementScriptMgr::CreateAuraScripts(uint32 spellId, std::list& scriptVector) +// { +// SpellScriptsBounds bounds = sObjectMgr.GetSpellScriptsBounds(spellId); + +// for (SpellScriptsContainer::iterator itr = bounds.first; itr != bounds.second; ++itr) +// { +// SpellScriptLoader* tmpscript = ScriptRegistry::GetScriptById(itr->second); +// if (!tmpscript) +// continue; + +// AuraScript* script = tmpscript->GetAuraScript(); + +// if (!script) +// continue; + +// script->_Init(&tmpscript->GetName(), spellId); + +// scriptVector.push_back(script); +// } +// } + +// void AchievementScriptMgr::CreateSpellScriptLoaders(uint32 spellId, std::vector >& scriptVector) +// { +// SpellScriptsBounds bounds = sObjectMgr.GetSpellScriptsBounds(spellId); +// scriptVector.reserve(std::distance(bounds.first, bounds.second)); + +// for (SpellScriptsContainer::iterator itr = bounds.first; itr != bounds.second; ++itr) +// { +// SpellScriptLoader* tmpscript = ScriptRegistry::GetScriptById(itr->second); +// if (!tmpscript) +// continue; + +// scriptVector.push_back(std::make_pair(tmpscript, itr)); +// } +// } + +// void AchievementScriptMgr::OnBeforePlayerDurabilityRepair(Player* player, ObjectGuid npcGUID, ObjectGuid itemGUID, float& discountMod, uint8 guildBank) +// { +// FOREACH_SCRIPT(PlayerScript)->OnBeforeDurabilityRepair(player, npcGUID, itemGUID, discountMod, guildBank); +// } + +// void AchievementScriptMgr::OnNetworkStart() +// { +// FOREACH_SCRIPT(ServerScript)->OnNetworkStart(); +// } + +// void AchievementScriptMgr::OnNetworkStop() +// { +// FOREACH_SCRIPT(ServerScript)->OnNetworkStop(); +// } + +// void AchievementScriptMgr::OnSocketOpen(std::shared_ptr socket) +// { +// ASSERT(socket); + +// FOREACH_SCRIPT(ServerScript)->OnSocketOpen(socket); +// } + +// void AchievementScriptMgr::OnSocketClose(std::shared_ptr socket) +// { +// ASSERT(socket); + +// FOREACH_SCRIPT(ServerScript)->OnSocketClose(socket); +// } + +// void AchievementScriptMgr::OnPacketReceive(WorldSession* session, WorldPacket const& packet) +// { +// if (SCR_REG_LST(ServerScript).empty()) +// return; + +// WorldPacket copy(packet); +// FOREACH_SCRIPT(ServerScript)->OnPacketReceive(session, copy); +// } + +// void AchievementScriptMgr::OnPacketSend(WorldSession* session, WorldPacket const& packet) +// { +// ASSERT(session); + +// if (SCR_REG_LST(ServerScript).empty()) +// return; + +// WorldPacket copy(packet); +// FOREACH_SCRIPT(ServerScript)->OnPacketSend(session, copy); +// } + +// void AchievementScriptMgr::OnOpenStateChange(bool open) +// { +// #ifdef ELUNA +// sEluna->OnOpenStateChange(open); +// #endif +// FOREACH_SCRIPT(WorldScript)->OnOpenStateChange(open); +// } + +// void AchievementScriptMgr::OnLoadCustomDatabaseTable() +// { +// FOREACH_SCRIPT(WorldScript)->OnLoadCustomDatabaseTable(); +// } + +// void AchievementScriptMgr::OnBeforeConfigLoad(bool reload) +// { +// #ifdef ELUNA +// sEluna->OnConfigLoad(reload, true); +// #endif +// FOREACH_SCRIPT(WorldScript)->OnBeforeConfigLoad(reload); +// } + +// void AchievementScriptMgr::OnAfterConfigLoad(bool reload) +// { +// #ifdef ELUNA +// sEluna->OnConfigLoad(reload, false); +// #endif +// FOREACH_SCRIPT(WorldScript)->OnAfterConfigLoad(reload); +// } + +// void AchievementScriptMgr::OnBeforeFinalizePlayerWorldSession(uint32& cacheVersion) +// { +// FOREACH_SCRIPT(WorldScript)->OnBeforeFinalizePlayerWorldSession(cacheVersion); +// } + +// void AchievementScriptMgr::OnMotdChange(std::string& newMotd) +// { +// FOREACH_SCRIPT(WorldScript)->OnMotdChange(newMotd); +// } + +// void AchievementScriptMgr::OnShutdownInitiate(ShutdownExitCode code, ShutdownMask mask) +// { +// #ifdef ELUNA +// sEluna->OnShutdownInitiate(code, mask); +// #endif +// FOREACH_SCRIPT(WorldScript)->OnShutdownInitiate(code, mask); +// } + +// void AchievementScriptMgr::OnShutdownCancel() +// { +// #ifdef ELUNA +// sEluna->OnShutdownCancel(); +// #endif +// FOREACH_SCRIPT(WorldScript)->OnShutdownCancel(); +// } + +// void AchievementScriptMgr::OnWorldUpdate(uint32 diff) +// { +// #ifdef ELUNA +// sEluna->OnWorldUpdate(diff); +// #endif +// FOREACH_SCRIPT(WorldScript)->OnUpdate(diff); +// } + +// void AchievementScriptMgr::OnHonorCalculation(float& honor, uint8 level, float multiplier) +// { +// FOREACH_SCRIPT(FormulaScript)->OnHonorCalculation(honor, level, multiplier); +// } + +// void AchievementScriptMgr::OnGrayLevelCalculation(uint8& grayLevel, uint8 playerLevel) +// { +// FOREACH_SCRIPT(FormulaScript)->OnGrayLevelCalculation(grayLevel, playerLevel); +// } + +// void AchievementScriptMgr::OnColorCodeCalculation(XPColorChar& color, uint8 playerLevel, uint8 mobLevel) +// { +// FOREACH_SCRIPT(FormulaScript)->OnColorCodeCalculation(color, playerLevel, mobLevel); +// } + +// void AchievementScriptMgr::OnZeroDifferenceCalculation(uint8& diff, uint8 playerLevel) +// { +// FOREACH_SCRIPT(FormulaScript)->OnZeroDifferenceCalculation(diff, playerLevel); +// } + +// void AchievementScriptMgr::OnBaseGainCalculation(uint32& gain, uint8 playerLevel, uint8 mobLevel, ContentLevels content) +// { +// FOREACH_SCRIPT(FormulaScript)->OnBaseGainCalculation(gain, playerLevel, mobLevel, content); +// } + +// void AchievementScriptMgr::OnGainCalculation(uint32& gain, Player* player, Unit* unit) +// { +// ASSERT(player); +// ASSERT(unit); + +// FOREACH_SCRIPT(FormulaScript)->OnGainCalculation(gain, player, unit); +// } + +// void AchievementScriptMgr::OnGroupRateCalculation(float& rate, uint32 count, bool isRaid) +// { +// FOREACH_SCRIPT(FormulaScript)->OnGroupRateCalculation(rate, count, isRaid); +// } + +// #define SCR_MAP_BGN(M, V, I, E, C, T) \ +// if (V->GetEntry() && V->GetEntry()->T()) \ +// { \ +// FOR_SCRIPTS(M, I, E) \ +// { \ +// MapEntry const* C = I->second->GetEntry(); \ +// if (!C) \ +// continue; \ +// if (C->MapID == V->GetId()) \ +// { +// #define SCR_MAP_END \ +// return; \ +// } \ +// } \ +// } + +// void AchievementScriptMgr::OnCreateMap(Map* map) +// { +// ASSERT(map); + +// #ifdef ELUNA +// sEluna->OnCreate(map); +// #endif + +// SCR_MAP_BGN(WorldMapScript, map, itr, end, entry, IsWorldMap); +// itr->second->OnCreate(map); +// SCR_MAP_END; + +// SCR_MAP_BGN(InstanceMapScript, map, itr, end, entry, IsDungeon); +// itr->second->OnCreate((InstanceMap*)map); +// SCR_MAP_END; + +// SCR_MAP_BGN(BattlegroundMapScript, map, itr, end, entry, IsBattleground); +// itr->second->OnCreate((BattlegroundMap*)map); +// SCR_MAP_END; +// } + +// void AchievementScriptMgr::OnDestroyMap(Map* map) +// { +// ASSERT(map); + +// #ifdef ELUNA +// sEluna->OnDestroy(map); +// #endif + +// SCR_MAP_BGN(WorldMapScript, map, itr, end, entry, IsWorldMap); +// itr->second->OnDestroy(map); +// SCR_MAP_END; + +// SCR_MAP_BGN(InstanceMapScript, map, itr, end, entry, IsDungeon); +// itr->second->OnDestroy((InstanceMap*)map); +// SCR_MAP_END; + +// SCR_MAP_BGN(BattlegroundMapScript, map, itr, end, entry, IsBattleground); +// itr->second->OnDestroy((BattlegroundMap*)map); +// SCR_MAP_END; +// } + +// void AchievementScriptMgr::OnLoadGridMap(Map* map, GridMap* gmap, uint32 gx, uint32 gy) +// { +// ASSERT(map); +// ASSERT(gmap); + +// SCR_MAP_BGN(WorldMapScript, map, itr, end, entry, IsWorldMap); +// itr->second->OnLoadGridMap(map, gmap, gx, gy); +// SCR_MAP_END; + +// SCR_MAP_BGN(InstanceMapScript, map, itr, end, entry, IsDungeon); +// itr->second->OnLoadGridMap((InstanceMap*)map, gmap, gx, gy); +// SCR_MAP_END; + +// SCR_MAP_BGN(BattlegroundMapScript, map, itr, end, entry, IsBattleground); +// itr->second->OnLoadGridMap((BattlegroundMap*)map, gmap, gx, gy); +// SCR_MAP_END; +// } + +// void AchievementScriptMgr::OnUnloadGridMap(Map* map, GridMap* gmap, uint32 gx, uint32 gy) +// { +// ASSERT(map); +// ASSERT(gmap); + +// SCR_MAP_BGN(WorldMapScript, map, itr, end, entry, IsWorldMap); +// itr->second->OnUnloadGridMap(map, gmap, gx, gy); +// SCR_MAP_END; + +// SCR_MAP_BGN(InstanceMapScript, map, itr, end, entry, IsDungeon); +// itr->second->OnUnloadGridMap((InstanceMap*)map, gmap, gx, gy); +// SCR_MAP_END; + +// SCR_MAP_BGN(BattlegroundMapScript, map, itr, end, entry, IsBattleground); +// itr->second->OnUnloadGridMap((BattlegroundMap*)map, gmap, gx, gy); +// SCR_MAP_END; +// } + +// void AchievementScriptMgr::OnPlayerEnterMap(Map* map, Player* player) +// { +// ASSERT(map); +// ASSERT(player); + +// #ifdef ELUNA +// sEluna->OnMapChanged(player); +// sEluna->OnPlayerEnter(map, player); +// #endif + +// FOREACH_SCRIPT(AllMapScript)->OnPlayerEnterAll(map, player); + +// FOREACH_SCRIPT(PlayerScript)->OnMapChanged(player); + +// SCR_MAP_BGN(WorldMapScript, map, itr, end, entry, IsWorldMap); +// itr->second->OnPlayerEnter(map, player); +// SCR_MAP_END; + +// SCR_MAP_BGN(InstanceMapScript, map, itr, end, entry, IsDungeon); +// itr->second->OnPlayerEnter((InstanceMap*)map, player); +// SCR_MAP_END; + +// SCR_MAP_BGN(BattlegroundMapScript, map, itr, end, entry, IsBattleground); +// itr->second->OnPlayerEnter((BattlegroundMap*)map, player); +// SCR_MAP_END; +// } + +// void AchievementScriptMgr::OnPlayerLeaveMap(Map* map, Player* player) +// { +// ASSERT(map); +// ASSERT(player); + +// #ifdef ELUNA +// sEluna->OnPlayerLeave(map, player); +// #endif + +// FOREACH_SCRIPT(AllMapScript)->OnPlayerLeaveAll(map, player); + +// SCR_MAP_BGN(WorldMapScript, map, itr, end, entry, IsWorldMap); +// itr->second->OnPlayerLeave(map, player); +// SCR_MAP_END; + +// SCR_MAP_BGN(InstanceMapScript, map, itr, end, entry, IsDungeon); +// itr->second->OnPlayerLeave((InstanceMap*)map, player); +// SCR_MAP_END; + +// SCR_MAP_BGN(BattlegroundMapScript, map, itr, end, entry, IsBattleground); +// itr->second->OnPlayerLeave((BattlegroundMap*)map, player); +// SCR_MAP_END; +// } + +// void AchievementScriptMgr::OnMapUpdate(Map* map, uint32 diff) +// { +// ASSERT(map); + +// #ifdef ELUNA +// sEluna->OnUpdate(map, diff); +// #endif + +// SCR_MAP_BGN(WorldMapScript, map, itr, end, entry, IsWorldMap); +// itr->second->OnUpdate(map, diff); +// SCR_MAP_END; + +// SCR_MAP_BGN(InstanceMapScript, map, itr, end, entry, IsDungeon); +// itr->second->OnUpdate((InstanceMap*)map, diff); +// SCR_MAP_END; + +// SCR_MAP_BGN(BattlegroundMapScript, map, itr, end, entry, IsBattleground); +// itr->second->OnUpdate((BattlegroundMap*)map, diff); +// SCR_MAP_END; +// } + +// #undef SCR_MAP_BGN +// #undef SCR_MAP_END + +// InstanceScript* AchievementScriptMgr::CreateInstanceScript(InstanceMap* map) +// { +// ASSERT(map); + +// GET_SCRIPT_RET(InstanceMapScript, map->GetScriptId(), tmpscript, nullptr); +// return tmpscript->GetInstanceScript(map); +// } + +// bool AchievementScriptMgr::OnQuestAccept(Player* player, Item* item, Quest const* quest) +// { +// ASSERT(player); +// ASSERT(item); +// ASSERT(quest); + +// #ifdef ELUNA +// if (sEluna->OnQuestAccept(player, item, quest)) +// return false; +// #endif + +// GET_SCRIPT_RET(ItemScript, item->GetScriptId(), tmpscript, false); +// ClearGossipMenuFor(player); +// return tmpscript->OnQuestAccept(player, item, quest); +// } + +// bool AchievementScriptMgr::OnItemUse(Player* player, Item* item, SpellCastTargets const& targets) +// { +// ASSERT(player); +// ASSERT(item); + +// #ifdef ELUNA +// if (!sEluna->OnUse(player, item, targets)) +// return true; +// #endif + +// GET_SCRIPT_RET(ItemScript, item->GetScriptId(), tmpscript, false); +// return tmpscript->OnUse(player, item, targets); +// } + +// bool AchievementScriptMgr::OnItemExpire(Player* player, ItemTemplate const* proto) +// { +// ASSERT(player); +// ASSERT(proto); + +// #ifdef ELUNA +// if (sEluna->OnExpire(player, proto)) +// return false; +// #endif + +// GET_SCRIPT_RET(ItemScript, proto->ScriptId, tmpscript, false); +// return tmpscript->OnExpire(player, proto); +// } + +// bool AchievementScriptMgr::OnItemRemove(Player* player, Item* item) +// { +// ASSERT(player); +// ASSERT(item); +// #ifdef ELUNA +// if (sEluna->OnRemove(player, item)) +// return false; +// #endif +// GET_SCRIPT_RET(ItemScript, item->GetScriptId(), tmpscript, false); +// return tmpscript->OnRemove(player, item); +// } + +// bool AchievementScriptMgr::OnCastItemCombatSpell(Player* player, Unit* victim, SpellInfo const* spellInfo, Item* item) +// { +// ASSERT(player); +// ASSERT(victim); +// ASSERT(spellInfo); +// ASSERT(item); + +// GET_SCRIPT_RET(ItemScript, item->GetScriptId(), tmpscript, true); +// return tmpscript->OnCastItemCombatSpell(player, victim, spellInfo, item); +// } + +// void AchievementScriptMgr::OnGossipSelect(Player* player, Item* item, uint32 sender, uint32 action) +// { +// ASSERT(player); +// ASSERT(item); +// #ifdef ELUNA +// sEluna->HandleGossipSelectOption(player, item, sender, action, ""); +// #endif +// GET_SCRIPT(ItemScript, item->GetScriptId(), tmpscript); +// tmpscript->OnGossipSelect(player, item, sender, action); +// } + +// void AchievementScriptMgr::OnGossipSelectCode(Player* player, Item* item, uint32 sender, uint32 action, const char* code) +// { +// ASSERT(player); +// ASSERT(item); +// #ifdef ELUNA +// sEluna->HandleGossipSelectOption(player, item, sender, action, code); +// #endif +// GET_SCRIPT(ItemScript, item->GetScriptId(), tmpscript); +// tmpscript->OnGossipSelectCode(player, item, sender, action, code); +// } + +// void AchievementScriptMgr::OnGossipSelect(Player* player, uint32 menu_id, uint32 sender, uint32 action) +// { +// #ifdef ELUNA +// sEluna->HandleGossipSelectOption(player, menu_id, sender, action, ""); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnGossipSelect(player, menu_id, sender, action); +// } + +// void AchievementScriptMgr::OnGossipSelectCode(Player* player, uint32 menu_id, uint32 sender, uint32 action, const char* code) +// { +// #ifdef ELUNA +// sEluna->HandleGossipSelectOption(player, menu_id, sender, action, code); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnGossipSelectCode(player, menu_id, sender, action, code); +// } + +// bool AchievementScriptMgr::OnGossipHello(Player* player, Creature* creature) +// { +// ASSERT(player); +// ASSERT(creature); +// #ifdef ELUNA +// if (sEluna->OnGossipHello(player, creature)) +// return true; +// #endif +// GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, false); +// ClearGossipMenuFor(player); +// return tmpscript->OnGossipHello(player, creature); +// } + +// bool AchievementScriptMgr::OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) +// { +// ASSERT(player); +// ASSERT(creature); +// #ifdef ELUNA +// if (sEluna->OnGossipSelect(player, creature, sender, action)) +// return true; +// #endif +// GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, false); +// return tmpscript->OnGossipSelect(player, creature, sender, action); +// } + +// bool AchievementScriptMgr::OnGossipSelectCode(Player* player, Creature* creature, uint32 sender, uint32 action, const char* code) +// { +// ASSERT(player); +// ASSERT(creature); +// ASSERT(code); +// #ifdef ELUNA +// if (sEluna->OnGossipSelectCode(player, creature, sender, action, code)) +// return true; +// #endif +// GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, false); +// return tmpscript->OnGossipSelectCode(player, creature, sender, action, code); +// } + +// bool AchievementScriptMgr::OnQuestAccept(Player* player, Creature* creature, Quest const* quest) +// { +// ASSERT(player); +// ASSERT(creature); +// ASSERT(quest); + +// GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, false); +// ClearGossipMenuFor(player); +// return tmpscript->OnQuestAccept(player, creature, quest); +// } + +// bool AchievementScriptMgr::OnQuestSelect(Player* player, Creature* creature, Quest const* quest) +// { +// ASSERT(player); +// ASSERT(creature); +// ASSERT(quest); + +// GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, false); +// ClearGossipMenuFor(player); +// return tmpscript->OnQuestSelect(player, creature, quest); +// } + +// bool AchievementScriptMgr::OnQuestComplete(Player* player, Creature* creature, Quest const* quest) +// { +// ASSERT(player); +// ASSERT(creature); +// ASSERT(quest); + +// GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, false); +// ClearGossipMenuFor(player); +// return tmpscript->OnQuestComplete(player, creature, quest); +// } + +// bool AchievementScriptMgr::OnQuestReward(Player* player, Creature* creature, Quest const* quest, uint32 opt) +// { +// ASSERT(player); +// ASSERT(creature); +// ASSERT(quest); +// #ifdef ELUNA +// if (sEluna->OnQuestReward(player, creature, quest, opt)) +// { +// ClearGossipMenuFor(player); +// return false; +// } +// #endif +// GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, false); +// ClearGossipMenuFor(player); +// return tmpscript->OnQuestReward(player, creature, quest, opt); +// } + +// uint32 AchievementScriptMgr::GetDialogStatus(Player* player, Creature* creature) +// { +// ASSERT(player); +// ASSERT(creature); + +// GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, DIALOG_STATUS_SCRIPTED_NO_STATUS); +// ClearGossipMenuFor(player); +// return tmpscript->GetDialogStatus(player, creature); +// } + +// CreatureAI* AchievementScriptMgr::GetCreatureAI(Creature* creature) +// { +// ASSERT(creature); + +// #ifdef ELUNA +// if (CreatureAI* luaAI = sEluna->GetAI(creature)) +// return luaAI; +// #endif + +// GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, nullptr); +// return tmpscript->GetAI(creature); +// } + +// void AchievementScriptMgr::OnCreatureUpdate(Creature* creature, uint32 diff) +// { +// ASSERT(creature); + +// FOREACH_SCRIPT(AllCreatureScript)->OnAllCreatureUpdate(creature, diff); + +// GET_SCRIPT(CreatureScript, creature->GetScriptId(), tmpscript); +// tmpscript->OnUpdate(creature, diff); +// } + +// bool AchievementScriptMgr::OnGossipHello(Player* player, GameObject* go) +// { +// ASSERT(player); +// ASSERT(go); +// #ifdef ELUNA +// if (sEluna->OnGossipHello(player, go)) +// return true; +// if (sEluna->OnGameObjectUse(player, go)) +// return true; +// #endif +// GET_SCRIPT_RET(GameObjectScript, go->GetScriptId(), tmpscript, false); +// ClearGossipMenuFor(player); +// return tmpscript->OnGossipHello(player, go); +// } + +// bool AchievementScriptMgr::OnGossipSelect(Player* player, GameObject* go, uint32 sender, uint32 action) +// { +// ASSERT(player); +// ASSERT(go); +// #ifdef ELUNA +// if (sEluna->OnGossipSelect(player, go, sender, action)) +// return true; +// #endif +// GET_SCRIPT_RET(GameObjectScript, go->GetScriptId(), tmpscript, false); +// return tmpscript->OnGossipSelect(player, go, sender, action); +// } + +// bool AchievementScriptMgr::OnGossipSelectCode(Player* player, GameObject* go, uint32 sender, uint32 action, const char* code) +// { +// ASSERT(player); +// ASSERT(go); +// ASSERT(code); +// #ifdef ELUNA +// if (sEluna->OnGossipSelectCode(player, go, sender, action, code)) +// return true; +// #endif +// GET_SCRIPT_RET(GameObjectScript, go->GetScriptId(), tmpscript, false); +// return tmpscript->OnGossipSelectCode(player, go, sender, action, code); +// } + +// bool AchievementScriptMgr::OnQuestAccept(Player* player, GameObject* go, Quest const* quest) +// { +// ASSERT(player); +// ASSERT(go); +// ASSERT(quest); + +// GET_SCRIPT_RET(GameObjectScript, go->GetScriptId(), tmpscript, false); +// ClearGossipMenuFor(player); +// return tmpscript->OnQuestAccept(player, go, quest); +// } + +// bool AchievementScriptMgr::OnQuestReward(Player* player, GameObject* go, Quest const* quest, uint32 opt) +// { +// ASSERT(player); +// ASSERT(go); +// ASSERT(quest); +// #ifdef ELUNA +// if (sEluna->OnQuestAccept(player, go, quest)) +// return false; +// #endif +// #ifdef ELUNA +// if (sEluna->OnQuestReward(player, go, quest, opt)) +// return false; +// #endif +// GET_SCRIPT_RET(GameObjectScript, go->GetScriptId(), tmpscript, false); +// ClearGossipMenuFor(player); +// return tmpscript->OnQuestReward(player, go, quest, opt); +// } + +// uint32 AchievementScriptMgr::GetDialogStatus(Player* player, GameObject* go) +// { +// ASSERT(player); +// ASSERT(go); + +// GET_SCRIPT_RET(GameObjectScript, go->GetScriptId(), tmpscript, DIALOG_STATUS_SCRIPTED_NO_STATUS); +// ClearGossipMenuFor(player); +// return tmpscript->GetDialogStatus(player, go); +// } + +// void AchievementScriptMgr::OnGameObjectDestroyed(GameObject* go, Player* player) +// { +// ASSERT(go); + +// GET_SCRIPT(GameObjectScript, go->GetScriptId(), tmpscript); +// tmpscript->OnDestroyed(go, player); +// } + +// void AchievementScriptMgr::OnGameObjectDamaged(GameObject* go, Player* player) +// { +// ASSERT(go); + +// GET_SCRIPT(GameObjectScript, go->GetScriptId(), tmpscript); +// tmpscript->OnDamaged(go, player); +// } + +// void AchievementScriptMgr::OnGameObjectLootStateChanged(GameObject* go, uint32 state, Unit* unit) +// { +// ASSERT(go); + +// GET_SCRIPT(GameObjectScript, go->GetScriptId(), tmpscript); +// tmpscript->OnLootStateChanged(go, state, unit); +// } + +// void AchievementScriptMgr::OnGameObjectStateChanged(GameObject* go, uint32 state) +// { +// ASSERT(go); + +// GET_SCRIPT(GameObjectScript, go->GetScriptId(), tmpscript); +// tmpscript->OnGameObjectStateChanged(go, state); +// } + +// void AchievementScriptMgr::OnGameObjectUpdate(GameObject* go, uint32 diff) +// { +// ASSERT(go); + +// #ifdef ELUNA +// sEluna->UpdateAI(go, diff); +// #endif + +// GET_SCRIPT(GameObjectScript, go->GetScriptId(), tmpscript); +// tmpscript->OnUpdate(go, diff); +// } + +// GameObjectAI* AchievementScriptMgr::GetGameObjectAI(GameObject* go) +// { +// ASSERT(go); + +// #ifdef ELUNA +// sEluna->OnSpawn(go); +// #endif + +// GET_SCRIPT_RET(GameObjectScript, go->GetScriptId(), tmpscript, nullptr); +// return tmpscript->GetAI(go); +// } + +// bool AchievementScriptMgr::OnAreaTrigger(Player* player, AreaTrigger const* trigger) +// { +// ASSERT(player); +// ASSERT(trigger); +// #ifdef ELUNA +// if (sEluna->OnAreaTrigger(player, trigger)) +// return false; +// #endif +// GET_SCRIPT_RET(AreaTriggerScript, sObjectMgr.GetAreaTriggerScriptId(trigger->entry), tmpscript, false); +// return tmpscript->OnTrigger(player, trigger); +// } + +// Battleground* AchievementScriptMgr::CreateBattleground(BattlegroundTypeId /*typeId*/) +// { +// // TODO: Implement script-side battlegrounds. +// ABORT(); +// return nullptr; +// } + +// OutdoorPvP* AchievementScriptMgr::CreateOutdoorPvP(OutdoorPvPData const* data) +// { +// ASSERT(data); + +// GET_SCRIPT_RET(OutdoorPvPScript, data->ScriptId, tmpscript, nullptr); +// return tmpscript->GetOutdoorPvP(); +// } + +// Acore::ChatCommands::ChatCommandTable AchievementScriptMgr::GetChatCommands() +// { +// Acore::ChatCommands::ChatCommandTable table; + +// FOR_SCRIPTS(CommandScript, itr, end) +// { +// Acore::ChatCommands::ChatCommandTable cmds = itr->second->GetCommands(); +// std::move(cmds.begin(), cmds.end(), std::back_inserter(table)); +// } + +// return table; +// } + +// void AchievementScriptMgr::OnWeatherChange(Weather* weather, WeatherState state, float grade) +// { +// ASSERT(weather); + +// #ifdef ELUNA +// sEluna->OnChange(weather, weather->GetZone(), state, grade); +// #endif + +// GET_SCRIPT(WeatherScript, weather->GetScriptId(), tmpscript); +// tmpscript->OnChange(weather, state, grade); +// } + +// void AchievementScriptMgr::OnWeatherUpdate(Weather* weather, uint32 diff) +// { +// ASSERT(weather); + +// GET_SCRIPT(WeatherScript, weather->GetScriptId(), tmpscript); +// tmpscript->OnUpdate(weather, diff); +// } + +// void AchievementScriptMgr::OnAuctionAdd(AuctionHouseObject* ah, AuctionEntry* entry) +// { +// ASSERT(ah); +// ASSERT(entry); + +// #ifdef ELUNA +// sEluna->OnAdd(ah, entry); +// #endif + +// FOREACH_SCRIPT(AuctionHouseScript)->OnAuctionAdd(ah, entry); +// } + +// void AchievementScriptMgr::OnAuctionRemove(AuctionHouseObject* ah, AuctionEntry* entry) +// { +// ASSERT(ah); +// ASSERT(entry); + +// #ifdef ELUNA +// sEluna->OnRemove(ah, entry); +// #endif + +// FOREACH_SCRIPT(AuctionHouseScript)->OnAuctionRemove(ah, entry); +// } + +// void AchievementScriptMgr::OnAuctionSuccessful(AuctionHouseObject* ah, AuctionEntry* entry) +// { +// ASSERT(ah); +// ASSERT(entry); + +// #ifdef ELUNA +// sEluna->OnSuccessful(ah, entry); +// #endif + +// FOREACH_SCRIPT(AuctionHouseScript)->OnAuctionSuccessful(ah, entry); +// } + +// void AchievementScriptMgr::OnAuctionExpire(AuctionHouseObject* ah, AuctionEntry* entry) +// { +// ASSERT(ah); +// ASSERT(entry); + +// #ifdef ELUNA +// sEluna->OnExpire(ah, entry); +// #endif + +// FOREACH_SCRIPT(AuctionHouseScript)->OnAuctionExpire(ah, entry); +// } + +// void AchievementScriptMgr::OnBeforeAuctionHouseMgrSendAuctionWonMail(AuctionHouseMgr* auctionHouseMgr, AuctionEntry* auction, Player* bidder, uint32& bidder_accId, bool& sendNotification, bool& updateAchievementCriteria, bool& sendMail) +// { +// FOREACH_SCRIPT(AuctionHouseScript)->OnBeforeAuctionHouseMgrSendAuctionWonMail(auctionHouseMgr, auction, bidder, bidder_accId, sendNotification, updateAchievementCriteria, sendMail); +// } + +// void AchievementScriptMgr::OnBeforeAuctionHouseMgrSendAuctionSalePendingMail(AuctionHouseMgr* auctionHouseMgr, AuctionEntry* auction, Player* owner, uint32& owner_accId, bool& sendMail) +// { +// FOREACH_SCRIPT(AuctionHouseScript)->OnBeforeAuctionHouseMgrSendAuctionSalePendingMail(auctionHouseMgr, auction, owner, owner_accId, sendMail); +// } + +// void AchievementScriptMgr::OnBeforeAuctionHouseMgrSendAuctionSuccessfulMail(AuctionHouseMgr* auctionHouseMgr, AuctionEntry* auction, Player* owner, uint32& owner_accId, uint32& profit, bool& sendNotification, bool& updateAchievementCriteria, bool& sendMail) +// { +// FOREACH_SCRIPT(AuctionHouseScript)->OnBeforeAuctionHouseMgrSendAuctionSuccessfulMail(auctionHouseMgr, auction, owner, owner_accId, profit, sendNotification, updateAchievementCriteria, sendMail); +// } + +// void AchievementScriptMgr::OnBeforeAuctionHouseMgrSendAuctionExpiredMail(AuctionHouseMgr* auctionHouseMgr, AuctionEntry* auction, Player* owner, uint32& owner_accId, bool& sendNotification, bool& sendMail) +// { +// FOREACH_SCRIPT(AuctionHouseScript)->OnBeforeAuctionHouseMgrSendAuctionExpiredMail(auctionHouseMgr, auction, owner, owner_accId, sendNotification, sendMail); +// } + +// void AchievementScriptMgr::OnBeforeAuctionHouseMgrSendAuctionOutbiddedMail(AuctionHouseMgr* auctionHouseMgr, AuctionEntry* auction, Player* oldBidder, uint32& oldBidder_accId, Player* newBidder, uint32& newPrice, bool& sendNotification, bool& sendMail) +// { +// FOREACH_SCRIPT(AuctionHouseScript)->OnBeforeAuctionHouseMgrSendAuctionOutbiddedMail(auctionHouseMgr, auction, oldBidder, oldBidder_accId, newBidder, newPrice, sendNotification, sendMail); +// } + +// void AchievementScriptMgr::OnBeforeAuctionHouseMgrSendAuctionCancelledToBidderMail(AuctionHouseMgr* auctionHouseMgr, AuctionEntry* auction, Player* bidder, uint32& bidder_accId, bool& sendMail) +// { +// FOREACH_SCRIPT(AuctionHouseScript)->OnBeforeAuctionHouseMgrSendAuctionCancelledToBidderMail(auctionHouseMgr, auction, bidder, bidder_accId, sendMail); +// } + +// void AchievementScriptMgr::OnBeforeAuctionHouseMgrUpdate() +// { +// FOREACH_SCRIPT(AuctionHouseScript)->OnBeforeAuctionHouseMgrUpdate(); +// } + +// bool AchievementScriptMgr::OnConditionCheck(Condition* condition, ConditionSourceInfo& sourceInfo) +// { +// ASSERT(condition); + +// GET_SCRIPT_RET(ConditionScript, condition->ScriptId, tmpscript, true); +// return tmpscript->OnConditionCheck(condition, sourceInfo); +// } + +// void AchievementScriptMgr::OnInstall(Vehicle* veh) +// { +// ASSERT(veh); +// ASSERT(veh->GetBase()->GetTypeId() == TYPEID_UNIT); + +// #ifdef ELUNA +// sEluna->OnInstall(veh); +// #endif + +// GET_SCRIPT(VehicleScript, veh->GetBase()->ToCreature()->GetScriptId(), tmpscript); +// tmpscript->OnInstall(veh); +// } + +// void AchievementScriptMgr::OnUninstall(Vehicle* veh) +// { +// ASSERT(veh); +// ASSERT(veh->GetBase()->GetTypeId() == TYPEID_UNIT); + +// #ifdef ELUNA +// sEluna->OnUninstall(veh); +// #endif + +// GET_SCRIPT(VehicleScript, veh->GetBase()->ToCreature()->GetScriptId(), tmpscript); +// tmpscript->OnUninstall(veh); +// } + +// void AchievementScriptMgr::OnReset(Vehicle* veh) +// { +// ASSERT(veh); +// ASSERT(veh->GetBase()->GetTypeId() == TYPEID_UNIT); + +// GET_SCRIPT(VehicleScript, veh->GetBase()->ToCreature()->GetScriptId(), tmpscript); +// tmpscript->OnReset(veh); +// } + +// void AchievementScriptMgr::OnInstallAccessory(Vehicle* veh, Creature* accessory) +// { +// ASSERT(veh); +// ASSERT(veh->GetBase()->GetTypeId() == TYPEID_UNIT); +// ASSERT(accessory); + +// #ifdef ELUNA +// sEluna->OnInstallAccessory(veh, accessory); +// #endif + +// GET_SCRIPT(VehicleScript, veh->GetBase()->ToCreature()->GetScriptId(), tmpscript); +// tmpscript->OnInstallAccessory(veh, accessory); +// } + +// void AchievementScriptMgr::OnAddPassenger(Vehicle* veh, Unit* passenger, int8 seatId) +// { +// ASSERT(veh); +// ASSERT(veh->GetBase()->GetTypeId() == TYPEID_UNIT); +// ASSERT(passenger); + +// #ifdef ELUNA +// sEluna->OnAddPassenger(veh, passenger, seatId); +// #endif + +// GET_SCRIPT(VehicleScript, veh->GetBase()->ToCreature()->GetScriptId(), tmpscript); +// tmpscript->OnAddPassenger(veh, passenger, seatId); +// } + +// void AchievementScriptMgr::OnRemovePassenger(Vehicle* veh, Unit* passenger) +// { +// ASSERT(veh); +// ASSERT(veh->GetBase()->GetTypeId() == TYPEID_UNIT); +// ASSERT(passenger); + +// #ifdef ELUNA +// sEluna->OnRemovePassenger(veh, passenger); +// #endif + +// GET_SCRIPT(VehicleScript, veh->GetBase()->ToCreature()->GetScriptId(), tmpscript); +// tmpscript->OnRemovePassenger(veh, passenger); +// } + +// void AchievementScriptMgr::OnDynamicObjectUpdate(DynamicObject* dynobj, uint32 diff) +// { +// ASSERT(dynobj); + +// FOR_SCRIPTS(DynamicObjectScript, itr, end) +// itr->second->OnUpdate(dynobj, diff); +// } + +// void AchievementScriptMgr::OnAddPassenger(Transport* transport, Player* player) +// { +// ASSERT(transport); +// ASSERT(player); + +// GET_SCRIPT(TransportScript, transport->GetScriptId(), tmpscript); +// tmpscript->OnAddPassenger(transport, player); +// } + +// void AchievementScriptMgr::OnAddCreaturePassenger(Transport* transport, Creature* creature) +// { +// ASSERT(transport); +// ASSERT(creature); + +// GET_SCRIPT(TransportScript, transport->GetScriptId(), tmpscript); +// tmpscript->OnAddCreaturePassenger(transport, creature); +// } + +// void AchievementScriptMgr::OnRemovePassenger(Transport* transport, Player* player) +// { +// ASSERT(transport); +// ASSERT(player); + +// GET_SCRIPT(TransportScript, transport->GetScriptId(), tmpscript); +// tmpscript->OnRemovePassenger(transport, player); +// } + +// void AchievementScriptMgr::OnTransportUpdate(Transport* transport, uint32 diff) +// { +// ASSERT(transport); + +// GET_SCRIPT(TransportScript, transport->GetScriptId(), tmpscript); +// tmpscript->OnUpdate(transport, diff); +// } + +// void AchievementScriptMgr::OnRelocate(Transport* transport, uint32 waypointId, uint32 mapId, float x, float y, float z) +// { +// GET_SCRIPT(TransportScript, transport->GetScriptId(), tmpscript); +// tmpscript->OnRelocate(transport, waypointId, mapId, x, y, z); +// } + +// void AchievementScriptMgr::OnStartup() +// { +// #ifdef ELUNA +// sEluna->OnStartup(); +// #endif +// FOREACH_SCRIPT(WorldScript)->OnStartup(); +// } + +// void AchievementScriptMgr::OnShutdown() +// { +// #ifdef ELUNA +// sEluna->OnShutdown(); +// #endif +// FOREACH_SCRIPT(WorldScript)->OnShutdown(); +// } + +bool AchievementScriptMgr::OnCriteriaCheck(uint32 scriptId, Player* source, Unit* target, uint32 criteria_id) +{ + MANGOS_ASSERT(source); + // target can be nullptr. + + GET_SCRIPT_RET(AchievementCriteriaScript, scriptId, tmpscript, false); + return tmpscript->OnCheck(source, target, criteria_id); +} + +// // Player +// void AchievementScriptMgr::OnPlayerCompleteQuest(Player* player, Quest const* quest) +// { +// FOREACH_SCRIPT(PlayerScript)->OnPlayerCompleteQuest(player, quest); +// } + +// void AchievementScriptMgr::OnSendInitialPacketsBeforeAddToMap(Player* player, WorldPacket& data) +// { +// FOREACH_SCRIPT(PlayerScript)->OnSendInitialPacketsBeforeAddToMap(player, data); +// } + +// void AchievementScriptMgr::OnBattlegroundDesertion(Player* player, BattlegroundDesertionType const desertionType) +// { +// FOREACH_SCRIPT(PlayerScript)->OnBattlegroundDesertion(player, desertionType); +// } + +// void AchievementScriptMgr::OnPlayerReleasedGhost(Player* player) +// { +// FOREACH_SCRIPT(PlayerScript)->OnPlayerReleasedGhost(player); +// } + +// void AchievementScriptMgr::OnPVPKill(Player* killer, Player* killed) +// { +// #ifdef ELUNA +// sEluna->OnPVPKill(killer, killed); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnPVPKill(killer, killed); +// } + +// void AchievementScriptMgr::OnPlayerPVPFlagChange(Player* player, bool state) +// { +// FOREACH_SCRIPT(PlayerScript)->OnPlayerPVPFlagChange(player, state); +// } + +// void AchievementScriptMgr::OnCreatureKill(Player* killer, Creature* killed) +// { +// #ifdef ELUNA +// sEluna->OnCreatureKill(killer, killed); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnCreatureKill(killer, killed); +// } + +// void AchievementScriptMgr::OnCreatureKilledByPet(Player* petOwner, Creature* killed) +// { +// FOREACH_SCRIPT(PlayerScript)->OnCreatureKilledByPet(petOwner, killed); +// } + +// void AchievementScriptMgr::OnPlayerKilledByCreature(Creature* killer, Player* killed) +// { +// #ifdef ELUNA +// sEluna->OnPlayerKilledByCreature(killer, killed); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnPlayerKilledByCreature(killer, killed); +// } + +// void AchievementScriptMgr::OnPlayerLevelChanged(Player* player, uint8 oldLevel) +// { +// #ifdef ELUNA +// sEluna->OnLevelChanged(player, oldLevel); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnLevelChanged(player, oldLevel); +// } + +// void AchievementScriptMgr::OnPlayerFreeTalentPointsChanged(Player* player, uint32 points) +// { +// #ifdef ELUNA +// sEluna->OnFreeTalentPointsChanged(player, points); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnFreeTalentPointsChanged(player, points); +// } + +// void AchievementScriptMgr::OnPlayerTalentsReset(Player* player, bool noCost) +// { +// #ifdef ELUNA +// sEluna->OnTalentsReset(player, noCost); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnTalentsReset(player, noCost); +// } + +// void AchievementScriptMgr::OnPlayerMoneyChanged(Player* player, int32& amount) +// { +// #ifdef ELUNA +// sEluna->OnMoneyChanged(player, amount); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnMoneyChanged(player, amount); +// } + +// void AchievementScriptMgr::OnGivePlayerXP(Player* player, uint32& amount, Unit* victim) +// { +// #ifdef ELUNA +// sEluna->OnGiveXP(player, amount, victim); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnGiveXP(player, amount, victim); +// } + +// void AchievementScriptMgr::OnPlayerReputationChange(Player* player, uint32 factionID, int32& standing, bool incremental) +// { +// #ifdef ELUNA +// sEluna->OnReputationChange(player, factionID, standing, incremental); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnReputationChange(player, factionID, standing, incremental); +// } + +// void AchievementScriptMgr::OnPlayerReputationRankChange(Player* player, uint32 factionID, ReputationRank newRank, ReputationRank oldRank, bool increased) +// { +// FOREACH_SCRIPT(PlayerScript)->OnReputationRankChange(player, factionID, newRank, oldRank, increased); +// } + +// void AchievementScriptMgr::OnPlayerLearnSpell(Player* player, uint32 spellID) +// { +// FOREACH_SCRIPT(PlayerScript)->OnLearnSpell(player, spellID); +// } + +// void AchievementScriptMgr::OnPlayerForgotSpell(Player* player, uint32 spellID) +// { +// FOREACH_SCRIPT(PlayerScript)->OnForgotSpell(player, spellID); +// } + +// void AchievementScriptMgr::OnPlayerDuelRequest(Player* target, Player* challenger) +// { +// #ifdef ELUNA +// sEluna->OnDuelRequest(target, challenger); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnDuelRequest(target, challenger); +// } + +// void AchievementScriptMgr::OnPlayerDuelStart(Player* player1, Player* player2) +// { +// #ifdef ELUNA +// sEluna->OnDuelStart(player1, player2); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnDuelStart(player1, player2); +// } + +// void AchievementScriptMgr::OnPlayerDuelEnd(Player* winner, Player* loser, DuelCompleteType type) +// { +// #ifdef ELUNA +// sEluna->OnDuelEnd(winner, loser, type); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnDuelEnd(winner, loser, type); +// } + +// void AchievementScriptMgr::OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string& msg) +// { +// FOREACH_SCRIPT(PlayerScript)->OnChat(player, type, lang, msg); +// } + +// void AchievementScriptMgr::OnBeforeSendChatMessage(Player* player, uint32& type, uint32& lang, std::string& msg) +// { +// FOREACH_SCRIPT(PlayerScript)->OnBeforeSendChatMessage(player, type, lang, msg); +// } + +// void AchievementScriptMgr::OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string& msg, Player* receiver) +// { +// FOREACH_SCRIPT(PlayerScript)->OnChat(player, type, lang, msg, receiver); +// } + +// void AchievementScriptMgr::OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string& msg, Group* group) +// { +// FOREACH_SCRIPT(PlayerScript)->OnChat(player, type, lang, msg, group); +// } + +// void AchievementScriptMgr::OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string& msg, Guild* guild) +// { +// FOREACH_SCRIPT(PlayerScript)->OnChat(player, type, lang, msg, guild); +// } + +// void AchievementScriptMgr::OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string& msg, Channel* channel) +// { +// FOREACH_SCRIPT(PlayerScript)->OnChat(player, type, lang, msg, channel); +// } + +// void AchievementScriptMgr::OnPlayerEmote(Player* player, uint32 emote) +// { +// #ifdef ELUNA +// sEluna->OnEmote(player, emote); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnEmote(player, emote); +// } + +// void AchievementScriptMgr::OnPlayerTextEmote(Player* player, uint32 textEmote, uint32 emoteNum, ObjectGuid guid) +// { +// #ifdef ELUNA +// sEluna->OnTextEmote(player, textEmote, emoteNum, guid); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnTextEmote(player, textEmote, emoteNum, guid); +// } + +// void AchievementScriptMgr::OnPlayerSpellCast(Player* player, Spell* spell, bool skipCheck) +// { +// #ifdef ELUNA +// sEluna->OnSpellCast(player, spell, skipCheck); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnSpellCast(player, spell, skipCheck); +// } + +// void AchievementScriptMgr::OnBeforePlayerUpdate(Player* player, uint32 p_time) +// { +// FOREACH_SCRIPT(PlayerScript)->OnBeforeUpdate(player, p_time); +// } + +// void AchievementScriptMgr::OnPlayerUpdate(Player* player, uint32 p_time) +// { +// FOREACH_SCRIPT(PlayerScript)->OnUpdate(player, p_time); +// } + +// void AchievementScriptMgr::OnPlayerLogin(Player* player) +// { +// #ifdef ELUNA +// sEluna->OnLogin(player); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnLogin(player); +// } + +// void AchievementScriptMgr::OnPlayerLoadFromDB(Player* player) +// { +// FOREACH_SCRIPT(PlayerScript)->OnLoadFromDB(player); +// } + +// void AchievementScriptMgr::OnPlayerLogout(Player* player) +// { +// #ifdef ELUNA +// sEluna->OnLogout(player); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnLogout(player); +// } + +// void AchievementScriptMgr::OnPlayerCreate(Player* player) +// { +// #ifdef ELUNA +// sEluna->OnCreate(player); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnCreate(player); +// } + +// void AchievementScriptMgr::OnPlayerSave(Player* player) +// { +// #ifdef ELUNA +// sEluna->OnSave(player); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnSave(player); +// } + +// void AchievementScriptMgr::OnPlayerDelete(ObjectGuid guid, uint32 accountId) +// { +// #ifdef ELUNA +// sEluna->OnDelete(guid.GetCounter()); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnDelete(guid, accountId); +// } + +// void AchievementScriptMgr::OnPlayerFailedDelete(ObjectGuid guid, uint32 accountId) +// { +// FOREACH_SCRIPT(PlayerScript)->OnFailedDelete(guid, accountId); +// } + +// void AchievementScriptMgr::OnPlayerBindToInstance(Player* player, Difficulty difficulty, uint32 mapid, bool permanent) +// { +// #ifdef ELUNA +// sEluna->OnBindToInstance(player, difficulty, mapid, permanent); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnBindToInstance(player, difficulty, mapid, permanent); +// } + +// void AchievementScriptMgr::OnPlayerUpdateZone(Player* player, uint32 newZone, uint32 newArea) +// { +// #ifdef ELUNA +// sEluna->OnUpdateZone(player, newZone, newArea); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnUpdateZone(player, newZone, newArea); +// } + +// void AchievementScriptMgr::OnPlayerUpdateArea(Player* player, uint32 oldArea, uint32 newArea) +// { +// FOREACH_SCRIPT(PlayerScript)->OnUpdateArea(player, oldArea, newArea); +// } + +// bool AchievementScriptMgr::OnBeforePlayerTeleport(Player* player, uint32 mapid, float x, float y, float z, float orientation, uint32 options, Unit* target) +// { +// bool ret = true; +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->OnBeforeTeleport(player, mapid, x, y, z, orientation, options, target)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::OnPlayerUpdateFaction(Player* player) +// { +// FOREACH_SCRIPT(PlayerScript)->OnUpdateFaction(player); +// } + +// void AchievementScriptMgr::OnPlayerAddToBattleground(Player* player, Battleground* bg) +// { +// FOREACH_SCRIPT(PlayerScript)->OnAddToBattleground(player, bg); +// } + +// void AchievementScriptMgr::OnPlayerQueueRandomDungeon(Player* player, uint32 & rDungeonId) +// { +// FOREACH_SCRIPT(PlayerScript)->OnQueueRandomDungeon(player, rDungeonId); +// } + +// void AchievementScriptMgr::OnPlayerRemoveFromBattleground(Player* player, Battleground* bg) +// { +// FOREACH_SCRIPT(PlayerScript)->OnRemoveFromBattleground(player, bg); +// } + +bool AchievementScriptMgr::OnBeforeAchievementComplete(Player* player, AchievementEntry const* achievement) +{ + bool ret = true; + + FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts + if (!itr->second->OnBeforeAchiComplete(player, achievement)) + ret = false; // we change ret value only when scripts return false + + return ret; +} + +void AchievementScriptMgr::OnAchievementComplete(Player* player, AchievementEntry const* achievement) +{ + FOREACH_SCRIPT(PlayerScript)->OnAchiComplete(player, achievement); +} + +bool AchievementScriptMgr::OnBeforeCriteriaProgress(Player* player, AchievementCriteriaEntry const* criteria) +{ + bool ret = true; + + FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts + if (!itr->second->OnBeforeCriteriaProgress(player, criteria)) + ret = false; // we change ret value only when scripts return false + + return ret; +} + +void AchievementScriptMgr::OnCriteriaProgress(Player* player, AchievementCriteriaEntry const* criteria) +{ + FOREACH_SCRIPT(PlayerScript)->OnCriteriaProgress(player, criteria); +} + +void AchievementScriptMgr::OnAchievementSave(/*CharacterDatabaseTransaction trans, */Player* player, uint16 achiId, CompletedAchievementData achiData) +{ + FOREACH_SCRIPT(PlayerScript)->OnAchiSave(/*trans, */player, achiId, achiData); +} + +void AchievementScriptMgr::OnCriteriaSave(/*CharacterDatabaseTransaction trans, */Player* player, uint16 critId, CriteriaProgress criteriaData) +{ + FOREACH_SCRIPT(PlayerScript)->OnCriteriaSave(/*trans, */player, critId, criteriaData); +} + +// void AchievementScriptMgr::OnPlayerBeingCharmed(Player* player, Unit* charmer, uint32 oldFactionId, uint32 newFactionId) +// { +// FOREACH_SCRIPT(PlayerScript)->OnBeingCharmed(player, charmer, oldFactionId, newFactionId); +// } + +// void AchievementScriptMgr::OnAfterPlayerSetVisibleItemSlot(Player* player, uint8 slot, Item* item) +// { +// FOREACH_SCRIPT(PlayerScript)->OnAfterSetVisibleItemSlot(player, slot, item); +// } + +// void AchievementScriptMgr::OnAfterPlayerMoveItemFromInventory(Player* player, Item* it, uint8 bag, uint8 slot, bool update) +// { +// FOREACH_SCRIPT(PlayerScript)->OnAfterMoveItemFromInventory(player, it, bag, slot, update); +// } + +// void AchievementScriptMgr::OnEquip(Player* player, Item* it, uint8 bag, uint8 slot, bool update) +// { +// FOREACH_SCRIPT(PlayerScript)->OnEquip(player, it, bag, slot, update); +// } + +// void AchievementScriptMgr::OnPlayerJoinBG(Player* player) +// { +// FOREACH_SCRIPT(PlayerScript)->OnPlayerJoinBG(player); +// } + +// void AchievementScriptMgr::OnPlayerJoinArena(Player* player) +// { +// FOREACH_SCRIPT(PlayerScript)->OnPlayerJoinArena(player); +// } + +// void AchievementScriptMgr::GetCustomGetArenaTeamId(const Player* player, uint8 slot, uint32& teamID) const +// { +// FOREACH_SCRIPT(PlayerScript)->GetCustomGetArenaTeamId(player, slot, teamID); +// } + +// void AchievementScriptMgr::GetCustomArenaPersonalRating(const Player* player, uint8 slot, uint32& rating) const +// { +// FOREACH_SCRIPT(PlayerScript)->GetCustomArenaPersonalRating(player, slot, rating); +// } + +// void AchievementScriptMgr::OnGetMaxPersonalArenaRatingRequirement(const Player* player, uint32 minSlot, uint32& maxArenaRating) const +// { +// FOREACH_SCRIPT(PlayerScript)->OnGetMaxPersonalArenaRatingRequirement(player, minSlot, maxArenaRating); +// } + +// void AchievementScriptMgr::OnLootItem(Player* player, Item* item, uint32 count, ObjectGuid lootguid) +// { +// FOREACH_SCRIPT(PlayerScript)->OnLootItem(player, item, count, lootguid); +// } + +// void AchievementScriptMgr::OnCreateItem(Player* player, Item* item, uint32 count) +// { +// FOREACH_SCRIPT(PlayerScript)->OnCreateItem(player, item, count); +// } + +// void AchievementScriptMgr::OnQuestRewardItem(Player* player, Item* item, uint32 count) +// { +// FOREACH_SCRIPT(PlayerScript)->OnQuestRewardItem(player, item, count); +// } + +// void AchievementScriptMgr::OnFirstLogin(Player* player) +// { +// #ifdef ELUNA +// sEluna->OnFirstLogin(player); +// #endif +// FOREACH_SCRIPT(PlayerScript)->OnFirstLogin(player); +// } + +// bool AchievementScriptMgr::CanJoinInBattlegroundQueue(Player* player, ObjectGuid BattlemasterGuid, BattlegroundTypeId BGTypeID, uint8 joinAsGroup, GroupJoinBattlegroundResult& err) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanJoinInBattlegroundQueue(player, BattlemasterGuid, BGTypeID, joinAsGroup, err)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::ShouldBeRewardedWithMoneyInsteadOfExp(Player* player) +// { +// bool ret = false; // return false by default if not scripts + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) +// if (itr->second->ShouldBeRewardedWithMoneyInsteadOfExp(player)) +// ret = true; // we change ret value only when a script returns true + +// return ret; +// } + +// void AchievementScriptMgr::OnBeforeTempSummonInitStats(Player* player, TempSummon* tempSummon, uint32& duration) +// { +// FOREACH_SCRIPT(PlayerScript)->OnBeforeTempSummonInitStats(player, tempSummon, duration); +// } + +// void AchievementScriptMgr::OnBeforeGuardianInitStatsForLevel(Player* player, Guardian* guardian, CreatureTemplate const* cinfo, PetType& petType) +// { +// FOREACH_SCRIPT(PlayerScript)->OnBeforeGuardianInitStatsForLevel(player, guardian, cinfo, petType); +// } + +// void AchievementScriptMgr::OnAfterGuardianInitStatsForLevel(Player* player, Guardian* guardian) +// { +// FOREACH_SCRIPT(PlayerScript)->OnAfterGuardianInitStatsForLevel(player, guardian); +// } + +// void AchievementScriptMgr::OnBeforeLoadPetFromDB(Player* player, uint32& petentry, uint32& petnumber, bool& current, bool& forceLoadFromDB) +// { +// FOREACH_SCRIPT(PlayerScript)->OnBeforeLoadPetFromDB(player, petentry, petnumber, current, forceLoadFromDB); +// } + +// // Account +// void AchievementScriptMgr::OnAccountLogin(uint32 accountId) +// { +// FOREACH_SCRIPT(AccountScript)->OnAccountLogin(accountId); +// } + +// void AchievementScriptMgr::OnLastIpUpdate(uint32 accountId, std::string ip) +// { +// FOREACH_SCRIPT(AccountScript)->OnLastIpUpdate(accountId, ip); +// } + +// void AchievementScriptMgr::OnFailedAccountLogin(uint32 accountId) +// { +// FOREACH_SCRIPT(AccountScript)->OnFailedAccountLogin(accountId); +// } + +// void AchievementScriptMgr::OnEmailChange(uint32 accountId) +// { +// FOREACH_SCRIPT(AccountScript)->OnEmailChange(accountId); +// } + +// void AchievementScriptMgr::OnFailedEmailChange(uint32 accountId) +// { +// FOREACH_SCRIPT(AccountScript)->OnFailedEmailChange(accountId); +// } + +// void AchievementScriptMgr::OnPasswordChange(uint32 accountId) +// { +// FOREACH_SCRIPT(AccountScript)->OnPasswordChange(accountId); +// } + +// void AchievementScriptMgr::OnFailedPasswordChange(uint32 accountId) +// { +// FOREACH_SCRIPT(AccountScript)->OnFailedPasswordChange(accountId); +// } + +// // Guild +// void AchievementScriptMgr::OnGuildAddMember(Guild* guild, Player* player, uint8& plRank) +// { +// #ifdef ELUNA +// sEluna->OnAddMember(guild, player, plRank); +// #endif +// FOREACH_SCRIPT(GuildScript)->OnAddMember(guild, player, plRank); +// } + +// void AchievementScriptMgr::OnGuildRemoveMember(Guild* guild, Player* player, bool isDisbanding, bool isKicked) +// { +// #ifdef ELUNA +// sEluna->OnRemoveMember(guild, player, isDisbanding); +// #endif +// FOREACH_SCRIPT(GuildScript)->OnRemoveMember(guild, player, isDisbanding, isKicked); +// } + +// void AchievementScriptMgr::OnGuildMOTDChanged(Guild* guild, const std::string& newMotd) +// { +// #ifdef ELUNA +// sEluna->OnMOTDChanged(guild, newMotd); +// #endif +// FOREACH_SCRIPT(GuildScript)->OnMOTDChanged(guild, newMotd); +// } + +// void AchievementScriptMgr::OnGuildInfoChanged(Guild* guild, const std::string& newInfo) +// { +// #ifdef ELUNA +// sEluna->OnInfoChanged(guild, newInfo); +// #endif +// FOREACH_SCRIPT(GuildScript)->OnInfoChanged(guild, newInfo); +// } + +// void AchievementScriptMgr::OnGuildCreate(Guild* guild, Player* leader, const std::string& name) +// { +// #ifdef ELUNA +// sEluna->OnCreate(guild, leader, name); +// #endif +// FOREACH_SCRIPT(GuildScript)->OnCreate(guild, leader, name); +// } + +// void AchievementScriptMgr::OnGuildDisband(Guild* guild) +// { +// #ifdef ELUNA +// sEluna->OnDisband(guild); +// #endif +// FOREACH_SCRIPT(GuildScript)->OnDisband(guild); +// } + +// void AchievementScriptMgr::OnGuildMemberWitdrawMoney(Guild* guild, Player* player, uint32& amount, bool isRepair) +// { +// #ifdef ELUNA +// sEluna->OnMemberWitdrawMoney(guild, player, amount, isRepair); +// #endif +// FOREACH_SCRIPT(GuildScript)->OnMemberWitdrawMoney(guild, player, amount, isRepair); +// } + +// void AchievementScriptMgr::OnGuildMemberDepositMoney(Guild* guild, Player* player, uint32& amount) +// { +// #ifdef ELUNA +// sEluna->OnMemberDepositMoney(guild, player, amount); +// #endif +// FOREACH_SCRIPT(GuildScript)->OnMemberDepositMoney(guild, player, amount); +// } + +// void AchievementScriptMgr::OnGuildItemMove(Guild* guild, Player* player, Item* pItem, bool isSrcBank, uint8 srcContainer, uint8 srcSlotId, +// bool isDestBank, uint8 destContainer, uint8 destSlotId) +// { +// #ifdef ELUNA +// sEluna->OnItemMove(guild, player, pItem, isSrcBank, srcContainer, srcSlotId, isDestBank, destContainer, destSlotId); +// #endif +// FOREACH_SCRIPT(GuildScript)->OnItemMove(guild, player, pItem, isSrcBank, srcContainer, srcSlotId, isDestBank, destContainer, destSlotId); +// } + +// void AchievementScriptMgr::OnGuildEvent(Guild* guild, uint8 eventType, ObjectGuid::LowType playerGuid1, ObjectGuid::LowType playerGuid2, uint8 newRank) +// { +// #ifdef ELUNA +// sEluna->OnEvent(guild, eventType, playerGuid1, playerGuid2, newRank); +// #endif +// FOREACH_SCRIPT(GuildScript)->OnEvent(guild, eventType, playerGuid1, playerGuid2, newRank); +// } + +// void AchievementScriptMgr::OnGuildBankEvent(Guild* guild, uint8 eventType, uint8 tabId, ObjectGuid::LowType playerGuid, uint32 itemOrMoney, uint16 itemStackCount, uint8 destTabId) +// { +// #ifdef ELUNA +// sEluna->OnBankEvent(guild, eventType, tabId, playerGuid, itemOrMoney, itemStackCount, destTabId); +// #endif +// FOREACH_SCRIPT(GuildScript)->OnBankEvent(guild, eventType, tabId, playerGuid, itemOrMoney, itemStackCount, destTabId); +// } + +// // Group +// void AchievementScriptMgr::OnGroupAddMember(Group* group, ObjectGuid guid) +// { +// ASSERT(group); +// #ifdef ELUNA +// sEluna->OnAddMember(group, guid); +// #endif +// FOREACH_SCRIPT(GroupScript)->OnAddMember(group, guid); +// } + +// void AchievementScriptMgr::OnGroupInviteMember(Group* group, ObjectGuid guid) +// { +// ASSERT(group); +// #ifdef ELUNA +// sEluna->OnInviteMember(group, guid); +// #endif +// FOREACH_SCRIPT(GroupScript)->OnInviteMember(group, guid); +// } + +// void AchievementScriptMgr::OnGroupRemoveMember(Group* group, ObjectGuid guid, RemoveMethod method, ObjectGuid kicker, const char* reason) +// { +// ASSERT(group); +// #ifdef ELUNA +// sEluna->OnRemoveMember(group, guid, method); +// #endif +// FOREACH_SCRIPT(GroupScript)->OnRemoveMember(group, guid, method, kicker, reason); +// } + +// void AchievementScriptMgr::OnGroupChangeLeader(Group* group, ObjectGuid newLeaderGuid, ObjectGuid oldLeaderGuid) +// { +// ASSERT(group); +// #ifdef ELUNA +// sEluna->OnChangeLeader(group, newLeaderGuid, oldLeaderGuid); +// #endif +// FOREACH_SCRIPT(GroupScript)->OnChangeLeader(group, newLeaderGuid, oldLeaderGuid); +// } + +// void AchievementScriptMgr::OnGroupDisband(Group* group) +// { +// ASSERT(group); +// #ifdef ELUNA +// sEluna->OnDisband(group); +// #endif +// FOREACH_SCRIPT(GroupScript)->OnDisband(group); +// } + +// // Global +// void AchievementScriptMgr::OnGlobalItemDelFromDB(CharacterDatabaseTransaction trans, ObjectGuid::LowType itemGuid) +// { +// ASSERT(trans); +// ASSERT(itemGuid); + +// FOREACH_SCRIPT(GlobalScript)->OnItemDelFromDB(trans, itemGuid); +// } + +// void AchievementScriptMgr::OnGlobalMirrorImageDisplayItem(const Item* item, uint32& display) +// { +// FOREACH_SCRIPT(GlobalScript)->OnMirrorImageDisplayItem(item, display); +// } + +// void AchievementScriptMgr::OnBeforeUpdateArenaPoints(ArenaTeam* at, std::map& ap) +// { +// FOREACH_SCRIPT(GlobalScript)->OnBeforeUpdateArenaPoints(at, ap); +// } + +// void AchievementScriptMgr::OnAfterRefCount(Player const* player, Loot& loot, bool canRate, uint16 lootMode, LootStoreItem* LootStoreItem, uint32& maxcount, LootStore const& store) +// { +// FOREACH_SCRIPT(GlobalScript)->OnAfterRefCount(player, LootStoreItem, loot, canRate, lootMode, maxcount, store); +// } + +// void AchievementScriptMgr::OnBeforeDropAddItem(Player const* player, Loot& loot, bool canRate, uint16 lootMode, LootStoreItem* LootStoreItem, LootStore const& store) +// { +// FOREACH_SCRIPT(GlobalScript)->OnBeforeDropAddItem(player, loot, canRate, lootMode, LootStoreItem, store); +// } + +// bool AchievementScriptMgr::OnItemRoll(Player const* player, LootStoreItem const* LootStoreItem, float& chance, Loot& loot, LootStore const& store) +// { +// bool ret = true; // return true by default + +// FOR_SCRIPTS_RET(GlobalScript, itr, end, ret) +// if (!itr->second->OnItemRoll(player, LootStoreItem, chance, loot, store)) +// ret = false; // we change ret value only when a script returns false + +// return ret; +// } + +// bool AchievementScriptMgr::OnBeforeLootEqualChanced(Player const* player, LootStoreItemList EqualChanced, Loot& loot, LootStore const& store) { +// bool ret = true; // return true by default + +// FOR_SCRIPTS_RET(GlobalScript, itr, end, ret) +// if (!itr->second->OnBeforeLootEqualChanced(player, EqualChanced, loot, store)) +// ret = false; // we change ret value only when a script returns false + +// return ret; +// } + +// void AchievementScriptMgr::OnInitializeLockedDungeons(Player* player, uint8& level, uint32& lockData, lfg::LFGDungeonData const* dungeon) +// { +// FOREACH_SCRIPT(GlobalScript)->OnInitializeLockedDungeons(player, level, lockData, dungeon); +// } + +// void AchievementScriptMgr::OnAfterInitializeLockedDungeons(Player* player) +// { +// FOREACH_SCRIPT(GlobalScript)->OnAfterInitializeLockedDungeons(player); +// } + +// void AchievementScriptMgr::OnAfterUpdateEncounterState(Map* map, EncounterCreditType type, uint32 creditEntry, Unit* source, Difficulty difficulty_fixed, DungeonEncounterList const* encounters, uint32 dungeonCompleted, bool updated) +// { +// FOREACH_SCRIPT(GlobalScript)->OnAfterUpdateEncounterState(map, type, creditEntry, source, difficulty_fixed, encounters, dungeonCompleted, updated); +// } + +// void AchievementScriptMgr::OnBeforeWorldObjectSetPhaseMask(WorldObject const* worldObject, uint32& oldPhaseMask, uint32& newPhaseMask, bool& useCombinedPhases, bool& update) +// { +// FOREACH_SCRIPT(GlobalScript)->OnBeforeWorldObjectSetPhaseMask(worldObject, oldPhaseMask, newPhaseMask, useCombinedPhases, update); +// } + +// // Unit +// uint32 AchievementScriptMgr::DealDamage(Unit* AttackerUnit, Unit* pVictim, uint32 damage, DamageEffectType damagetype) +// { +// FOR_SCRIPTS_RET(UnitScript, itr, end, damage) +// damage = itr->second->DealDamage(AttackerUnit, pVictim, damage, damagetype); +// return damage; +// } +// void AchievementScriptMgr::Creature_SelectLevel(const CreatureTemplate* cinfo, Creature* creature) +// { +// FOREACH_SCRIPT(AllCreatureScript)->Creature_SelectLevel(cinfo, creature); +// } +// void AchievementScriptMgr::OnHeal(Unit* healer, Unit* reciever, uint32& gain) +// { +// FOREACH_SCRIPT(UnitScript)->OnHeal(healer, reciever, gain); +// } + +// void AchievementScriptMgr::OnDamage(Unit* attacker, Unit* victim, uint32& damage) +// { +// FOREACH_SCRIPT(UnitScript)->OnDamage(attacker, victim, damage); +// } + +// void AchievementScriptMgr::ModifyPeriodicDamageAurasTick(Unit* target, Unit* attacker, uint32& damage) +// { +// FOREACH_SCRIPT(UnitScript)->ModifyPeriodicDamageAurasTick(target, attacker, damage); +// } + +// void AchievementScriptMgr::ModifyMeleeDamage(Unit* target, Unit* attacker, uint32& damage) +// { +// FOREACH_SCRIPT(UnitScript)->ModifyMeleeDamage(target, attacker, damage); +// } + +// void AchievementScriptMgr::ModifySpellDamageTaken(Unit* target, Unit* attacker, int32& damage) +// { +// FOREACH_SCRIPT(UnitScript)->ModifySpellDamageTaken(target, attacker, damage); +// } + +// void AchievementScriptMgr::ModifyHealRecieved(Unit* target, Unit* attacker, uint32& damage) +// { +// FOREACH_SCRIPT(UnitScript)->ModifyHealRecieved(target, attacker, damage); +// } + +// void AchievementScriptMgr::OnBeforeRollMeleeOutcomeAgainst(const Unit* attacker, const Unit* victim, WeaponAttackType attType, int32& attackerMaxSkillValueForLevel, int32& victimMaxSkillValueForLevel, int32& attackerWeaponSkill, int32& victimDefenseSkill, int32& crit_chance, int32& miss_chance, int32& dodge_chance, int32& parry_chance, int32& block_chance) +// { +// FOREACH_SCRIPT(UnitScript)->OnBeforeRollMeleeOutcomeAgainst(attacker, victim, attType, attackerMaxSkillValueForLevel, victimMaxSkillValueForLevel, attackerWeaponSkill, victimDefenseSkill, crit_chance, miss_chance, dodge_chance, parry_chance, block_chance); +// } + +// void AchievementScriptMgr::OnPlayerMove(Player* player, MovementInfo movementInfo, uint32 opcode) +// { +// FOREACH_SCRIPT(MovementHandlerScript)->OnPlayerMove(player, movementInfo, opcode); +// } + +// void AchievementScriptMgr::OnBeforeBuyItemFromVendor(Player* player, ObjectGuid vendorguid, uint32 vendorslot, uint32& item, uint8 count, uint8 bag, uint8 slot) +// { +// FOREACH_SCRIPT(PlayerScript)->OnBeforeBuyItemFromVendor(player, vendorguid, vendorslot, item, count, bag, slot); +// } + +// void AchievementScriptMgr::OnAfterStoreOrEquipNewItem(Player* player, uint32 vendorslot, Item* item, uint8 count, uint8 bag, uint8 slot, ItemTemplate const* pProto, Creature* pVendor, VendorItem const* crItem, bool bStore) +// { +// FOREACH_SCRIPT(PlayerScript)->OnAfterStoreOrEquipNewItem(player, vendorslot, item, count, bag, slot, pProto, pVendor, crItem, bStore); +// } + +// void AchievementScriptMgr::OnAfterUpdateMaxPower(Player* player, Powers& power, float& value) +// { +// FOREACH_SCRIPT(PlayerScript)->OnAfterUpdateMaxPower(player, power, value); +// } + +// void AchievementScriptMgr::OnAfterUpdateMaxHealth(Player* player, float& value) +// { +// FOREACH_SCRIPT(PlayerScript)->OnAfterUpdateMaxHealth(player, value); +// } + +// void AchievementScriptMgr::OnBeforeUpdateAttackPowerAndDamage(Player* player, float& level, float& val2, bool ranged) +// { +// FOREACH_SCRIPT(PlayerScript)->OnBeforeUpdateAttackPowerAndDamage(player, level, val2, ranged); +// } + +// void AchievementScriptMgr::OnAfterUpdateAttackPowerAndDamage(Player* player, float& level, float& base_attPower, float& attPowerMod, float& attPowerMultiplier, bool ranged) +// { +// FOREACH_SCRIPT(PlayerScript)->OnAfterUpdateAttackPowerAndDamage(player, level, base_attPower, attPowerMod, attPowerMultiplier, ranged); +// } + +// void AchievementScriptMgr::OnBeforeInitTalentForLevel(Player* player, uint8& level, uint32& talentPointsForLevel) +// { +// FOREACH_SCRIPT(PlayerScript)->OnBeforeInitTalentForLevel(player, level, talentPointsForLevel); +// } + +// void AchievementScriptMgr::OnAfterArenaRatingCalculation(Battleground* const bg, int32& winnerMatchmakerChange, int32& loserMatchmakerChange, int32& winnerChange, int32& loserChange) +// { +// FOREACH_SCRIPT(FormulaScript)->OnAfterArenaRatingCalculation(bg, winnerMatchmakerChange, loserMatchmakerChange, winnerChange, loserChange); +// } + +// // BGScript +// void AchievementScriptMgr::OnBattlegroundStart(Battleground* bg) +// { +// FOREACH_SCRIPT(BGScript)->OnBattlegroundStart(bg); +// } + +// void AchievementScriptMgr::OnBattlegroundEndReward(Battleground* bg, Player* player, TeamId winnerTeamId) +// { +// FOREACH_SCRIPT(BGScript)->OnBattlegroundEndReward(bg, player, winnerTeamId); +// } + +// void AchievementScriptMgr::OnBattlegroundUpdate(Battleground* bg, uint32 diff) +// { +// FOREACH_SCRIPT(BGScript)->OnBattlegroundUpdate(bg, diff); +// } + +// void AchievementScriptMgr::OnBattlegroundAddPlayer(Battleground* bg, Player* player) +// { +// FOREACH_SCRIPT(BGScript)->OnBattlegroundAddPlayer(bg, player); +// } + +// void AchievementScriptMgr::OnBattlegroundBeforeAddPlayer(Battleground* bg, Player* player) +// { +// FOREACH_SCRIPT(BGScript)->OnBattlegroundBeforeAddPlayer(bg, player); +// } + +// void AchievementScriptMgr::OnBattlegroundRemovePlayerAtLeave(Battleground* bg, Player* player) +// { +// FOREACH_SCRIPT(BGScript)->OnBattlegroundRemovePlayerAtLeave(bg, player); +// } + +// void AchievementScriptMgr::OnAddGroup(BattlegroundQueue* queue, GroupQueueInfo* ginfo, uint32& index, Player* leader, Group* grp, PvPDifficultyEntry const* bracketEntry, bool isPremade) +// { +// FOREACH_SCRIPT(BGScript)->OnAddGroup(queue, ginfo, index, leader, grp, bracketEntry, isPremade); +// } + +// bool AchievementScriptMgr::CanFillPlayersToBG(BattlegroundQueue* queue, Battleground* bg, const int32 aliFree, const int32 hordeFree, BattlegroundBracketId bracket_id) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(BGScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanFillPlayersToBG(queue, bg, aliFree, hordeFree, bracket_id)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanFillPlayersToBGWithSpecific(BattlegroundQueue* queue, Battleground* bg, const int32 aliFree, const int32 hordeFree, +// BattlegroundBracketId thisBracketId, BattlegroundQueue* specificQueue, BattlegroundBracketId specificBracketId) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(BGScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanFillPlayersToBGWithSpecific(queue, bg, aliFree, hordeFree, thisBracketId, specificQueue, specificBracketId)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::OnCheckNormalMatch(BattlegroundQueue* queue, uint32& Coef, Battleground* bgTemplate, BattlegroundBracketId bracket_id, uint32& minPlayers, uint32& maxPlayers) +// { +// FOREACH_SCRIPT(BGScript)->OnCheckNormalMatch(queue, Coef, bgTemplate, bracket_id, minPlayers, maxPlayers); +// } + +// void AchievementScriptMgr::OnGetSlotByType(const uint32 type, uint8& slot) +// { +// FOREACH_SCRIPT(ArenaTeamScript)->OnGetSlotByType(type, slot); +// } + +// void AchievementScriptMgr::OnGetArenaPoints(ArenaTeam* at, float& points) +// { +// FOREACH_SCRIPT(ArenaTeamScript)->OnGetArenaPoints(at, points); +// } + +// void AchievementScriptMgr::OnArenaTypeIDToQueueID(const BattlegroundTypeId bgTypeId, const uint8 arenaType, uint32& queueTypeID) +// { +// FOREACH_SCRIPT(ArenaTeamScript)->OnTypeIDToQueueID(bgTypeId, arenaType, queueTypeID); +// } + +// void AchievementScriptMgr::OnArenaQueueIdToArenaType(const BattlegroundQueueTypeId bgQueueTypeId, uint8& ArenaType) +// { +// FOREACH_SCRIPT(ArenaTeamScript)->OnQueueIdToArenaType(bgQueueTypeId, ArenaType); +// } + +// void AchievementScriptMgr::OnSetArenaMaxPlayersPerTeam(const uint8 arenaType, uint32& maxPlayerPerTeam) +// { +// FOREACH_SCRIPT(ArenaTeamScript)->OnSetArenaMaxPlayersPerTeam(arenaType, maxPlayerPerTeam); +// } + +// // SpellSC +// void AchievementScriptMgr::OnCalcMaxDuration(Aura const* aura, int32& maxDuration) +// { +// FOREACH_SCRIPT(SpellSC)->OnCalcMaxDuration(aura, maxDuration); +// } + +// void AchievementScriptMgr::OnGameEventStart(uint16 EventID) +// { +// #ifdef ELUNA +// sEluna->OnGameEventStart(EventID); +// #endif +// FOREACH_SCRIPT(GameEventScript)->OnStart(EventID); +// } + +// void AchievementScriptMgr::OnGameEventStop(uint16 EventID) +// { +// #ifdef ELUNA +// sEluna->OnGameEventStop(EventID); +// #endif +// FOREACH_SCRIPT(GameEventScript)->OnStop(EventID); +// } + +// // Mail +// void AchievementScriptMgr::OnBeforeMailDraftSendMailTo(MailDraft* mailDraft, MailReceiver const& receiver, MailSender const& sender, MailCheckMask& checked, uint32& deliver_delay, uint32& custom_expiration, bool& deleteMailItemsFromDB, bool& sendMail) +// { +// FOREACH_SCRIPT(MailScript)->OnBeforeMailDraftSendMailTo(mailDraft, receiver, sender, checked, deliver_delay, custom_expiration, deleteMailItemsFromDB, sendMail); +// } + +// void AchievementScriptMgr::OnBeforeUpdatingPersonalRating(int32& mod, uint32 type) +// { +// FOREACH_SCRIPT(FormulaScript)->OnBeforeUpdatingPersonalRating(mod, type); +// } + +// bool AchievementScriptMgr::OnBeforePlayerQuestComplete(Player* player, uint32 quest_id) +// { +// bool ret=true; +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->OnBeforeQuestComplete(player, quest_id)) +// ret=false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::OnBeforeStoreOrEquipNewItem(Player* player, uint32 vendorslot, uint32& item, uint8 count, uint8 bag, uint8 slot, ItemTemplate const* pProto, Creature* pVendor, VendorItem const* crItem, bool bStore) +// { +// FOREACH_SCRIPT(PlayerScript)->OnBeforeStoreOrEquipNewItem(player, vendorslot, item, count, bag, slot, pProto, pVendor, crItem, bStore); +// } + +// bool AchievementScriptMgr::CanJoinInArenaQueue(Player* player, ObjectGuid BattlemasterGuid, uint8 arenaslot, BattlegroundTypeId BGTypeID, uint8 joinAsGroup, uint8 IsRated, GroupJoinBattlegroundResult& err) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanJoinInArenaQueue(player, BattlemasterGuid, arenaslot, BGTypeID, joinAsGroup, IsRated, err)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanBattleFieldPort(Player* player, uint8 arenaType, BattlegroundTypeId BGTypeID, uint8 action) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanBattleFieldPort(player, arenaType, BGTypeID, action)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanGroupInvite(Player* player, std::string& membername) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanGroupInvite(player, membername)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanGroupAccept(Player* player, Group* group) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanGroupAccept(player, group)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanSellItem(Player* player, Item* item, Creature* creature) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanSellItem(player, item, creature)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanSendMail(Player* player, ObjectGuid receiverGuid, ObjectGuid mailbox, std::string& subject, std::string& body, uint32 money, uint32 COD, Item* item) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanSendMail(player, receiverGuid, mailbox, subject, body, money, COD, item)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::PetitionBuy(Player* player, Creature* creature, uint32& charterid, uint32& cost, uint32& type) +// { +// FOREACH_SCRIPT(PlayerScript)->PetitionBuy(player, creature, charterid, cost, type); +// } + +// void AchievementScriptMgr::PetitionShowList(Player* player, Creature* creature, uint32& CharterEntry, uint32& CharterDispayID, uint32& CharterCost) +// { +// FOREACH_SCRIPT(PlayerScript)->PetitionShowList(player, creature, CharterEntry, CharterDispayID, CharterCost); +// } + +// void AchievementScriptMgr::OnRewardKillRewarder(Player* player, bool isDungeon, float& rate) +// { +// FOREACH_SCRIPT(PlayerScript)->OnRewardKillRewarder(player, isDungeon, rate); +// } + +// bool AchievementScriptMgr::CanGiveMailRewardAtGiveLevel(Player* player, uint8 level) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanGiveMailRewardAtGiveLevel(player, level)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::OnDeleteFromDB(CharacterDatabaseTransaction trans, uint32 guid) +// { +// FOREACH_SCRIPT(PlayerScript)->OnDeleteFromDB(trans, guid); +// } + +// bool AchievementScriptMgr::CanRepopAtGraveyard(Player* player) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanRepopAtGraveyard(player)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::OnGetMaxSkillValue(Player* player, uint32 skill, int32& result, bool IsPure) +// { +// FOREACH_SCRIPT(PlayerScript)->OnGetMaxSkillValue(player, skill, result, IsPure); +// } + +// bool AchievementScriptMgr::CanAreaExploreAndOutdoor(Player* player) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanAreaExploreAndOutdoor(player)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::OnVictimRewardBefore(Player* player, Player* victim, uint32& killer_title, uint32& victim_title) +// { +// FOREACH_SCRIPT(PlayerScript)->OnVictimRewardBefore(player, victim, killer_title, victim_title); +// } + +// void AchievementScriptMgr::OnVictimRewardAfter(Player* player, Player* victim, uint32& killer_title, uint32& victim_rank, float& honor_f) +// { +// FOREACH_SCRIPT(PlayerScript)->OnVictimRewardAfter(player, victim, killer_title, victim_rank, honor_f); +// } + +// void AchievementScriptMgr::OnCustomScalingStatValueBefore(Player* player, ItemTemplate const* proto, uint8 slot, bool apply, uint32& CustomScalingStatValue) +// { +// FOREACH_SCRIPT(PlayerScript)->OnCustomScalingStatValueBefore(player, proto, slot, apply, CustomScalingStatValue); +// } + +// void AchievementScriptMgr::OnCustomScalingStatValue(Player* player, ItemTemplate const* proto, uint32& statType, int32& val, uint8 itemProtoStatNumber, uint32 ScalingStatValue, ScalingStatValuesEntry const* ssv) +// { +// FOREACH_SCRIPT(PlayerScript)->OnCustomScalingStatValue(player, proto, statType, val, itemProtoStatNumber, ScalingStatValue, ssv); +// } + +// bool AchievementScriptMgr::CanArmorDamageModifier(Player* player) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanArmorDamageModifier(player)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::OnGetFeralApBonus(Player* player, int32& feral_bonus, int32 dpsMod, ItemTemplate const* proto, ScalingStatValuesEntry const* ssv) +// { +// FOREACH_SCRIPT(PlayerScript)->OnGetFeralApBonus(player, feral_bonus, dpsMod, proto, ssv); +// } + +// bool AchievementScriptMgr::CanApplyWeaponDependentAuraDamageMod(Player* player, Item* item, WeaponAttackType attackType, AuraEffect const* aura, bool apply) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanApplyWeaponDependentAuraDamageMod(player, item, attackType, aura, apply)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanApplyEquipSpell(Player* player, SpellInfo const* spellInfo, Item* item, bool apply, bool form_change) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanApplyEquipSpell(player, spellInfo, item, apply, form_change)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanApplyEquipSpellsItemSet(Player* player, ItemSetEffect* eff) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanApplyEquipSpellsItemSet(player, eff)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanCastItemCombatSpell(Player* player, Unit* target, WeaponAttackType attType, uint32 procVictim, uint32 procEx, Item* item, ItemTemplate const* proto) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanCastItemCombatSpell(player, target, attType, procVictim, procEx, item, proto)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanCastItemUseSpell(Player* player, Item* item, SpellCastTargets const& targets, uint8 cast_count, uint32 glyphIndex) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanCastItemUseSpell(player, item, targets, cast_count, glyphIndex)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::OnApplyAmmoBonuses(Player* player, ItemTemplate const* proto, float& currentAmmoDPS) +// { +// FOREACH_SCRIPT(PlayerScript)->OnApplyAmmoBonuses(player, proto, currentAmmoDPS); +// } + +// bool AchievementScriptMgr::CanEquipItem(Player* player, uint8 slot, uint16& dest, Item* pItem, bool swap, bool not_loading) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanEquipItem(player, slot, dest, pItem, swap, not_loading)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanUnequipItem(Player* player, uint16 pos, bool swap) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanUnequipItem(player, pos, swap)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanUseItem(Player* player, ItemTemplate const* proto, InventoryResult& result) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanUseItem(player, proto, result)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanSaveEquipNewItem(Player* player, Item* item, uint16 pos, bool update) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanSaveEquipNewItem(player, item, pos, update)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanApplyEnchantment(Player* player, Item* item, EnchantmentSlot slot, bool apply, bool apply_dur, bool ignore_condition) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanApplyEnchantment(player, item, slot, apply, apply_dur, ignore_condition)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::OnGetQuestRate(Player* player, float& result) +// { +// FOREACH_SCRIPT(PlayerScript)->OnGetQuestRate(player, result); +// } + +// bool AchievementScriptMgr::PassedQuestKilledMonsterCredit(Player* player, Quest const* qinfo, uint32 entry, uint32 real_entry, ObjectGuid guid) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->PassedQuestKilledMonsterCredit(player, qinfo, entry, real_entry, guid)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CheckItemInSlotAtLoadInventory(Player* player, Item* item, uint8 slot, uint8& err, uint16& dest) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CheckItemInSlotAtLoadInventory(player, item, slot, err, dest)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::NotAvoidSatisfy(Player* player, DungeonProgressionRequirements const* ar, uint32 target_map, bool report) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->NotAvoidSatisfy(player, ar, target_map, report)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::NotVisibleGloballyFor(Player* player, Player const* u) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->NotVisibleGloballyFor(player, u)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::OnGetArenaPersonalRating(Player* player, uint8 slot, uint32& result) +// { +// FOREACH_SCRIPT(PlayerScript)->OnGetArenaPersonalRating(player, slot, result); +// } + +// void AchievementScriptMgr::OnGetArenaTeamId(Player* player, uint8 slot, uint32& result) +// { +// FOREACH_SCRIPT(PlayerScript)->OnGetArenaTeamId(player, slot, result); +// } + +// void AchievementScriptMgr::OnIsFFAPvP(Player* player, bool& result) +// { +// FOREACH_SCRIPT(PlayerScript)->OnIsFFAPvP(player, result); +// } + +// void AchievementScriptMgr::OnIsPvP(Player* player, bool& result) +// { +// FOREACH_SCRIPT(PlayerScript)->OnIsPvP(player, result); +// } + +// void AchievementScriptMgr::OnGetMaxSkillValueForLevel(Player* player, uint16& result) +// { +// FOREACH_SCRIPT(PlayerScript)->OnGetMaxSkillValueForLevel(player, result); +// } + +// bool AchievementScriptMgr::NotSetArenaTeamInfoField(Player* player, uint8 slot, ArenaTeamInfoType type, uint32 value) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->NotSetArenaTeamInfoField(player, slot, type, value)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanJoinLfg(Player* player, uint8 roles, lfg::LfgDungeonSet& dungeons, const std::string& comment) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanJoinLfg(player, roles, dungeons, comment)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanEnterMap(Player* player, MapEntry const* entry, InstanceTemplate const* instance, MapDifficulty const* mapDiff, bool loginCheck) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanEnterMap(player, entry, instance, mapDiff, loginCheck)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanInitTrade(Player* player, Player* target) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanInitTrade(player, target)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::OnSetServerSideVisibility(Player* player, ServerSideVisibilityType& type, AccountTypes& sec) +// { +// FOREACH_SCRIPT(PlayerScript)->OnSetServerSideVisibility(player, type, sec); +// } + +// void AchievementScriptMgr::OnSetServerSideVisibilityDetect(Player* player, ServerSideVisibilityType& type, AccountTypes& sec) +// { +// FOREACH_SCRIPT(PlayerScript)->OnSetServerSideVisibilityDetect(player, type, sec); +// } + +// void AchievementScriptMgr::AnticheatSetSkipOnePacketForASH(Player* player, bool apply) +// { +// FOREACH_SCRIPT(PlayerScript)->AnticheatSetSkipOnePacketForASH(player, apply); +// } + +// void AchievementScriptMgr::AnticheatSetCanFlybyServer(Player* player, bool apply) +// { +// FOREACH_SCRIPT(PlayerScript)->AnticheatSetCanFlybyServer(player, apply); +// } + +// void AchievementScriptMgr::AnticheatSetUnderACKmount(Player* player) +// { +// FOREACH_SCRIPT(PlayerScript)->AnticheatSetUnderACKmount(player); +// } + +// void AchievementScriptMgr::AnticheatSetRootACKUpd(Player* player) +// { +// FOREACH_SCRIPT(PlayerScript)->AnticheatSetRootACKUpd(player); +// } + +// void AchievementScriptMgr::AnticheatSetJumpingbyOpcode(Player* player, bool jump) +// { +// FOREACH_SCRIPT(PlayerScript)->AnticheatSetJumpingbyOpcode(player, jump); +// } + +// void AchievementScriptMgr::AnticheatUpdateMovementInfo(Player* player, MovementInfo const& movementInfo) +// { +// FOREACH_SCRIPT(PlayerScript)->AnticheatUpdateMovementInfo(player, movementInfo); +// } + +// bool AchievementScriptMgr::AnticheatHandleDoubleJump(Player* player, Unit* mover) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->AnticheatHandleDoubleJump(player, mover)) +// ret = false; // we change ret value only when scripts return true + +// return ret; +// } + +// bool AchievementScriptMgr::AnticheatCheckMovementInfo(Player* player, MovementInfo const& movementInfo, Unit* mover, bool jump) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PlayerScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->AnticheatCheckMovementInfo(player, movementInfo, mover, jump)) +// ret = false; // we change ret value only when scripts return true + +// return ret; +// } + +// bool AchievementScriptMgr::CanGuildSendBankList(Guild const* guild, WorldSession* session, uint8 tabId, bool sendAllSlots) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(GuildScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanGuildSendBankList(guild, session, tabId, sendAllSlots)) +// ret = false; // we change ret value only when scripts return true + +// return ret; +// } + +// bool AchievementScriptMgr::CanGroupJoinBattlegroundQueue(Group const* group, Player* member, Battleground const* bgTemplate, uint32 MinPlayerCount, bool isRated, uint32 arenaSlot) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(GroupScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanGroupJoinBattlegroundQueue(group, member, bgTemplate, MinPlayerCount, isRated, arenaSlot)) +// ret = false; // we change ret value only when scripts return true + +// return ret; +// } + +// void AchievementScriptMgr::OnCreate(Group* group, Player* leader) +// { +// FOREACH_SCRIPT(GroupScript)->OnCreate(group, leader); +// } + +// void AchievementScriptMgr::OnAuraRemove(Unit* unit, AuraApplication* aurApp, AuraRemoveMode mode) +// { +// FOREACH_SCRIPT(UnitScript)->OnAuraRemove(unit, aurApp, mode); +// } + +// bool AchievementScriptMgr::IfNormalReaction(Unit const* unit, Unit const* target, ReputationRank& repRank) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(UnitScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->IfNormalReaction(unit, target, repRank)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::IsNeedModSpellDamagePercent(Unit const* unit, AuraEffect* auraEff, float& doneTotalMod, SpellInfo const* spellProto) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(UnitScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->IsNeedModSpellDamagePercent(unit, auraEff, doneTotalMod, spellProto)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::IsNeedModMeleeDamagePercent(Unit const* unit, AuraEffect* auraEff, float& doneTotalMod, SpellInfo const* spellProto) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(UnitScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->IsNeedModMeleeDamagePercent(unit, auraEff, doneTotalMod, spellProto)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::IsNeedModHealPercent(Unit const* unit, AuraEffect* auraEff, float& doneTotalMod, SpellInfo const* spellProto) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(UnitScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->IsNeedModHealPercent(unit, auraEff, doneTotalMod, spellProto)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanSetPhaseMask(Unit const* unit, uint32 newPhaseMask, bool update) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(UnitScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanSetPhaseMask(unit, newPhaseMask, update)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::IsCustomBuildValuesUpdate(Unit const* unit, uint8 updateType, ByteBuffer& fieldBuffer, Player const* target, uint16 index) +// { +// bool ret = false; + +// FOR_SCRIPTS_RET(UnitScript, itr, end, ret) // return true by default if not scripts +// if (itr->second->IsCustomBuildValuesUpdate(unit, updateType, fieldBuffer, target, index)) +// ret = true; // we change ret value only when scripts return true + +// return ret; +// } + +// void AchievementScriptMgr::OnQueueUpdate(BattlegroundQueue* queue, BattlegroundBracketId bracket_id, bool isRated, uint32 arenaRatedTeamId) +// { +// FOREACH_SCRIPT(BGScript)->OnQueueUpdate(queue, bracket_id, isRated, arenaRatedTeamId); +// } + +// bool AchievementScriptMgr::CanSendMessageBGQueue(BattlegroundQueue* queue, Player* leader, Battleground* bg, PvPDifficultyEntry const* bracketEntry) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(BGScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanSendMessageBGQueue(queue, leader, bg, bracketEntry)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::OnBeforeSendJoinMessageArenaQueue(BattlegroundQueue* queue, Player* leader, GroupQueueInfo* ginfo, PvPDifficultyEntry const* bracketEntry, bool isRated) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(BGScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->OnBeforeSendJoinMessageArenaQueue(queue, leader, ginfo, bracketEntry, isRated)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::OnBeforeSendExitMessageArenaQueue(BattlegroundQueue* queue, GroupQueueInfo* ginfo) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(BGScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->OnBeforeSendExitMessageArenaQueue(queue, ginfo)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanModAuraEffectDamageDone(AuraEffect const* auraEff, Unit* target, AuraApplication const* aurApp, uint8 mode, bool apply) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(SpellSC, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanModAuraEffectDamageDone(auraEff, target, aurApp, mode, apply)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanModAuraEffectModDamagePercentDone(AuraEffect const* auraEff, Unit* target, AuraApplication const* aurApp, uint8 mode, bool apply) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(SpellSC, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanModAuraEffectModDamagePercentDone(auraEff, target, aurApp, mode, apply)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::OnSpellCheckCast(Spell* spell, bool strict, SpellCastResult& res) +// { +// FOREACH_SCRIPT(SpellSC)->OnSpellCheckCast(spell, strict, res); +// } + +// bool AchievementScriptMgr::CanPrepare(Spell* spell, SpellCastTargets const* targets, AuraEffect const* triggeredByAura) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(SpellSC, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanPrepare(spell, targets, triggeredByAura)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanScalingEverything(Spell* spell) +// { +// bool ret = false; + +// FOR_SCRIPTS_RET(SpellSC, itr, end, ret) // return true by default if not scripts +// if (itr->second->CanScalingEverything(spell)) +// ret = true; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanSelectSpecTalent(Spell* spell) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(SpellSC, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanSelectSpecTalent(spell)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::OnScaleAuraUnitAdd(Spell* spell, Unit* target, uint32 effectMask, bool checkIfValid, bool implicit, uint8 auraScaleMask, TargetInfo& targetInfo) +// { +// FOREACH_SCRIPT(SpellSC)->OnScaleAuraUnitAdd(spell, target, effectMask, checkIfValid, implicit, auraScaleMask, targetInfo); +// } + +// void AchievementScriptMgr::OnRemoveAuraScaleTargets(Spell* spell, TargetInfo& targetInfo, uint8 auraScaleMask, bool& needErase) +// { +// FOREACH_SCRIPT(SpellSC)->OnRemoveAuraScaleTargets(spell, targetInfo, auraScaleMask, needErase); +// } + +// void AchievementScriptMgr::OnBeforeAuraRankForLevel(SpellInfo const* spellInfo, SpellInfo const* latestSpellInfo, uint8 level) +// { +// FOREACH_SCRIPT(SpellSC)->OnBeforeAuraRankForLevel(spellInfo, latestSpellInfo, level); +// } + +void AchievementScriptMgr::SetRealmCompleted(AchievementEntry const* achievement) +{ + FOREACH_SCRIPT(AchievementScript)->SetRealmCompleted(achievement); +} + +bool AchievementScriptMgr::IsCompletedCriteria(AchievementMgr* mgr, AchievementCriteriaEntry const* achievementCriteria, AchievementEntry const* achievement, CriteriaProgress const* progress) +{ + bool ret = true; + + FOR_SCRIPTS_RET(AchievementScript, itr, end, ret) // return true by default if not scripts + if (!itr->second->IsCompletedCriteria(mgr, achievementCriteria, achievement, progress)) + ret = false; // we change ret value only when scripts return false + + return ret; +} + +bool AchievementScriptMgr::IsRealmCompleted(AchievementGlobalMgr const* globalmgr, AchievementEntry const* achievement, std::chrono::system_clock::time_point completionTime) +{ + bool ret = true; + + FOR_SCRIPTS_RET(AchievementScript, itr, end, ret) // return true by default if not scripts + if (!itr->second->IsRealmCompleted(globalmgr, achievement, completionTime)) + ret = false; // we change ret value only when scripts return false + + return ret; +} + +void AchievementScriptMgr::OnBeforeCheckCriteria(AchievementMgr* mgr, AchievementCriteriaEntryList const* achievementCriteriaList) +{ + FOREACH_SCRIPT(AchievementScript)->OnBeforeCheckCriteria(mgr, achievementCriteriaList); +} + +bool AchievementScriptMgr::CanCheckCriteria(AchievementMgr* mgr, AchievementCriteriaEntry const* achievementCriteria) +{ + bool ret = true; + + FOR_SCRIPTS_RET(AchievementScript, itr, end, ret) // return true by default if not scripts + if (!itr->second->CanCheckCriteria(mgr, achievementCriteria)) + ret = false; // we change ret value only when scripts return false + + return ret; +} + +// void AchievementScriptMgr::OnInitStatsForLevel(Guardian* guardian, uint8 petlevel) +// { +// FOREACH_SCRIPT(PetScript)->OnInitStatsForLevel(guardian, petlevel); +// } + +// void AchievementScriptMgr::OnCalculateMaxTalentPointsForLevel(Pet* pet, uint8 level, uint8& points) +// { +// FOREACH_SCRIPT(PetScript)->OnCalculateMaxTalentPointsForLevel(pet, level, points); +// } + +// bool AchievementScriptMgr::CanUnlearnSpellSet(Pet* pet, uint32 level, uint32 spell) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PetScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanUnlearnSpellSet(pet, level, spell)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanUnlearnSpellDefault(Pet* pet, SpellInfo const* spellEntry) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PetScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanUnlearnSpellDefault(pet, spellEntry)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanResetTalents(Pet* pet) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(PetScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanResetTalents(pet)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanAddMember(ArenaTeam* team, ObjectGuid PlayerGuid) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(ArenaScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanAddMember(team, PlayerGuid)) +// ret = false; // we change ret value only when scripts return true + +// return ret; +// } + +// void AchievementScriptMgr::OnGetPoints(ArenaTeam* team, uint32 memberRating, float& points) +// { +// FOREACH_SCRIPT(ArenaScript)->OnGetPoints(team, memberRating, points); +// } + +// bool AchievementScriptMgr::CanSaveToDB(ArenaTeam* team) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(ArenaScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanSaveToDB(team)) +// ret = false; // we change ret value only when scripts return true + +// return ret; +// } + +// void AchievementScriptMgr::OnItemCreate(Item* item, ItemTemplate const* itemProto, Player const* owner) +// { +// FOREACH_SCRIPT(MiscScript)->OnItemCreate(item, itemProto, owner); +// } + +// bool AchievementScriptMgr::CanApplySoulboundFlag(Item* item, ItemTemplate const* proto) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(MiscScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanApplySoulboundFlag(item, proto)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::OnConstructObject(Object* origin) +// { +// FOREACH_SCRIPT(MiscScript)->OnConstructObject(origin); +// } + +// void AchievementScriptMgr::OnDestructObject(Object* origin) +// { +// FOREACH_SCRIPT(MiscScript)->OnDestructObject(origin); +// } + +// void AchievementScriptMgr::OnConstructPlayer(Player* origin) +// { +// FOREACH_SCRIPT(MiscScript)->OnConstructPlayer(origin); +// } + +// void AchievementScriptMgr::OnDestructPlayer(Player* origin) +// { +// FOREACH_SCRIPT(MiscScript)->OnDestructPlayer(origin); +// } + +// void AchievementScriptMgr::OnConstructGroup(Group* origin) +// { +// FOREACH_SCRIPT(MiscScript)->OnConstructGroup(origin); +// } + +// void AchievementScriptMgr::OnDestructGroup(Group* origin) +// { +// FOREACH_SCRIPT(MiscScript)->OnDestructGroup(origin); +// } + +// void AchievementScriptMgr::OnConstructInstanceSave(InstanceSave* origin) +// { +// FOREACH_SCRIPT(MiscScript)->OnConstructInstanceSave(origin); +// } + +// void AchievementScriptMgr::OnDestructInstanceSave(InstanceSave* origin) +// { +// FOREACH_SCRIPT(MiscScript)->OnDestructInstanceSave(origin); +// } + +// bool AchievementScriptMgr::CanItemApplyEquipSpell(Player* player, Item* item) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(MiscScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanItemApplyEquipSpell(player, item)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// bool AchievementScriptMgr::CanSendAuctionHello(WorldSession const* session, ObjectGuid guid, Creature* creature) +// { +// bool ret = true; + +// FOR_SCRIPTS_RET(MiscScript, itr, end, ret) // return true by default if not scripts +// if (!itr->second->CanSendAuctionHello(session, guid, creature)) +// ret = false; // we change ret value only when scripts return false + +// return ret; +// } + +// void AchievementScriptMgr::ValidateSpellAtCastSpell(Player* player, uint32& oldSpellId, uint32& spellId, uint8& castCount, uint8& castFlags) +// { +// FOREACH_SCRIPT(MiscScript)->ValidateSpellAtCastSpell(player, oldSpellId, spellId, castCount, castFlags); +// } + +// void AchievementScriptMgr::ValidateSpellAtCastSpellResult(Player* player, Unit* mover, Spell* spell, uint32 oldSpellId, uint32 spellId) +// { +// FOREACH_SCRIPT(MiscScript)->ValidateSpellAtCastSpellResult(player, mover, spell, oldSpellId, spellId); +// } + +// void AchievementScriptMgr::OnAfterLootTemplateProcess(Loot* loot, LootTemplate const* tab, LootStore const& store, Player* lootOwner, bool personal, bool noEmptyError, uint16 lootMode) +// { +// FOREACH_SCRIPT(MiscScript)->OnAfterLootTemplateProcess(loot, tab, store, lootOwner, personal, noEmptyError, lootMode); +// } + +// void AchievementScriptMgr::OnInstanceSave(InstanceSave* instanceSave) +// { +// FOREACH_SCRIPT(MiscScript)->OnInstanceSave(instanceSave); +// } + +// void AchievementScriptMgr::OnPlayerSetPhase(const AuraEffect* auraEff, AuraApplication const* aurApp, uint8 mode, bool apply, uint32& newPhase) +// { +// FOREACH_SCRIPT(MiscScript)->OnPlayerSetPhase(auraEff, aurApp, mode, apply, newPhase); +// } + +// void AchievementScriptMgr::OnHandleDevCommand(Player* player, std::string& argstr) +// { +// FOREACH_SCRIPT(CommandSC)->OnHandleDevCommand(player, argstr); +// } + +///- +// AllMapScript::AllMapScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// AllCreatureScript::AllCreatureScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// UnitScript::UnitScript(const char* name, bool addToScripts) +// : AchievementScriptObject(name) +// { +// if (addToScripts) +// ScriptRegistry::AddScript(this); +// } + +// MovementHandlerScript::MovementHandlerScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// SpellScriptLoader::SpellScriptLoader(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// ServerScript::ServerScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// WorldScript::WorldScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// FormulaScript::FormulaScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// WorldMapScript::WorldMapScript(const char* name, uint32 mapId) +// : AchievementScriptObject(name), MapScript(mapId) +// { +// ScriptRegistry::AddScript(this); +// } + +// InstanceMapScript::InstanceMapScript(const char* name, uint32 mapId) +// : AchievementScriptObject(name), MapScript(mapId) +// { +// ScriptRegistry::AddScript(this); +// } + +// BattlegroundMapScript::BattlegroundMapScript(const char* name, uint32 mapId) +// : AchievementScriptObject(name), MapScript(mapId) +// { +// ScriptRegistry::AddScript(this); +// } + +// ItemScript::ItemScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// CreatureScript::CreatureScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// GameObjectScript::GameObjectScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// AreaTriggerScript::AreaTriggerScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// BattlegroundScript::BattlegroundScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// OutdoorPvPScript::OutdoorPvPScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// CommandScript::CommandScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// WeatherScript::WeatherScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// AuctionHouseScript::AuctionHouseScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// ConditionScript::ConditionScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// VehicleScript::VehicleScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// DynamicObjectScript::DynamicObjectScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// TransportScript::TransportScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +AchievementCriteriaScript::AchievementCriteriaScript(const char* name) + : AchievementScriptObject(name) +{ + ScriptRegistry::AddScript(this); +} + +// PlayerScript::PlayerScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// AccountScript::AccountScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// GuildScript::GuildScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// GroupScript::GroupScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// GlobalScript::GlobalScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// BGScript::BGScript(char const* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// ArenaTeamScript::ArenaTeamScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// SpellSC::SpellSC(char const* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// ModuleScript::ModuleScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// GameEventScript::GameEventScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// MailScript::MailScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +AchievementScript::AchievementScript(const char* name) + : AchievementScriptObject(name) +{ + ScriptRegistry::AddScript(this); +} + +// PetScript::PetScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// ArenaScript::ArenaScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// MiscScript::MiscScript(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// CommandSC::CommandSC(const char* name) +// : AchievementScriptObject(name) +// { +// ScriptRegistry::AddScript(this); +// } + +// Specialize for each script type class like so: +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; +// template class ScriptRegistry; + + +uint32 AchievementScriptMgr::getScriptId(std::string const& name) const +{ + // use binary search to find the script name in the sorted vector + // assume "" is the first element + if (name.empty()) + return 0; + + auto itr = std::lower_bound(_scriptNamesStore.begin(), _scriptNamesStore.end(), name); + if (itr == _scriptNamesStore.end() || (*itr != name)) + return 0; + + return uint32(itr - _scriptNamesStore.begin()); +} + +//} // namespace Achievement diff --git a/src/game/Achievements/AchievementScriptMgr.h b/src/game/Achievements/AchievementScriptMgr.h new file mode 100644 index 0000000000..3545f40d70 --- /dev/null +++ b/src/game/Achievements/AchievementScriptMgr.h @@ -0,0 +1,2093 @@ +/* + * This file is part of the AzerothCore Project. See AUTHORS file for Copyright information + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by the + * Free Software Foundation; either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#ifndef ACHIEVEMENT_AchievementScriptMgr_H +#define ACHIEVEMENT_AchievementScriptMgr_H + +#include "AchievementMgr.h" +// #include "ArenaTeam.h" +// #include "AuctionHouseMgr.h" +// #include "Battleground.h" +//#include "Common.h" +//#include "DBCStores.h" +// #include "DynamicObject.h" +// #include "GameEventMgr.h" +// #include "LFGMgr.h" +//#include "ObjectMgr.h" +//#include "Player.h" +// #include "PetDefines.h" +// #include "QuestDef.h" +//#include "SharedDefines.h" +// #include "Weather.h" +// #include "World.h" +//#include +//#include + +struct AchievementCriteriaData; +struct CriteriaProgress; + +//namespace Achievement { + +// class AuctionHouseObject; +// class AuraScript; +// class Battleground; +// class BattlegroundMap; +// class BattlegroundQueue; +// class Channel; +// class Creature; +// class CreatureAI; +// class DynamicObject; +// class GameObject; +// class GameObjectAI; +// class Guild; +// class GridMap; +// class Group; +// class InstanceMap; +// class InstanceScript; +// class Item; +// class Map; +// class OutdoorPvP; +// class Player; +// class Quest; +class AchievementScriptMgr; +// class Spell; +// class SpellScript; +// class SpellInfo; +// class SpellCastTargets; +// class Transport; +// class StaticTransport; +// class MotionTransport; +// class Unit; +// class Vehicle; +// class WorldPacket; +// class WorldSocket; +// class WorldObject; + + +// struct AuctionEntry; +// struct ConditionSourceInfo; +// struct Condition; +// struct DungeonProgressionRequirements; +// struct ItemTemplate; +// struct OutdoorPvPData; +// struct GroupQueueInfo; +// struct TargetInfo; + +// namespace Acore::ChatCommands +// { +// struct ChatCommandBuilder; +// } + +// #define VISIBLE_RANGE 166.0f //MAX visible range (size of grid) + + +class AchievementScriptObject { + friend class AchievementScriptMgr; + +public: + // Do not override this in scripts; it should be overridden by the various script type classes. It indicates + // whether or not this script type must be assigned in the database. + [[nodiscard]] virtual bool IsDatabaseBound() const { return false; } + [[nodiscard]] virtual bool isAfterLoadScript() const { return IsDatabaseBound(); } + virtual void checkValidity() { } + + [[nodiscard]] const std::string& GetName() const { return _name; } + + AchievementScriptObject() {} + ~AchievementScriptObject() {}// = default; + +protected: + AchievementScriptObject(const char* name) + : _name(std::string(name)) + { + } + + +private: + const std::string _name; +}; + +template class UpdatableScript +{ +protected: + UpdatableScript() = default; + +public: + virtual void OnUpdate(TObject* /*obj*/, uint32 /*diff*/) { } +}; + +// class SpellScriptLoader : public AchievementScriptObject +// { +// protected: +// SpellScriptLoader(const char* name); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return true; } + +// // Should return a fully valid SpellScript pointer. +// [[nodiscard]] virtual SpellScript* GetSpellScript() const { return nullptr; } + +// // Should return a fully valid AuraScript pointer. +// [[nodiscard]] virtual AuraScript* GetAuraScript() const { return nullptr; } +// }; + +// class ServerScript : public AchievementScriptObject +// { +// protected: +// ServerScript(const char* name); + +// public: +// // Called when reactive socket I/O is started (WorldSocketMgr). +// virtual void OnNetworkStart() { } + +// // Called when reactive I/O is stopped. +// virtual void OnNetworkStop() { } + +// // Called when a remote socket establishes a connection to the server. Do not store the socket object. +// virtual void OnSocketOpen(std::shared_ptr /*socket*/) { } + +// // Called when a socket is closed. Do not store the socket object, and do not rely on the connection +// // being open; it is not. +// virtual void OnSocketClose(std::shared_ptr /*socket*/) { } + +// // Called when a packet is sent to a client. The packet object is a copy of the original packet, so reading +// // and modifying it is safe. +// virtual void OnPacketSend(WorldSession* /*session*/, WorldPacket& /*packet*/) { } + +// // Called when a (valid) packet is received by a client. The packet object is a copy of the original packet, so +// // reading and modifying it is safe. Make sure to check WorldSession pointer before usage, it might be null in case of auth packets +// virtual void OnPacketReceive(WorldSession* /*session*/, WorldPacket& /*packet*/) { } +// }; + +// class WorldScript : public AchievementScriptObject +// { +// protected: +// WorldScript(const char* name); + +// public: +// // Called when the open/closed state of the world changes. +// virtual void OnOpenStateChange(bool /*open*/) { } + +// // Called after the world configuration is (re)loaded. +// virtual void OnAfterConfigLoad(bool /*reload*/) { } + +// // Called when loading custom database tables +// virtual void OnLoadCustomDatabaseTable() { } + +// // Called before the world configuration is (re)loaded. +// virtual void OnBeforeConfigLoad(bool /*reload*/) { } + +// // Called before the message of the day is changed. +// virtual void OnMotdChange(std::string& /*newMotd*/) { } + +// // Called when a world shutdown is initiated. +// virtual void OnShutdownInitiate(ShutdownExitCode /*code*/, ShutdownMask /*mask*/) { } + +// // Called when a world shutdown is cancelled. +// virtual void OnShutdownCancel() { } + +// // Called on every world tick (don't execute too heavy code here). +// virtual void OnUpdate(uint32 /*diff*/) { } + +// // Called when the world is started. +// virtual void OnStartup() { } + +// // Called when the world is actually shut down. +// virtual void OnShutdown() { } + +// /** +// * @brief This hook runs before finalizing the player world session. Can be also used to mutate the cache version of the Client. +// * +// * @param version The cache version that we will be sending to the Client. +// */ +// virtual void OnBeforeFinalizePlayerWorldSession(uint32& /*cacheVersion*/) {} +// }; + +// class FormulaScript : public AchievementScriptObject +// { +// protected: +// FormulaScript(const char* name); + +// public: +// // Called after calculating honor. +// virtual void OnHonorCalculation(float& /*honor*/, uint8 /*level*/, float /*multiplier*/) { } + +// // Called after gray level calculation. +// virtual void OnGrayLevelCalculation(uint8& /*grayLevel*/, uint8 /*playerLevel*/) { } + +// // Called after calculating experience color. +// virtual void OnColorCodeCalculation(XPColorChar& /*color*/, uint8 /*playerLevel*/, uint8 /*mobLevel*/) { } + +// // Called after calculating zero difference. +// virtual void OnZeroDifferenceCalculation(uint8& /*diff*/, uint8 /*playerLevel*/) { } + +// // Called after calculating base experience gain. +// virtual void OnBaseGainCalculation(uint32& /*gain*/, uint8 /*playerLevel*/, uint8 /*mobLevel*/, ContentLevels /*content*/) { } + +// // Called after calculating experience gain. +// virtual void OnGainCalculation(uint32& /*gain*/, Player* /*player*/, Unit* /*unit*/) { } + +// // Called when calculating the experience rate for group experience. +// virtual void OnGroupRateCalculation(float& /*rate*/, uint32 /*count*/, bool /*isRaid*/) { } + +// // Called after calculating arena rating changes +// virtual void OnAfterArenaRatingCalculation(Battleground* const /*bg*/, int32& /*winnerMatchmakerChange*/, int32& /*loserMatchmakerChange*/, int32& /*winnerChange*/, int32& /*loserChange*/) { }; + +// // Called before modifying a player's personal rating +// virtual void OnBeforeUpdatingPersonalRating(int32& /*mod*/, uint32 /*type*/) { } +// }; + +// template class MapScript : public UpdatableScript +// { +// MapEntry const* _mapEntry; +// uint32 _mapId; + +// protected: +// MapScript(uint32 mapId) +// : _mapId(mapId) +// { +// } + +// public: +// void checkMap() +// { +// _mapEntry = sMapStore.LookupEntry(_mapId); + +// if (!_mapEntry) +// LOG_ERROR("maps.script", "Invalid MapScript for %u; no such map ID.", _mapId); +// } + +// // Gets the MapEntry structure associated with this script. Can return nullptr. +// MapEntry const* GetEntry() { return _mapEntry; } + +// // Called when the map is created. +// virtual void OnCreate(TMap* /*map*/) { } + +// // Called just before the map is destroyed. +// virtual void OnDestroy(TMap* /*map*/) { } + +// // Called when a grid map is loaded. +// virtual void OnLoadGridMap(TMap* /*map*/, GridMap* /*gmap*/, uint32 /*gx*/, uint32 /*gy*/) { } + +// // Called when a grid map is unloaded. +// virtual void OnUnloadGridMap(TMap* /*map*/, GridMap* /*gmap*/, uint32 /*gx*/, uint32 /*gy*/) { } + +// // Called when a player enters the map. +// virtual void OnPlayerEnter(TMap* /*map*/, Player* /*player*/) { } + +// // Called when a player leaves the map. +// virtual void OnPlayerLeave(TMap* /*map*/, Player* /*player*/) { } + +// // Called on every map update tick. +// void OnUpdate(TMap* /*map*/, uint32 /*diff*/) override { } +// }; + +// class WorldMapScript : public AchievementScriptObject, public MapScript +// { +// protected: +// WorldMapScript(const char* name, uint32 mapId); + +// public: +// [[nodiscard]] bool isAfterLoadScript() const override { return true; } + +// void checkValidity() override +// { +// checkMap(); + +// if (GetEntry() && !GetEntry()->IsWorldMap()) +// LOG_ERROR("maps.script", "WorldMapScript for map %u is invalid.", GetEntry()->MapID); +// } +// }; + +// class InstanceMapScript : public AchievementScriptObject, public MapScript +// { +// protected: +// InstanceMapScript(const char* name, uint32 mapId); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return true; } + +// void checkValidity() override +// { +// checkMap(); + +// if (GetEntry() && !GetEntry()->IsDungeon()) +// LOG_ERROR("maps.script", "InstanceMapScript for map %u is invalid.", GetEntry()->MapID); +// } + +// // Gets an InstanceScript object for this instance. +// virtual InstanceScript* GetInstanceScript(InstanceMap* /*map*/) const { return nullptr; } +// }; + +// class BattlegroundMapScript : public AchievementScriptObject, public MapScript +// { +// protected: +// BattlegroundMapScript(const char* name, uint32 mapId); + +// public: +// [[nodiscard]] bool isAfterLoadScript() const override { return true; } + +// void checkValidity() override +// { +// checkMap(); + +// if (GetEntry() && !GetEntry()->IsBattleground()) +// LOG_ERROR("maps.script", "BattlegroundMapScript for map %u is invalid.", GetEntry()->MapID); +// } +// }; + +// class ItemScript : public AchievementScriptObject +// { +// protected: +// ItemScript(const char* name); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return true; } + +// // Called when a player accepts a quest from the item. +// [[nodiscard]] virtual bool OnQuestAccept(Player* /*player*/, Item* /*item*/, Quest const* /*quest*/) { return false; } + +// // Called when a player uses the item. +// [[nodiscard]] virtual bool OnUse(Player* /*player*/, Item* /*item*/, SpellCastTargets const& /*targets*/) { return false; } + +// // Called when the item is destroyed. +// [[nodiscard]] virtual bool OnRemove(Player* /*player*/, Item* /*item*/) { return false; } + +// // Called before casting a combat spell from this item (chance on hit spells of item template, can be used to prevent cast if returning false) +// [[nodiscard]] virtual bool OnCastItemCombatSpell(Player* /*player*/, Unit* /*victim*/, SpellInfo const* /*spellInfo*/, Item* /*item*/) { return true; } + +// // Called when the item expires (is destroyed). +// [[nodiscard]] virtual bool OnExpire(Player* /*player*/, ItemTemplate const* /*proto*/) { return false; } + +// // Called when a player selects an option in an item gossip window +// virtual void OnGossipSelect(Player* /*player*/, Item* /*item*/, uint32 /*sender*/, uint32 /*action*/) { } + +// // Called when a player selects an option in an item gossip window +// virtual void OnGossipSelectCode(Player* /*player*/, Item* /*item*/, uint32 /*sender*/, uint32 /*action*/, const char* /*code*/) { } +// }; + +// class UnitScript : public AchievementScriptObject +// { +// protected: +// UnitScript(const char* name, bool addToScripts = true); + +// public: +// // Called when a unit deals healing to another unit +// virtual void OnHeal(Unit* /*healer*/, Unit* /*reciever*/, uint32& /*gain*/) { } + +// // Called when a unit deals damage to another unit +// virtual void OnDamage(Unit* /*attacker*/, Unit* /*victim*/, uint32& /*damage*/) { } + +// // Called when DoT's Tick Damage is being Dealt +// // Attacker can be nullptr if he is despawned while the aura still exists on target +// virtual void ModifyPeriodicDamageAurasTick(Unit* /*target*/, Unit* /*attacker*/, uint32& /*damage*/) { } + +// // Called when Melee Damage is being Dealt +// virtual void ModifyMeleeDamage(Unit* /*target*/, Unit* /*attacker*/, uint32& /*damage*/) { } + +// // Called when Spell Damage is being Dealt +// virtual void ModifySpellDamageTaken(Unit* /*target*/, Unit* /*attacker*/, int32& /*damage*/) { } + +// // Called when Heal is Recieved +// virtual void ModifyHealRecieved(Unit* /*target*/, Unit* /*attacker*/, uint32& /*damage*/) { } + +// //Called when Damage is Dealt +// virtual uint32 DealDamage(Unit* /*AttackerUnit*/, Unit* /*pVictim*/, uint32 damage, DamageEffectType /*damagetype*/) { return damage; } + +// virtual void OnBeforeRollMeleeOutcomeAgainst(const Unit* /*attacker*/, const Unit* /*victim*/, WeaponAttackType /*attType*/, int32& /*attackerMaxSkillValueForLevel*/, int32& /*victimMaxSkillValueForLevel*/, int32& /*attackerWeaponSkill*/, int32& /*victimDefenseSkill*/, int32& /*crit_chance*/, int32& /*miss_chance*/, int32& /*dodge_chance*/, int32& /*parry_chance*/, int32& /*block_chance*/ ) { }; + +// virtual void OnAuraRemove(Unit* /*unit*/, AuraApplication* /*aurApp*/, AuraRemoveMode /*mode*/) { } + +// [[nodiscard]] virtual bool IfNormalReaction(Unit const* /*unit*/, Unit const* /*target*/, ReputationRank& /*repRank*/) { return true; } + +// [[nodiscard]] virtual bool IsNeedModSpellDamagePercent(Unit const* /*unit*/, AuraEffect* /*auraEff*/, float& /*doneTotalMod*/, SpellInfo const* /*spellProto*/) { return true; } + +// [[nodiscard]] virtual bool IsNeedModMeleeDamagePercent(Unit const* /*unit*/, AuraEffect* /*auraEff*/, float& /*doneTotalMod*/, SpellInfo const* /*spellProto*/) { return true; } + +// [[nodiscard]] virtual bool IsNeedModHealPercent(Unit const* /*unit*/, AuraEffect* /*auraEff*/, float& /*doneTotalMod*/, SpellInfo const* /*spellProto*/) { return true; } + +// [[nodiscard]] virtual bool CanSetPhaseMask(Unit const* /*unit*/, uint32 /*newPhaseMask*/, bool /*update*/) { return true; } + +// [[nodiscard]] virtual bool IsCustomBuildValuesUpdate(Unit const* /*unit*/, uint8 /*updateType*/, ByteBuffer& /*fieldBuffer*/, Player const* /*target*/, uint16 /*index*/) { return false; } +// }; + +// class MovementHandlerScript : public AchievementScriptObject +// { +// protected: +// MovementHandlerScript(const char* name); + +// public: +// //Called whenever a player moves +// virtual void OnPlayerMove(Player* /*player*/, MovementInfo /*movementInfo*/, uint32 /*opcode*/) { } +// }; + +// class AllMapScript : public AchievementScriptObject +// { +// protected: +// AllMapScript(const char* name); + +// public: +// // Called when a player enters any Map +// virtual void OnPlayerEnterAll(Map* /*map*/, Player* /*player*/) { } + +// // Called when a player leave any Map +// virtual void OnPlayerLeaveAll(Map* /*map*/, Player* /*player*/) { } +// }; + +// class AllCreatureScript : public AchievementScriptObject +// { +// protected: +// AllCreatureScript(const char* name); + +// public: +// // Called from End of Creature Update. +// virtual void OnAllCreatureUpdate(Creature* /*creature*/, uint32 /*diff*/) { } + +// // Called from End of Creature SelectLevel. +// virtual void Creature_SelectLevel(const CreatureTemplate* /*cinfo*/, Creature* /*creature*/) { } +// }; + +// class CreatureScript : public AchievementScriptObject, public UpdatableScript +// { +// protected: +// CreatureScript(const char* name); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return true; } + +// // Called when a player opens a gossip dialog with the creature. +// [[nodiscard]] virtual bool OnGossipHello(Player* /*player*/, Creature* /*creature*/) { return false; } + +// // Called when a player selects a gossip item in the creature's gossip menu. +// [[nodiscard]] virtual bool OnGossipSelect(Player* /*player*/, Creature* /*creature*/, uint32 /*sender*/, uint32 /*action*/) { return false; } + +// // Called when a player selects a gossip with a code in the creature's gossip menu. +// [[nodiscard]] virtual bool OnGossipSelectCode(Player* /*player*/, Creature* /*creature*/, uint32 /*sender*/, uint32 /*action*/, const char* /*code*/) { return false; } + +// // Called when a player accepts a quest from the creature. +// [[nodiscard]] virtual bool OnQuestAccept(Player* /*player*/, Creature* /*creature*/, Quest const* /*quest*/) { return false; } + +// // Called when a player selects a quest in the creature's quest menu. +// [[nodiscard]] virtual bool OnQuestSelect(Player* /*player*/, Creature* /*creature*/, Quest const* /*quest*/) { return false; } + +// // Called when a player completes a quest with the creature. +// [[nodiscard]] virtual bool OnQuestComplete(Player* /*player*/, Creature* /*creature*/, Quest const* /*quest*/) { return false; } + +// // Called when a player selects a quest reward. +// [[nodiscard]] virtual bool OnQuestReward(Player* /*player*/, Creature* /*creature*/, Quest const* /*quest*/, uint32 /*opt*/) { return false; } + +// // Called when the dialog status between a player and the creature is requested. +// virtual uint32 GetDialogStatus(Player* /*player*/, Creature* /*creature*/) { return DIALOG_STATUS_SCRIPTED_NO_STATUS; } + +// // Called when a CreatureAI object is needed for the creature. +// virtual CreatureAI* GetAI(Creature* /*creature*/) const { return nullptr; } +// }; + +// class GameObjectScript : public AchievementScriptObject, public UpdatableScript +// { +// protected: +// GameObjectScript(const char* name); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return true; } + +// // Called when a player opens a gossip dialog with the gameobject. +// [[nodiscard]] virtual bool OnGossipHello(Player* /*player*/, GameObject* /*go*/) { return false; } + +// // Called when a player selects a gossip item in the gameobject's gossip menu. +// [[nodiscard]] virtual bool OnGossipSelect(Player* /*player*/, GameObject* /*go*/, uint32 /*sender*/, uint32 /*action*/) { return false; } + +// // Called when a player selects a gossip with a code in the gameobject's gossip menu. +// [[nodiscard]] virtual bool OnGossipSelectCode(Player* /*player*/, GameObject* /*go*/, uint32 /*sender*/, uint32 /*action*/, const char* /*code*/) { return false; } + +// // Called when a player accepts a quest from the gameobject. +// [[nodiscard]] virtual bool OnQuestAccept(Player* /*player*/, GameObject* /*go*/, Quest const* /*quest*/) { return false; } + +// // Called when a player selects a quest reward. +// [[nodiscard]] virtual bool OnQuestReward(Player* /*player*/, GameObject* /*go*/, Quest const* /*quest*/, uint32 /*opt*/) { return false; } + +// // Called when the dialog status between a player and the gameobject is requested. +// virtual uint32 GetDialogStatus(Player* /*player*/, GameObject* /*go*/) { return DIALOG_STATUS_SCRIPTED_NO_STATUS; } + +// // Called when the game object is destroyed (destructible buildings only). +// virtual void OnDestroyed(GameObject* /*go*/, Player* /*player*/) { } + +// // Called when the game object is damaged (destructible buildings only). +// virtual void OnDamaged(GameObject* /*go*/, Player* /*player*/) { } + +// // Called when the game object loot state is changed. +// virtual void OnLootStateChanged(GameObject* /*go*/, uint32 /*state*/, Unit* /*unit*/) { } + +// // Called when the game object state is changed. +// virtual void OnGameObjectStateChanged(GameObject* /*go*/, uint32 /*state*/) { } + +// // Called when a GameObjectAI object is needed for the gameobject. +// virtual GameObjectAI* GetAI(GameObject* /*go*/) const { return nullptr; } +// }; + +// class AreaTriggerScript : public AchievementScriptObject +// { +// protected: +// AreaTriggerScript(const char* name); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return true; } + +// // Called when the area trigger is activated by a player. +// [[nodiscard]] virtual bool OnTrigger(Player* /*player*/, AreaTrigger const* /*trigger*/) { return false; } +// }; + +// class BattlegroundScript : public AchievementScriptObject +// { +// protected: +// BattlegroundScript(const char* name); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return true; } + +// // Should return a fully valid Battleground object for the type ID. +// [[nodiscard]] virtual Battleground* GetBattleground() const = 0; +// }; + +// class OutdoorPvPScript : public AchievementScriptObject +// { +// protected: +// OutdoorPvPScript(const char* name); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return true; } + +// // Should return a fully valid OutdoorPvP object for the type ID. +// [[nodiscard]] virtual OutdoorPvP* GetOutdoorPvP() const = 0; +// }; + +// class CommandScript : public AchievementScriptObject +// { +// protected: +// CommandScript(const char* name); + +// public: +// // Should return a pointer to a valid command table (ChatCommand array) to be used by ChatHandler. +// [[nodiscard]] virtual std::vector GetCommands() const = 0; +// }; + +// class WeatherScript : public AchievementScriptObject, public UpdatableScript +// { +// protected: +// WeatherScript(const char* name); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return true; } + +// // Called when the weather changes in the zone this script is associated with. +// virtual void OnChange(Weather* /*weather*/, WeatherState /*state*/, float /*grade*/) { } +// }; + +// class AuctionHouseScript : public AchievementScriptObject +// { +// protected: +// AuctionHouseScript(const char* name); + +// public: +// // Called when an auction is added to an auction house. +// virtual void OnAuctionAdd(AuctionHouseObject* /*ah*/, AuctionEntry* /*entry*/) { } + +// // Called when an auction is removed from an auction house. +// virtual void OnAuctionRemove(AuctionHouseObject* /*ah*/, AuctionEntry* /*entry*/) { } + +// // Called when an auction was succesfully completed. +// virtual void OnAuctionSuccessful(AuctionHouseObject* /*ah*/, AuctionEntry* /*entry*/) { } + +// // Called when an auction expires. +// virtual void OnAuctionExpire(AuctionHouseObject* /*ah*/, AuctionEntry* /*entry*/) { } + +// // Called before sending the mail concerning a won auction +// virtual void OnBeforeAuctionHouseMgrSendAuctionWonMail(AuctionHouseMgr* /*auctionHouseMgr*/, AuctionEntry* /*auction*/, Player* /*bidder*/, uint32& /*bidder_accId*/, bool& /*sendNotification*/, bool& /*updateAchievementCriteria*/, bool& /*sendMail*/) { } + +// // Called before sending the mail concerning a pending sale +// virtual void OnBeforeAuctionHouseMgrSendAuctionSalePendingMail(AuctionHouseMgr* /*auctionHouseMgr*/, AuctionEntry* /*auction*/, Player* /*owner*/, uint32& /*owner_accId*/, bool& /*sendMail*/) { } + +// // Called before sending the mail concerning a successful auction +// virtual void OnBeforeAuctionHouseMgrSendAuctionSuccessfulMail(AuctionHouseMgr* /*auctionHouseMgr*/, AuctionEntry* /*auction*/, Player* /*owner*/, uint32& /*owner_accId*/, uint32& /*profit*/, bool& /*sendNotification*/, bool& /*updateAchievementCriteria*/, bool& /*sendMail*/) { } + +// // Called before sending the mail concerning an expired auction +// virtual void OnBeforeAuctionHouseMgrSendAuctionExpiredMail(AuctionHouseMgr* /*auctionHouseMgr*/, AuctionEntry* /*auction*/, Player* /*owner*/, uint32& /*owner_accId*/, bool& /*sendNotification*/, bool& /*sendMail*/) { } + +// // Called before sending the mail concerning an outbidded auction +// virtual void OnBeforeAuctionHouseMgrSendAuctionOutbiddedMail(AuctionHouseMgr* /*auctionHouseMgr*/, AuctionEntry* /*auction*/, Player* /*oldBidder*/, uint32& /*oldBidder_accId*/, Player* /*newBidder*/, uint32& /*newPrice*/, bool& /*sendNotification*/, bool& /*sendMail*/) { } + +// // Called before sending the mail concerning an cancelled auction +// virtual void OnBeforeAuctionHouseMgrSendAuctionCancelledToBidderMail(AuctionHouseMgr* /*auctionHouseMgr*/, AuctionEntry* /*auction*/, Player* /*bidder*/, uint32& /*bidder_accId*/, bool& /*sendMail*/) { } + +// // Called before updating the auctions +// virtual void OnBeforeAuctionHouseMgrUpdate() { } +// }; + +// class ConditionScript : public AchievementScriptObject +// { +// protected: +// ConditionScript(const char* name); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return true; } + +// // Called when a single condition is checked for a player. +// [[nodiscard]] virtual bool OnConditionCheck(Condition* /*condition*/, ConditionSourceInfo& /*sourceInfo*/) { return true; } +// }; + +// class VehicleScript : public AchievementScriptObject +// { +// protected: +// VehicleScript(const char* name); + +// public: +// // Called after a vehicle is installed. +// virtual void OnInstall(Vehicle* /*veh*/) { } + +// // Called after a vehicle is uninstalled. +// virtual void OnUninstall(Vehicle* /*veh*/) { } + +// // Called when a vehicle resets. +// virtual void OnReset(Vehicle* /*veh*/) { } + +// // Called after an accessory is installed in a vehicle. +// virtual void OnInstallAccessory(Vehicle* /*veh*/, Creature* /*accessory*/) { } + +// // Called after a passenger is added to a vehicle. +// virtual void OnAddPassenger(Vehicle* /*veh*/, Unit* /*passenger*/, int8 /*seatId*/) { } + +// // Called after a passenger is removed from a vehicle. +// virtual void OnRemovePassenger(Vehicle* /*veh*/, Unit* /*passenger*/) { } +// }; + +// class DynamicObjectScript : public AchievementScriptObject, public UpdatableScript +// { +// protected: +// DynamicObjectScript(const char* name); +// }; + +// class TransportScript : public AchievementScriptObject, public UpdatableScript +// { +// protected: +// TransportScript(const char* name); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return true; } + +// // Called when a player boards the transport. +// virtual void OnAddPassenger(Transport* /*transport*/, Player* /*player*/) { } + +// // Called when a creature boards the transport. +// virtual void OnAddCreaturePassenger(Transport* /*transport*/, Creature* /*creature*/) { } + +// // Called when a player exits the transport. +// virtual void OnRemovePassenger(Transport* /*transport*/, Player* /*player*/) { } + +// // Called when a transport moves. +// virtual void OnRelocate(Transport* /*transport*/, uint32 /*waypointId*/, uint32 /*mapId*/, float /*x*/, float /*y*/, float /*z*/) { } +// }; + +class AchievementCriteriaScript : public AchievementScriptObject +{ +protected: + AchievementCriteriaScript(const char* name); + +public: + [[nodiscard]] bool IsDatabaseBound() const override { return true; } + + [[nodiscard]] virtual bool OnCheck(Player* /*source*/, Unit* /*target*/, uint32 /*criteria_id*/) { return true; }; +}; + +class PlayerScript : public AchievementScriptObject +{ +protected: + PlayerScript(const char* name); + +public: +// virtual void OnPlayerReleasedGhost(Player* /*player*/) { } + +// // Called on Send Initial Packets Before Add To Map +// virtual void OnSendInitialPacketsBeforeAddToMap(Player* /*player*/, WorldPacket& /*data*/) {} + +// // Called when a player does a desertion action (see BattlegroundDesertionType) +// virtual void OnBattlegroundDesertion(Player* /*player*/, BattlegroundDesertionType const /*desertionType*/) { } + +// // Called when a player completes a quest +// virtual void OnPlayerCompleteQuest(Player* /*player*/, Quest const* /*quest_id*/) { } + +// // Called when a player kills another player +// virtual void OnPVPKill(Player* /*killer*/, Player* /*killed*/) { } + +// // Called when a player toggles pvp +// virtual void OnPlayerPVPFlagChange(Player* /*player*/, bool /*state*/) { } + +// // Called when a player kills a creature +// virtual void OnCreatureKill(Player* /*killer*/, Creature* /*killed*/) { } + +// // Called when a player's pet kills a creature +// virtual void OnCreatureKilledByPet(Player* /*PetOwner*/, Creature* /*killed*/) { } + +// // Called when a player is killed by a creature +// virtual void OnPlayerKilledByCreature(Creature* /*killer*/, Player* /*killed*/) { } + +// // Called when a player's level changes (right after the level is applied) +// virtual void OnLevelChanged(Player* /*player*/, uint8 /*oldlevel*/) { } + +// // Called when a player's free talent points change (right before the change is applied) +// virtual void OnFreeTalentPointsChanged(Player* /*player*/, uint32 /*points*/) { } + +// // Called when a player's talent points are reset (right before the reset is done) +// virtual void OnTalentsReset(Player* /*player*/, bool /*noCost*/) { } + +// // Called for player::update +// virtual void OnBeforeUpdate(Player* /*player*/, uint32 /*p_time*/) { } +// virtual void OnUpdate(Player* /*player*/, uint32 /*p_time*/) { } + +// // Called when a player's money is modified (before the modification is done) +// virtual void OnMoneyChanged(Player* /*player*/, int32& /*amount*/) { } + +// // Called when a player gains XP (before anything is given) +// virtual void OnGiveXP(Player* /*player*/, uint32& /*amount*/, Unit* /*victim*/) { } + +// // Called when a player's reputation changes (before it is actually changed) +// virtual void OnReputationChange(Player* /*player*/, uint32 /*factionId*/, int32& /*standing*/, bool /*incremental*/) { } + +// // Called when a player's reputation rank changes (before it is actually changed) +// virtual void OnReputationRankChange(Player* /*player*/, uint32 /*factionID*/, ReputationRank /*newRank*/, ReputationRank /*olRank*/, bool /*increased*/) { } + +// // Called when a player learned new spell +// virtual void OnLearnSpell(Player* /*player*/, uint32 /*spellID*/) {} + +// // Called when a player forgot spell +// virtual void OnForgotSpell(Player* /*player*/, uint32 /*spellID*/) {} + +// // Called when a duel is requested +// virtual void OnDuelRequest(Player* /*target*/, Player* /*challenger*/) { } + +// // Called when a duel starts (after 3s countdown) +// virtual void OnDuelStart(Player* /*player1*/, Player* /*player2*/) { } + +// // Called when a duel ends +// virtual void OnDuelEnd(Player* /*winner*/, Player* /*loser*/, DuelCompleteType /*type*/) { } + +// // The following methods are called when a player sends a chat message. +// virtual void OnChat(Player* /*player*/, uint32 /*type*/, uint32 /*lang*/, std::string& /*msg*/) { } + +// virtual void OnBeforeSendChatMessage(Player* /*player*/, uint32& /*type*/, uint32& /*lang*/, std::string& /*msg*/) { } + +// virtual void OnChat(Player* /*player*/, uint32 /*type*/, uint32 /*lang*/, std::string& /*msg*/, Player* /*receiver*/) { } + +// virtual void OnChat(Player* /*player*/, uint32 /*type*/, uint32 /*lang*/, std::string& /*msg*/, Group* /*group*/) { } + +// virtual void OnChat(Player* /*player*/, uint32 /*type*/, uint32 /*lang*/, std::string& /*msg*/, Guild* /*guild*/) { } + +// virtual void OnChat(Player* /*player*/, uint32 /*type*/, uint32 /*lang*/, std::string& /*msg*/, Channel* /*channel*/) { } + +// // Both of the below are called on emote opcodes. +// virtual void OnEmote(Player* /*player*/, uint32 /*emote*/) { } + +// virtual void OnTextEmote(Player* /*player*/, uint32 /*textEmote*/, uint32 /*emoteNum*/, ObjectGuid /*guid*/) { } + +// // Called in Spell::Cast. +// virtual void OnSpellCast(Player* /*player*/, Spell* /*spell*/, bool /*skipCheck*/) { } + +// // Called during data loading +// virtual void OnLoadFromDB(Player* /*player*/) { }; + +// // Called when a player logs in. +// virtual void OnLogin(Player* /*player*/) { } + +// // Called when a player logs out. +// virtual void OnLogout(Player* /*player*/) { } + +// // Called when a player is created. +// virtual void OnCreate(Player* /*player*/) { } + +// // Called when a player is deleted. +// virtual void OnDelete(ObjectGuid /*guid*/, uint32 /*accountId*/) { } + +// // Called when a player delete failed. +// virtual void OnFailedDelete(ObjectGuid /*guid*/, uint32 /*accountId*/) { } + +// // Called when a player is about to be saved. +// virtual void OnSave(Player* /*player*/) { } + +// // Called when a player is bound to an instance +// virtual void OnBindToInstance(Player* /*player*/, Difficulty /*difficulty*/, uint32 /*mapId*/, bool /*permanent*/) { } + +// // Called when a player switches to a new zone +// virtual void OnUpdateZone(Player* /*player*/, uint32 /*newZone*/, uint32 /*newArea*/) { } + +// // Called when a player switches to a new area (more accurate than UpdateZone) +// virtual void OnUpdateArea(Player* /*player*/, uint32 /*oldArea*/, uint32 /*newArea*/) { } + +// // Called when a player changes to a new map (after moving to new map) +// virtual void OnMapChanged(Player* /*player*/) { } + +// // Called before a player is being teleported to new coords +// [[nodiscard]] virtual bool OnBeforeTeleport(Player* /*player*/, uint32 /*mapid*/, float /*x*/, float /*y*/, float /*z*/, float /*orientation*/, uint32 /*options*/, Unit* /*target*/) { return true; } + +// // Called when team/faction is set on player +// virtual void OnUpdateFaction(Player* /*player*/) { } + +// // Called when a player is added to battleground +// virtual void OnAddToBattleground(Player* /*player*/, Battleground* /*bg*/) { } + +// // Called when a player queues a Random Dungeon using the RDF (Random Dungeon Finder) +// virtual void OnQueueRandomDungeon(Player* /*player*/, uint32 & /*rDungeonId*/) { } + +// // Called when a player is removed from battleground +// virtual void OnRemoveFromBattleground(Player* /*player*/, Battleground* /*bg*/) { } + + // Called when a player complete an achievement + virtual void OnAchiComplete(Player* /*player*/, AchievementEntry const* /*achievement*/) { } + + // Called before player complete an achievement, can be used to disable achievements in certain conditions + virtual bool OnBeforeAchiComplete(Player* /*player*/, AchievementEntry const* /*achievement*/) { return true; } + + // Called when a player complete an achievement criteria + virtual void OnCriteriaProgress(Player* /*player*/, AchievementCriteriaEntry const* /*criteria*/) { } + + // Called before player complete an achievement criteria, can be used to disable achievement criteria in certain conditions + virtual bool OnBeforeCriteriaProgress(Player* /*player*/, AchievementCriteriaEntry const* /*criteria*/) { return true; } + + // Called when an Achievement is saved to DB + virtual void OnAchiSave(/*CharacterDatabaseTransaction trans, */Player* /*player*/, uint16 /*achId*/, CompletedAchievementData /*achiData*/) { } + + // Called when an Criteria is saved to DB + virtual void OnCriteriaSave(/*CharacterDatabaseTransaction trans, */Player* /*player*/, uint16 /*achId*/, CriteriaProgress /*criteriaData*/) { } + +// // Called when a player selects an option in a player gossip window +// virtual void OnGossipSelect(Player* /*player*/, uint32 /*menu_id*/, uint32 /*sender*/, uint32 /*action*/) { } + +// // Called when a player selects an option in a player gossip window +// virtual void OnGossipSelectCode(Player* /*player*/, uint32 /*menu_id*/, uint32 /*sender*/, uint32 /*action*/, const char* /*code*/) { } + +// // On player getting charmed +// virtual void OnBeingCharmed(Player* /*player*/, Unit* /*charmer*/, uint32 /*oldFactionId*/, uint32 /*newFactionId*/) { } + +// // To change behaviour of set visible item slot +// virtual void OnAfterSetVisibleItemSlot(Player* /*player*/, uint8 /*slot*/, Item* /*item*/) { } + +// // After an item has been moved from inventory +// virtual void OnAfterMoveItemFromInventory(Player* /*player*/, Item* /*it*/, uint8 /*bag*/, uint8 /*slot*/, bool /*update*/) { } + +// // After an item has been equipped +// virtual void OnEquip(Player* /*player*/, Item* /*it*/, uint8 /*bag*/, uint8 /*slot*/, bool /*update*/) { } + +// // After player enters queue for BG +// virtual void OnPlayerJoinBG(Player* /*player*/) { } + +// // After player enters queue for Arena +// virtual void OnPlayerJoinArena(Player* /*player*/) { } + +// //Called when trying to get a team ID of a slot > 2 (This is for custom teams created by modules) +// virtual void GetCustomGetArenaTeamId(const Player* /*player*/, uint8 /*slot*/, uint32& /*teamID*/) const { } + +// //Called when trying to get players personal rating of an arena slot > 2 (This is for custom teams created by modules) +// virtual void GetCustomArenaPersonalRating(const Player* /*player*/, uint8 /*slot*/, uint32& /*rating*/) const { } + +// //Called after the normal slots (0..2) for arena have been evaluated so that custom arena teams could modify it if nececasry +// virtual void OnGetMaxPersonalArenaRatingRequirement(const Player* /*player*/, uint32 /*minSlot*/, uint32& /*maxArenaRating*/) const {} + +// //After looting item +// virtual void OnLootItem(Player* /*player*/, Item* /*item*/, uint32 /*count*/, ObjectGuid /*lootguid*/) { } + +// //After creating item (eg profession item creation) +// virtual void OnCreateItem(Player* /*player*/, Item* /*item*/, uint32 /*count*/) { } + +// // After receiving item as a quest reward +// virtual void OnQuestRewardItem(Player* /*player*/, Item* /*item*/, uint32 /*count*/) { } + +// // After completed a quest +// [[nodiscard]] virtual bool OnBeforeQuestComplete(Player* /*player*/, uint32 /*quest_id*/) { return true; } + +// // Before durability repair action, you can even modify the discount value +// virtual void OnBeforeDurabilityRepair(Player* /*player*/, ObjectGuid /*npcGUID*/, ObjectGuid /*itemGUID*/, float&/*discountMod*/, uint8 /*guildBank*/) { } + +// //Before buying something from any vendor +// virtual void OnBeforeBuyItemFromVendor(Player* /*player*/, ObjectGuid /*vendorguid*/, uint32 /*vendorslot*/, uint32& /*item*/, uint8 /*count*/, uint8 /*bag*/, uint8 /*slot*/) { }; + +// //Before buying something from any vendor +// virtual void OnBeforeStoreOrEquipNewItem(Player* /*player*/, uint32 /*vendorslot*/, uint32& /*item*/, uint8 /*count*/, uint8 /*bag*/, uint8 /*slot*/, ItemTemplate const* /*pProto*/, Creature* /*pVendor*/, VendorItem const* /*crItem*/, bool /*bStore*/) { }; + +// //After buying something from any vendor +// virtual void OnAfterStoreOrEquipNewItem(Player* /*player*/, uint32 /*vendorslot*/, Item* /*item*/, uint8 /*count*/, uint8 /*bag*/, uint8 /*slot*/, ItemTemplate const* /*pProto*/, Creature* /*pVendor*/, VendorItem const* /*crItem*/, bool /*bStore*/) { }; + +// virtual void OnAfterUpdateMaxPower(Player* /*player*/, Powers& /*power*/, float& /*value*/) { } + +// virtual void OnAfterUpdateMaxHealth(Player* /*player*/, float& /*value*/) { } + +// virtual void OnBeforeUpdateAttackPowerAndDamage(Player* /*player*/, float& /*level*/, float& /*val2*/, bool /*ranged*/) { } +// virtual void OnAfterUpdateAttackPowerAndDamage(Player* /*player*/, float& /*level*/, float& /*base_attPower*/, float& /*attPowerMod*/, float& /*attPowerMultiplier*/, bool /*ranged*/) { } + +// virtual void OnBeforeInitTalentForLevel(Player* /*player*/, uint8& /*level*/, uint32& /*talentPointsForLevel*/) { } + +// virtual void OnFirstLogin(Player* /*player*/) { } + +// [[nodiscard]] virtual bool CanJoinInBattlegroundQueue(Player* /*player*/, ObjectGuid /*BattlemasterGuid*/, BattlegroundTypeId /*BGTypeID*/, uint8 /*joinAsGroup*/, GroupJoinBattlegroundResult& /*err*/) { return true; } +// virtual bool ShouldBeRewardedWithMoneyInsteadOfExp(Player* /*player*/) { return false; } + +// // Called before the player's temporary summoned creature has initialized it's stats +// virtual void OnBeforeTempSummonInitStats(Player* /*player*/, TempSummon* /*tempSummon*/, uint32& /*duration*/) { } + +// // Called before the player's guardian / pet has initialized it's stats for the player's level +// virtual void OnBeforeGuardianInitStatsForLevel(Player* /*player*/, Guardian* /*guardian*/, CreatureTemplate const* /*cinfo*/, PetType& /*petType*/) { } + +// // Called after the player's guardian / pet has initialized it's stats for the player's level +// virtual void OnAfterGuardianInitStatsForLevel(Player* /*player*/, Guardian* /*guardian*/) { } + +// // Called before loading a player's pet from the DB +// virtual void OnBeforeLoadPetFromDB(Player* /*player*/, uint32& /*petentry*/, uint32& /*petnumber*/, bool& /*current*/, bool& /*forceLoadFromDB*/) { } + +// [[nodiscard]] virtual bool CanJoinInArenaQueue(Player* /*player*/, ObjectGuid /*BattlemasterGuid*/, uint8 /*arenaslot*/, BattlegroundTypeId /*BGTypeID*/, uint8 /*joinAsGroup*/, uint8 /*IsRated*/, GroupJoinBattlegroundResult& /*err*/) { return true; } + +// [[nodiscard]] virtual bool CanBattleFieldPort(Player* /*player*/, uint8 /*arenaType*/, BattlegroundTypeId /*BGTypeID*/, uint8 /*action*/) { return true; } + +// [[nodiscard]] virtual bool CanGroupInvite(Player* /*player*/, std::string& /*membername*/) { return true; } + +// [[nodiscard]] virtual bool CanGroupAccept(Player* /*player*/, Group* /*group*/) { return true; } + +// [[nodiscard]] virtual bool CanSellItem(Player* /*player*/, Item* /*item*/, Creature* /*creature*/) { return true; } + +// [[nodiscard]] virtual bool CanSendMail(Player* /*player*/, ObjectGuid /*receiverGuid*/, ObjectGuid /*mailbox*/, std::string& /*subject*/, std::string& /*body*/, uint32 /*money*/, uint32 /*COD*/, Item* /*item*/) { return true; } + +// virtual void PetitionBuy(Player* /*player*/, Creature* /*creature*/, uint32& /*charterid*/, uint32& /*cost*/, uint32& /*type*/) { } + +// virtual void PetitionShowList(Player* /*player*/, Creature* /*creature*/, uint32& /*CharterEntry*/, uint32& /*CharterDispayID*/, uint32& /*CharterCost*/) { } + +// virtual void OnRewardKillRewarder(Player* /*player*/, bool /*isDungeon*/, float& /*rate*/) { } + +// [[nodiscard]] virtual bool CanGiveMailRewardAtGiveLevel(Player* /*player*/, uint8 /*level*/) { return true; } + +// virtual void OnDeleteFromDB(CharacterDatabaseTransaction /*trans*/, uint32 /*guid*/) { } + +// [[nodiscard]] virtual bool CanRepopAtGraveyard(Player* /*player*/) { return true; } + +// virtual void OnGetMaxSkillValue(Player* /*player*/, uint32 /*skill*/, int32& /*result*/, bool /*IsPure*/) { } + +// [[nodiscard]] virtual bool CanAreaExploreAndOutdoor(Player* /*player*/) { return true; } + +// virtual void OnVictimRewardBefore(Player* /*player*/, Player* /*victim*/, uint32& /*killer_title*/, uint32& /*victim_title*/) { } + +// virtual void OnVictimRewardAfter(Player* /*player*/, Player* /*victim*/, uint32& /*killer_title*/, uint32& /*victim_rank*/, float& /*honor_f*/) { } + +// virtual void OnCustomScalingStatValueBefore(Player* /*player*/, ItemTemplate const* /*proto*/, uint8 /*slot*/, bool /*apply*/, uint32& /*CustomScalingStatValue*/) { } + +// virtual void OnCustomScalingStatValue(Player* /*player*/, ItemTemplate const* /*proto*/, uint32& /*statType*/, int32& /*val*/, uint8 /*itemProtoStatNumber*/, uint32 /*ScalingStatValue*/, ScalingStatValuesEntry const* /*ssv*/) { } + +// [[nodiscard]] virtual bool CanArmorDamageModifier(Player* /*player*/) { return true; } + +// virtual void OnGetFeralApBonus(Player* /*player*/, int32& /*feral_bonus*/, int32 /*dpsMod*/, ItemTemplate const* /*proto*/, ScalingStatValuesEntry const* /*ssv*/) { } + +// [[nodiscard]] virtual bool CanApplyWeaponDependentAuraDamageMod(Player* /*player*/, Item* /*item*/, WeaponAttackType /*attackType*/, AuraEffect const* /*aura*/, bool /*apply*/) { return true; } + +// [[nodiscard]] virtual bool CanApplyEquipSpell(Player* /*player*/, SpellInfo const* /*spellInfo*/, Item* /*item*/, bool /*apply*/, bool /*form_change*/) { return true; } + +// [[nodiscard]] virtual bool CanApplyEquipSpellsItemSet(Player* /*player*/, ItemSetEffect* /*eff*/) { return true; } + +// [[nodiscard]] virtual bool CanCastItemCombatSpell(Player* /*player*/, Unit* /*target*/, WeaponAttackType /*attType*/, uint32 /*procVictim*/, uint32 /*procEx*/, Item* /*item*/, ItemTemplate const* /*proto*/) { return true; } + +// [[nodiscard]] virtual bool CanCastItemUseSpell(Player* /*player*/, Item* /*item*/, SpellCastTargets const& /*targets*/, uint8 /*cast_count*/, uint32 /*glyphIndex*/) { return true; } + +// virtual void OnApplyAmmoBonuses(Player* /*player*/, ItemTemplate const* /*proto*/, float& /*currentAmmoDPS*/) { } + +// [[nodiscard]] virtual bool CanEquipItem(Player* /*player*/, uint8 /*slot*/, uint16& /*dest*/, Item* /*pItem*/, bool /*swap*/, bool /*not_loading*/) { return true; } + +// [[nodiscard]] virtual bool CanUnequipItem(Player* /*player*/, uint16 /*pos*/, bool /*swap*/) { return true; } + +// [[nodiscard]] virtual bool CanUseItem(Player* /*player*/, ItemTemplate const* /*proto*/, InventoryResult& /*result*/) { return true; } + +// [[nodiscard]] virtual bool CanSaveEquipNewItem(Player* /*player*/, Item* /*item*/, uint16 /*pos*/, bool /*update*/) { return true; } + +// [[nodiscard]] virtual bool CanApplyEnchantment(Player* /*player*/, Item* /*item*/, EnchantmentSlot /*slot*/, bool /*apply*/, bool /*apply_dur*/, bool /*ignore_condition*/) { return true; } + +// virtual void OnGetQuestRate(Player* /*player*/, float& /*result*/) { } + +// [[nodiscard]] virtual bool PassedQuestKilledMonsterCredit(Player* /*player*/, Quest const* /*qinfo*/, uint32 /*entry*/, uint32 /*real_entry*/, ObjectGuid /*guid*/) { return true; } + +// [[nodiscard]] virtual bool CheckItemInSlotAtLoadInventory(Player* /*player*/, Item* /*item*/, uint8 /*slot*/, uint8& /*err*/, uint16& /*dest*/) { return true; } + +// [[nodiscard]] virtual bool NotAvoidSatisfy(Player* /*player*/, DungeonProgressionRequirements const* /*ar*/, uint32 /*target_map*/, bool /*report*/) { return true; } + +// [[nodiscard]] virtual bool NotVisibleGloballyFor(Player* /*player*/, Player const* /*u*/) { return true; } + +// virtual void OnGetArenaPersonalRating(Player* /*player*/, uint8 /*slot*/, uint32& /*result*/) { } + +// virtual void OnGetArenaTeamId(Player* /*player*/, uint8 /*slot*/, uint32& /*result*/) { } + +// virtual void OnIsFFAPvP(Player* /*player*/, bool& /*result*/) { } + +// virtual void OnIsPvP(Player* /*player*/, bool& /*result*/) { } + +// virtual void OnGetMaxSkillValueForLevel(Player* /*player*/, uint16& /*result*/) { } + +// [[nodiscard]] virtual bool NotSetArenaTeamInfoField(Player* /*player*/, uint8 /*slot*/, ArenaTeamInfoType /*type*/, uint32 /*value*/) { return true; } + +// [[nodiscard]] virtual bool CanJoinLfg(Player* /*player*/, uint8 /*roles*/, lfg::LfgDungeonSet& /*dungeons*/, const std::string& /*comment*/) { return true; } + +// [[nodiscard]] virtual bool CanEnterMap(Player* /*player*/, MapEntry const* /*entry*/, InstanceTemplate const* /*instance*/, MapDifficulty const* /*mapDiff*/, bool /*loginCheck*/) { return true; } + +// [[nodiscard]] virtual bool CanInitTrade(Player* /*player*/, Player* /*target*/) { return true; } + +// virtual void OnSetServerSideVisibility(Player* /*player*/, ServerSideVisibilityType& /*type*/, AccountTypes& /*sec*/) { } + +// virtual void OnSetServerSideVisibilityDetect(Player* /*player*/, ServerSideVisibilityType& /*type*/, AccountTypes& /*sec*/) { } + +// // Passive Anticheat System +// virtual void AnticheatSetSkipOnePacketForASH(Player* /*player*/, bool /*apply*/) { } +// virtual void AnticheatSetCanFlybyServer(Player* /*player*/, bool /*apply*/) { } +// virtual void AnticheatSetUnderACKmount(Player* /*player*/) { } +// virtual void AnticheatSetRootACKUpd(Player* /*player*/) { } +// virtual void AnticheatSetJumpingbyOpcode(Player* /*player*/, bool /*jump*/) { } +// virtual void AnticheatUpdateMovementInfo(Player* /*player*/, MovementInfo const& /*movementInfo*/) { } +// [[nodiscard]] virtual bool AnticheatHandleDoubleJump(Player* /*player*/, Unit* /*mover*/) { return true; } +// [[nodiscard]] virtual bool AnticheatCheckMovementInfo(Player* /*player*/, MovementInfo const& /*movementInfo*/, Unit* /*mover*/, bool /*jump*/) { return true; } +}; + +// class AccountScript : public AchievementScriptObject +// { +// protected: +// AccountScript(const char* name); + +// public: +// // Called when an account logged in successfully +// virtual void OnAccountLogin(uint32 /*accountId*/) { } + +// // Called when an ip logged in successfully +// virtual void OnLastIpUpdate(uint32 /*accountId*/, std::string /*ip*/) { } + +// // Called when an account login failed +// virtual void OnFailedAccountLogin(uint32 /*accountId*/) { } + +// // Called when Email is successfully changed for Account +// virtual void OnEmailChange(uint32 /*accountId*/) { } + +// // Called when Email failed to change for Account +// virtual void OnFailedEmailChange(uint32 /*accountId*/) { } + +// // Called when Password is successfully changed for Account +// virtual void OnPasswordChange(uint32 /*accountId*/) { } + +// // Called when Password failed to change for Account +// virtual void OnFailedPasswordChange(uint32 /*accountId*/) { } +// }; + +// class GuildScript : public AchievementScriptObject +// { +// protected: +// GuildScript(const char* name); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return false; } + +// // Called when a member is added to the guild. +// virtual void OnAddMember(Guild* /*guild*/, Player* /*player*/, uint8& /*plRank*/) { } + +// // Called when a member is removed from the guild. +// virtual void OnRemoveMember(Guild* /*guild*/, Player* /*player*/, bool /*isDisbanding*/, bool /*isKicked*/) { } + +// // Called when the guild MOTD (message of the day) changes. +// virtual void OnMOTDChanged(Guild* /*guild*/, const std::string& /*newMotd*/) { } + +// // Called when the guild info is altered. +// virtual void OnInfoChanged(Guild* /*guild*/, const std::string& /*newInfo*/) { } + +// // Called when a guild is created. +// virtual void OnCreate(Guild* /*guild*/, Player* /*leader*/, const std::string& /*name*/) { } + +// // Called when a guild is disbanded. +// virtual void OnDisband(Guild* /*guild*/) { } + +// // Called when a guild member withdraws money from a guild bank. +// virtual void OnMemberWitdrawMoney(Guild* /*guild*/, Player* /*player*/, uint32& /*amount*/, bool /*isRepair*/) { } + +// // Called when a guild member deposits money in a guild bank. +// virtual void OnMemberDepositMoney(Guild* /*guild*/, Player* /*player*/, uint32& /*amount*/) { } + +// // Called when a guild member moves an item in a guild bank. +// virtual void OnItemMove(Guild* /*guild*/, Player* /*player*/, Item* /*pItem*/, bool /*isSrcBank*/, uint8 /*srcContainer*/, uint8 /*srcSlotId*/, +// bool /*isDestBank*/, uint8 /*destContainer*/, uint8 /*destSlotId*/) { } + +// virtual void OnEvent(Guild* /*guild*/, uint8 /*eventType*/, ObjectGuid::LowType /*playerGuid1*/, ObjectGuid::LowType /*playerGuid2*/, uint8 /*newRank*/) { } + +// virtual void OnBankEvent(Guild* /*guild*/, uint8 /*eventType*/, uint8 /*tabId*/, ObjectGuid::LowType /*playerGuid*/, uint32 /*itemOrMoney*/, uint16 /*itemStackCount*/, uint8 /*destTabId*/) { } + +// [[nodiscard]] virtual bool CanGuildSendBankList(Guild const* /*guild*/, WorldSession* /*session*/, uint8 /*tabId*/, bool /*sendAllSlots*/) { return true; } +// }; + +// class GroupScript : public AchievementScriptObject +// { +// protected: +// GroupScript(const char* name); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return false; } + +// // Called when a member is added to a group. +// virtual void OnAddMember(Group* /*group*/, ObjectGuid /*guid*/) { } + +// // Called when a member is invited to join a group. +// virtual void OnInviteMember(Group* /*group*/, ObjectGuid /*guid*/) { } + +// // Called when a member is removed from a group. +// virtual void OnRemoveMember(Group* /*group*/, ObjectGuid /*guid*/, RemoveMethod /*method*/, ObjectGuid /*kicker*/, const char* /*reason*/) { } + +// // Called when the leader of a group is changed. +// virtual void OnChangeLeader(Group* /*group*/, ObjectGuid /*newLeaderGuid*/, ObjectGuid /*oldLeaderGuid*/) { } + +// // Called when a group is disbanded. +// virtual void OnDisband(Group* /*group*/) { } + +// [[nodiscard]] virtual bool CanGroupJoinBattlegroundQueue(Group const* /*group*/, Player* /*member*/, Battleground const* /*bgTemplate*/, uint32 /*MinPlayerCount*/, bool /*isRated*/, uint32 /*arenaSlot*/) { return true; } + +// virtual void OnCreate(Group* /*group*/, Player* /*leader*/) { } +// }; + +// // following hooks can be used anywhere and are not db bounded +// class GlobalScript : public AchievementScriptObject +// { +// protected: +// GlobalScript(const char* name); + +// public: +// // items +// virtual void OnItemDelFromDB(CharacterDatabaseTransaction /*trans*/, ObjectGuid::LowType /*itemGuid*/) { } +// virtual void OnMirrorImageDisplayItem(const Item* /*item*/, uint32& /*display*/) { } + +// // loot +// virtual void OnAfterRefCount(Player const* /*player*/, LootStoreItem* /*LootStoreItem*/, Loot& /*loot*/, bool /*canRate*/, uint16 /*lootMode*/, uint32& /*maxcount*/, LootStore const& /*store*/) { } +// virtual void OnBeforeDropAddItem(Player const* /*player*/, Loot& /*loot*/, bool /*canRate*/, uint16 /*lootMode*/, LootStoreItem* /*LootStoreItem*/, LootStore const& /*store*/) { } +// virtual bool OnItemRoll(Player const* /*player*/, LootStoreItem const* /*LootStoreItem*/, float& /*chance*/, Loot& /*loot*/, LootStore const& /*store*/) { return true; }; +// virtual bool OnBeforeLootEqualChanced(Player const* /*player*/, LootStoreItemList /*EqualChanced*/, Loot& /*loot*/, LootStore const& /*store*/) { return true; } +// virtual void OnInitializeLockedDungeons(Player* /*player*/, uint8& /*level*/, uint32& /*lockData*/, lfg::LFGDungeonData const* /*dungeon*/) { } +// virtual void OnAfterInitializeLockedDungeons(Player* /*player*/) { } + +// // On Before arena points distribution +// virtual void OnBeforeUpdateArenaPoints(ArenaTeam* /*at*/, std::map& /*ap*/) { } + +// // Called when a dungeon encounter is updated. +// virtual void OnAfterUpdateEncounterState(Map* /*map*/, EncounterCreditType /*type*/, uint32 /*creditEntry*/, Unit* /*source*/, Difficulty /*difficulty_fixed*/, DungeonEncounterList const* /*encounters*/, uint32 /*dungeonCompleted*/, bool /*updated*/) { } + +// // Called before the phase for a WorldObject is set +// virtual void OnBeforeWorldObjectSetPhaseMask(WorldObject const* /*worldObject*/, uint32& /*oldPhaseMask*/, uint32& /*newPhaseMask*/, bool& /*useCombinedPhases*/, bool& /*update*/) { } +// }; + +// class BGScript : public AchievementScriptObject +// { +// protected: +// BGScript(const char* name); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return false; } + +// // Start Battlegroud +// virtual void OnBattlegroundStart(Battleground* /*bg*/) { } + +// // End Battleground +// virtual void OnBattlegroundEndReward(Battleground* /*bg*/, Player* /*player*/, TeamId /*winnerTeamId*/) { } + +// // Update Battlegroud +// virtual void OnBattlegroundUpdate(Battleground* /*bg*/, uint32 /*diff*/) { } + +// // Add Player in Battlegroud +// virtual void OnBattlegroundAddPlayer(Battleground* /*bg*/, Player* /*player*/) { } + +// // Before added player in Battlegroud +// virtual void OnBattlegroundBeforeAddPlayer(Battleground* /*bg*/, Player* /*player*/) { } + +// // Remove player at leave BG +// virtual void OnBattlegroundRemovePlayerAtLeave(Battleground* /*bg*/, Player* /*player*/) { } + +// virtual void OnQueueUpdate(BattlegroundQueue* /*queue*/, BattlegroundBracketId /*bracket_id*/, bool /*isRated*/, uint32 /*arenaRatedTeamId*/) { } + +// virtual void OnAddGroup(BattlegroundQueue* /*queue*/, GroupQueueInfo* /*ginfo*/, uint32& /*index*/, Player* /*leader*/, Group* /*grp*/, PvPDifficultyEntry const* /*bracketEntry*/, bool /*isPremade*/) { } + +// [[nodiscard]] virtual bool CanFillPlayersToBG(BattlegroundQueue* /*queue*/, Battleground* /*bg*/, const int32 /*aliFree*/, const int32 /*hordeFree*/, BattlegroundBracketId /*bracket_id*/) { return true; } + +// [[nodiscard]] virtual bool CanFillPlayersToBGWithSpecific(BattlegroundQueue* /*queue*/, Battleground* /*bg*/, const int32 /*aliFree*/, const int32 /*hordeFree*/, +// BattlegroundBracketId /*thisBracketId*/, BattlegroundQueue* /*specificQueue*/, BattlegroundBracketId /*specificBracketId*/) { return true; } + +// virtual void OnCheckNormalMatch(BattlegroundQueue* /*queue*/, uint32& /*Coef*/, Battleground* /*bgTemplate*/, BattlegroundBracketId /*bracket_id*/, uint32& /*minPlayers*/, uint32& /*maxPlayers*/) { } + +// [[nodiscard]] virtual bool CanSendMessageBGQueue(BattlegroundQueue* /*queue*/, Player* /*leader*/, Battleground* /*bg*/, PvPDifficultyEntry const* /*bracketEntry*/) { return true; } + +// /** +// * @brief This hook runs before sending the join message during the arena queue, allowing you to run extra operations or disabling the join message +// * +// * @param queue Contains information about the Arena queue +// * @param leader Contains information about the player leader +// * @param ginfo Contains information about the group of the queue +// * @param bracketEntry Contains information about the bracket +// * @param isRated Contains information about rated arena or skirmish +// * @return True if you want to continue sending the message, false if you want to disable the message +// */ +// [[nodiscard]] virtual bool OnBeforeSendJoinMessageArenaQueue(BattlegroundQueue* /*queue*/, Player* /*leader*/, GroupQueueInfo* /*ginfo*/, PvPDifficultyEntry const* /*bracketEntry*/, bool /*isRated*/) { return true; } + +// /** +// * @brief This hook runs before sending the exit message during the arena queue, allowing you to run extra operations or disabling the exit message +// * +// * @param queue Contains information about the Arena queue +// * @param ginfo Contains information about the group of the queue +// * @return True if you want to continue sending the message, false if you want to disable the message +// */ +// [[nodiscard]] virtual bool OnBeforeSendExitMessageArenaQueue(BattlegroundQueue* /*queue*/, GroupQueueInfo* /*ginfo*/) { return true; } +// }; + +// class ArenaTeamScript : public AchievementScriptObject +// { +// protected: +// ArenaTeamScript(const char* name); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return false; }; + +// virtual void OnGetSlotByType(const uint32 /*type*/, uint8& /*slot*/) {} +// virtual void OnGetArenaPoints(ArenaTeam* /*team*/, float& /*points*/) {} +// virtual void OnTypeIDToQueueID(const BattlegroundTypeId /*bgTypeId*/, const uint8 /*arenaType*/, uint32& /*queueTypeID*/) {} +// virtual void OnQueueIdToArenaType(const BattlegroundQueueTypeId /*bgQueueTypeId*/, uint8& /*ArenaType*/) {} +// virtual void OnSetArenaMaxPlayersPerTeam(const uint8 /*arenaType*/, uint32& /*maxPlayerPerTeam*/) {} +// }; + +// class SpellSC : public AchievementScriptObject +// { +// protected: +// SpellSC(const char* name); + +// public: +// [[nodiscard]] bool IsDatabaseBound() const override { return false; } + +// // Calculate max duration in applying aura +// virtual void OnCalcMaxDuration(Aura const* /*aura*/, int32& /*maxDuration*/) { } + +// [[nodiscard]] virtual bool CanModAuraEffectDamageDone(AuraEffect const* /*auraEff*/, Unit* /*target*/, AuraApplication const* /*aurApp*/, uint8 /*mode*/, bool /*apply*/) { return true; } + +// [[nodiscard]] virtual bool CanModAuraEffectModDamagePercentDone(AuraEffect const* /*auraEff*/, Unit* /*target*/, AuraApplication const* /*aurApp*/, uint8 /*mode*/, bool /*apply*/) { return true; } + +// virtual void OnSpellCheckCast(Spell* /*spell*/, bool /*strict*/, SpellCastResult& /*res*/) { } + +// [[nodiscard]] virtual bool CanPrepare(Spell* /*spell*/, SpellCastTargets const* /*targets*/, AuraEffect const* /*triggeredByAura*/) { return true; } + +// [[nodiscard]] virtual bool CanScalingEverything(Spell* /*spell*/) { return false; } + +// [[nodiscard]] virtual bool CanSelectSpecTalent(Spell* /*spell*/) { return true; } + +// virtual void OnScaleAuraUnitAdd(Spell* /*spell*/, Unit* /*target*/, uint32 /*effectMask*/, bool /*checkIfValid*/, bool /*implicit*/, uint8 /*auraScaleMask*/, TargetInfo& /*targetInfo*/) { } + +// virtual void OnRemoveAuraScaleTargets(Spell* /*spell*/, TargetInfo& /*targetInfo*/, uint8 /*auraScaleMask*/, bool& /*needErase*/) { } + +// virtual void OnBeforeAuraRankForLevel(SpellInfo const* /*spellInfo*/, SpellInfo const* /*latestSpellInfo*/, uint8 /*level*/) { } +// }; + +// // this class can be used to be extended by Modules +// // creating their own custom hooks inside module itself +// class ModuleScript : public AchievementScriptObject +// { +// protected: +// ModuleScript(const char* name); +// }; + +// class GameEventScript : public AchievementScriptObject +// { +// protected: +// GameEventScript(const char* name); + +// public: +// // Runs on start event +// virtual void OnStart(uint16 /*EventID*/) { } + +// // Runs on stop event +// virtual void OnStop(uint16 /*EventID*/) { } +// }; + +// class MailScript : public AchievementScriptObject +// { +// protected: +// MailScript(const char* name); + +// public: +// // Called before mail is sent +// virtual void OnBeforeMailDraftSendMailTo(MailDraft* /*mailDraft*/, MailReceiver const& /*receiver*/, MailSender const& /*sender*/, MailCheckMask& /*checked*/, uint32& /*deliver_delay*/, uint32& /*custom_expiration*/, bool& /*deleteMailItemsFromDB*/, bool& /*sendMail*/) { } +// }; + +class AchievementScript : public AchievementScriptObject +{ +protected: + + AchievementScript(const char* name); + +public: + + bool IsDatabaseBound() const { return false; } + + // After complete global acvievement + virtual void SetRealmCompleted(AchievementEntry const* /*achievement*/) { } + + [[nodiscard]] virtual bool IsCompletedCriteria(AchievementMgr* /*mgr*/, AchievementCriteriaEntry const* /*achievementCriteria*/, AchievementEntry const* /*achievement*/, CriteriaProgress const* /*progress*/) { return true; } + + [[nodiscard]] virtual bool IsRealmCompleted(AchievementGlobalMgr const* /*globalmgr*/, AchievementEntry const* /*achievement*/, std::chrono::system_clock::time_point /*completionTime*/) { return true; } + + virtual void OnBeforeCheckCriteria(AchievementMgr* /*mgr*/, AchievementCriteriaEntryList const* /*achievementCriteriaList*/) { } + + [[nodiscard]] virtual bool CanCheckCriteria(AchievementMgr* /*mgr*/, AchievementCriteriaEntry const* /*achievementCriteria*/) { return true; } +}; + +// class PetScript : public AchievementScriptObject +// { +// protected: + +// PetScript(const char* name); + +// public: + +// bool IsDatabaseBound() const { return false; } + +// virtual void OnInitStatsForLevel(Guardian* /*guardian*/, uint8 /*petlevel*/) { } + +// virtual void OnCalculateMaxTalentPointsForLevel(Pet* /*pet*/, uint8 /*level*/, uint8& /*points*/) { } + +// [[nodiscard]] virtual bool CanUnlearnSpellSet(Pet* /*pet*/, uint32 /*level*/, uint32 /*spell*/) { return true; } + +// [[nodiscard]] virtual bool CanUnlearnSpellDefault(Pet* /*pet*/, SpellInfo const* /*spellEntry*/) { return true; } + +// [[nodiscard]] virtual bool CanResetTalents(Pet* /*pet*/) { return true; } +// }; + +// class ArenaScript : public AchievementScriptObject +// { +// protected: + +// ArenaScript(const char* name); + +// public: + +// bool IsDatabaseBound() const { return false; } + +// [[nodiscard]] virtual bool CanAddMember(ArenaTeam* /*team*/, ObjectGuid /*PlayerGuid*/) { return true; } + +// virtual void OnGetPoints(ArenaTeam* /*team*/, uint32 /*memberRating*/, float& /*points*/) { } + +// [[nodiscard]] virtual bool CanSaveToDB(ArenaTeam* /*team*/) { return true; } +// }; + +// class MiscScript : public AchievementScriptObject +// { +// protected: + +// MiscScript(const char* name); + +// public: + +// bool IsDatabaseBound() const { return false; } + +// virtual void OnConstructObject(Object* /*origin*/) { } + +// virtual void OnDestructObject(Object* /*origin*/) { } + +// virtual void OnConstructPlayer(Player* /*origin*/) { } + +// virtual void OnDestructPlayer(Player* /*origin*/) { } + +// virtual void OnConstructGroup(Group* /*origin*/) { } + +// virtual void OnDestructGroup(Group* /*origin*/) { } + +// virtual void OnConstructInstanceSave(InstanceSave* /*origin*/) { } + +// virtual void OnDestructInstanceSave(InstanceSave* /*origin*/) { } + +// virtual void OnItemCreate(Item* /*item*/, ItemTemplate const* /*itemProto*/, Player const* /*owner*/) { } + +// [[nodiscard]] virtual bool CanApplySoulboundFlag(Item* /*item*/, ItemTemplate const* /*proto*/) { return true; } + +// [[nodiscard]] virtual bool CanItemApplyEquipSpell(Player* /*player*/, Item* /*item*/) { return true; } + +// [[nodiscard]] virtual bool CanSendAuctionHello(WorldSession const* /*session*/, ObjectGuid /*guid*/, Creature* /*creature*/) { return true; } + +// virtual void ValidateSpellAtCastSpell(Player* /*player*/, uint32& /*oldSpellId*/, uint32& /*spellId*/, uint8& /*castCount*/, uint8& /*castFlags*/) { } + +// virtual void ValidateSpellAtCastSpellResult(Player* /*player*/, Unit* /*mover*/, Spell* /*spell*/, uint32 /*oldSpellId*/, uint32 /*spellId*/) { } + +// virtual void OnAfterLootTemplateProcess(Loot* /*loot*/, LootTemplate const* /*tab*/, LootStore const& /*store*/, Player* /*lootOwner*/, bool /*personal*/, bool /*noEmptyError*/, uint16 /*lootMode*/) { } + +// virtual void OnPlayerSetPhase(const AuraEffect* /*auraEff*/, AuraApplication const* /*aurApp*/, uint8 /*mode*/, bool /*apply*/, uint32& /*newPhase*/) { } + +// virtual void OnInstanceSave(InstanceSave* /*instanceSave*/) { } +// }; + +// class CommandSC : public AchievementScriptObject +// { +// protected: + +// CommandSC(const char* name); + +// public: + +// bool IsDatabaseBound() const { return false; } + +// virtual void OnHandleDevCommand(Player* /*player*/, std::string& /*argstr*/) { } +// }; + +// Manages registration, loading, and execution of scripts. +class AchievementScriptMgr +{ + friend class AchievementScriptObject; + +private: + //AchievementScriptMgr(); + //virtual ~AchievementScriptMgr(); + +public: /* Initialization */ + //static AchievementScriptMgr* instance(); + AchievementScriptMgr() : _scriptCount(0), _scheduledScripts(0), _script_loader_callback(nullptr) {} + ~AchievementScriptMgr() {} + + void Initialize(); + void LoadDatabase(); + //void FillSpellSummary(); + void CheckIfScriptsInDatabaseExist(); + + const char* ScriptsVersion() const { return "Integrated Azeroth Scripts"; } + + void IncrementScriptCount() { ++_scriptCount; } + uint32 GetScriptCount() { return _scriptCount; } + + typedef void(*ScriptLoaderCallbackType)(); + + /// Sets the script loader callback which is invoked to load scripts + /// (Workaround for circular dependency game <-> scripts) + void SetScriptLoader(ScriptLoaderCallbackType script_loader_callback) + { + _script_loader_callback = script_loader_callback; + } + +public: /* Unloading */ + void Unload(); + +// public: /* SpellScriptLoader */ +// void CreateSpellScripts(uint32 spellId, std::list& scriptVector); +// void CreateAuraScripts(uint32 spellId, std::list& scriptVector); +// void CreateSpellScriptLoaders(uint32 spellId, std::vector::iterator> >& scriptVector); + +// public: /* ServerScript */ +// void OnNetworkStart(); +// void OnNetworkStop(); +// void OnSocketOpen(std::shared_ptr socket); +// void OnSocketClose(std::shared_ptr socket); +// void OnPacketReceive(WorldSession* session, WorldPacket const& packet); +// void OnPacketSend(WorldSession* session, WorldPacket const& packet); + +// public: /* WorldScript */ +// void OnLoadCustomDatabaseTable(); +// void OnOpenStateChange(bool open); +// void OnBeforeConfigLoad(bool reload); +// void OnAfterConfigLoad(bool reload); +// void OnBeforeFinalizePlayerWorldSession(uint32& cacheVersion); +// void OnMotdChange(std::string& newMotd); +// void OnShutdownInitiate(ShutdownExitCode code, ShutdownMask mask); +// void OnShutdownCancel(); +// void OnWorldUpdate(uint32 diff); +// void OnStartup(); +// void OnShutdown(); + +// public: /* FormulaScript */ +// void OnHonorCalculation(float& honor, uint8 level, float multiplier); +// void OnGrayLevelCalculation(uint8& grayLevel, uint8 playerLevel); +// void OnColorCodeCalculation(XPColorChar& color, uint8 playerLevel, uint8 mobLevel); +// void OnZeroDifferenceCalculation(uint8& diff, uint8 playerLevel); +// void OnBaseGainCalculation(uint32& gain, uint8 playerLevel, uint8 mobLevel, ContentLevels content); +// void OnGainCalculation(uint32& gain, Player* player, Unit* unit); +// void OnGroupRateCalculation(float& rate, uint32 count, bool isRaid); +// void OnAfterArenaRatingCalculation(Battleground* const bg, int32& winnerMatchmakerChange, int32& loserMatchmakerChange, int32& winnerChange, int32& loserChange); +// void OnBeforeUpdatingPersonalRating(int32& mod, uint32 type); + +// public: /* MapScript */ +// void OnCreateMap(Map* map); +// void OnDestroyMap(Map* map); +// void OnLoadGridMap(Map* map, GridMap* gmap, uint32 gx, uint32 gy); +// void OnUnloadGridMap(Map* map, GridMap* gmap, uint32 gx, uint32 gy); +// void OnPlayerEnterMap(Map* map, Player* player); +// void OnPlayerLeaveMap(Map* map, Player* player); +// void OnMapUpdate(Map* map, uint32 diff); + +// public: /* InstanceMapScript */ +// InstanceScript* CreateInstanceScript(InstanceMap* map); + +// public: /* ItemScript */ +// bool OnQuestAccept(Player* player, Item* item, Quest const* quest); +// bool OnItemUse(Player* player, Item* item, SpellCastTargets const& targets); +// bool OnItemExpire(Player* player, ItemTemplate const* proto); +// bool OnItemRemove(Player* player, Item* item); +// bool OnCastItemCombatSpell(Player* player, Unit* victim, SpellInfo const* spellInfo, Item* item); +// void OnGossipSelect(Player* player, Item* item, uint32 sender, uint32 action); +// void OnGossipSelectCode(Player* player, Item* item, uint32 sender, uint32 action, const char* code); + +// public: /* CreatureScript */ +// bool OnGossipHello(Player* player, Creature* creature); +// bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action); +// bool OnGossipSelectCode(Player* player, Creature* creature, uint32 sender, uint32 action, const char* code); +// bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest); +// bool OnQuestSelect(Player* player, Creature* creature, Quest const* quest); +// bool OnQuestComplete(Player* player, Creature* creature, Quest const* quest); +// bool OnQuestReward(Player* player, Creature* creature, Quest const* quest, uint32 opt); +// uint32 GetDialogStatus(Player* player, Creature* creature); +// CreatureAI* GetCreatureAI(Creature* creature); +// void OnCreatureUpdate(Creature* creature, uint32 diff); + +// public: /* GameObjectScript */ +// bool OnGossipHello(Player* player, GameObject* go); +// bool OnGossipSelect(Player* player, GameObject* go, uint32 sender, uint32 action); +// bool OnGossipSelectCode(Player* player, GameObject* go, uint32 sender, uint32 action, const char* code); +// bool OnQuestAccept(Player* player, GameObject* go, Quest const* quest); +// bool OnQuestReward(Player* player, GameObject* go, Quest const* quest, uint32 opt); +// uint32 GetDialogStatus(Player* player, GameObject* go); +// void OnGameObjectDestroyed(GameObject* go, Player* player); +// void OnGameObjectDamaged(GameObject* go, Player* player); +// void OnGameObjectLootStateChanged(GameObject* go, uint32 state, Unit* unit); +// void OnGameObjectStateChanged(GameObject* go, uint32 state); +// void OnGameObjectUpdate(GameObject* go, uint32 diff); +// GameObjectAI* GetGameObjectAI(GameObject* go); + +// public: /* AreaTriggerScript */ +// bool OnAreaTrigger(Player* player, AreaTrigger const* trigger); + +// public: /* BattlegroundScript */ +// Battleground* CreateBattleground(BattlegroundTypeId typeId); + +// public: /* OutdoorPvPScript */ +// OutdoorPvP* CreateOutdoorPvP(OutdoorPvPData const* data); + +// public: /* CommandScript */ +// std::vector GetChatCommands(); + +// public: /* WeatherScript */ +// void OnWeatherChange(Weather* weather, WeatherState state, float grade); +// void OnWeatherUpdate(Weather* weather, uint32 diff); + +// public: /* AuctionHouseScript */ +// void OnAuctionAdd(AuctionHouseObject* ah, AuctionEntry* entry); +// void OnAuctionRemove(AuctionHouseObject* ah, AuctionEntry* entry); +// void OnAuctionSuccessful(AuctionHouseObject* ah, AuctionEntry* entry); +// void OnAuctionExpire(AuctionHouseObject* ah, AuctionEntry* entry); +// void OnBeforeAuctionHouseMgrSendAuctionWonMail(AuctionHouseMgr* auctionHouseMgr, AuctionEntry* auction, Player* bidder, uint32& bidder_accId, bool& sendNotification, bool& updateAchievementCriteria, bool& sendMail); +// void OnBeforeAuctionHouseMgrSendAuctionSalePendingMail(AuctionHouseMgr* auctionHouseMgr, AuctionEntry* auction, Player* owner, uint32& owner_accId, bool& sendMail); +// void OnBeforeAuctionHouseMgrSendAuctionSuccessfulMail(AuctionHouseMgr* auctionHouseMgr, AuctionEntry* auction, Player* owner, uint32& owner_accId, uint32& profit, bool& sendNotification, bool& updateAchievementCriteria, bool& sendMail); +// void OnBeforeAuctionHouseMgrSendAuctionExpiredMail(AuctionHouseMgr* auctionHouseMgr, AuctionEntry* auction, Player* owner, uint32& owner_accId, bool& sendNotification, bool& sendMail); +// void OnBeforeAuctionHouseMgrSendAuctionOutbiddedMail(AuctionHouseMgr* auctionHouseMgr, AuctionEntry* auction, Player* oldBidder, uint32& oldBidder_accId, Player* newBidder, uint32& newPrice, bool& sendNotification, bool& sendMail); +// void OnBeforeAuctionHouseMgrSendAuctionCancelledToBidderMail(AuctionHouseMgr* auctionHouseMgr, AuctionEntry* auction, Player* bidder, uint32& bidder_accId, bool& sendMail); +// void OnBeforeAuctionHouseMgrUpdate(); + +// public: /* ConditionScript */ +// bool OnConditionCheck(Condition* condition, ConditionSourceInfo& sourceInfo); + +// public: /* VehicleScript */ +// void OnInstall(Vehicle* veh); +// void OnUninstall(Vehicle* veh); +// void OnReset(Vehicle* veh); +// void OnInstallAccessory(Vehicle* veh, Creature* accessory); +// void OnAddPassenger(Vehicle* veh, Unit* passenger, int8 seatId); +// void OnRemovePassenger(Vehicle* veh, Unit* passenger); + +// public: /* DynamicObjectScript */ +// void OnDynamicObjectUpdate(DynamicObject* dynobj, uint32 diff); + +// public: /* TransportScript */ +// void OnAddPassenger(Transport* transport, Player* player); +// void OnAddCreaturePassenger(Transport* transport, Creature* creature); +// void OnRemovePassenger(Transport* transport, Player* player); +// void OnTransportUpdate(Transport* transport, uint32 diff); +// void OnRelocate(Transport* transport, uint32 waypointId, uint32 mapId, float x, float y, float z); + +public: /* AchievementCriteriaScript */ + bool OnCriteriaCheck(uint32 scriptId, Player* source, Unit* target, uint32 criteria_id); + +public: /* PlayerScript */ +// void OnBeforePlayerUpdate(Player* player, uint32 p_time); +// void OnPlayerUpdate(Player* player, uint32 p_time); +// void OnSendInitialPacketsBeforeAddToMap(Player* player, WorldPacket& data); +// void OnPlayerReleasedGhost(Player* player); +// void OnPVPKill(Player* killer, Player* killed); +// void OnPlayerPVPFlagChange(Player* player, bool state); +// void OnCreatureKill(Player* killer, Creature* killed); +// void OnCreatureKilledByPet(Player* petOwner, Creature* killed); +// void OnPlayerKilledByCreature(Creature* killer, Player* killed); +// void OnPlayerLevelChanged(Player* player, uint8 oldLevel); +// void OnPlayerFreeTalentPointsChanged(Player* player, uint32 newPoints); +// void OnPlayerTalentsReset(Player* player, bool noCost); +// void OnPlayerMoneyChanged(Player* player, int32& amount); +// void OnGivePlayerXP(Player* player, uint32& amount, Unit* victim); +// void OnPlayerReputationChange(Player* player, uint32 factionID, int32& standing, bool incremental); +// void OnPlayerReputationRankChange(Player* player, uint32 factionID, ReputationRank newRank, ReputationRank oldRank, bool increased); +// void OnPlayerLearnSpell(Player* player, uint32 spellID); +// void OnPlayerForgotSpell(Player* player, uint32 spellID); +// void OnPlayerDuelRequest(Player* target, Player* challenger); +// void OnPlayerDuelStart(Player* player1, Player* player2); +// void OnPlayerDuelEnd(Player* winner, Player* loser, DuelCompleteType type); +// void OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string& msg); +// void OnBeforeSendChatMessage(Player* player, uint32& type, uint32& lang, std::string& msg); +// void OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string& msg, Player* receiver); +// void OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string& msg, Group* group); +// void OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string& msg, Guild* guild); +// void OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string& msg, Channel* channel); +// void OnPlayerEmote(Player* player, uint32 emote); +// void OnPlayerTextEmote(Player* player, uint32 textEmote, uint32 emoteNum, ObjectGuid guid); +// void OnPlayerSpellCast(Player* player, Spell* spell, bool skipCheck); +// void OnPlayerLogin(Player* player); +// void OnPlayerLoadFromDB(Player* player); +// void OnPlayerLogout(Player* player); +// void OnPlayerCreate(Player* player); +// void OnPlayerSave(Player* player); +// void OnPlayerDelete(ObjectGuid guid, uint32 accountId); +// void OnPlayerFailedDelete(ObjectGuid guid, uint32 accountId); +// void OnPlayerBindToInstance(Player* player, Difficulty difficulty, uint32 mapid, bool permanent); +// void OnPlayerUpdateZone(Player* player, uint32 newZone, uint32 newArea); +// void OnPlayerUpdateArea(Player* player, uint32 oldArea, uint32 newArea); +// bool OnBeforePlayerTeleport(Player* player, uint32 mapid, float x, float y, float z, float orientation, uint32 options, Unit* target); +// void OnPlayerUpdateFaction(Player* player); +// void OnPlayerAddToBattleground(Player* player, Battleground* bg); +// void OnPlayerQueueRandomDungeon(Player* player, uint32 & rDungeonId); +// void OnPlayerRemoveFromBattleground(Player* player, Battleground* bg); + void OnAchievementComplete(Player* player, AchievementEntry const* achievement); + bool OnBeforeAchievementComplete(Player* player, AchievementEntry const* achievement); + void OnCriteriaProgress(Player* player, AchievementCriteriaEntry const* criteria); + bool OnBeforeCriteriaProgress(Player* player, AchievementCriteriaEntry const* criteria); + void OnAchievementSave(/*CharacterDatabaseTransaction trans, */Player* player, uint16 achiId, CompletedAchievementData achiData); + void OnCriteriaSave(/*CharacterDatabaseTransaction trans, */Player* player, uint16 critId, CriteriaProgress criteriaData); +// void OnGossipSelect(Player* player, uint32 menu_id, uint32 sender, uint32 action); +// void OnGossipSelectCode(Player* player, uint32 menu_id, uint32 sender, uint32 action, const char* code); +// void OnPlayerBeingCharmed(Player* player, Unit* charmer, uint32 oldFactionId, uint32 newFactionId); +// void OnAfterPlayerSetVisibleItemSlot(Player* player, uint8 slot, Item* item); +// void OnAfterPlayerMoveItemFromInventory(Player* player, Item* it, uint8 bag, uint8 slot, bool update); +// void OnEquip(Player* player, Item* it, uint8 bag, uint8 slot, bool update); +// void OnPlayerJoinBG(Player* player); +// void OnPlayerJoinArena(Player* player); +// void GetCustomGetArenaTeamId(const Player* player, uint8 slot, uint32& teamID) const; +// void GetCustomArenaPersonalRating(const Player* player, uint8 slot, uint32& rating) const; +// void OnGetMaxPersonalArenaRatingRequirement(const Player* player, uint32 minSlot, uint32& maxArenaRating) const; +// void OnLootItem(Player* player, Item* item, uint32 count, ObjectGuid lootguid); +// void OnCreateItem(Player* player, Item* item, uint32 count); +// void OnQuestRewardItem(Player* player, Item* item, uint32 count); +// bool OnBeforePlayerQuestComplete(Player* player, uint32 quest_id); +// void OnBeforePlayerDurabilityRepair(Player* player, ObjectGuid npcGUID, ObjectGuid itemGUID, float& discountMod, uint8 guildBank); +// void OnBeforeBuyItemFromVendor(Player* player, ObjectGuid vendorguid, uint32 vendorslot, uint32& item, uint8 count, uint8 bag, uint8 slot); +// void OnBeforeStoreOrEquipNewItem(Player* player, uint32 vendorslot, uint32& item, uint8 count, uint8 bag, uint8 slot, ItemTemplate const* pProto, Creature* pVendor, VendorItem const* crItem, bool bStore); +// void OnAfterStoreOrEquipNewItem(Player* player, uint32 vendorslot, Item* item, uint8 count, uint8 bag, uint8 slot, ItemTemplate const* pProto, Creature* pVendor, VendorItem const* crItem, bool bStore); +// void OnAfterUpdateMaxPower(Player* player, Powers& power, float& value); +// void OnAfterUpdateMaxHealth(Player* player, float& value); +// void OnBeforeUpdateAttackPowerAndDamage(Player* player, float& level, float& val2, bool ranged); +// void OnAfterUpdateAttackPowerAndDamage(Player* player, float& level, float& base_attPower, float& attPowerMod, float& attPowerMultiplier, bool ranged); +// void OnBeforeInitTalentForLevel(Player* player, uint8& level, uint32& talentPointsForLevel); +// void OnFirstLogin(Player* player); +// void OnPlayerCompleteQuest(Player* player, Quest const* quest); +// void OnBattlegroundDesertion(Player* player, BattlegroundDesertionType const desertionType); +// bool CanJoinInBattlegroundQueue(Player* player, ObjectGuid BattlemasterGuid, BattlegroundTypeId BGTypeID, uint8 joinAsGroup, GroupJoinBattlegroundResult& err); +// bool ShouldBeRewardedWithMoneyInsteadOfExp(Player* player); +// void OnBeforeTempSummonInitStats(Player* player, TempSummon* tempSummon, uint32& duration); +// void OnBeforeGuardianInitStatsForLevel(Player* player, Guardian* guardian, CreatureTemplate const* cinfo, PetType& petType); +// void OnAfterGuardianInitStatsForLevel(Player* player, Guardian* guardian); +// void OnBeforeLoadPetFromDB(Player* player, uint32& petentry, uint32& petnumber, bool& current, bool& forceLoadFromDB); +// bool CanJoinInArenaQueue(Player* player, ObjectGuid BattlemasterGuid, uint8 arenaslot, BattlegroundTypeId BGTypeID, uint8 joinAsGroup, uint8 IsRated, GroupJoinBattlegroundResult& err); +// bool CanBattleFieldPort(Player* player, uint8 arenaType, BattlegroundTypeId BGTypeID, uint8 action); +// bool CanGroupInvite(Player* player, std::string& membername); +// bool CanGroupAccept(Player* player, Group* group); +// bool CanSellItem(Player* player, Item* item, Creature* creature); +// bool CanSendMail(Player* player, ObjectGuid receiverGuid, ObjectGuid mailbox, std::string& subject, std::string& body, uint32 money, uint32 COD, Item* item); +// void PetitionBuy(Player* player, Creature* creature, uint32& charterid, uint32& cost, uint32& type); +// void PetitionShowList(Player* player, Creature* creature, uint32& CharterEntry, uint32& CharterDispayID, uint32& CharterCost); +// void OnRewardKillRewarder(Player* player, bool isDungeon, float& rate); +// bool CanGiveMailRewardAtGiveLevel(Player* player, uint8 level); +// void OnDeleteFromDB(CharacterDatabaseTransaction trans, uint32 guid); +// bool CanRepopAtGraveyard(Player* player); +// void OnGetMaxSkillValue(Player* player, uint32 skill, int32& result, bool IsPure); +// bool CanAreaExploreAndOutdoor(Player* player); +// void OnVictimRewardBefore(Player* player, Player* victim, uint32& killer_title, uint32& victim_title); +// void OnVictimRewardAfter(Player* player, Player* victim, uint32& killer_title, uint32& victim_rank, float& honor_f); +// void OnCustomScalingStatValueBefore(Player* player, ItemTemplate const* proto, uint8 slot, bool apply, uint32& CustomScalingStatValue); +// void OnCustomScalingStatValue(Player* player, ItemTemplate const* proto, uint32& statType, int32& val, uint8 itemProtoStatNumber, uint32 ScalingStatValue, ScalingStatValuesEntry const* ssv); +// bool CanArmorDamageModifier(Player* player); +// void OnGetFeralApBonus(Player* player, int32& feral_bonus, int32 dpsMod, ItemTemplate const* proto, ScalingStatValuesEntry const* ssv); +// bool CanApplyWeaponDependentAuraDamageMod(Player* player, Item* item, WeaponAttackType attackType, AuraEffect const* aura, bool apply); +// bool CanApplyEquipSpell(Player* player, SpellInfo const* spellInfo, Item* item, bool apply, bool form_change); +// bool CanApplyEquipSpellsItemSet(Player* player, ItemSetEffect* eff); +// bool CanCastItemCombatSpell(Player* player, Unit* target, WeaponAttackType attType, uint32 procVictim, uint32 procEx, Item* item, ItemTemplate const* proto); +// bool CanCastItemUseSpell(Player* player, Item* item, SpellCastTargets const& targets, uint8 cast_count, uint32 glyphIndex); +// void OnApplyAmmoBonuses(Player* player, ItemTemplate const* proto, float& currentAmmoDPS); +// bool CanEquipItem(Player* player, uint8 slot, uint16& dest, Item* pItem, bool swap, bool not_loading); +// bool CanUnequipItem(Player* player, uint16 pos, bool swap); +// bool CanUseItem(Player* player, ItemTemplate const* proto, InventoryResult& result); +// bool CanSaveEquipNewItem(Player* player, Item* item, uint16 pos, bool update); +// bool CanApplyEnchantment(Player* player, Item* item, EnchantmentSlot slot, bool apply, bool apply_dur, bool ignore_condition); +// void OnGetQuestRate(Player* player, float& result); +// bool PassedQuestKilledMonsterCredit(Player* player, Quest const* qinfo, uint32 entry, uint32 real_entry, ObjectGuid guid); +// bool CheckItemInSlotAtLoadInventory(Player* player, Item* item, uint8 slot, uint8& err, uint16& dest); +// bool NotAvoidSatisfy(Player* player, DungeonProgressionRequirements const* ar, uint32 target_map, bool report); +// bool NotVisibleGloballyFor(Player* player, Player const* u); +// void OnGetArenaPersonalRating(Player* player, uint8 slot, uint32& result); +// void OnGetArenaTeamId(Player* player, uint8 slot, uint32& result); +// void OnIsFFAPvP(Player* player, bool& result); +// void OnIsPvP(Player* player, bool& result); +// void OnGetMaxSkillValueForLevel(Player* player, uint16& result); +// bool NotSetArenaTeamInfoField(Player* player, uint8 slot, ArenaTeamInfoType type, uint32 value); +// bool CanJoinLfg(Player* player, uint8 roles, lfg::LfgDungeonSet& dungeons, const std::string& comment); +// bool CanEnterMap(Player* player, MapEntry const* entry, InstanceTemplate const* instance, MapDifficulty const* mapDiff, bool loginCheck); +// bool CanInitTrade(Player* player, Player* target); +// void OnSetServerSideVisibility(Player* player, ServerSideVisibilityType& type, AccountTypes& sec); +// void OnSetServerSideVisibilityDetect(Player* player, ServerSideVisibilityType& type, AccountTypes& sec); +// void AnticheatSetSkipOnePacketForASH(Player* player, bool apply); +// void AnticheatSetCanFlybyServer(Player* player, bool apply); +// void AnticheatSetUnderACKmount(Player* player); +// void AnticheatSetRootACKUpd(Player* player); +// void AnticheatUpdateMovementInfo(Player* player, MovementInfo const& movementInfo); +// void AnticheatSetJumpingbyOpcode(Player* player, bool jump); +// bool AnticheatHandleDoubleJump(Player* player, Unit* mover); +// bool AnticheatCheckMovementInfo(Player* player, MovementInfo const& movementInfo, Unit* mover, bool jump); + +// public: /* AccountScript */ +// void OnAccountLogin(uint32 accountId); +// void OnLastIpUpdate(uint32 accountId, std::string ip); +// void OnFailedAccountLogin(uint32 accountId); +// void OnEmailChange(uint32 accountId); +// void OnFailedEmailChange(uint32 accountId); +// void OnPasswordChange(uint32 accountId); +// void OnFailedPasswordChange(uint32 accountId); + +// public: /* GuildScript */ +// void OnGuildAddMember(Guild* guild, Player* player, uint8& plRank); +// void OnGuildRemoveMember(Guild* guild, Player* player, bool isDisbanding, bool isKicked); +// void OnGuildMOTDChanged(Guild* guild, const std::string& newMotd); +// void OnGuildInfoChanged(Guild* guild, const std::string& newInfo); +// void OnGuildCreate(Guild* guild, Player* leader, const std::string& name); +// void OnGuildDisband(Guild* guild); +// void OnGuildMemberWitdrawMoney(Guild* guild, Player* player, uint32& amount, bool isRepair); +// void OnGuildMemberDepositMoney(Guild* guild, Player* player, uint32& amount); +// void OnGuildItemMove(Guild* guild, Player* player, Item* pItem, bool isSrcBank, uint8 srcContainer, uint8 srcSlotId, +// bool isDestBank, uint8 destContainer, uint8 destSlotId); +// void OnGuildEvent(Guild* guild, uint8 eventType, ObjectGuid::LowType playerGuid1, ObjectGuid::LowType playerGuid2, uint8 newRank); +// void OnGuildBankEvent(Guild* guild, uint8 eventType, uint8 tabId, ObjectGuid::LowType playerGuid, uint32 itemOrMoney, uint16 itemStackCount, uint8 destTabId); +// bool CanGuildSendBankList(Guild const* guild, WorldSession* session, uint8 tabId, bool sendAllSlots); + +// public: /* GroupScript */ +// void OnGroupAddMember(Group* group, ObjectGuid guid); +// void OnGroupInviteMember(Group* group, ObjectGuid guid); +// void OnGroupRemoveMember(Group* group, ObjectGuid guid, RemoveMethod method, ObjectGuid kicker, const char* reason); +// void OnGroupChangeLeader(Group* group, ObjectGuid newLeaderGuid, ObjectGuid oldLeaderGuid); +// void OnGroupDisband(Group* group); +// bool CanGroupJoinBattlegroundQueue(Group const* group, Player* member, Battleground const* bgTemplate, uint32 MinPlayerCount, bool isRated, uint32 arenaSlot); +// void OnCreate(Group* group, Player* leader); + +// public: /* GlobalScript */ +// void OnGlobalItemDelFromDB(CharacterDatabaseTransaction trans, ObjectGuid::LowType itemGuid); +// void OnGlobalMirrorImageDisplayItem(const Item* item, uint32& display); +// void OnBeforeUpdateArenaPoints(ArenaTeam* at, std::map& ap); +// void OnAfterRefCount(Player const* player, Loot& loot, bool canRate, uint16 lootMode, LootStoreItem* LootStoreItem, uint32& maxcount, LootStore const& store); +// void OnBeforeDropAddItem(Player const* player, Loot& loot, bool canRate, uint16 lootMode, LootStoreItem* LootStoreItem, LootStore const& store); +// bool OnItemRoll(Player const* player, LootStoreItem const* LootStoreItem, float& chance, Loot& loot, LootStore const& store); +// bool OnBeforeLootEqualChanced(Player const* player, LootStoreItemList EqualChanced, Loot& loot, LootStore const& store); +// void OnInitializeLockedDungeons(Player* player, uint8& level, uint32& lockData, lfg::LFGDungeonData const* dungeon); +// void OnAfterInitializeLockedDungeons(Player* player); +// void OnAfterUpdateEncounterState(Map* map, EncounterCreditType type, uint32 creditEntry, Unit* source, Difficulty difficulty_fixed, DungeonEncounterList const* encounters, uint32 dungeonCompleted, bool updated); +// void OnBeforeWorldObjectSetPhaseMask(WorldObject const* worldObject, uint32& oldPhaseMask, uint32& newPhaseMask, bool& useCombinedPhases, bool& update); + +// public: /* Scheduled scripts */ +// uint32 IncreaseScheduledScriptsCount() { return ++_scheduledScripts; } +// uint32 DecreaseScheduledScriptCount() { return --_scheduledScripts; } +// uint32 DecreaseScheduledScriptCount(size_t count) { return _scheduledScripts -= count; } +// bool IsScriptScheduled() const { return _scheduledScripts > 0; } + +// public: /* UnitScript */ +// void OnHeal(Unit* healer, Unit* reciever, uint32& gain); +// void OnDamage(Unit* attacker, Unit* victim, uint32& damage); +// void ModifyPeriodicDamageAurasTick(Unit* target, Unit* attacker, uint32& damage); +// void ModifyMeleeDamage(Unit* target, Unit* attacker, uint32& damage); +// void ModifySpellDamageTaken(Unit* target, Unit* attacker, int32& damage); +// void ModifyHealRecieved(Unit* target, Unit* attacker, uint32& addHealth); +// uint32 DealDamage(Unit* AttackerUnit, Unit* pVictim, uint32 damage, DamageEffectType damagetype); +// void OnBeforeRollMeleeOutcomeAgainst(const Unit* attacker, const Unit* victim, WeaponAttackType attType, int32& attackerMaxSkillValueForLevel, int32& victimMaxSkillValueForLevel, int32& attackerWeaponSkill, int32& victimDefenseSkill, int32& crit_chance, int32& miss_chance, int32& dodge_chance, int32& parry_chance, int32& block_chance); +// void OnAuraRemove(Unit* unit, AuraApplication* aurApp, AuraRemoveMode mode); +// bool IfNormalReaction(Unit const* unit, Unit const* target, ReputationRank& repRank); +// bool IsNeedModSpellDamagePercent(Unit const* unit, AuraEffect* auraEff, float& doneTotalMod, SpellInfo const* spellProto); +// bool IsNeedModMeleeDamagePercent(Unit const* unit, AuraEffect* auraEff, float& doneTotalMod, SpellInfo const* spellProto); +// bool IsNeedModHealPercent(Unit const* unit, AuraEffect* auraEff, float& doneTotalMod, SpellInfo const* spellProto); +// bool CanSetPhaseMask(Unit const* unit, uint32 newPhaseMask, bool update); +// bool IsCustomBuildValuesUpdate(Unit const* unit, uint8 updateType, ByteBuffer& fieldBuffer, Player const* target, uint16 index); + +// public: /* MovementHandlerScript */ +// void OnPlayerMove(Player* player, MovementInfo movementInfo, uint32 opcode); + +// public: /* AllCreatureScript */ +// //listener function (OnAllCreatureUpdate) is called by OnCreatureUpdate +// //void OnAllCreatureUpdate(Creature* creature, uint32 diff); +// void Creature_SelectLevel(const CreatureTemplate* cinfo, Creature* creature); + +// public: /* AllMapScript */ +// //listener functions are called by OnPlayerEnterMap and OnPlayerLeaveMap +// //void OnPlayerEnterAll(Map* map, Player* player); +// //void OnPlayerLeaveAll(Map* map, Player* player); + +// public: /* BGScript */ +// void OnBattlegroundStart(Battleground* bg); +// void OnBattlegroundEndReward(Battleground* bg, Player* player, TeamId winnerTeamId); +// void OnBattlegroundUpdate(Battleground* bg, uint32 diff); +// void OnBattlegroundAddPlayer(Battleground* bg, Player* player); +// void OnBattlegroundBeforeAddPlayer(Battleground* bg, Player* player); +// void OnBattlegroundRemovePlayerAtLeave(Battleground* bg, Player* player); +// void OnQueueUpdate(BattlegroundQueue* queue, BattlegroundBracketId bracket_id, bool isRated, uint32 arenaRatedTeamId); +// void OnAddGroup(BattlegroundQueue* queue, GroupQueueInfo* ginfo, uint32& index, Player* leader, Group* grp, PvPDifficultyEntry const* bracketEntry, bool isPremade); +// bool CanFillPlayersToBG(BattlegroundQueue* queue, Battleground* bg, const int32 aliFree, const int32 hordeFree, BattlegroundBracketId bracket_id); +// bool CanFillPlayersToBGWithSpecific(BattlegroundQueue* queue, Battleground* bg, const int32 aliFree, const int32 hordeFree, +// BattlegroundBracketId thisBracketId, BattlegroundQueue* specificQueue, BattlegroundBracketId specificBracketId); +// void OnCheckNormalMatch(BattlegroundQueue* queue, uint32& Coef, Battleground* bgTemplate, BattlegroundBracketId bracket_id, uint32& minPlayers, uint32& maxPlayers); +// bool CanSendMessageBGQueue(BattlegroundQueue* queue, Player* leader, Battleground* bg, PvPDifficultyEntry const* bracketEntry); +// bool OnBeforeSendJoinMessageArenaQueue(BattlegroundQueue* queue, Player* leader, GroupQueueInfo* ginfo, PvPDifficultyEntry const* bracketEntry, bool isRated); +// bool OnBeforeSendExitMessageArenaQueue(BattlegroundQueue* queue, GroupQueueInfo* ginfo); + +// public: /* Arena Team Script */ +// void OnGetSlotByType(const uint32 type, uint8& slot); +// void OnGetArenaPoints(ArenaTeam* at, float& points); +// void OnArenaTypeIDToQueueID(const BattlegroundTypeId bgTypeId, const uint8 arenaType, uint32& queueTypeID); +// void OnArenaQueueIdToArenaType(const BattlegroundQueueTypeId bgQueueTypeId, uint8& ArenaType); +// void OnSetArenaMaxPlayersPerTeam(const uint8 arenaType, uint32& maxPlayerPerTeam); + +// public: /* SpellSC */ +// void OnCalcMaxDuration(Aura const* aura, int32& maxDuration); +// bool CanModAuraEffectDamageDone(AuraEffect const* auraEff, Unit* target, AuraApplication const* aurApp, uint8 mode, bool apply); +// bool CanModAuraEffectModDamagePercentDone(AuraEffect const* auraEff, Unit* target, AuraApplication const* aurApp, uint8 mode, bool apply); +// void OnSpellCheckCast(Spell* spell, bool strict, SpellCastResult& res); +// bool CanPrepare(Spell* spell, SpellCastTargets const* targets, AuraEffect const* triggeredByAura); +// bool CanScalingEverything(Spell* spell); +// bool CanSelectSpecTalent(Spell* spell); +// void OnScaleAuraUnitAdd(Spell* spell, Unit* target, uint32 effectMask, bool checkIfValid, bool implicit, uint8 auraScaleMask, TargetInfo& targetInfo); +// void OnRemoveAuraScaleTargets(Spell* spell, TargetInfo& targetInfo, uint8 auraScaleMask, bool& needErase); +// void OnBeforeAuraRankForLevel(SpellInfo const* spellInfo, SpellInfo const* latestSpellInfo, uint8 level); + +// public: /* GameEventScript */ +// void OnGameEventStart(uint16 EventID); +// void OnGameEventStop(uint16 EventID); + +// public: /* MailScript */ +// void OnBeforeMailDraftSendMailTo(MailDraft* mailDraft, MailReceiver const& receiver, MailSender const& sender, MailCheckMask& checked, uint32& deliver_delay, uint32& custom_expiration, bool& deleteMailItemsFromDB, bool& sendMail); + +public: /* AchievementScript */ + + void SetRealmCompleted(AchievementEntry const* achievement); + bool IsCompletedCriteria(AchievementMgr* mgr, AchievementCriteriaEntry const* achievementCriteria, AchievementEntry const* achievement, CriteriaProgress const* progress); + bool IsRealmCompleted(AchievementGlobalMgr const* globalmgr, AchievementEntry const* achievement, std::chrono::system_clock::time_point completionTime); + void OnBeforeCheckCriteria(AchievementMgr* mgr, AchievementCriteriaEntryList const* achievementCriteriaList); + bool CanCheckCriteria(AchievementMgr* mgr, AchievementCriteriaEntry const* achievementCriteria); + + // public: /* PetScript */ + + // void OnInitStatsForLevel(Guardian* guardian, uint8 petlevel); + // void OnCalculateMaxTalentPointsForLevel(Pet* pet, uint8 level, uint8& points); + // bool CanUnlearnSpellSet(Pet* pet, uint32 level, uint32 spell); + // bool CanUnlearnSpellDefault(Pet* pet, SpellInfo const* spellEntry); + // bool CanResetTalents(Pet* pet); + + // public: /* ArenaScript */ + + // bool CanAddMember(ArenaTeam* team, ObjectGuid PlayerGuid); + // void OnGetPoints(ArenaTeam* team, uint32 memberRating, float& points); + // bool CanSaveToDB(ArenaTeam* team); + + // public: /* MiscScript */ + + // void OnConstructObject(Object* origin); + // void OnDestructObject(Object* origin); + // void OnConstructPlayer(Player* origin); + // void OnDestructPlayer(Player* origin); + // void OnConstructGroup(Group* origin); + // void OnDestructGroup(Group* origin); + // void OnConstructInstanceSave(InstanceSave* origin); + // void OnDestructInstanceSave(InstanceSave* origin); + // void OnItemCreate(Item* item, ItemTemplate const* itemProto, Player const* owner); + // bool CanApplySoulboundFlag(Item* item, ItemTemplate const* proto); + // bool CanItemApplyEquipSpell(Player* player, Item* item); + // bool CanSendAuctionHello(WorldSession const* session, ObjectGuid guid, Creature* creature); + // void ValidateSpellAtCastSpell(Player* player, uint32& oldSpellId, uint32& spellId, uint8& castCount, uint8& castFlags); + // void OnPlayerSetPhase(const AuraEffect* auraEff, AuraApplication const* aurApp, uint8 mode, bool apply, uint32& newPhase); + // void ValidateSpellAtCastSpellResult(Player* player, Unit* mover, Spell* spell, uint32 oldSpellId, uint32 spellId); + // void OnAfterLootTemplateProcess(Loot* loot, LootTemplate const* tab, LootStore const& store, Player* lootOwner, bool personal, bool noEmptyError, uint16 lootMode); + // void OnInstanceSave(InstanceSave* instanceSave); + + // public: /* CommandSC */ + + // void OnHandleDevCommand(Player* player, std::string& argstr); +public: + uint32 getScriptId(std::string const& name) const; +private: + void loadScriptNames(); + // std::vector getScriptNames() const { return _scriptNamesStore; } + std::vector _scriptNamesStore; + + //atomic op counter for active scripts amount + std::atomic _scheduledScripts; + uint32 _scriptCount; + ScriptLoaderCallbackType _script_loader_callback; +}; + + +//} // namespace Achievement + +//#define sAchievementMgr MaNGOS::Singleton::Instance() +#define sAchievementScriptMgr MaNGOS::Singleton::Instance() + +template +class ScriptRegistry +{ +public: + typedef std::map ScriptMap; + typedef typename ScriptMap::iterator ScriptMapIterator; + + typedef std::vector ScriptVector; + typedef typename ScriptVector::iterator ScriptVectorIterator; + + // The actual list of scripts. This will be accessed concurrently, so it must not be modified + // after server startup. + static ScriptMap ScriptPointerList; + // After database load scripts + static ScriptVector ALScripts; + + static void AddScript(TScript* const script) + { + MANGOS_ASSERT(script); + + if (!_checkMemory(script)) + return; + + if (script->isAfterLoadScript()) + { + ALScripts.push_back(script); + } + else + { + script->checkValidity(); + + // We're dealing with a code-only script; just add it. + ScriptPointerList[_scriptIdCounter++] = script; + //sAchievementScriptMgr. + //sAchievementScriptMgr.IncrementScriptCount(); + //AchievementScriptMgr::IncrementScriptCount(); + sAchievementScriptMgr.IncrementScriptCount(); + } + } + + static void AddALScripts() + { + // for(ScriptVectorIterator it = ALScripts.begin(); it != ALScripts.end(); ++it) + // { + // TScript* const script = *it; + + // script->checkValidity(); + + // if (script->IsDatabaseBound()) + // { + // if (!_checkMemory(script)) + // { + // return; + // } + + // // Get an ID for the script. An ID only exists if it's a script that is assigned in the database + // // through a script name (or similar). + // uint32 id = sObjectMgr.GetScriptId(script->GetName().c_str()); + // if (id) + // { + // // Try to find an existing script. + // bool existing = false; + // for (auto iterator = ScriptPointerList.begin(); iterator != ScriptPointerList.end(); ++iterator) + // { + // // If the script names match... + // if (iterator->second->GetName() == script->GetName()) + // { + // // ... It exists. + // existing = true; + // break; + // } + // } + + // // If the script isn't assigned -> assign it! + // if (!existing) + // { + // ScriptPointerList[id] = script; + // Achievement::AchievementScriptMgr::instance()->IncrementScriptCount(); + // } + // else + // { + // // If the script is already assigned -> delete it! + // sLog.outError("scripts, Script named '%s' is already assigned (two or more scripts have the same name), so the script can't work, aborting...", + // script->GetName().c_str()); + + // ABORT(); // Error that should be fixed ASAP. + // } + // } + // else + // { + // // The script uses a script name from database, but isn't assigned to anything. + // if (script->GetName().find("Smart") == std::string::npos) + // sLog.outError("sql.sql, Script named '%s' is not assigned in the database.", + // script->GetName().c_str()); + // } + // } + // else + // { + // // We're dealing with a code-only script; just add it. + // ScriptPointerList[_scriptIdCounter++] = script; + // Achievement::AchievementScriptMgr::instance()->IncrementScriptCount(); + // } + // } + } + + // Gets a script by its ID (assigned by ObjectMgr). + static TScript* GetScriptById(uint32 id) + { + ScriptMapIterator it = ScriptPointerList.find(id); + if (it != ScriptPointerList.end()) + return it->second; + + return nullptr; + } + +private: + // See if the script is using the same memory as another script. If this happens, it means that + // someone forgot to allocate new memory for a script. + static bool _checkMemory(TScript* const script) + { + // See if the script is using the same memory as another script. If this happens, it means that + // someone forgot to allocate new memory for a script. + for (ScriptMapIterator it = ScriptPointerList.begin(); it != ScriptPointerList.end(); ++it) + { + if (it->second == script) + { + sLog.outError("scripts, Script '%s' has same memory pointer as '%s'.", + script->GetName().c_str(), it->second->GetName().c_str()); + + return false; + } + } + + return true; + } + + // Counter used for code-only scripts. + static uint32 _scriptIdCounter; +}; + +// Instantiate static members of ScriptRegistry. +template std::map ScriptRegistry::ScriptPointerList; +template std::vector ScriptRegistry::ALScripts; +template uint32 ScriptRegistry::_scriptIdCounter = 0; + +#endif diff --git a/src/game/Achievements/achievement_scripts.cpp b/src/game/Achievements/achievement_scripts.cpp new file mode 100644 index 0000000000..865256aa34 --- /dev/null +++ b/src/game/Achievements/achievement_scripts.cpp @@ -0,0 +1,278 @@ +/* + * This file is part of the AzerothCore Project. See AUTHORS file for Copyright information + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by the + * Free Software Foundation; either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include "BattleGround.h" +#include "BattleGroundAB.h" +#include "BattleGroundAV.h" +// // #include "BattleGroundIC.h" +// // #include "BattleGroundSA.h" +#include "BattleGroundWS.h" +// #include "Creature.h" +// #include "Player.h" +#include "Achievements/AchievementScriptMgr.h" +// #include "Vehicle.h" + +//using namespace Achievement; + +class achievement_resilient_victory: public AchievementCriteriaScript { +public: + achievement_resilient_victory() : AchievementCriteriaScript("achievement_resilient_victory") { } + + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override + { + BattleGround* bg = source->GetBattleGround(); + return bg && bg->GetTypeId() == BATTLEGROUND_AB && reinterpret_cast(bg)->IsTeamScores500Disadvantage(source->GetTeamId()); + } +}; + +class achievement_bg_control_all_nodes : public AchievementCriteriaScript +{ +public: + achievement_bg_control_all_nodes() : AchievementCriteriaScript("achievement_bg_control_all_nodes") { } + + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override + { + BattleGround* bg = source->GetBattleGround(); + return bg && bg->AllNodesConrolledByTeam(source->GetTeamId()); + } +}; + +class achievement_save_the_day : public AchievementCriteriaScript +{ +public: + achievement_save_the_day() : AchievementCriteriaScript("achievement_save_the_day") { } + + bool OnCheck(Player* source, Unit* target, uint32 /*criteria_id*/) override + { + if (!target) + return false; + + if (Player const* player = static_cast(target)) + { + BattleGround* bg = source->GetBattleGround(); + return bg && bg->GetTypeId() == BATTLEGROUND_WS && bg->IsActiveEvent(WS_EVENT_FLAG_A, player->GetTeamId()); + } + return false; + } +}; + +// class achievement_bg_ic_resource_glut : public AchievementCriteriaScript +// { +// public: +// achievement_bg_ic_resource_glut() : AchievementCriteriaScript("achievement_bg_ic_resource_glut") { } + +// bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override +// { +// BattleGround* bg = source->GetBattleGround(); +// return bg && bg->GetBgTypeID(true) == BATTLEGROUND_IC && bg->ToBattleGroundIC()->IsResourceGlutAllowed(source->GetTeamId()); +// } +// }; + +// class achievement_bg_ic_glaive_grave : public AchievementCriteriaScript +// { +// public: +// achievement_bg_ic_glaive_grave() : AchievementCriteriaScript("achievement_bg_ic_glaive_grave") { } + +// bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override +// { +// if (Creature* vehicle = source->GetVehicleCreatureBase()) +// return vehicle->GetEntry() == NPC_GLAIVE_THROWER_H || vehicle->GetEntry() == NPC_GLAIVE_THROWER_A; + +// return false; +// } +// }; + +// class achievement_bg_ic_mowed_down : public AchievementCriteriaScript +// { +// public: +// achievement_bg_ic_mowed_down() : AchievementCriteriaScript("achievement_bg_ic_mowed_down") { } + +// bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override +// { +// if (Creature* vehicle = source->GetVehicleCreatureBase()) +// return vehicle->GetEntry() == NPC_KEEP_CANNON; + +// return false; +// } +// }; + +// class achievement_bg_sa_artillery : public AchievementCriteriaScript +// { +// public: +// achievement_bg_sa_artillery() : AchievementCriteriaScript("achievement_bg_sa_artillery") { } + +// bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override +// { +// if (Creature* vehicle = source->GetVehicleCreatureBase()) +// return vehicle->GetEntry() == NPC_ANTI_PERSONNAL_CANNON; + +// return false; +// } +// }; + +// class achievement_arena_by_type : public AchievementCriteriaScript +// { +// public: +// achievement_arena_by_type(char const* name, uint8 arenaType) : AchievementCriteriaScript(name), +// _arenaType(arenaType) +// { +// } + +// bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override +// { +// return source->InArena() && source->GetBattleGround()->GetArenaType() == _arenaType; +// } + +// private: +// uint8 const _arenaType; +// }; + +class achievement_sickly_gazelle : public AchievementCriteriaScript +{ +public: + achievement_sickly_gazelle() : AchievementCriteriaScript("achievement_sickly_gazelle") { } + + bool OnCheck(Player* /*source*/, Unit* target, uint32 /*criteria_id*/) override + { + if (!target) + return false; + + if (Player* victim = static_cast(target)) + if (victim->IsMounted()) + return true; + + return false; + } +}; + +class achievement_everything_counts : public AchievementCriteriaScript +{ +public: + achievement_everything_counts() : AchievementCriteriaScript("achievement_everything_counts") { } + + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override + { + BattleGround* bg = source->GetBattleGround(); + return bg && bg->GetTypeId() == BATTLEGROUND_AV && reinterpret_cast(bg)->IsBothMinesControlledByTeam(source->GetTeamId()); + } +}; + +class achievement_bg_av_perfection : public AchievementCriteriaScript +{ +public: + achievement_bg_av_perfection() : AchievementCriteriaScript("achievement_bg_av_perfection") { } + + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override + { + BattleGround* bg = source->GetBattleGround(); + return bg && bg->GetTypeId() == BATTLEGROUND_AV && reinterpret_cast(bg)->IsAllTowersControlledAndCaptainAlive(source->GetTeamId()); + } +}; + +// class achievement_sa_defense_of_the_ancients : public AchievementCriteriaScript +// { +// public: +// achievement_sa_defense_of_the_ancients() : AchievementCriteriaScript("achievement_sa_defense_of_the_ancients") { } + +// bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override +// { +// BattleGround* bg = source->GetBattleGround(); +// return bg && bg->GetBgTypeID(true) == BATTLEGROUND_SA && bg->ToBattleGroundSA()->AllowDefenseOfTheAncients(source); +// } +// }; + +// enum ArgentTournamentAreas +// { +// AREA_ARGENT_TOURNAMENT_FIELDS = 4658, +// AREA_RING_OF_ASPIRANTS = 4670, +// AREA_RING_OF_ARGENT_VALIANTS = 4671, +// AREA_RING_OF_ALLIANCE_VALIANTS = 4672, +// AREA_RING_OF_HORDE_VALIANTS = 4673, +// AREA_RING_OF_CHAMPIONS = 4669, +// }; + +class achievement_tilted : public AchievementCriteriaScript +{ +public: + achievement_tilted() : AchievementCriteriaScript("achievement_tilted") {} + + bool OnCheck(Player* player, Unit* /*target*/, uint32 /*criteria_id*/) override + { + if (!player) + return false; + + uint32 areaid = player->GetAreaId(); + // bool checkArea = areaid == AREA_ARGENT_TOURNAMENT_FIELDS || + // areaid == AREA_RING_OF_ASPIRANTS || + // areaid == AREA_RING_OF_ARGENT_VALIANTS || + // areaid == AREA_RING_OF_ALLIANCE_VALIANTS || + // areaid == AREA_RING_OF_HORDE_VALIANTS || + // areaid == AREA_RING_OF_CHAMPIONS; + + bool checkArea = false; + + return checkArea && player->duel;// && player->duel->isMounted; + } +}; + +class achievement_not_even_a_scratch : public AchievementCriteriaScript +{ +public: + achievement_not_even_a_scratch() : AchievementCriteriaScript("achievement_not_even_a_scratch") { } + + bool OnCheck(Player* source, Unit* /*target*/, uint32 /*criteria_id*/) override + { + if (!source) + return false; + + BattleGround* battleground = source->GetBattleGround(); + // return battleground && battleground->GetTypeID() == BATTLEGROUND_SA && battleground->ToBattleGroundSA()->notEvenAScratch(source->GetTeamId()); + return false; + } +}; + +class achievement_killed_exp_or_honor_target : public AchievementCriteriaScript +{ +public: + achievement_killed_exp_or_honor_target() : AchievementCriteriaScript("achievement_killed_exp_or_honor_target") { } + + bool OnCheck(Player* player, Unit* target, uint32 /*criteria_id*/) override + { + return target && player->isHonorOrXPTarget(target); + } +}; + +void AddSC_achievement_scripts() +{ + new achievement_resilient_victory(); + new achievement_bg_control_all_nodes(); + new achievement_save_the_day(); + // new achievement_bg_ic_resource_glut(); + // new achievement_bg_ic_glaive_grave(); + // new achievement_bg_ic_mowed_down(); + // new achievement_bg_sa_artillery(); + new achievement_sickly_gazelle(); + new achievement_everything_counts(); + new achievement_bg_av_perfection(); + // new achievement_arena_by_type("achievement_arena_2v2_check", ARENA_TYPE_2v2); + // new achievement_arena_by_type("achievement_arena_3v3_check", ARENA_TYPE_3v3); + // new achievement_arena_by_type("achievement_arena_5v5_check", ARENA_TYPE_5v5); + // new achievement_sa_defense_of_the_ancients(); + new achievement_tilted(); + new achievement_not_even_a_scratch(); + new achievement_killed_exp_or_honor_target(); +} diff --git a/src/game/AuctionHouse/AuctionHouseHandler.cpp b/src/game/AuctionHouse/AuctionHouseHandler.cpp index b173f9735b..cdeb1b4e0d 100644 --- a/src/game/AuctionHouse/AuctionHouseHandler.cpp +++ b/src/game/AuctionHouse/AuctionHouseHandler.cpp @@ -322,6 +322,10 @@ void WorldSession::HandleAuctionSellItem(WorldPacket& recv_data) itemGuid.GetString().c_str(), auctioneerGuid.GetString().c_str(), bid, buyout, etime, auctionHouseEntry->houseId); SendAuctionCommandResult(AH, AUCTION_STARTED, AUCTION_OK); + +#ifdef USE_ACHIEVEMENTS + GetPlayer()->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_CREATE_AUCTION, 1); +#endif } // this function is called when client bids or buys out auction diff --git a/src/game/AuctionHouse/AuctionHouseMgr.cpp b/src/game/AuctionHouse/AuctionHouseMgr.cpp index 8edac7369c..8022914b56 100644 --- a/src/game/AuctionHouse/AuctionHouseMgr.cpp +++ b/src/game/AuctionHouse/AuctionHouseMgr.cpp @@ -804,6 +804,13 @@ bool AuctionEntry::UpdateBid(uint32 newbid, Player* newbidder /*=nullptr*/) if (auction_owner && newbidder) // don't send notification unless newbidder is set (AHBot bidding), otherwise player will be told auction was sold when it was just a bid auction_owner->GetSession()->SendAuctionOwnerNotification(this, false); +#ifdef USE_ACHIEVEMENTS + if (newbidder) + { + newbidder->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_BID, newbid); + } +#endif + // after this update we should save player's money ... CharacterDatabase.BeginTransaction(); CharacterDatabase.PExecute("UPDATE auction SET buyguid = '%u', lastbid = '%u' WHERE id = '%u'", bidder, bid, Id); @@ -812,7 +819,16 @@ bool AuctionEntry::UpdateBid(uint32 newbid, Player* newbidder /*=nullptr*/) CharacterDatabase.CommitTransaction(); return true; } + // buyout AuctionBidWinning(newbidder); + +#ifdef USE_ACHIEVEMENTS + if (newbidder) + { + newbidder->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_BID, buyout); + } +#endif + return false; } diff --git a/src/game/BattleGround/BattleGround.cpp b/src/game/BattleGround/BattleGround.cpp index 5417351802..7e06b72483 100644 --- a/src/game/BattleGround/BattleGround.cpp +++ b/src/game/BattleGround/BattleGround.cpp @@ -269,7 +269,10 @@ BattleGround::~BattleGround() // unload map // map can be null at bg destruction if (m_bgMap) + { m_bgMap->SetUnload(); + m_bgMap->SetBG(nullptr); + } // remove from bg free slot queue this->RemoveFromBgFreeSlotQueue(); @@ -821,6 +824,10 @@ void BattleGround::EndBattleGround(Team winner) { RewardMark(plr, ITEM_WINNER_COUNT); RewardQuestComplete(plr); + +#ifdef USE_ACHIEVEMENTS + plr->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_WIN_BG, plr->GetMapId()); +#endif } else RewardMark(plr, ITEM_LOSER_COUNT); @@ -835,6 +842,10 @@ void BattleGround::EndBattleGround(Team winner) BattleGroundQueueTypeId bgQueueTypeId = BattleGroundMgr::BgQueueTypeId(GetTypeId()); sBattleGroundMgr.BuildBattleGroundStatusPacket(data, this, plr->GetBattleGroundQueueIndex(bgQueueTypeId), STATUS_IN_PROGRESS, TIME_TO_AUTOREMOVE, GetStartTime()); plr->GetSession()->SendPacket(data); + +#ifdef USE_ACHIEVEMENTS + plr->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND, plr->GetMapId()); +#endif } // AV message is different - TODO: check if others are also wrong @@ -1127,12 +1138,29 @@ void BattleGround::RemovePlayerAtLeave(ObjectGuid playerGuid, bool isOnTransport if (isOnTransport) player->TeleportToBGEntryPoint(); +#ifdef USE_ACHIEVEMENTS + // Xinef: remove all criterias on bg leave + player->ResetAchievementCriteria(ACHIEVEMENT_CRITERIA_CONDITION_BG_MAP, GetMapId(), true); +#endif + DETAIL_LOG("BATTLEGROUND: Removed player %s from BattleGround.", player->GetName()); } // battleground object will be deleted next BattleGround::Update() call } +#ifdef USE_ACHIEVEMENTS +void BattleGround::StartTimedAchievement(uint32 type, uint32 entry) +{ + for (BattleGroundPlayerMap::const_iterator itr = GetPlayers().begin(); itr != GetPlayers().end(); ++itr) + { + Player* plr = sObjectMgr.GetPlayer(itr->first); + if (plr) + plr->StartTimedAchievement((AchievementCriteriaTimedTypes)type, entry); + } +} +#endif + /** Method that is called when no players remains in battleground */ @@ -1207,6 +1235,11 @@ void BattleGround::AddPlayer(Player* player) sBattleGroundMgr.BuildPlayerJoinedBattleGroundPacket(data, player); SendPacketToTeam(team, data, player, false); +#ifdef USE_ACHIEVEMENTS + // Xinef: reset all map criterias on map enter + player->ResetAchievementCriteria(ACHIEVEMENT_CRITERIA_CONDITION_BG_MAP, GetMapId(), true); +#endif + // setup BG group membership PlayerAddedToBgCheckIfBgIsRunning(player); AddOrSetPlayerToCorrectBgGroup(player, guid, team); @@ -1487,6 +1520,15 @@ void BattleGround::OnObjectDBLoad(GameObject* obj) } } +uint32 BattleGround::GetSingleGameObjectGuid(uint8 event1, uint8 event2) +{ + auto itr = m_eventObjects[MAKE_PAIR32(event1, event2)].gameobjects.begin(); + if (itr != m_eventObjects[MAKE_PAIR32(event1, event2)].gameobjects.end()) + return *itr; + + return ObjectGuid(); +} + /** Function that checks if event handles doors @@ -1756,11 +1798,15 @@ void BattleGround::HandleTriggerBuff(ObjectGuid go_guid) */ void BattleGround::HandleKillPlayer(Player* player, Player* killer) { - // add +1 deaths - UpdatePlayerScore(player, SCORE_DEATHS, 1); + if (!player->HasAura(27827)) // do not count spirit of redemption + { + // add +1 deaths + UpdatePlayerScore(player, SCORE_DEATHS, 1); + player->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE); + } // add +1 kills to group and +1 killing_blows to killer - if (killer) + if (killer && player->GetFactionTemplateEntry() != killer->GetFactionTemplateEntry()) { UpdatePlayerScore(killer, SCORE_HONORABLE_KILLS, 1); UpdatePlayerScore(killer, SCORE_KILLING_BLOWS, 1); diff --git a/src/game/BattleGround/BattleGround.h b/src/game/BattleGround/BattleGround.h index b142aaf670..b6641e974f 100644 --- a/src/game/BattleGround/BattleGround.h +++ b/src/game/BattleGround/BattleGround.h @@ -370,6 +370,11 @@ class BattleGround o = m_teamStartLocO[idx]; } +#ifdef USE_ACHIEVEMENTS + virtual bool AllNodesConrolledByTeam(PvpTeamIndex teamId) const { return false; } + void StartTimedAchievement(uint32 type, uint32 entry); +#endif + void SetStartMaxDist(float startMaxDist) { m_startMaxDist = startMaxDist; } float GetStartMaxDist() const { return m_startMaxDist; } @@ -507,6 +512,9 @@ class BattleGround // Get creature guid from event uint32 GetSingleCreatureGuid(uint8 /*event1*/, uint8 /*event2*/); + // Get gameobject guid from event + uint32 GetSingleGameObjectGuid(uint8 /*event1*/, uint8 /*event2*/); + // Handle door events void OpenDoorEvent(uint8 /*event1*/, uint8 event2 = 0); bool IsDoorEvent(uint8 /*event1*/, uint8 /*event2*/) const; @@ -537,6 +545,8 @@ class BattleGround // returns the other team index static PvpTeamIndex GetOtherTeamIndex(PvpTeamIndex teamIdx) { return teamIdx == TEAM_INDEX_ALLIANCE ? TEAM_INDEX_HORDE : TEAM_INDEX_ALLIANCE; } + virtual int32 GetTeamScore(PvpTeamIndex team) const { return 0; } + // checke if player is inside battleground bool IsPlayerInBattleGround(ObjectGuid /*playerGuid*/); diff --git a/src/game/BattleGround/BattleGroundAB.cpp b/src/game/BattleGround/BattleGroundAB.cpp index 8088ed603d..e42ae70ead 100644 --- a/src/game/BattleGround/BattleGroundAB.cpp +++ b/src/game/BattleGround/BattleGroundAB.cpp @@ -32,6 +32,11 @@ BattleGroundAB::BattleGroundAB(): m_isInformedNearVictory(false), m_honorTicks(0 m_startMessageIds[BG_STARTING_EVENT_SECOND] = LANG_BG_AB_START_ONE_MINUTE; m_startMessageIds[BG_STARTING_EVENT_THIRD] = LANG_BG_AB_START_HALF_MINUTE; m_startMessageIds[BG_STARTING_EVENT_FOURTH] = LANG_BG_AB_HAS_BEGUN; + +#ifdef USE_ACHIEVEMENTS + _teamScores500Disadvantage[TEAM_INDEX_ALLIANCE] = false; + _teamScores500Disadvantage[TEAM_INDEX_HORDE] = false; +#endif } void BattleGroundAB::Update(uint32 diff) @@ -142,6 +147,18 @@ void BattleGroundAB::Update(uint32 diff) // update resource world state GetBgMap()->GetVariableManager().SetVariable(worldstateId, newValue); + +#ifdef USE_ACHIEVEMENTS + if (teamIndex != TEAM_INDEX_NEUTRAL) + { + uint32 teamScore = GetTeamScore((PvpTeamIndex)teamIndex); + uint32 otherTeamScore = GetTeamScore(GetOtherTeamIndex((PvpTeamIndex)teamIndex)); + if (teamScore > (otherTeamScore + 500)) + { + _teamScores500Disadvantage[GetOtherTeamIndex((PvpTeamIndex)teamIndex)] = true; + } + } +#endif } } @@ -152,6 +169,13 @@ void BattleGroundAB::Update(uint32 diff) EndBattleGround(HORDE); } +#ifdef USE_ACHIEVEMENTS +bool BattleGroundAB::AllNodesConrolledByTeam(PvpTeamIndex teamId) const +{ + return _controlledPoints[teamId] == BG_AB_MAX_NODES; +} +#endif + void BattleGroundAB::StartingEventOpenDoors() { OpenDoorEvent(BG_EVENT_DOOR); @@ -252,6 +276,11 @@ void BattleGroundAB::ProcessNodeCapture(uint8 node, PvpTeamIndex teamIdx) GetBgMap()->GetGraveyardManager().SetGraveYardLinkTeam(abGraveyardIds[node], BG_AB_ZONE_MAIN, team); } +int32 BattleGroundAB::GetTeamScore(PvpTeamIndex team) const +{ + return GetBgMap()->GetVariableManager().GetVariable(team == TEAM_INDEX_ALLIANCE ? BG_AB_OP_RESOURCES_ALLY : BG_AB_OP_RESOURCES_HORDE); +} + // Method that handles the banner click void BattleGroundAB::HandlePlayerClickedOnFlag(Player* player, GameObject* go) { @@ -430,8 +459,12 @@ void BattleGroundAB::Reset() } // setup graveyards - GetBgMap()->GetGraveyardManager().SetGraveYardLinkTeam(AB_GRAVEYARD_ALLIANCE, BG_AB_ZONE_MAIN, ALLIANCE); - GetBgMap()->GetGraveyardManager().SetGraveYardLinkTeam(AB_GRAVEYARD_HORDE, BG_AB_ZONE_MAIN, HORDE); + // disable gy near base during starting phase + GetBgMap()->GetGraveyardManager().SetGraveYardLinkTeam(AB_GRAVEYARD_ALLIANCE, BG_AB_ZONE_MAIN, TEAM_INVALID); + GetBgMap()->GetGraveyardManager().SetGraveYardLinkTeam(AB_GRAVEYARD_HORDE, BG_AB_ZONE_MAIN, TEAM_INVALID); + // enable gy inside base during starting phase + GetBgMap()->GetGraveyardManager().SetGraveYardLinkTeam(AB_GRAVEYARD_ALLIANCE_BASE, BG_AB_ZONE_MAIN, ALLIANCE); + GetBgMap()->GetGraveyardManager().SetGraveYardLinkTeam(AB_GRAVEYARD_HORDE_BASE, BG_AB_ZONE_MAIN, HORDE); } void BattleGroundAB::EndBattleGround(Team winner) diff --git a/src/game/BattleGround/BattleGroundAB.h b/src/game/BattleGround/BattleGroundAB.h index fe70fff194..1153537480 100644 --- a/src/game/BattleGround/BattleGroundAB.h +++ b/src/game/BattleGround/BattleGroundAB.h @@ -238,6 +238,8 @@ class BattleGroundAB : public BattleGround // Process node capture void ProcessNodeCapture(uint8 node, PvpTeamIndex teamIdx); + int32 GetTeamScore(PvpTeamIndex team) const override; + // Get text id for node int32 GetNodeMessageId(uint8 node) const; @@ -254,5 +256,16 @@ class BattleGroundAB : public BattleGround bool m_isInformedNearVictory; uint32 m_honorTicks; uint32 m_reputationTics; + +#ifdef USE_ACHIEVEMENTS + public: + bool AllNodesConrolledByTeam(PvpTeamIndex teamId) const override; + bool IsTeamScores500Disadvantage(PvpTeamIndex teamId) const { return _teamScores500Disadvantage[teamId]; } + + private: + uint8 _controlledPoints[PVP_TEAM_COUNT]{}; + bool _teamScores500Disadvantage[PVP_TEAM_COUNT]{}; +#endif + }; #endif diff --git a/src/game/BattleGround/BattleGroundAV.cpp b/src/game/BattleGround/BattleGroundAV.cpp index ef196b784e..320eae1f68 100644 --- a/src/game/BattleGround/BattleGroundAV.cpp +++ b/src/game/BattleGround/BattleGroundAV.cpp @@ -100,6 +100,11 @@ void BattleGroundAV::HandleKillUnit(Creature* creature, Player* killer) // spawn fire objects SpawnEvent(BG_AV_NODE_CAPTAIN_DEAD_H, 0, true); + +#ifdef USE_ACHIEVEMENTS + m_CaptainAlive[1] = false; +#endif + break; } case BG_AV_NPC_MORLOCH: @@ -496,7 +501,7 @@ void BattleGroundAV::ProcessPlayerDestroyedPoint(AVNodeIds node) PvpTeamIndex otherTeamIdx = GetOtherTeamIndex(ownerTeamIdx); Team ownerTeam = GetTeamIdByTeamIndex(ownerTeamIdx); - bool isTower = m_nodes[node].graveyardId == 0; + bool isTower = !m_nodes[node].graveyardId; uint32 newState = ownerTeam == ALLIANCE ? avNodeWorldStates[node].worldStateAlly : avNodeWorldStates[node].worldStateHorde; // despawn banner @@ -670,6 +675,10 @@ void BattleGroundAV::ProcessPlayerDefendsPoint(Player* player, AVNodeIds node) uint32 objId = isTower ? 64 : 65; // process world state + if (!isTower) + { + GetBgMap()->GetGraveyardManager().SetGraveYardLinkTeam(avNodeDefaults[node].graveyardId, BG_AV_ZONE_MAIN, GetTeamIdByTeamIndex(teamIdx)); + } // send yell and sound DoSendYellToTeam(teamIdx, yellId, node); @@ -834,6 +843,11 @@ void BattleGroundAV::DefendNode(AVNodeIds node, PvpTeamIndex teamIdx) m_nodes[node].timer = 0; } +int32 BattleGroundAV::GetTeamScore(PvpTeamIndex team) const +{ + return GetBgMap()->GetVariableManager().GetVariable(team == TEAM_INDEX_ALLIANCE ? BG_AV_STATE_SCORE_A : BG_AV_STATE_SCORE_H); +} + void BattleGroundAV::Reset() { BattleGround::Reset(); @@ -955,3 +969,60 @@ bool BattleGroundAV::IsConditionFulfilled(Player const* source, uint32 condition return false; } + +#ifdef USE_ACHIEVEMENTS + +bool BattleGroundAV::IsBothMinesControlledByTeam(PvpTeamIndex teamId) const +{ + for (auto mine : m_mineOwner) + if (mine != teamId) + return false; + + return true; +} + +bool BattleGroundAV::IsAllTowersControlledAndCaptainAlive(PvpTeamIndex teamId) const +{ + if (teamId == TEAM_INDEX_ALLIANCE) + { + for (uint8 i = BG_AV_NODES_DUNBALDAR_SOUTH; i <= BG_AV_NODES_STONEHEART_BUNKER; ++i) // alliance towers controlled + { + if (m_nodes[i].state == POINT_CONTROLLED) + { + if (m_nodes[i].owner != TEAM_INDEX_ALLIANCE) + return false; + } + else + return false; + } + + for (uint8 i = BG_AV_NODES_ICEBLOOD_TOWER; i <= BG_AV_NODES_FROSTWOLF_WTOWER; ++i) // horde towers destroyed + if (m_nodes[i].state != POINT_ASSAULTED) + return false; + + return m_CaptainAlive[0]; + } + else if (teamId == TEAM_INDEX_HORDE) + { + for (uint8 i = BG_AV_NODES_ICEBLOOD_TOWER; i <= BG_AV_NODES_FROSTWOLF_WTOWER; ++i) // horde towers controlled + { + if (m_nodes[i].state == POINT_CONTROLLED) + { + if (m_nodes[i].owner != TEAM_INDEX_HORDE) + return false; + } + else + return false; + } + + for (uint8 i = BG_AV_NODES_DUNBALDAR_SOUTH; i <= BG_AV_NODES_STONEHEART_BUNKER; ++i) // alliance towers destroyed + if (m_nodes[i].state != POINT_ASSAULTED) + return false; + + return m_CaptainAlive[1]; + } + + return false; +} + +#endif \ No newline at end of file diff --git a/src/game/BattleGround/BattleGroundAV.h b/src/game/BattleGround/BattleGroundAV.h index 1cc59e234b..d71287d9b3 100644 --- a/src/game/BattleGround/BattleGroundAV.h +++ b/src/game/BattleGround/BattleGroundAV.h @@ -621,6 +621,8 @@ class BattleGroundAV : public BattleGround void DestroyNode(AVNodeIds node); void DefendNode(AVNodeIds node, PvpTeamIndex teamIdx); + int32 GetTeamScore(PvpTeamIndex team) const override; + void PopulateNode(AVNodeIds node); int32 GetNodeMessageId(AVNodeIds node) const; @@ -657,6 +659,15 @@ class BattleGroundAV : public BattleGround uint32 m_repOwnedMine; uint32 m_repSurviveCaptain; uint32 m_repSurviveTower; + +#ifdef USE_ACHIEVEMENTS + public: + bool IsBothMinesControlledByTeam(PvpTeamIndex teamId) const; + bool IsAllTowersControlledAndCaptainAlive(PvpTeamIndex teamId) const; + + private: + bool m_CaptainAlive[2]{}; +#endif }; #endif diff --git a/src/game/BattleGround/BattleGroundHandler.cpp b/src/game/BattleGround/BattleGroundHandler.cpp index 8f4441a93b..dedc038b55 100644 --- a/src/game/BattleGround/BattleGroundHandler.cpp +++ b/src/game/BattleGround/BattleGroundHandler.cpp @@ -163,7 +163,16 @@ void WorldSession::HandleBattlemasterJoinOpcode(WorldPacket& recv_data) uint32 err = grp->CanJoinBattleGroundQueue(bgTypeId, bgQueueTypeId, 0, bg->GetMaxPlayersPerTeam()); isPremade = sWorld.getConfig(CONFIG_UINT32_BATTLEGROUND_PREMADE_GROUP_WAIT_FOR_MATCH) && (grp->GetMembersCount() >= bg->GetMinPlayersPerTeam()); - if (err != BG_JOIN_ERR_OK) + + if (err == BG_JOIN_ERR_GROUP_DESERTER) + { + WorldPacket data; + sBattleGroundMgr.BuildGroupJoinedBattlegroundPacket(data, BG_GROUPJOIN_DESERTERS); + _player->GetSession()->SendPacket(data); + SendBattleGroundJoinError(err); + return; + } + else if (err != BG_JOIN_ERR_OK) { SendBattleGroundJoinError(err); return; @@ -193,7 +202,7 @@ void WorldSession::HandleBattlemasterJoinOpcode(WorldPacket& recv_data) // send status packet (in queue) sBattleGroundMgr.BuildBattleGroundStatusPacket(data, bg, queueSlot, STATUS_WAIT_QUEUE, avgTime, 0); member->GetSession()->SendPacket(data); - sBattleGroundMgr.BuildGroupJoinedBattlegroundPacket(data, bgTypeId); + sBattleGroundMgr.BuildGroupJoinedBattlegroundPacket(data, bg->GetMapId()); member->GetSession()->SendPacket(data); DEBUG_LOG("Battleground: player joined queue for bg queue type %u bg type %u: GUID %u, NAME %s", bgQueueTypeId, bgTypeId, member->GetGUIDLow(), member->GetName()); } @@ -372,6 +381,14 @@ void WorldSession::HandleBattlefieldPortOpcode(WorldPacket& recv_data) return; } + // if player is not removed from queue by the time BG has ended + if (action == 1 && bg->GetStatus() == STATUS_WAIT_LEAVE) + { + sLog.outError("Battleground: Player %s (%u) tried to enter already finished battleground (%u)! Do not port him to battleground!", + _player->GetName(), _player->GetGUIDLow(), bg->GetTypeId()); + action = 0; + } + // some checks if player isn't cheating - it is not exactly cheating, but we cannot allow it if (action == 1) { diff --git a/src/game/BattleGround/BattleGroundMgr.cpp b/src/game/BattleGround/BattleGroundMgr.cpp index 6aed80ae95..916d4616ed 100644 --- a/src/game/BattleGround/BattleGroundMgr.cpp +++ b/src/game/BattleGround/BattleGroundMgr.cpp @@ -1089,7 +1089,7 @@ void BattleGroundMgr::BuildPvpLogDataPacket(WorldPacket& data, BattleGround* bg) @param packet @param result */ -void BattleGroundMgr::BuildGroupJoinedBattlegroundPacket(WorldPacket& data, BattleGroundTypeId bgTypeId) const +void BattleGroundMgr::BuildGroupJoinedBattlegroundPacket(WorldPacket& data, int32 status) const { /*bgTypeId is: 0 - Your group has joined a battleground queue, but you are not eligible @@ -1097,7 +1097,7 @@ void BattleGroundMgr::BuildGroupJoinedBattlegroundPacket(WorldPacket& data, Batt 2 - Your group has joined the queue for WS 3 - Your group has joined the queue for AB*/ data.Initialize(SMSG_GROUP_JOINED_BATTLEGROUND, 4); - data << uint32(bgTypeId); + data << int32(status); } /** diff --git a/src/game/BattleGround/BattleGroundMgr.h b/src/game/BattleGround/BattleGroundMgr.h index a00cf24138..8f50214aa8 100644 --- a/src/game/BattleGround/BattleGroundMgr.h +++ b/src/game/BattleGround/BattleGroundMgr.h @@ -64,6 +64,13 @@ enum BattleGroundQueueGroupTypes BG_QUEUE_NORMAL_HORDE = 3 }; +enum BattleGroundGroupJoinStatus +{ + BG_GROUPJOIN_DESERTERS = -2, + BG_GROUPJOIN_FAILED = -1 // actually, any negative except 2 + // any other value is a MapID meaning successful join +}; + #define BG_QUEUE_GROUP_TYPES_COUNT 4 class BattleGround; @@ -191,7 +198,7 @@ class BattleGroundMgr void BuildPlayerJoinedBattleGroundPacket(WorldPacket& /*data*/, Player* /*player*/) const; void BuildPlayerLeftBattleGroundPacket(WorldPacket& /*data*/, ObjectGuid /*guid*/) const; void BuildBattleGroundListPacket(WorldPacket& /*data*/, ObjectGuid /*guid*/, Player* /*player*/, BattleGroundTypeId /*bgTypeId*/) const; - void BuildGroupJoinedBattlegroundPacket(WorldPacket& /*data*/, BattleGroundTypeId /*bgTypeId*/) const; + void BuildGroupJoinedBattlegroundPacket(WorldPacket& /*data*/, int32 /*status*/) const; void BuildUpdateWorldStatePacket(WorldPacket& /*data*/, uint32 /*field*/, uint32 /*value*/) const; void BuildPvpLogDataPacket(WorldPacket& /*data*/, BattleGround* /*bg*/) const; void BuildBattleGroundStatusPacket(WorldPacket& /*data*/, BattleGround* /*bg*/, uint8 /*queueSlot*/, uint8 /*statusId*/, uint32 /*time1*/, uint32 /*time2*/) const; diff --git a/src/game/BattleGround/BattleGroundWS.cpp b/src/game/BattleGround/BattleGroundWS.cpp index 185802a41e..590aeeee0d 100644 --- a/src/game/BattleGround/BattleGroundWS.cpp +++ b/src/game/BattleGround/BattleGroundWS.cpp @@ -86,6 +86,10 @@ void BattleGroundWS::StartingEventOpenDoors() GetBgMap()->GetGraveyardManager().SetGraveYardLinkTeam(WS_GRAVEYARD_MAIN_HORDE, BG_WS_ZONE_ID_MAIN, HORDE); GetBgMap()->GetGraveyardManager().SetGraveYardLinkTeam(WS_GRAVEYARD_FLAGROOM_ALLIANCE, BG_WS_ZONE_ID_MAIN, TEAM_INVALID); GetBgMap()->GetGraveyardManager().SetGraveYardLinkTeam(WS_GRAVEYARD_FLAGROOM_HORDE, BG_WS_ZONE_ID_MAIN, TEAM_INVALID); + +#ifdef USE_ACHIEVEMENTS + StartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, BG_WS_EVENT_START_BATTLE); +#endif } void BattleGroundWS::AddPlayer(Player* player) @@ -172,6 +176,7 @@ void BattleGroundWS::ProcessPlayerFlagScoreEvent(Player* player) // Horde flag in base (but not respawned yet) GetBgMap()->GetVariableManager().SetVariable(wsFlagPickedUp[otherTeamIdx], BG_WS_FLAG_STATE_ON_BASE); + GetBgMap()->GetVariableManager().SetVariable(wsFlagHUDPickedUp[otherTeamIdx], BG_WS_FLAG_ICON_INVISIBLE); m_flagOnRespawn[otherTeamIdx] = true; // Drop Horde Flag from Player @@ -188,9 +193,6 @@ void BattleGroundWS::ProcessPlayerFlagScoreEvent(Player* player) int32 pointsWorldState = team == ALLIANCE ? BG_WS_STATE_CAPTURES_ALLIANCE : BG_WS_STATE_CAPTURES_HORDE; GetBgMap()->GetVariableManager().SetVariable(pointsWorldState, GetBgMap()->GetVariableManager().GetVariable(pointsWorldState) + 1); - GetBgMap()->GetVariableManager().SetVariable(wsFlagPickedUp[teamIdx], BG_WS_FLAG_STATE_ON_BASE); - GetBgMap()->GetVariableManager().SetVariable(wsFlagHUDPickedUp[teamIdx], BG_WS_FLAG_ICON_INVISIBLE); - // despawn flags SpawnEvent(WS_EVENT_FLAG_A, 0, false); SpawnEvent(WS_EVENT_FLAG_H, 0, false); @@ -272,6 +274,10 @@ void BattleGroundWS::ProcessFlagPickUpFromBase(Player* player, Team attackerTeam PlaySoundToAll(wsgFlagData[otherTeamIdx][BG_WS_FLAG_ACTION_PICKEDUP].soundId); SendMessageToAll(wsgFlagData[otherTeamIdx][BG_WS_FLAG_ACTION_PICKEDUP].messageId, wsgFlagData[teamIdx][BG_WS_FLAG_ACTION_PICKEDUP].chatType, player); player->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_PVP_ACTIVE_CANCELS); + +#ifdef USE_ACHIEVEMENTS + player->StartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_SPELL_TARGET, teamIdx == TEAM_INDEX_HORDE ? BG_WS_SPELL_SILVERWING_FLAG_PICKED : BG_WS_SPELL_WARSONG_FLAG_PICKED); +#endif } // Function that handles the click action on the dropped flag @@ -328,6 +334,11 @@ void BattleGroundWS::ProcessDroppedFlagActions(Player* player, GameObject* targe player->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_PVP_ACTIVE_CANCELS); } +int32 BattleGroundWS::GetTeamScore(PvpTeamIndex team) const +{ + return GetBgMap()->GetVariableManager().GetVariable(team == TEAM_INDEX_ALLIANCE ? BG_WS_STATE_CAPTURES_ALLIANCE : BG_WS_STATE_CAPTURES_HORDE); +} + // Handle flag click event void BattleGroundWS::HandlePlayerClickedOnFlag(Player* player, GameObject* goTarget) { @@ -564,9 +575,15 @@ void BattleGroundWS::UpdatePlayerScore(Player* player, uint32 type, uint32 value { case SCORE_FLAG_CAPTURES: // flags captured ((BattleGroundWGScore*)itr->second)->flagCaptures += value; +#ifdef USE_ACHIEVEMENTS + player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE, BG_WS_OBJECTIVE_CAPTURE_FLAG); +#endif break; case SCORE_FLAG_RETURNS: // flags returned ((BattleGroundWGScore*)itr->second)->flagReturns += value; +#ifdef USE_ACHIEVEMENTS + player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE, BG_WS_OBJECTIVE_RETURN_FLAG); +#endif break; default: BattleGround::UpdatePlayerScore(player, type, value); diff --git a/src/game/BattleGround/BattleGroundWS.h b/src/game/BattleGround/BattleGroundWS.h index 7d389a5092..1e70d1ad2e 100644 --- a/src/game/BattleGround/BattleGroundWS.h +++ b/src/game/BattleGround/BattleGroundWS.h @@ -54,6 +54,10 @@ enum WSSounds enum WSSpells { +#ifdef USE_ACHIEVEMENTS + BG_WS_SPELL_WARSONG_FLAG_PICKED = 61266, // fake spell, does not exist but used as timer start event + BG_WS_SPELL_SILVERWING_FLAG_PICKED = 61265, // fake spell, does not exist but used as timer start event +#endif BG_WS_SPELL_WARSONG_FLAG = 23333, BG_WS_SPELL_WARSONG_FLAG_DROPPED = 23334, BG_WS_SPELL_SILVERWING_FLAG = 23335, @@ -74,6 +78,16 @@ enum WSWorldStates BG_WS_STATE_FLAG_ALLIANCE = 2339, }; +#ifdef USE_ACHIEVEMENTS +enum WSObjectives +{ + BG_WS_OBJECTIVE_CAPTURE_FLAG = 42, + BG_WS_OBJECTIVE_RETURN_FLAG = 44, + + BG_WS_EVENT_START_BATTLE = 8563 +}; +#endif + enum WSFlagActions { BG_WS_FLAG_ACTION_NONE = -1, @@ -146,7 +160,7 @@ enum WSScriptEvents }; static const uint32 wsFlagPickedUp[PVP_TEAM_COUNT] = { BG_WS_STATE_FLAG_PICKED_UP_FLAG_STATE_ALLIANCE, BG_WS_STATE_FLAG_PICKED_UP_FLAG_STATE_HORDE }; -static const uint32 wsFlagHUDPickedUp[PVP_TEAM_COUNT] = { BG_WS_STATE_FLAG_ALLIANCE, BG_WS_STATE_FLAG_HORDE }; +static const uint32 wsFlagHUDPickedUp[PVP_TEAM_COUNT] = { BG_WS_STATE_FLAG_HORDE, BG_WS_STATE_FLAG_ALLIANCE }; static const uint32 wsDroppedFlagId[PVP_TEAM_COUNT] = { GO_WS_SILVERWING_FLAG_DROP, GO_WS_WARSONG_FLAG_DROP }; @@ -232,7 +246,7 @@ class BattleGroundWS : public BattleGround // Flag interactions void ClearDroppedFlagGuid(Team team) { m_droppedFlagGuid[GetTeamIndexByTeamId(team)].Clear();} - ObjectGuid const& GetDroppedFlagGuid(Team team) const { return m_droppedFlagGuid[GetTeamIndexByTeamId(team)];} + ObjectGuid const& GetDroppedFlagGuid(Team team) const { return m_droppedFlagGuid[GetTeamIndexByTeamId(team)]; } void RespawnFlagAtBase(Team team, bool wasCaptured); void RespawnDroppedFlag(Team team); @@ -241,6 +255,8 @@ class BattleGroundWS : public BattleGround void ProcessFlagPickUpFromBase(Player* player, Team attackerTeam); void ProcessDroppedFlagActions(Player* player, GameObject* target); + int32 GetTeamScore(PvpTeamIndex team) const override; + // process score void ProcessPlayerFlagScoreEvent(Player* source); diff --git a/src/game/CMakeLists.txt b/src/game/CMakeLists.txt index 3dca10a49c..c53541d8cf 100644 --- a/src/game/CMakeLists.txt +++ b/src/game/CMakeLists.txt @@ -51,6 +51,28 @@ if(NOT BUILD_PLAYERBOT) endforeach() endif() +if(NOT BUILD_IKE3_BOTS) + # exclude Ike3 Playerbots folder + set (EXCLUDE_DIR "Bots/") + foreach (TMP_PATH ${LIBRARY_SRCS}) + string (FIND ${TMP_PATH} ${EXCLUDE_DIR} EXCLUDE_DIR_FOUND) + if (NOT ${EXCLUDE_DIR_FOUND} EQUAL -1) + list(REMOVE_ITEM LIBRARY_SRCS ${TMP_PATH}) + endif () + endforeach() +endif() + +if(NOT BUILD_ACHIEVEMENTS) + # exclude achievement files + set (EXCLUDE_DIR "Achievements/") + foreach (TMP_PATH ${LIBRARY_SRCS}) + string (FIND ${TMP_PATH} ${EXCLUDE_DIR} EXCLUDE_DIR_FOUND) + if (NOT ${EXCLUDE_DIR_FOUND} EQUAL -1) + list(REMOVE_ITEM LIBRARY_SRCS ${TMP_PATH}) + endif () + endforeach() +endif() + set(PCH_BASE_FILENAME "pchdef") # exclude pchdef files set (EXCLUDE_FILE "${PCH_BASE_FILENAME}") @@ -84,6 +106,7 @@ target_link_libraries(${LIBRARY_NAME} ) # include additionals headers +if(NOT BUILD_IKE3_BOTS) set(ADDITIONAL_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/vmap @@ -93,6 +116,16 @@ set(ADDITIONAL_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/PlayerBot ${CMAKE_BINARY_DIR} ) +else() +set(ADDITIONAL_INCLUDE_DIRS + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/vmap + ${CMAKE_CURRENT_SOURCE_DIR}/AuctionHouseBot + ${CMAKE_CURRENT_SOURCE_DIR}/BattleGround + ${CMAKE_CURRENT_SOURCE_DIR}/OutdoorPvP + ${CMAKE_BINARY_DIR} +) +endif() target_include_directories(${LIBRARY_NAME} INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} @@ -100,6 +133,68 @@ target_include_directories(${LIBRARY_NAME} PRIVATE ${Boost_INCLUDE_DIRS} ) +if(BUILD_IKE3_BOTS) + include_directories( + ${CMAKE_SOURCE_DIR}/src/modules/Bots/playerbot + ${CMAKE_SOURCE_DIR}/src/modules/Bots/ahbot + ${CMAKE_SOURCE_DIR}/src/game + ${CMAKE_SOURCE_DIR}/src/game/AI + ${CMAKE_SOURCE_DIR}/src/game/Accounts + ${CMAKE_SOURCE_DIR}/src/game/Addons + ${CMAKE_SOURCE_DIR}/src/game/Arena + ${CMAKE_SOURCE_DIR}/src/game/AuctionHouse + ${CMAKE_SOURCE_DIR}/src/game/BattleGround + ${CMAKE_SOURCE_DIR}/src/game/Chat + ${CMAKE_SOURCE_DIR}/src/game/ChatCommands + ${CMAKE_SOURCE_DIR}/src/game/Combat + ${CMAKE_SOURCE_DIR}/src/game/DBScripts + ${CMAKE_SOURCE_DIR}/src/game/Entities + ${CMAKE_SOURCE_DIR}/src/game/GMTickets + ${CMAKE_SOURCE_DIR}/src/game/GameEvents + ${CMAKE_SOURCE_DIR}/src/game/Globals + ${CMAKE_SOURCE_DIR}/src/game/Grids + ${CMAKE_SOURCE_DIR}/src/game/Groups + ${CMAKE_SOURCE_DIR}/src/game/Guilds + ${CMAKE_SOURCE_DIR}/src/game/LFG + ${CMAKE_SOURCE_DIR}/src/game/Loot + ${CMAKE_SOURCE_DIR}/src/game/Mails + ${CMAKE_SOURCE_DIR}/src/game/Maps + ${CMAKE_SOURCE_DIR}/src/game/MotionGenerators + ${CMAKE_SOURCE_DIR}/src/game/Movement + ${CMAKE_SOURCE_DIR}/src/game/Object + ${CMAKE_SOURCE_DIR}/src/game/OutdoorPvP + ${CMAKE_SOURCE_DIR}/src/game/Pools + ${CMAKE_SOURCE_DIR}/src/game/Quests + ${CMAKE_SOURCE_DIR}/src/game/References + ${CMAKE_SOURCE_DIR}/src/game/Reputation + ${CMAKE_SOURCE_DIR}/src/game/Server + ${CMAKE_SOURCE_DIR}/src/game/Server + ${CMAKE_SOURCE_DIR}/src/game/Skills + ${CMAKE_SOURCE_DIR}/src/game/Social + ${CMAKE_SOURCE_DIR}/src/game/Spells + ${CMAKE_SOURCE_DIR}/src/game/Tools + ${CMAKE_SOURCE_DIR}/src/game/Trade + ${CMAKE_SOURCE_DIR}/src/game/VoiceChat + ${CMAKE_SOURCE_DIR}/src/game/Warden + ${CMAKE_SOURCE_DIR}/src/game/Weather + ${CMAKE_SOURCE_DIR}/src/game/World + ${CMAKE_SOURCE_DIR}/src/game/WorldHandlers + ${CMAKE_SOURCE_DIR}/src/game/movement + ${CMAKE_SOURCE_DIR}/src/game/vmap + ${CMAKE_SOURCE_DIR}/src/shared + ${CMAKE_SOURCE_DIR}/src/shared/Auth + ${CMAKE_SOURCE_DIR}/src/shared/Config + ${CMAKE_SOURCE_DIR}/src/shared/Common + ${CMAKE_SOURCE_DIR}/src/shared/Database + ${CMAKE_SOURCE_DIR}/src/shared/DataStores + ${CMAKE_SOURCE_DIR}/src/shared/Utilities + ${CMAKE_SOURCE_DIR}/src/shared/Log + ${CMAKE_SOURCE_DIR}/src/shared/Threading + ) + target_link_libraries(${LIBRARY_NAME} PUBLIC Bots) + add_dependencies(${LIBRARY_NAME} Bots) +endif() + if(UNIX) # Both systems don't have libdl and don't need them if (NOT (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD")) @@ -127,6 +222,16 @@ if (BUILD_PLAYERBOT) add_definitions(-DBUILD_PLAYERBOT) endif() +# Define Ike3 Bots ENABLE_PLAYERBOTS if need +if (BUILD_IKE3_BOTS) + add_definitions(-DENABLE_PLAYERBOTS) +endif() + +# Define Achievements USE_ACHIEVEMENTS if need +if (BUILD_ACHIEVEMENTS) + add_definitions(-DUSE_ACHIEVEMENTS) +endif() + if (MSVC) set_target_properties(${LIBRARY_NAME} PROPERTIES PROJECT_LABEL "Game") endif() diff --git a/src/game/Chat/Channel.cpp b/src/game/Chat/Channel.cpp index 1513d39537..f5235f7533 100644 --- a/src/game/Chat/Channel.cpp +++ b/src/game/Chat/Channel.cpp @@ -38,7 +38,7 @@ Channel::Channel(const std::string& name, uint32 channel_id/* = 0*/) if (builtin->flags & CHANNEL_DBC_FLAG_CITY_ONLY2) // for city only channels m_flags |= CHANNEL_FLAG_CITY; - if (builtin->flags & CHANNEL_DBC_FLAG_LFG) // for LFG channel + if (builtin->ChannelID == 24) // for LFG channel m_flags |= CHANNEL_FLAG_LFG; else // for all other channels m_flags |= CHANNEL_FLAG_NOT_LFG; diff --git a/src/game/Chat/Chat.cpp b/src/game/Chat/Chat.cpp index 7d2575a8d1..baa5e7df6a 100644 --- a/src/game/Chat/Chat.cpp +++ b/src/game/Chat/Chat.cpp @@ -35,7 +35,15 @@ #include "Pools/PoolManager.h" #include "GameEvents/GameEventMgr.h" +#ifdef ENABLE_PLAYERBOTS +#include "AhBot.h" +#include "playerbot.h" +#include "PlayerbotAIConfig.h" +#include "GuildTaskMgr.h" +#endif + #include +#include "Hardcore/HardcoreMgr.h" // Supported shift-links (client generated and server side) // |color|Harea:area_id|h[name]|h|r @@ -67,6 +75,7 @@ ChatCommand* ChatHandler::getCommandTable() { "addon", SEC_ADMINISTRATOR, true, &ChatHandler::HandleAccountSetAddonCommand, "", nullptr }, { "gmlevel", SEC_CONSOLE, true, &ChatHandler::HandleAccountSetGmLevelCommand, "", nullptr }, { "password", SEC_CONSOLE, true, &ChatHandler::HandleAccountSetPasswordCommand, "", nullptr }, + { "edition", SEC_ADMINISTRATOR, true, &ChatHandler::HandleAccountSetEditionCommand, "", nullptr }, { nullptr, 0, false, nullptr, "", nullptr } }; @@ -156,6 +165,7 @@ ChatCommand* ChatHandler::getCommandTable() { "level", SEC_ADMINISTRATOR, true, &ChatHandler::HandleCharacterLevelCommand, "", nullptr }, { "rename", SEC_GAMEMASTER, true, &ChatHandler::HandleCharacterRenameCommand, "", nullptr }, { "reputation", SEC_GAMEMASTER, true, &ChatHandler::HandleCharacterReputationCommand, "", nullptr }, + { "citytitle", SEC_ADMINISTRATOR, false, &ChatHandler::HandleCharacterCityTitleCommand, "", nullptr }, { nullptr, 0, false, nullptr, "", nullptr } }; @@ -366,6 +376,7 @@ ChatCommand* ChatHandler::getCommandTable() { "all_myclass", SEC_ADMINISTRATOR, false, &ChatHandler::HandleLearnAllMyClassCommand, "", nullptr }, { "all_myspells", SEC_ADMINISTRATOR, false, &ChatHandler::HandleLearnAllMySpellsCommand, "", nullptr }, { "all_mytalents", SEC_ADMINISTRATOR, false, &ChatHandler::HandleLearnAllMyTalentsCommand, "", nullptr }, + { "all_mylevel", SEC_ADMINISTRATOR, false, &ChatHandler::HandleLearnAllMyLevelCommand, "", nullptr }, { "all_recipes", SEC_GAMEMASTER, false, &ChatHandler::HandleLearnAllRecipesCommand, "", nullptr }, { "", SEC_ADMINISTRATOR, false, &ChatHandler::HandleLearnCommand, "", nullptr }, { nullptr, 0, false, nullptr, "", nullptr } @@ -436,6 +447,7 @@ ChatCommand* ChatHandler::getCommandTable() { "stats", SEC_GAMEMASTER, false, &ChatHandler::HandleMmapStatsCommand, "", nullptr }, { "testarea", SEC_GAMEMASTER, false, &ChatHandler::HandleMmapTestArea, "", nullptr }, { "testheight", SEC_GAMEMASTER, false, &ChatHandler::HandleMmapTestHeight, "", nullptr }, + { "demoapp", SEC_GAMEMASTER, false, &ChatHandler::HandleMmapDemoApp, "", nullptr }, { "", SEC_ADMINISTRATOR, false, &ChatHandler::HandleMmap, "", nullptr }, { nullptr, 0, false, nullptr, "", nullptr } }; @@ -827,6 +839,7 @@ ChatCommand* ChatHandler::getCommandTable() { { "show", SEC_ADMINISTRATOR, false, &ChatHandler::HandleWarEffortCommand, "", nullptr }, { "phase", SEC_ADMINISTRATOR, false, &ChatHandler::HandleWarEffortPhaseCommand, "", nullptr }, + { "gate", SEC_ADMINISTRATOR, false, &ChatHandler::HandleWarEffortGateCommand, "", nullptr }, { "counter", SEC_ADMINISTRATOR, false, &ChatHandler::HandleWarEffortCounterCommand, "", nullptr }, { nullptr, 0, false, nullptr, "", nullptr } }; @@ -886,6 +899,21 @@ ChatCommand* ChatHandler::getCommandTable() { nullptr, 0, false, nullptr, "", nullptr } }; +#ifdef USE_ACHIEVEMENTS + static ChatCommand achievementsCommandTable[] = + { + { "enableAchiever", SEC_PLAYER, false, &ChatHandler::HandleEnableAchiever, "", nullptr }, + { "getCategoties", SEC_GAMEMASTER, false, &ChatHandler::HandleGetCategories, "", nullptr }, + { "getAchievements", SEC_GAMEMASTER, false, &ChatHandler::HandleGetAchievements, "", nullptr }, + { "getCriteria", SEC_GAMEMASTER, false, &ChatHandler::HandleGetCriteria, "", nullptr }, + { "getCharacterCriteria", SEC_GAMEMASTER, false, &ChatHandler::HandleGetCharacterCriteria, "", nullptr }, + { "getCharacterAchievements", SEC_GAMEMASTER, false, &ChatHandler::HandleGetCharacterAchievements, "", nullptr }, + { "add", SEC_GAMEMASTER, false, &ChatHandler::HandleAddAchievement, "", nullptr }, + { "remove", SEC_GAMEMASTER, false, &ChatHandler::HandleRemoveAchievement, "", nullptr }, + { nullptr, 0, false, nullptr, "", nullptr } + }; +#endif + static ChatCommand commandTable[] = { { "anticheat", SEC_GAMEMASTER, true, nullptr, "", anticheatCommandTable}, @@ -893,6 +921,15 @@ ChatCommand* ChatHandler::getCommandTable() { "auction", SEC_ADMINISTRATOR, false, nullptr, "", auctionCommandTable }, #ifdef BUILD_AHBOT { "ahbot", SEC_ADMINISTRATOR, true, nullptr, "", ahbotCommandTable }, + #endif +#ifdef ENABLE_PLAYERBOTS +#ifndef BUILD_AHBOT + { "ahbot", SEC_GAMEMASTER, true, &ChatHandler::HandleAhBotCommand, "", NULL }, +#endif + { "rndbot", SEC_GAMEMASTER, true, &ChatHandler::HandleRandomPlayerbotCommand, "", NULL }, + { "bot", SEC_PLAYER, false, &ChatHandler::HandlePlayerbotCommand, "", NULL }, + { "gtask", SEC_GAMEMASTER, true, &ChatHandler::HandleGuildTaskCommand, "", NULL }, + { "pmon", SEC_GAMEMASTER, true, &ChatHandler::HandlePerfMonCommand, "" }, #endif { "cast", SEC_ADMINISTRATOR, false, nullptr, "", castCommandTable }, { "character", SEC_GAMEMASTER, true, nullptr, "", characterCommandTable}, @@ -989,6 +1026,10 @@ ChatCommand* ChatHandler::getCommandTable() { "worldstate", SEC_ADMINISTRATOR, false, nullptr, "", worldStateTable }, #ifdef BUILD_PLAYERBOT { "bot", SEC_PLAYER, false, &ChatHandler::HandlePlayerbotCommand, "", nullptr }, +#endif + { "hardcore", SEC_GAMEMASTER, false, &ChatHandler::HandleHardcoreCommand, "", nullptr }, +#ifdef USE_ACHIEVEMENTS + { "achievements", SEC_PLAYER, false, nullptr, "", achievementsCommandTable }, #endif { nullptr, 0, false, nullptr, "", nullptr } }; @@ -2009,7 +2050,7 @@ bool ChatHandler::CheckEscapeSequences(const char* message) return false; } - for (uint8 i = 0; i < MAX_LOCALE; ++i) + for (uint8 i = 0; i < MAX_DBC_LOCALE; ++i) { uint32 skillLineNameLength = strlen(skillLine->name[i]); if (skillLineNameLength > 0 && strncmp(skillLine->name[i], buffer, skillLineNameLength) == 0) @@ -2022,7 +2063,7 @@ bool ChatHandler::CheckEscapeSequences(const char* message) } } bool foundName = false; - for (uint8 i = 0; i < MAX_LOCALE; ++i) + for (uint8 i = 0; i < MAX_DBC_LOCALE; ++i) { if (*linkedSpell->SpellName[i] && strcmp(linkedSpell->SpellName[i], buffer) == 0) { @@ -2115,6 +2156,52 @@ bool ChatHandler::CheckEscapeSequences(const char* message) return validSequence == validSequenceIterator; } +bool ChatHandler::HandleHardcoreCommand(char* args) +{ + string command = args; + char* cmd = strtok((char*)args, " "); + char* charname = strtok(NULL, " "); + if (cmd) + { + if (!strcmp(cmd, "reset")) + { + sHardcoreMgr.RemoveAllLoot(); + sHardcoreMgr.RemoveAllGraves(); + } + else if(!strcmp(cmd, "resetgraves")) + { + sHardcoreMgr.RemoveAllGraves(); + } + else if (!strcmp(cmd, "resetloot")) + { + sHardcoreMgr.RemoveAllLoot(); + } + else if (!strcmp(cmd, "spawnloot")) + { + if (m_session && m_session->GetPlayer()) + { + sHardcoreMgr.CreateLoot(m_session->GetPlayer(), nullptr); + } + } + else if (!strcmp(cmd, "spawngrave")) + { + if (m_session && m_session->GetPlayer()) + { + sHardcoreMgr.CreateGrave(m_session->GetPlayer()); + } + } + else if (!strcmp(cmd, "leveldown")) + { + if (m_session && m_session->GetPlayer()) + { + sHardcoreMgr.LevelDown(m_session->GetPlayer()); + } + } + } + + return true; +} + Player* ChatHandler::getSelectedPlayer() const { if (!m_session) diff --git a/src/game/Chat/Chat.h b/src/game/Chat/Chat.h index 726d7fec11..d1db9332a4 100644 --- a/src/game/Chat/Chat.h +++ b/src/game/Chat/Chat.h @@ -101,6 +101,10 @@ class ChatHandler bool HasSentErrorMessage() const { return sentErrorMessage;} +#ifdef ENABLE_PLAYERBOTS + WorldSession* GetSession() { return m_session; } +#endif + /** * \brief Prepare SMSG_GM_MESSAGECHAT/SMSG_MESSAGECHAT * @@ -204,6 +208,7 @@ class ChatHandler bool HandleAccountSetAddonCommand(char* args); bool HandleAccountSetGmLevelCommand(char* args); bool HandleAccountSetPasswordCommand(char* args); + bool HandleAccountSetEditionCommand(char* args); #ifdef BUILD_AHBOT bool HandleAHBotRebuildCommand(char* args); @@ -244,6 +249,7 @@ class ChatHandler bool HandleCharacterLevelCommand(char* args); bool HandleCharacterRenameCommand(char* args); bool HandleCharacterReputationCommand(char* args); + bool HandleCharacterCityTitleCommand(char* args); bool HandleChannelListCommand(char* args); bool HandleChannelStaticCommand(char* args); @@ -384,6 +390,7 @@ class ChatHandler bool HandleLearnAllMyClassCommand(char* args); bool HandleLearnAllMySpellsCommand(char* args); bool HandleLearnAllMyTalentsCommand(char* args); + bool HandleLearnAllMyLevelCommand(char* args); bool HandleListAreaTriggerCommand(char* args); bool HandleListAurasCommand(char* args); @@ -747,6 +754,15 @@ class ChatHandler #ifdef BUILD_PLAYERBOT bool HandlePlayerbotCommand(char* args); #endif + bool HandleHardcoreCommand(char* args); + +#ifdef ENABLE_PLAYERBOTS + bool HandlePlayerbotCommand(char* args); + bool HandleRandomPlayerbotCommand(char* args); + bool HandleAhBotCommand(char* args); + bool HandleGuildTaskCommand(char* args); + bool HandlePerfMonCommand(char* args); +#endif bool HandleMmapPathCommand(char* args); bool HandleMmapLocCommand(char* args); @@ -755,6 +771,7 @@ class ChatHandler bool HandleMmap(char* args); bool HandleMmapTestArea(char* args); bool HandleMmapTestHeight(char* args); + bool HandleMmapDemoApp(char* args); bool HandleLinkAddCommand(char* args); bool HandleLinkRemoveCommand(char* args); @@ -766,6 +783,7 @@ class ChatHandler bool HandleVariablePrint(char* args); bool HandleWarEffortCommand(char* args); bool HandleWarEffortPhaseCommand(char* args); + bool HandleWarEffortGateCommand(char* args); bool HandleWarEffortCounterCommand(char* args); bool HandleScourgeInvasionCommand(char* args); bool HandleScourgeInvasionStateCommand(char* args); @@ -781,6 +799,17 @@ class ChatHandler bool HandlePetLevelLoyaltyCommand(char* args); +#ifdef USE_ACHIEVEMENTS + bool HandleEnableAchiever(char* args); + bool HandleGetCategories(char* args); + bool HandleGetAchievements(char* args); + bool HandleGetCriteria(char* args); + bool HandleGetCharacterCriteria(char* args); + bool HandleGetCharacterAchievements(char* args); + bool HandleAddAchievement(char* args); + bool HandleRemoveAchievement(char* args); +#endif + Player* getSelectedPlayer() const; Unit* getSelectedUnit(bool self = true) const; Creature* getSelectedCreature() const; diff --git a/src/game/Chat/ChatHandler.cpp b/src/game/Chat/ChatHandler.cpp index 2e5ae4ee82..30ff2168a1 100644 --- a/src/game/Chat/ChatHandler.cpp +++ b/src/game/Chat/ChatHandler.cpp @@ -37,6 +37,11 @@ #include "GMTickets/GMTicketMgr.h" #include "Anticheat/Anticheat.hpp" +#ifdef ENABLE_PLAYERBOTS +#include "playerbot.h" +#include "RandomPlayerbotMgr.h" +#endif + bool WorldSession::CheckChatMessage(std::string& msg, bool addon/* = false*/) { #ifdef BUILD_PLAYERBOT @@ -47,8 +52,13 @@ bool WorldSession::CheckChatMessage(std::string& msg, bool addon/* = false*/) // check max length: as of pre-2.3.x disconnects the player if (msg.length() > 255) { - KickPlayer(); - return false; + if (GetOS() != CLIENT_OS_WIN) // Hermes Proxy + utf8limit(msg, 255); + else + { + KickPlayer(); + return false; + } } // skip remaining checks for addon messages or higher sec level accounts @@ -180,6 +190,19 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recv_data) if (!CheckChatMessage(msg)) return; +#ifdef ENABLE_PLAYERBOTS + if (GetSecurity() > SEC_PLAYER && GetPlayer()->IsGameMaster()) + sRandomPlayerbotMgr.HandleCommand(type, msg, *_player, "", TEAM_BOTH_ALLOWED, lang); + else + sRandomPlayerbotMgr.HandleCommand(type, msg, *_player, "", GetPlayer()->GetTeam(), lang); + + // apply to own bots + if (_player->GetPlayerbotMgr()) + { + _player->GetPlayerbotMgr()->HandleCommand(type, msg, lang); + } +#endif + if (type == CHAT_MSG_SAY) { GetPlayer()->Say(msg, lang); @@ -260,7 +283,17 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recv_data) return; } } + +#ifdef ENABLE_PLAYERBOTS + if (player->GetPlayerbotAI()) + { + player->GetPlayerbotAI()->HandleCommand(type, msg, *GetPlayer(), lang); + GetPlayer()->m_speakTime = 0; + GetPlayer()->m_speakCount = 0; + } + if (msg.find("BOT\t") != 0) //These are spoofed SendAddonMessage with channel "WHISPER". +#endif GetPlayer()->Whisper(msg, lang, player->GetObjectGuid()); if (lang != LANG_ADDON && !m_anticheat->IsSilenced()) @@ -299,6 +332,19 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recv_data) ChatHandler::BuildChatPacket(data, ChatMsg(type), msg.c_str(), Language(lang), _player->GetChatTag(), _player->GetObjectGuid(), _player->GetName()); group->BroadcastPacket(data, false, group->GetMemberGroup(GetPlayer()->GetObjectGuid())); +#ifdef ENABLE_PLAYERBOTS + for (GroupReference* itr = group->GetFirstMember(); itr != NULL; itr = itr->next()) + { + Player* player = itr->getSource(); + if (player && player->GetPlayerbotAI()) + { + player->GetPlayerbotAI()->HandleCommand(type, msg, *GetPlayer(), lang); + GetPlayer()->m_speakTime = 0; + GetPlayer()->m_speakCount = 0; + } + } +#endif + break; } case CHAT_MSG_GUILD: @@ -323,6 +369,20 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recv_data) if (Guild* guild = sGuildMgr.GetGuildById(GetPlayer()->GetGuildId())) guild->BroadcastToGuild(this, msg, lang == LANG_ADDON ? LANG_ADDON : LANG_UNIVERSAL); +#ifdef ENABLE_PLAYERBOTS + PlayerbotMgr *mgr = GetPlayer()->GetPlayerbotMgr(); + if (mgr && GetPlayer()->GetGuildId()) + { + for (PlayerBotMap::const_iterator it = mgr->GetPlayerBotsBegin(); it != mgr->GetPlayerBotsEnd(); ++it) + { + Player* const bot = it->second; + if (bot->GetGuildId() == GetPlayer()->GetGuildId()) + bot->GetPlayerbotAI()->HandleCommand(type, msg, *GetPlayer(), lang); + } + } + sRandomPlayerbotMgr.HandleCommand(type, msg, *_player, "", GetPlayer()->GetTeam(), lang); +#endif + break; } case CHAT_MSG_OFFICER: @@ -383,7 +443,22 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recv_data) WorldPacket data; ChatHandler::BuildChatPacket(data, CHAT_MSG_RAID, msg.c_str(), Language(lang), _player->GetChatTag(), _player->GetObjectGuid(), _player->GetName()); group->BroadcastPacket(data, false); + +#ifdef ENABLE_PLAYERBOTS + for (GroupReference* itr = group->GetFirstMember(); itr != NULL; itr = itr->next()) + { + Player* player = itr->getSource(); + if (player && player->GetPlayerbotAI()) + { + player->GetPlayerbotAI()->HandleCommand(type, msg, *GetPlayer(), lang); + GetPlayer()->m_speakTime = 0; + GetPlayer()->m_speakCount = 0; + } + } +#endif + } break; + case CHAT_MSG_RAID_LEADER: { std::string msg; @@ -414,6 +489,20 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recv_data) WorldPacket data; ChatHandler::BuildChatPacket(data, CHAT_MSG_RAID_LEADER, msg.c_str(), Language(lang), _player->GetChatTag(), _player->GetObjectGuid(), _player->GetName()); group->BroadcastPacket(data, false); + +#ifdef ENABLE_PLAYERBOTS + for (GroupReference* itr = group->GetFirstMember(); itr != NULL; itr = itr->next()) + { + Player* player = itr->getSource(); + if (player && player->GetPlayerbotAI()) + { + player->GetPlayerbotAI()->HandleCommand(type, msg, *GetPlayer(), lang); + GetPlayer()->m_speakTime = 0; + GetPlayer()->m_speakCount = 0; + } + } +#endif + } break; case CHAT_MSG_RAID_WARNING: @@ -444,6 +533,20 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recv_data) WorldPacket data; ChatHandler::BuildChatPacket(data, CHAT_MSG_RAID_WARNING, msg.c_str(), Language(lang), _player->GetChatTag(), _player->GetObjectGuid(), _player->GetName()); group->BroadcastPacket(data, true); + +#ifdef ENABLE_PLAYERBOTS + for (GroupReference* itr = group->GetFirstMember(); itr != NULL; itr = itr->next()) + { + Player* player = itr->getSource(); + if (player && player->GetPlayerbotAI()) + { + player->GetPlayerbotAI()->HandleCommand(type, msg, *GetPlayer()); + GetPlayer()->m_speakTime = 0; + GetPlayer()->m_speakCount = 0; + } + } +#endif + } break; case CHAT_MSG_BATTLEGROUND: @@ -516,6 +619,20 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recv_data) if (lang != LANG_ADDON && (chn->HasFlag(Channel::ChannelFlags::CHANNEL_FLAG_GENERAL) || chn->IsStatic())) m_anticheat->Channel(msg); + +#ifdef ENABLE_PLAYERBOTS + // if GM apply to all random bots + if (GetSecurity() > SEC_PLAYER && GetPlayer()->IsGameMaster()) + sRandomPlayerbotMgr.HandleCommand(type, msg, *_player, "", TEAM_BOTH_ALLOWED, lang); + else + sRandomPlayerbotMgr.HandleCommand(type, msg, *_player, "", GetPlayer()->GetTeam(), lang); + + // apply to own bots + if (_player->GetPlayerbotMgr() && chn->GetFlags() & 0x18) + { + _player->GetPlayerbotMgr()->HandleCommand(type, msg, lang); + } +#endif } } } break; @@ -678,6 +795,11 @@ void WorldSession::HandleTextEmoteOpcode(WorldPacket& recv_data) // Send scripted event call if (unit && unit->AI()) unit->AI()->ReceiveEmote(GetPlayer(), textEmote); + +#ifdef USE_ACHIEVEMENTS + // TODO(TsAah): check if we can handle emote achievements + GetPlayer()->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE, textEmote, 0, unit); +#endif } void WorldSession::HandleChatIgnoredOpcode(WorldPacket& recv_data) diff --git a/src/game/Chat/Level0.cpp b/src/game/Chat/Level0.cpp index 041c6bde7f..cab04ffb34 100644 --- a/src/game/Chat/Level0.cpp +++ b/src/game/Chat/Level0.cpp @@ -304,3 +304,133 @@ bool ChatHandler::HandleWhisperRestrictionCommand(char* args) return true; } + + +#ifdef USE_ACHIEVEMENTS + +/** + * Handles the '.achievements enableAddon' command, which should enable sending Achievement UI specific data + * @param args current player categories version + */ +bool ChatHandler::HandleEnableAchiever(char* args) +{ + uint32 version; + if (!ExtractUInt32(&args, version)) + return false; + + if (sAchievementMgr.hasAchiever(m_session)) + return true; + + sAchievementMgr.enableAchiever(m_session, version); + return true; +} + +/** + * Handles the '.achievements getCategoties' command, which should assemble all categories into a message and sed it back to player + * @param args current player categories version + */ +bool ChatHandler::HandleGetCategories(char* args) +{ + uint32 version; + if (!ExtractUInt32(&args, version)) + return false; + + sAchievementMgr.getAllCategories(m_session, version); + return true; +} + +/** + * Handles the '.achievements getAchievements' command, which should assemble all achievements into a message and sed it back to player + * @param args current player achievements version + */ +bool ChatHandler::HandleGetAchievements(char* args) +{ + uint32 version; + if (!ExtractUInt32(&args, version)) + return false; + + sAchievementMgr.getAllAchievements(m_session, version); + return true; +} + +/** + * Handles the '.achievements getCriteria' command, which should assemble all criteria into a message and sed it back to player + * @param args current player criteria version + */ +bool ChatHandler::HandleGetCriteria(char* args) +{ + uint32 version; + if (!ExtractUInt32(&args, version)) + return false; + + sAchievementMgr.getAllCriteria(m_session, version); + return true; +} + +/** + * Handles the '.achievements getCriteria' command, which should assemble all criteria into a message and sed it back to player + * @param args current player criteria version + */ +bool ChatHandler::HandleGetCharacterCriteria(char* args) +{ + sAchievementMgr.getCharacterCriteria(m_session); + return true; +} + +/** + * Handles the '.achievements getCriteria' command, which should assemble all criteria into a message and sed it back to player + * @param args current player criteria version + */ +bool ChatHandler::HandleGetCharacterAchievements(char* args) +{ + sAchievementMgr.getCharacterAchievements(m_session); + return true; +} + +bool ChatHandler::HandleAddAchievement(char* args) +{ + uint32 avhievementId; + if (!ExtractUInt32(&args, avhievementId)) + return false; + + WorldSession* session = m_session; + + // Get the selected player (if any) + Player* target; + ObjectGuid target_guid; + std::string target_name; + if (ExtractPlayerTarget(&args, &target, &target_guid, &target_name)) + { + if (target && target->GetSession()) + { + session = target->GetSession(); + } + } + + return sAchievementMgr.AddAchievement(session, avhievementId); +} + +bool ChatHandler::HandleRemoveAchievement(char* args) +{ + uint32 avhievementId; + if (!ExtractUInt32(&args, avhievementId)) + return false; + + WorldSession* session = m_session; + + // Get the selected player (if any) + Player* target; + ObjectGuid target_guid; + std::string target_name; + if (ExtractPlayerTarget(&args, &target, &target_guid, &target_name)) + { + if (target && target->GetSession()) + { + session = target->GetSession(); + } + } + + return sAchievementMgr.RemoveAchievement(m_session, avhievementId); +} + +#endif \ No newline at end of file diff --git a/src/game/Chat/Level1.cpp b/src/game/Chat/Level1.cpp index 1789a8c0f9..f95836532e 100644 --- a/src/game/Chat/Level1.cpp +++ b/src/game/Chat/Level1.cpp @@ -1288,7 +1288,7 @@ bool ChatHandler::HandleLookupAreaCommand(char* args) if (!Utf8FitTo(name, wnamepart)) { loc = 0; - for (; loc < MAX_LOCALE; ++loc) + for (; loc < MAX_DBC_LOCALE; ++loc) { if (loc == GetSessionDbcLocale()) continue; @@ -1302,7 +1302,7 @@ bool ChatHandler::HandleLookupAreaCommand(char* args) } } - if (loc < MAX_LOCALE) + if (loc < MAX_DBC_LOCALE) { // send area in "id - [name]" format std::ostringstream ss; diff --git a/src/game/Chat/Level2.cpp b/src/game/Chat/Level2.cpp index 82f1092aff..80dd3af95d 100644 --- a/src/game/Chat/Level2.cpp +++ b/src/game/Chat/Level2.cpp @@ -1474,7 +1474,7 @@ bool ChatHandler::HandleLookupFactionCommand(char* args) if (!Utf8FitTo(name, wnamepart)) { loc = 0; - for (; loc < MAX_LOCALE; ++loc) + for (; loc < MAX_DBC_LOCALE; ++loc) { if (loc == GetSessionDbcLocale()) continue; @@ -1488,7 +1488,7 @@ bool ChatHandler::HandleLookupFactionCommand(char* args) } } - if (loc < MAX_LOCALE) + if (loc < MAX_DBC_LOCALE) { FactionState const* repState = target ? target->GetReputationMgr().GetState(factionEntry) : nullptr; ShowFactionListHelper(factionEntry, LocaleConstant(loc), repState, target); @@ -3657,6 +3657,27 @@ bool ChatHandler::HandleCharacterReputationCommand(char* args) return true; } +bool ChatHandler::HandleCharacterCityTitleCommand(char* args) +{ + Player* target; + if (!ExtractPlayerTarget(&args, &target)) + return false; + + bool value; + if (!ExtractOnOff(&args, value)) + { + PSendSysMessage("Syntax: .title on | off"); + return false; + } + + if (value) + target->SetCityTitle(); + else + target->RemoveCityTitle(); + + return true; +} + // change standstate bool ChatHandler::HandleModifyStandStateCommand(char* args) { @@ -4222,7 +4243,7 @@ bool ChatHandler::HandleLearnAllRecipesCommand(char* args) if (!Utf8FitTo(name, wnamepart)) { loc = 0; - for (; loc < MAX_LOCALE; ++loc) + for (; loc < MAX_DBC_LOCALE; ++loc) { if (loc == GetSessionDbcLocale()) continue; @@ -4236,7 +4257,7 @@ bool ChatHandler::HandleLearnAllRecipesCommand(char* args) } } - if (loc < MAX_LOCALE) + if (loc < MAX_DBC_LOCALE) { targetSkillInfo = skillInfo; break; diff --git a/src/game/Chat/Level3.cpp b/src/game/Chat/Level3.cpp index 6cc7c94bbe..8964584709 100644 --- a/src/game/Chat/Level3.cpp +++ b/src/game/Chat/Level3.cpp @@ -63,6 +63,10 @@ #include "Globals/CombatCondition.h" #include "World/WorldStateExpression.h" +#ifdef _WIN32 +#include +#endif + #ifdef BUILD_AHBOT #include "AuctionHouseBot/AuctionHouseBot.h" @@ -1149,6 +1153,58 @@ bool ChatHandler::HandleAccountSetPasswordCommand(char* args) return false; } +// Set collector's edition +bool ::ChatHandler::HandleAccountSetEditionCommand(char* args) +{ + char* accountStr = ExtractOptNotLastArg(&args); + + std::string targetAccountName; + Player* targetPlayer = nullptr; + uint32 targetAccountId = ExtractAccountId(&accountStr, &targetAccountName, &targetPlayer); + if (!targetAccountId) + return false; + + bool value; + if (!ExtractOnOff(&args, value)) + { + SendSysMessage(LANG_USE_BOL); + SetSentErrorMessage(true); + return false; + } + + if (value) + { + if (targetPlayer && targetPlayer->GetSession()->HasAccountFlag(ACCOUNT_FLAG_COLLECTOR_CLASSIC)) + { + SendSysMessage("Target account already has Collector's Edition enabled"); + return false; + } + if (targetPlayer) + targetPlayer->GetSession()->AddAccountFlag(ACCOUNT_FLAG_COLLECTOR_CLASSIC); + + LoginDatabase.PExecute("UPDATE account SET flags = flags | 0x%x WHERE id = %u", ACCOUNT_FLAG_COLLECTOR_CLASSIC, targetAccountId); + SendSysMessage("Target account Collector's Edition enabled"); + return true; + } + else + { + if (targetPlayer && !targetPlayer->GetSession()->HasAccountFlag(ACCOUNT_FLAG_COLLECTOR_CLASSIC)) + { + SendSysMessage("Target account does not have Collector's Edition enabled"); + return false; + } + if (targetPlayer) + targetPlayer->GetSession()->RemoveAccountFlag(ACCOUNT_FLAG_COLLECTOR_CLASSIC); + + LoginDatabase.PExecute("UPDATE account SET flags = flags & ~0x%x WHERE id = %u", ACCOUNT_FLAG_COLLECTOR_CLASSIC, targetAccountId); + SendSysMessage("Target account Collector's Edition disabled"); + return true; + } + + //PSendSysMessage(LANG_COMMAND_FLYMODE_STATUS, GetNameLink(target).c_str(), args); + return true; +} + bool ChatHandler::HandleMaxSkillCommand(char* /*args*/) { Player* SelectedPlayer = getSelectedPlayer(); @@ -1530,6 +1586,15 @@ bool ChatHandler::HandleLearnAllMyTalentsCommand(char* /*args*/) return true; } +bool ChatHandler::HandleLearnAllMyLevelCommand(char* /*args*/) +{ + Player* player = m_session->GetPlayer(); + player->learnClassLevelSpells(); + + SendSysMessage(LANG_COMMAND_LEARN_CLASS_SPELLS); + return true; +} + bool ChatHandler::HandleLearnAllLangCommand(char* /*args*/) { Player* player = m_session->GetPlayer(); @@ -2479,7 +2544,7 @@ bool ChatHandler::HandleLookupItemSetCommand(char* args) if (!Utf8FitTo(name, wnamepart)) { loc = 0; - for (; loc < MAX_LOCALE; ++loc) + for (; loc < MAX_DBC_LOCALE; ++loc) { if (loc == GetSessionDbcLocale()) continue; @@ -2493,7 +2558,7 @@ bool ChatHandler::HandleLookupItemSetCommand(char* args) } } - if (loc < MAX_LOCALE) + if (loc < MAX_DBC_LOCALE) { // send item set in "id - [namedlink locale]" format if (m_session) @@ -2542,7 +2607,7 @@ bool ChatHandler::HandleLookupSkillCommand(char* args) if (!Utf8FitTo(name, wnamepart)) { loc = 0; - for (; loc < MAX_LOCALE; ++loc) + for (; loc < MAX_DBC_LOCALE; ++loc) { if (loc == GetSessionDbcLocale()) continue; @@ -2556,7 +2621,7 @@ bool ChatHandler::HandleLookupSkillCommand(char* args) } } - if (loc < MAX_LOCALE) + if (loc < MAX_DBC_LOCALE) { char valStr[50] = ""; char const* knownStr = ""; @@ -2667,7 +2732,7 @@ bool ChatHandler::HandleLookupSpellCommand(char* args) if (!Utf8FitTo(name, wnamepart)) { loc = 0; - for (; loc < MAX_LOCALE; ++loc) + for (; loc < MAX_DBC_LOCALE; ++loc) { if (loc == GetSessionDbcLocale()) continue; @@ -2681,7 +2746,7 @@ bool ChatHandler::HandleLookupSpellCommand(char* args) } } - if (loc < MAX_LOCALE) + if (loc < MAX_DBC_LOCALE) { ShowSpellListHelper(target, spellInfo, LocaleConstant(loc)); ++counter; @@ -2906,7 +2971,7 @@ bool ChatHandler::HandleLookupTaxiNodeCommand(char* args) if (!Utf8FitTo(name, wnamepart)) { loc = 0; - for (; loc < MAX_LOCALE; ++loc) + for (; loc < MAX_DBC_LOCALE; ++loc) { if (loc == GetSessionDbcLocale()) continue; @@ -2920,7 +2985,7 @@ bool ChatHandler::HandleLookupTaxiNodeCommand(char* args) } } - if (loc < MAX_LOCALE) + if (loc < MAX_DBC_LOCALE) { // send taxinode in "id - [name] (Map:m X:x Y:y Z:z)" format if (m_session) @@ -4472,6 +4537,10 @@ bool ChatHandler::HandleResetLevelCommand(char* args) if (Pet* pet = target->GetPet()) pet->SynchronizeLevelWithOwner(); +#ifdef USE_ACHIEVEMENTS + target->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL); +#endif + return true; } @@ -5421,10 +5490,13 @@ bool ChatHandler::HandleRespawnCommand(char* /*args*/) Creature* creature = static_cast(target); if (target->IsUsingNewSpawningSystem()) { - if (creature->GetMap()->GetMapDataContainer().GetSpawnGroupByGuid(creature->GetDbGuid(), TYPEID_UNIT)) - target->GetMap()->GetPersistentState()->SaveCreatureRespawnTime(target->GetDbGuid(), time(nullptr)); - else - target->GetMap()->GetSpawnManager().RespawnCreature(target->GetDbGuid(), 0); + if (!creature->GetCreatureGroup()) + { + if (creature->GetMap()->GetMapDataContainer().GetSpawnGroupByGuid(creature->GetDbGuid(), TYPEID_UNIT)) + target->GetMap()->GetPersistentState()->SaveCreatureRespawnTime(target->GetDbGuid(), time(nullptr)); + else + target->GetMap()->GetSpawnManager().RespawnCreature(target->GetDbGuid(), 0); + } } else creature->Respawn(); @@ -5454,12 +5526,10 @@ bool ChatHandler::HandleGMFlyCommand(char* args) if (!target) target = m_session->GetPlayer(); - // [-ZERO] Need reimplement in another way - { - SendSysMessage(LANG_USE_BOL); - return false; - } target->SetCanFly(value); + if (value) + SendSysMessage("WARNING: Do not jump or flying mode will be removed."); + PSendSysMessage(LANG_COMMAND_FLYMODE_STATUS, GetNameLink(target).c_str(), args); return true; } @@ -6752,6 +6822,44 @@ bool ChatHandler::HandleMmapTestHeight(char* args) return true; } +bool ChatHandler::HandleMmapDemoApp(char* args) +{ +#ifdef _WIN32 + Player* player = m_session->GetPlayer(); + + FILE* fin = fopen("RecastDemoMod.exe", "r"); + if (!fin) + { + PSendSysMessage("No RecastDemoMod.exe found!"); + return false; + } + + GridPair p = MaNGOS::ComputeGridPair(player->GetPositionX(), player->GetPositionY()); + + int gx = 63 - p.x_coord; + int gy = 63 - p.y_coord; + + std::string cmdline = "RecastDemoMod.exe -d " + sWorld.GetDataPath() + " -map " + std::to_string(player->GetMapId()) + " -tilex " + std::to_string(gx) + " -tiley " + std::to_string(gy); + LPTSTR szCmdline = _tcsdup(TEXT(cmdline.c_str())); + STARTUPINFO info = { sizeof(info) }; + PROCESS_INFORMATION processInfo; + if (CreateProcess("RecastDemoMod.exe", szCmdline, NULL, NULL, TRUE, CREATE_NEW_PROCESS_GROUP, NULL, NULL, &info, &processInfo)) + { + // don't wait for it to finish. + //::WaitForSingleObject(processInfo.hProcess, INFINITE); + // free up resources... + CloseHandle(processInfo.hProcess); + CloseHandle(processInfo.hThread); + } + + PSendSysMessage("Running Recast Demo App at current tile"); + return true; +#else + PSendSysMessage("Command is Windows only"); + return false; +#endif +} + bool ChatHandler::HandleServerResetAllRaidCommand(char* /*args*/) { PSendSysMessage("Global raid instances reset, all players in raid instances will be teleported to homebind!"); @@ -6964,12 +7072,24 @@ bool ChatHandler::HandleVariablePrint(char* args) bool ChatHandler::HandleWarEffortCommand(char* args) { + if (!sWorld.getConfig(CONFIG_BOOL_WAREFFORT_ENABLE)) + { + PSendSysMessage("War Effort is disabled in config!"); + return true; + } + PSendSysMessage("%s", sWorldState.GetAQPrintout().data()); return true; } bool ChatHandler::HandleWarEffortPhaseCommand(char* args) { + if (!sWorld.getConfig(CONFIG_BOOL_WAREFFORT_ENABLE)) + { + PSendSysMessage("War Effort is disabled in config!"); + return true; + } + uint32 param; if (!ExtractUInt32(&args, param)) { @@ -6980,8 +7100,37 @@ bool ChatHandler::HandleWarEffortPhaseCommand(char* args) return true; } +bool ChatHandler::HandleWarEffortGateCommand(char* args) +{ + if (!sWorld.getConfig(CONFIG_BOOL_WAREFFORT_ENABLE)) + { + PSendSysMessage("War Effort is disabled in config!"); + return true; + } + + uint32 param; + if (!ExtractUInt32(&args, param)) + { + PSendSysMessage("Enter valid value. 1 to close AQ Gate, 0 to open"); + return true; + } + else if (param == 0) + sWorldState.HandleWarEffortGateSwitch(false); + else if (param == 1) + sWorldState.HandleWarEffortGateSwitch(true); + else + PSendSysMessage("Enter valid value. 1 to close AQ Gate, 0 to open"); + return true; +} + bool ChatHandler::HandleWarEffortCounterCommand(char* args) { + if (!sWorld.getConfig(CONFIG_BOOL_WAREFFORT_ENABLE)) + { + PSendSysMessage("War Effort is disabled in config!"); + return true; + } + uint32 index; if (!ExtractUInt32(&args, index) || index >= RESOURCE_MAX) { diff --git a/src/game/Combat/ThreatManager.cpp b/src/game/Combat/ThreatManager.cpp index ff2faa53d1..1492acb9bf 100644 --- a/src/game/Combat/ThreatManager.cpp +++ b/src/game/Combat/ThreatManager.cpp @@ -430,7 +430,7 @@ HostileReference* ThreatContainer::selectNextVictim(Unit* attacker, HostileRefer //============================================================ ThreatManager::ThreatManager(Unit* owner) - : iCurrentVictim(nullptr), iOwner(owner) + : iCurrentVictim(nullptr), iOwner(owner), iUpdateTimer(THREAT_UPDATE_INTERVAL), iUpdateNeed(false) { } @@ -441,6 +441,8 @@ void ThreatManager::clearReferences() iThreatContainer.clearReferences(); iThreatOfflineContainer.clearReferences(); iCurrentVictim = nullptr; + iUpdateTimer.Reset(THREAT_UPDATE_INTERVAL); + iUpdateNeed = false; } //============================================================ @@ -472,8 +474,11 @@ void ThreatManager::addThreat(Unit* victim, float threat, bool crit, SpellSchool void ThreatManager::addThreatDirectly(Unit* victim, float threat, bool noNew) { HostileReference* ref = iThreatContainer.addThreat(victim, threat); + // Ref is online + if (ref) + iUpdateNeed = true; // Ref is not in the online refs, search the offline refs next - if (!ref) + else ref = iThreatOfflineContainer.addThreat(victim, threat); if (!ref && !noNew) // there was no ref => create a new one @@ -481,6 +486,7 @@ void ThreatManager::addThreatDirectly(Unit* victim, float threat, bool noNew) HostileReference* hostileReference = new HostileReference(victim, this, 0); // threat has to be 0 here iThreatContainer.addReference(hostileReference); hostileReference->addThreat(threat); // now we add the real threat + iUpdateNeed = true; Unit* owner = getOwner(); owner->TriggerAggroLinkingEvent(victim); Unit* victim_owner = victim->GetMaster(); @@ -496,11 +502,13 @@ void ThreatManager::addThreatDirectly(Unit* victim, float threat, bool noNew) void ThreatManager::modifyThreatPercent(Unit* victim, int32 threatPercent) { iThreatContainer.modifyThreatPercent(victim, threatPercent); + iUpdateNeed = true; } void ThreatManager::modifyAllThreatPercent(int32 threatPercent) { iThreatContainer.modifyAllThreatPercent(threatPercent); + iUpdateNeed = true; } //============================================================ @@ -592,7 +600,15 @@ void ThreatManager::FixateTarget(Unit* victim) void ThreatManager::setCurrentVictim(HostileReference* hostileReference) { + // including nullptr==nullptr case + if (hostileReference == iCurrentVictim) + return; + + if (hostileReference) + iOwner->SendHighestThreatUpdate(hostileReference); + iCurrentVictim = hostileReference; + iUpdateNeed = true; } void ThreatManager::setCurrentVictimByTarget(Unit* target) @@ -628,7 +644,9 @@ void ThreatManager::processThreatEvent(ThreatRefStatusChangeEvent& threatRefStat setCurrentVictim(nullptr); setDirty(true); } + iOwner->SendThreatRemove(hostileReference); iThreatContainer.remove(hostileReference); + iUpdateNeed = true; iThreatOfflineContainer.addReference(hostileReference); } else @@ -636,6 +654,7 @@ void ThreatManager::processThreatEvent(ThreatRefStatusChangeEvent& threatRefStat if (getCurrentVictim() && hostileReference->getThreat() > (1.1f * getCurrentVictim()->getThreat())) setDirty(true); iThreatContainer.addReference(hostileReference); + iUpdateNeed = true; iThreatOfflineContainer.remove(hostileReference); } break; @@ -647,7 +666,9 @@ void ThreatManager::processThreatEvent(ThreatRefStatusChangeEvent& threatRefStat } if (hostileReference->isOnline()) { + iOwner->SendThreatRemove(hostileReference); iThreatContainer.remove(hostileReference); + iUpdateNeed = true; } else iThreatOfflineContainer.remove(hostileReference); @@ -660,6 +681,21 @@ void ThreatManager::processThreatEvent(ThreatRefStatusChangeEvent& threatRefStat } } +void ThreatManager::UpdateForClient(uint32 diff) +{ + if (!iUpdateNeed || isThreatListEmpty()) + return; + + iUpdateTimer.Update(diff); + if (iUpdateTimer.Passed()) + { + iOwner->SendThreatUpdate(); + iUpdateTimer.Reset(THREAT_UPDATE_INTERVAL); + iUpdateNeed = false; + } + +} + void ThreatManager::ClearSuppressed(HostileReference* except) { for (HostileReference* const curRef : iThreatContainer.getThreatList()) @@ -702,4 +738,4 @@ void HostileReference::resetFadeoutThreatReduction() { addThreat(-iFadeoutThreadReduction); iFadeoutThreadReduction = 0.f; -} +} \ No newline at end of file diff --git a/src/game/Combat/ThreatManager.h b/src/game/Combat/ThreatManager.h index 66c87d3482..95b9640000 100644 --- a/src/game/Combat/ThreatManager.h +++ b/src/game/Combat/ThreatManager.h @@ -23,6 +23,7 @@ #include "Globals/SharedDefines.h" #include "Utilities/LinkedReference/Reference.h" #include "Entities/UnitEvents.h" +#include "Util/Timer.h" #include "Entities/ObjectGuid.h" #include @@ -32,6 +33,8 @@ class Unit; class ThreatManager; struct SpellEntry; +#define THREAT_UPDATE_INTERVAL (1 * IN_MILLISECONDS) // Server should send threat update to client periodically each second + //============================================================== // Class to calculate the real threat based @@ -214,6 +217,8 @@ class ThreatManager void processThreatEvent(ThreatRefStatusChangeEvent& threatRefStatusChangeEvent); + void UpdateForClient(uint32 diff); + HostileReference* getCurrentVictim() const { return iCurrentVictim; } Unit* getOwner() const { return iOwner; } @@ -241,6 +246,8 @@ class ThreatManager HostileReference* iCurrentVictim; Unit* iOwner; + ShortTimeTracker iUpdateTimer; + bool iUpdateNeed; ThreatContainer iThreatContainer; ThreatContainer iThreatOfflineContainer; }; diff --git a/src/game/Entities/Camera.cpp b/src/game/Entities/Camera.cpp index bd24b068e7..1d935241b8 100644 --- a/src/game/Entities/Camera.cpp +++ b/src/game/Entities/Camera.cpp @@ -144,10 +144,15 @@ template void Camera::UpdateVisibilityOf(Corpse*, UpdateData&, WorldObjectSet&); template void Camera::UpdateVisibilityOf(GameObject*, UpdateData&, WorldObjectSet&); template void Camera::UpdateVisibilityOf(DynamicObject*, UpdateData&, WorldObjectSet&); -void Camera::UpdateVisibilityForOwner(bool addToWorld) +void Camera::UpdateVisibilityForOwner(bool addToWorld, bool onlyUpdate) { +#ifdef ENABLE_PLAYERBOTS + if (!m_owner.isRealPlayer()) + return; +#endif + MaNGOS::VisibleNotifier notifier(*this); - Cell::VisitAllObjects(m_source, notifier, addToWorld ? MAX_VISIBILITY_DISTANCE : m_source->GetVisibilityData().GetVisibilityDistance(), false); + Cell::VisitAllObjects(m_source, notifier, (addToWorld || onlyUpdate) ? MAX_VISIBILITY_DISTANCE : m_source->GetVisibilityData().GetVisibilityDistance(), onlyUpdate); notifier.Notify(); } diff --git a/src/game/Entities/Camera.h b/src/game/Entities/Camera.h index ea8190768c..1a38d7fa33 100644 --- a/src/game/Entities/Camera.h +++ b/src/game/Entities/Camera.h @@ -55,7 +55,7 @@ class Camera // updates visibility of worldobjects around viewpoint for camera's owner void UpdateVisibilityForOwner() { UpdateVisibilityForOwner(false); } - void UpdateVisibilityForOwner(bool addToWorld); + void UpdateVisibilityForOwner(bool addToWorld, bool onlyUpdate = false); private: // called when viewpoint changes visibility state diff --git a/src/game/Entities/CharacterHandler.cpp b/src/game/Entities/CharacterHandler.cpp index 3b1d753e61..23d022b71c 100644 --- a/src/game/Entities/CharacterHandler.cpp +++ b/src/game/Entities/CharacterHandler.cpp @@ -40,11 +40,18 @@ #include "Chat/Chat.h" #include "Spells/SpellMgr.h" #include "Anticheat/Anticheat.hpp" +#include "AI/ScriptDevAI/scripts/custom/Transmogrification.h" +#include "Mails/Mail.h" #ifdef BUILD_PLAYERBOT #include "PlayerBot/Base/PlayerbotMgr.h" #endif +#ifdef ENABLE_PLAYERBOTS +#include "playerbot.h" +#include "PlayerbotAIConfig.h" +#endif + // config option SkipCinematics supported values enum CinematicsSkipMode { @@ -66,6 +73,102 @@ class LoginQueryHolder : public SqlQueryHolder bool Initialize(); }; +#ifdef ENABLE_PLAYERBOTS + +class PlayerbotLoginQueryHolder : public LoginQueryHolder +{ +private: + uint32 masterAccountId; + PlayerbotHolder* playerbotHolder; + +public: + PlayerbotLoginQueryHolder(PlayerbotHolder* playerbotHolder, uint32 masterAccount, uint32 accountId, uint32 guid) + : LoginQueryHolder(accountId, ObjectGuid(HIGHGUID_PLAYER, guid)), masterAccountId(masterAccount), playerbotHolder(playerbotHolder) { } + +public: + uint32 GetMasterAccountId() const { return masterAccountId; } + PlayerbotHolder* GetPlayerbotHolder() { return playerbotHolder; } +}; + +void PlayerbotHolder::AddPlayerBot(uint32 playerGuid, uint32 masterAccount) +{ + // has bot already been added? + ObjectGuid guid = ObjectGuid(HIGHGUID_PLAYER, playerGuid); + Player* bot = sObjectMgr.GetPlayer(guid); + + if (bot && bot->IsInWorld()) + return; + + uint32 accountId = sObjectMgr.GetPlayerAccountIdByGUID(guid); + if (accountId == 0) + return; + + PlayerbotLoginQueryHolder *holder = new PlayerbotLoginQueryHolder(this, masterAccount, accountId, playerGuid); + if (!holder->Initialize()) + { + delete holder; // delete all unprocessed queries + return; + } + + CharacterDatabase.DelayQueryHolder(this, &PlayerbotHolder::HandlePlayerBotLoginCallback, holder); +} + +void PlayerbotHolder::HandlePlayerBotLoginCallback(QueryResult * dummy, SqlQueryHolder * holder) +{ + if (!holder) + return; + + PlayerbotLoginQueryHolder* lqh = (PlayerbotLoginQueryHolder*)holder; + uint32 masterAccount = lqh->GetMasterAccountId(); + + WorldSession* masterSession = masterAccount ? sWorld.FindSession(masterAccount) : NULL; + uint32 botAccountId = lqh->GetAccountId(); + WorldSession *botSession = new WorldSession(botAccountId, NULL, SEC_PLAYER, 0, LOCALE_enUS, "", 0); + botSession->SetNoAnticheat(); + + // has bot already been added? + if (sObjectMgr.GetPlayer(lqh->GetGuid())) + return; + + uint32 guid = lqh->GetGuid().GetRawValue(); + + botSession->HandlePlayerLogin(lqh); // will delete lqh + + Player* bot = botSession->GetPlayer(); + if (!bot) + { + sLog.outError("Error logging in bot %d, please try to reset all random bots", guid); + return; + } + PlayerbotMgr *mgr = bot->GetPlayerbotMgr(); + bot->SetPlayerbotMgr(NULL); + delete mgr; + sRandomPlayerbotMgr.OnPlayerLogin(bot); + + bool allowed = false; + if (botAccountId == masterAccount) + allowed = true; + else if (masterSession && sPlayerbotAIConfig.allowGuildBots && bot->GetGuildId() == masterSession->GetPlayer()->GetGuildId()) + allowed = true; + else if (sPlayerbotAIConfig.IsInRandomAccountList(botAccountId)) + allowed = true; + + if (allowed) + { + OnBotLogin(bot); + return; + } + + if (masterSession) + { + ChatHandler ch(masterSession); + ch.PSendSysMessage("You are not allowed to control bot %s", bot->GetName()); + } + LogoutPlayerBot(bot->GetObjectGuid()); + sLog.outError("Attempt to add not allowed bot %s, please try to reset all random bots", bot->GetName()); +} +#endif + bool LoginQueryHolder::Initialize() { SetSize(MAX_PLAYER_LOGIN_QUERY); @@ -79,7 +182,7 @@ bool LoginQueryHolder::Initialize() "resettalents_time, trans_x, trans_y, trans_z, trans_o, transguid, extra_flags, stable_slots, at_login, zone, online, death_expire_time, taxi_path," "honor_highest_rank, honor_standing, stored_honor_rating, stored_dishonorable_kills, stored_honorable_kills," "watchedFaction, drunk," - "health, power1, power2, power3, power4, power5, exploredZones, equipmentCache, ammoId, actionBars, fishingSteps FROM characters WHERE guid = '%u'", m_guid.GetCounter()); + "health, power1, power2, power3, power4, power5, exploredZones, equipmentCache, ammoId, actionBars, specCount, activeSpec, fishingSteps FROM characters WHERE guid = '%u'", m_guid.GetCounter()); res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADGROUP, "SELECT groupId FROM group_member WHERE memberGuid ='%u'", m_guid.GetCounter()); res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADBOUNDINSTANCES, "SELECT id, permanent, map, resettime FROM character_instance LEFT JOIN instance ON instance = id WHERE guid = '%u'", m_guid.GetCounter()); res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADAURAS, "SELECT caster_guid,item_guid,spell,stackcount,remaincharges,basepoints0,basepoints1,basepoints2,periodictime0,periodictime1,periodictime2,maxduration,remaintime,effIndexMask FROM character_aura WHERE guid = '%u'", m_guid.GetCounter()); @@ -90,7 +193,7 @@ bool LoginQueryHolder::Initialize() res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADREPUTATION, "SELECT faction,standing,flags FROM character_reputation WHERE guid = '%u'", m_guid.GetCounter()); res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADINVENTORY, "SELECT itemEntry, creatorGuid, giftCreatorGuid, count, duration, charges, flags, enchantments, randomPropertyId, durability, itemTextId, bag, slot, item, item_template FROM character_inventory JOIN item_instance ON character_inventory.item = item_instance.guid WHERE character_inventory.guid = '%u' ORDER BY bag,slot", m_guid.GetCounter()); res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADITEMLOOT, "SELECT guid,itemid,amount,property FROM item_loot WHERE owner_guid = '%u'", m_guid.GetCounter()); - res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADACTIONS, "SELECT button,action,type FROM character_action WHERE guid = '%u' ORDER BY button", m_guid.GetCounter()); + res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADACTIONS, "SELECT button,action,type,spec FROM character_action WHERE guid = '%u' ORDER BY button", m_guid.GetCounter()); res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADSOCIALLIST, "SELECT friend,flags FROM character_social WHERE guid = '%u' LIMIT 255", m_guid.GetCounter()); res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADHOMEBIND, "SELECT map,zone,position_x,position_y,position_z FROM character_homebind WHERE guid = '%u'", m_guid.GetCounter()); res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADSPELLCOOLDOWNS, "SELECT SpellId, SpellExpireTime, Category, CategoryExpireTime, ItemId FROM character_spell_cooldown WHERE guid = '%u'", m_guid.GetCounter()); @@ -98,10 +201,16 @@ bool LoginQueryHolder::Initialize() res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADBGDATA, "SELECT instance_id, team, join_x, join_y, join_z, join_o, join_map FROM character_battleground_data WHERE guid = '%u'", m_guid.GetCounter()); res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADACCOUNTDATA, "SELECT type, time, data FROM character_account_data WHERE guid='%u'", m_guid.GetCounter()); res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADSKILLS, "SELECT skill, value, max FROM character_skills WHERE guid = '%u'", m_guid.GetCounter()); + res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADTALENTS, "SELECT spell, spec FROM character_talent WHERE guid = '%u'", m_guid.GetCounter()); res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADMAILS, "SELECT id,messageType,sender,receiver,subject,itemTextId,expire_time,deliver_time,money,cod,checked,stationery,mailTemplateId,has_items FROM mail WHERE receiver = '%u' ORDER BY id DESC", m_guid.GetCounter()); res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADMAILEDITEMS, "SELECT itemEntry, creatorGuid, giftCreatorGuid, count, duration, charges, flags, enchantments, randomPropertyId, durability, itemTextId, mail_id, item_guid, item_template FROM mail_items JOIN item_instance ON item_guid = guid WHERE receiver = '%u'", m_guid.GetCounter()); res &= SetPQuery(PLAYER_LOGIN_QUERY_FORGOTTEN_SKILLS, "SELECT skill, value FROM character_forgotten_skills WHERE guid = '%u'", m_guid.GetCounter()); +#ifdef USE_ACHIEVEMENTS + res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADACHIEVEMENTS, "SELECT `achievement`, `date` FROM `character_achievement` WHERE `guid` = '%u'", m_guid.GetCounter()); + res &= SetPQuery(PLAYER_LOGIN_QUERY_LOAD_CRITERIA_PROGRESS, "SELECT `criteria`, `counter`, `date` FROM `character_achievement_progress` WHERE `guid` = '%u'", m_guid.GetCounter()); +#endif + return res; } @@ -126,8 +235,25 @@ class CharacterHandler { if (!holder) return; - if (WorldSession* session = sWorld.FindSession(((LoginQueryHolder*)holder)->GetAccountId())) - session->HandlePlayerLogin((LoginQueryHolder*)holder); + WorldSession* session = sWorld.FindSession(((LoginQueryHolder*)holder)->GetAccountId()); + if (!session) + { + delete holder; + return; + } +#ifdef ENABLE_PLAYERBOTS + ObjectGuid guid = ((LoginQueryHolder*)holder)->GetGuid(); +#endif + session->HandlePlayerLogin((LoginQueryHolder*)holder); +#ifdef ENABLE_PLAYERBOTS + Player* player = session->GetPlayer(); + if (player) + { + player->SetPlayerbotMgr(new PlayerbotMgr(player)); + player->GetPlayerbotMgr()->OnPlayerLogin(player); + sRandomPlayerbotMgr.OnPlayerLogin(player); + } +#endif } #ifdef BUILD_PLAYERBOT // This callback is different from the normal HandlePlayerLoginCallback in that it @@ -459,6 +585,22 @@ void WorldSession::HandlePlayerLoginOpcode(WorldPacket& recv_data) WorldPacket data(SMSG_CHARACTER_LOGIN_FAILED, 1); + auto result = CharacterDatabase.PQuery("SELECT map FROM characters WHERE guid = '%u'", playerGuid.GetCounter()); + if (result) + { + int32 mapId = -1; + Field* fields = result->Fetch(); + mapId = fields[0].GetUInt32(); + + if (mapId != -1 && (mapId == 0 || mapId == 1) && sMapMgr.IsContinentCrashed((uint32)mapId)) + { + sLog.outError("HandlePlayerLoginOpcode> Player try to login in crashed map #%u, AccountId = %u", (uint32)mapId, GetAccountId()); + data << (uint8)CHAR_LOGIN_NO_WORLD; + SendPacket(data, true); + return; + } + } + if (PlayerLoading()) { sLog.outError("HandlePlayerLoginOpcode> Player try to login again while already in loading stage, AccountId = %u", GetAccountId()); @@ -467,6 +609,34 @@ void WorldSession::HandlePlayerLoginOpcode(WorldPacket& recv_data) return; } +#ifdef ENABLE_PLAYERBOTS + if (pCurrChar && pCurrChar->GetPlayerbotAI()) + { + WorldSession* botSession = pCurrChar->GetSession(); + SetPlayer(pCurrChar, playerGuid); + _player->SetSession(this); + _logoutTime = time(0); + + m_sessionDbcLocale = botSession->m_sessionDbcLocale; + m_sessionDbLocaleIndex = botSession->m_sessionDbLocaleIndex; + + PlayerbotMgr* mgr = _player->GetPlayerbotMgr(); + if (!mgr || mgr->GetMaster() != _player) + { + _player->SetPlayerbotMgr(NULL); + delete mgr; + _player->SetPlayerbotMgr(new PlayerbotMgr(_player)); + _player->GetPlayerbotMgr()->OnPlayerLogin(_player); + + if (sRandomPlayerbotMgr.GetPlayerBot(playerGuid)) + + sRandomPlayerbotMgr.MovePlayerBot(playerGuid, _player->GetPlayerbotMgr()); + else + _player->GetPlayerbotMgr()->OnBotLogin(_player); + } + } +#endif + if (_player) { // player is reconnecting @@ -540,6 +710,26 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) { ObjectGuid playerGuid = holder->GetGuid(); + auto result = CharacterDatabase.PQuery("SELECT map FROM characters WHERE guid = %u", playerGuid.GetCounter()); + if (result) + { + int32 mapId = -1; + Field* fields = result->Fetch(); + mapId = fields[0].GetUInt32(); + + if (mapId != -1 && (mapId == 0 || mapId == 1) && sMapMgr.IsContinentCrashed((uint32)mapId)) + { + KickPlayer(false, false, false); // kick to character selection + delete holder; // delete all unprocessed queries + m_playerLoading = false; + sLog.outError("HandlePlayerLoginOpcode> Player try to login in crashed map #%u, AccountId = %u", (uint32)mapId, GetAccountId()); + WorldPacket data(SMSG_CHARACTER_LOGIN_FAILED, 1); + data << (uint8)CHAR_LOGIN_NO_WORLD; + SendPacket(data, true); + return; + } + } + Player* pCurrChar = new Player(this); SetPlayer(pCurrChar, playerGuid); m_playerLoading = true; @@ -759,6 +949,103 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) if (pCurrChar->HasAtLoginFlag(AT_LOGIN_FIRST)) pCurrChar->RemoveAtLoginFlag(AT_LOGIN_FIRST); + // add collector to all accounts if enabled + if (sWorld.getConfig(CONFIG_BOOL_COLLECTORS_EDITION) && !HasAccountFlag(ACCOUNT_FLAG_COLLECTOR_CLASSIC)) + { + AddAccountFlag(ACCOUNT_FLAG_COLLECTOR_CLASSIC); + LoginDatabase.PExecute("UPDATE account SET flags = flags | 0x%x WHERE id = %u", ACCOUNT_FLAG_COLLECTOR_CLASSIC, GetAccountId()); + } + + // create collector's edition reward + if (HasAccountFlag(ACCOUNT_FLAG_COLLECTOR_CLASSIC)) + { + uint32 itemid = 0; + uint32 questid = 0; + switch (pCurrChar->getRace()) + { + case RACE_HUMAN: + itemid = 14646; + questid = 5805; + break; + case RACE_ORC: + case RACE_TROLL: + itemid = 14649; + questid = 5843; + break; + case RACE_DWARF: + case RACE_GNOME: + itemid = 14647; + questid = 5841; + break; + case RACE_NIGHTELF: + itemid = 14648; + questid = 5842; + break; + case RACE_UNDEAD: + itemid = 14651; + questid = 5847; + break; + case RACE_TAUREN: + itemid = 14650; + questid = 5844; + break; + } + + if (itemid && questid) + { + if (!pCurrChar->HasQuest(questid) && !pCurrChar->HasItemCount(itemid, 1, true) && !pCurrChar->GetQuestRewardStatus(questid)) + { + bool hasPetReward = false; + // check if already has in mail + for (PlayerMails::iterator itr = _player->GetMailBegin(); itr != _player->GetMailEnd(); ++itr) + { + // skip deleted mails + if ((*itr)->state == MAIL_STATE_DELETED) + continue; + + uint8 item_count = uint8((*itr)->items.size()); + for (uint8 i = 0; i < item_count; ++i) + { + Item* item = _player->GetMItem((*itr)->items[i].item_guid); + if (item->GetEntry() == itemid) + { + hasPetReward = true; + break; + } + } + } + + ItemPrototype const* pProto = ObjectMgr::GetItemPrototype(itemid); + if (pProto && !hasPetReward) + { + uint32 noSpaceForCount = 0; + ItemPosCountVec dest; + uint8 msg = pCurrChar->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, itemid, 1, &noSpaceForCount); + if (msg != EQUIP_ERR_OK) + { + ostringstream body; + body << "Hello, " << pCurrChar->GetName() << ",\n\n"; + body << "Welcome to the World of Warcraft!\n\n"; + body << "As special thanks for purchasing the World of Warcraft Collector's Edition we send you a gift: a little companion to join you on your quest for adventure and glory.\n\n"; + body << "Thanks again, and enjoy your stay in the World of Warcraft!"; + + MailDraft draft; + draft.SetSubjectAndBody("Collector's Edition Gift", body.str()); + + Item* gift = Item::CreateItem(itemid, 1, nullptr); + gift->SaveToDB(); + draft.AddItem(gift); + + MailSender sender(MAIL_NORMAL, (uint32)0, MAIL_STATIONERY_GM); + draft.SendMailTo(MailReceiver(pCurrChar, pCurrChar->GetObjectGuid()), sender); + } + else + Item* item = pCurrChar->StoreNewItem(dest, itemid, true); + } + } + } + } + // show time before shutdown if shutdown planned. if (sWorld.IsShutdowning()) sWorld.ShutdownMsg(true, pCurrChar); @@ -784,6 +1071,57 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) if (!pCurrChar->IsStandState() && !pCurrChar->IsStunned()) pCurrChar->SetStandState(UNIT_STAND_STATE_STAND); + //Start Solocraft Functions + bool SoloCraftEnable = sWorld.getConfig(CONFIG_BOOL_SOLOCRAFT_ENABLED); + bool SoloCraftAnnounceModule = sWorld.getConfig(CONFIG_BOOL_SOLOCRAFT_ANNOUNCE); + + if (SoloCraftEnable) + { + if (SoloCraftAnnounceModule) + { + ChatHandler(pCurrChar->GetSession()).SendSysMessage("This server is running |cff4CFF00SPP SoloCraft Custom |rmodule."); + } + } + //End Solocraft Functions + + ObjectGuid playerGUID = _player->GetObjectGuid(); + sTransmogrification->entryMap.erase(playerGUID); + auto xmog = CharacterDatabase.PQuery("SELECT GUID, FakeEntry FROM custom_transmogrification WHERE Owner = %u", _player->GetObjectGuid()); + if (xmog) + { + do + { + const ObjectGuid itemGUID = ObjectGuid(HIGHGUID_ITEM, ((*xmog)[0].GetUInt32())); + uint32 fakeEntry = (*xmog)[1].GetUInt32(); + if (sObjectMgr.GetItemPrototype(fakeEntry)) + { + sTransmogrification->dataMap[itemGUID] = playerGUID; + sTransmogrification->entryMap[playerGUID][itemGUID] = fakeEntry; + } + else + { + //sLog->outError(LOG_FILTER_SQL, "Item entry (Entry: %u, itemGUID: %u, playerGUID: %u) does not exist, ignoring.", fakeEntry, GUID_LOPART(itemGUID), player->GetObjectGuidLow()); + // CharacterDatabase.PExecute("DELETE FROM custom_transmogrification WHERE FakeEntry = %u", fakeEntry); + } + } while (xmog->NextRow()); + + for (uint8 slot = EQUIPMENT_SLOT_START; slot < EQUIPMENT_SLOT_END; ++slot) + { + if (Item* item = _player->GetItemByPos(INVENTORY_SLOT_BAG_0, slot)) + _player->SetVisibleItemSlot(slot, item); + } + } + +#ifdef PRESETS + if (sTransmogrification->GetEnableSets()) + sTransmogrification->LoadPlayerSets(playerGUID); +#endif + +#ifdef USE_ACHIEVEMENTS + //_player->CheckAllAchievementCriteria(); + _player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN, 1); +#endif + m_playerLoading = false; delete holder; } @@ -915,6 +1253,11 @@ void WorldSession::HandlePlayerReconnect() // Undo flags and states set by logout if present: _player->SetStunnedByLogout(false); +#ifdef USE_ACHIEVEMENTS + // _player->CheckAllAchievementCriteria(); + // _player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN, 1); +#endif + m_playerLoading = false; } diff --git a/src/game/Entities/Creature.cpp b/src/game/Entities/Creature.cpp index 21966b8915..abbc8fd664 100644 --- a/src/game/Entities/Creature.cpp +++ b/src/game/Entities/Creature.cpp @@ -1605,8 +1605,6 @@ bool Creature::LoadFromDB(uint32 dbGuid, Map* map, uint32 newGuid, uint32 forced { if (isUsingNewSpawningSystem && !group) // only at this point we know if marked as dynguid per entry { - GetMap()->GetPersistentState()->RemoveCreatureFromGrid(GetDbGuid(), data); - GetMap()->GetSpawnManager().AddCreature(GetDbGuid()); return false; } m_deathState = DEAD; diff --git a/src/game/Entities/EntitiesMgr.h b/src/game/Entities/EntitiesMgr.h index add9333db9..5e4888fc2f 100644 --- a/src/game/Entities/EntitiesMgr.h +++ b/src/game/Entities/EntitiesMgr.h @@ -45,6 +45,7 @@ typedef std::unordered_set WorldObjectUnSet; typedef std::list UnitList; typedef std::list CreatureList; typedef std::list GameObjectList; +typedef std::list DynamicObjectList; typedef std::list CorpseList; typedef std::list PlayerList; typedef std::unordered_set PlayerSet; diff --git a/src/game/Entities/GameObject.cpp b/src/game/Entities/GameObject.cpp index dd149434fc..1f7d2f597f 100644 --- a/src/game/Entities/GameObject.cpp +++ b/src/game/Entities/GameObject.cpp @@ -45,6 +45,7 @@ #include #include #include "Entities/Transports.h" +#include "Immersive/Immersive.h" bool QuaternionData::isUnit() const { @@ -77,6 +78,7 @@ GameObject::GameObject() : WorldObject(), m_respawnDelay = 25; m_respawnOverriden = false; m_respawnOverrideOnce = false; + m_hardcoreLoot = false; m_forcedDespawn = false; m_lootState = GO_READY; @@ -199,6 +201,7 @@ bool GameObject::Create(uint32 dbGuid, uint32 guidlow, uint32 name_id, Map* map, Object::_Create(dbGuid, guidlow, goinfo->id, HIGHGUID_GAMEOBJECT); m_goInfo = goinfo; + m_goInfoOverride = *goinfo; if (goinfo->type >= MAX_GAMEOBJECT_TYPE) { @@ -298,6 +301,9 @@ bool GameObject::Create(uint32 dbGuid, uint32 guidlow, uint32 name_id, Map* map, // Check if GameObject is Large, skip if map has same or better visibility (e.g. Battleground) if (GetGOInfo()->IsLargeGameObject() && GetVisibilityData().GetVisibilityDistance() < VISIBILITY_DISTANCE_LARGE) GetVisibilityData().SetVisibilityDistanceOverride(VisibilityDistanceType::Large); + // set maximum visibility for some object types + if (GetGOInfo()->IsInfiniteGameObject() && !GetVisibilityData().IsVisibilityOverridden() && GetVisibilityData().GetVisibilityDistance() < MAX_VISIBILITY_DISTANCE) + GetVisibilityData().SetVisibilityDistanceOverride(VisibilityDistanceType::Infinite); return true; } @@ -641,11 +647,20 @@ void GameObject::Update(const uint32 diff) break; // Remove wild summoned after use - if (!HasStaticDBSpawnData() && (!GetSpellId() || GetGOInfo()->GetDespawnPossibility() || GetGOInfo()->IsDespawnAtAction() || m_forcedDespawn)) + if (!HasStaticDBSpawnData() && (!GetSpellId() || GetGOInfo()->GetDespawnPossibility() || GetGOInfo()->IsDespawnAtAction() || m_forcedDespawn) || m_hardcoreLoot) { if (Unit* owner = GetOwner()) + { owner->RemoveGameObject(this, false); + } + Delete(); + + if (m_hardcoreLoot) + { + DeleteFromDB(); + } + return; } @@ -1014,7 +1029,12 @@ WorldObject* GameObject::GetSpawner() const GameObjectInfo const* GameObject::GetGOInfo() const { - return m_goInfo; + return &m_goInfoOverride; +} + +GameObjectInfo* GameObject::GetGOInfo() +{ + return &m_goInfoOverride; } /*********************************************************/ @@ -1699,6 +1719,8 @@ void GameObject::Use(Unit* user, SpellEntry const* spellInfo) // normal chance bool success = skill >= zone_skill && chance >= roll; + success = sImmersive.OnFishing(player, success); + GameObject* fishingHole = nullptr; // overwrite fail in case fishhole if allowed (after 3.3.0) @@ -1912,6 +1934,10 @@ void GameObject::Use(Unit* user, SpellEntry const* spellInfo) m_loot = new Loot(player, this, LOOT_FISHINGHOLE); m_loot->ShowContentTo(player); +#ifdef USE_ACHIEVEMENTS + player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT, GetGOInfo()->id); +#endif + return; } case GAMEOBJECT_TYPE_FLAGDROP: // 26 diff --git a/src/game/Entities/GameObject.h b/src/game/Entities/GameObject.h index 46ff49473f..17fa821275 100644 --- a/src/game/Entities/GameObject.h +++ b/src/game/Entities/GameObject.h @@ -529,6 +529,17 @@ struct GameObjectInfo } } + bool IsInfiniteGameObject() const + { + switch (type) + { + case GAMEOBJECT_TYPE_DOOR: return true; + case GAMEOBJECT_TYPE_FLAGSTAND: return true; + case GAMEOBJECT_TYPE_FLAGDROP: return true; + default: return false; + } + } + bool IsServerOnly() const { switch (type) @@ -700,6 +711,7 @@ class GameObject : public WorldObject void Update(const uint32 diff) override; void Heartbeat() override; GameObjectInfo const* GetGOInfo() const; + GameObjectInfo* GetGOInfo(); bool IsTransport() const; bool IsMoTransport() const; @@ -749,6 +761,10 @@ class GameObject : public WorldObject m_respawnTime = respawn > 0 ? time(nullptr) + respawn : 0; m_respawnDelay = respawn > 0 ? uint32(respawn) : 0; } + + void SetIsHardcoreLoot(bool hardcoreLoot) { m_hardcoreLoot = hardcoreLoot; } + bool IsHardcoreLoot() const { return m_hardcoreLoot; } + void Respawn(); bool IsSpawned() const { @@ -889,12 +905,15 @@ class GameObject : public WorldObject void SetGameObjectGroup(GameObjectGroup* group); void ClearGameObjectGroup(); GameObjectGroup* GetGameObjectGroup() const { return m_goGroup; } + protected: uint32 m_spellId; time_t m_respawnTime; // (secs) time of next respawn (or despawn if GO have owner()), uint32 m_respawnDelay; // (secs) if 0 then current GO state no dependent from timer bool m_respawnOverriden; bool m_respawnOverrideOnce; + bool m_hardcoreLoot; + bool m_forcedDespawn; LootState m_lootState; bool m_spawnedByDefault; @@ -914,6 +933,7 @@ class GameObject : public WorldObject GuidSet m_UniqueUsers; // all players who use item, some items activated after specific amount unique uses GameObjectInfo const* m_goInfo; + GameObjectInfo m_goInfoOverride; // Override game object info values Position m_stationaryPosition; diff --git a/src/game/Entities/GossipDef.h b/src/game/Entities/GossipDef.h index d2b6288629..b4727f0096 100644 --- a/src/game/Entities/GossipDef.h +++ b/src/game/Entities/GossipDef.h @@ -49,6 +49,7 @@ enum Gossip_Option GOSSIP_OPTION_ARMORER = 15, // UNIT_NPC_FLAG_ARMORER (4096) GOSSIP_OPTION_UNLEARNTALENTS = 16, // UNIT_NPC_FLAG_TRAINER (16) (bonus option for GOSSIP_OPTION_TRAINER) GOSSIP_OPTION_UNLEARNPETSKILLS = 17, // UNIT_NPC_FLAG_TRAINER (16) (bonus option for GOSSIP_OPTION_TRAINER) + GOSSIP_OPTION_IMMERSIVE = 18, // UNIT_NPC_FLAG_TRAINER (16) (bonus option for GOSSIP_OPTION_TRAINER) GOSSIP_OPTION_BOT = 99, // UNIT_NPC_FLAG_GOSSIP (1) UNUSED (just for bot system) // Custom ones for SD2 system communication diff --git a/src/game/Entities/Item.cpp b/src/game/Entities/Item.cpp index 9ecbc72773..90c112cc24 100644 --- a/src/game/Entities/Item.cpp +++ b/src/game/Entities/Item.cpp @@ -444,16 +444,6 @@ bool Item::LoadFromDB(uint32 guidLow, Field* fields, ObjectGuid ownerGuid) SetUInt32Value(ITEM_FIELD_FLAGS, fields[6].GetUInt32()); - // update max durability (and durability) if need - if (proto->MaxDurability != GetUInt32Value(ITEM_FIELD_MAXDURABILITY)) - { - SetUInt32Value(ITEM_FIELD_MAXDURABILITY, proto->MaxDurability); - if (GetUInt32Value(ITEM_FIELD_DURABILITY) > proto->MaxDurability) - SetUInt32Value(ITEM_FIELD_DURABILITY, proto->MaxDurability); - - need_save = true; - } - // Remove bind flag for items vs NO_BIND set if (IsSoulBound() && proto->Bonding == NO_BIND) { diff --git a/src/game/Entities/ItemHandler.cpp b/src/game/Entities/ItemHandler.cpp index f9a9c6a080..fbb9b9e6ed 100644 --- a/src/game/Entities/ItemHandler.cpp +++ b/src/game/Entities/ItemHandler.cpp @@ -589,6 +589,10 @@ void WorldSession::HandleSellItemOpcode(WorldPacket& recv_data) } _player->ModifyMoney(money); + +#ifdef USE_ACHIEVEMENTS + _player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS, money); +#endif } void WorldSession::HandleBuybackItem(WorldPacket& recv_data) @@ -625,6 +629,10 @@ void WorldSession::HandleBuybackItem(WorldPacket& recv_data) _player->RemoveItemFromBuyBackSlot(slot, false); _player->ItemAddedQuestCheck(pItem->GetEntry(), pItem->GetCount()); _player->StoreItem(dest, pItem, true); + +#ifdef USE_ACHIEVEMENTS + _player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM, pItem->GetEntry(), pItem->GetCount()); +#endif } else _player->SendEquipError(msg, pItem, nullptr); @@ -916,6 +924,10 @@ void WorldSession::HandleBuyBankSlotOpcode(WorldPacket& recvPacket) _player->SetBankBagSlotCount(slot); _player->ModifyMoney(-int32(price)); +#ifdef USE_ACHIEVEMENTS + _player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BUY_BANK_SLOT); +#endif + data << uint32(ERR_BANKSLOT_OK); SendPacket(data); } diff --git a/src/game/Entities/ItemPrototype.h b/src/game/Entities/ItemPrototype.h index 6ee19950b7..f6e20f0a9d 100644 --- a/src/game/Entities/ItemPrototype.h +++ b/src/game/Entities/ItemPrototype.h @@ -394,7 +394,8 @@ enum ItemExtraFlags { ITEM_EXTRA_REAL_TIME_DURATION = 0x01, // if set and have Duration time, then offline time included in counting, if not set then counted only in game time ITEM_EXTRA_IGNORE_QUEST_STATUS = 0x02, // if set, queststarter item will drop for player regardless of the related quest's status - ITEM_EXTRA_ALL = 0x03 // all used flags, used for check DB data (mask all above flags) + ITEM_EXTRA_NOT_OBTAINABLE = 0x04, // Never obtainable by players in vanilla + ITEM_EXTRA_ALL = 0x07 // All used flags, used to check DB data (mask all above flags) }; // GCC have alternative #pragma pack(N) syntax and old gcc version not support pack(push,N), also any gcc version not support it at some platform diff --git a/src/game/Entities/MiscHandler.cpp b/src/game/Entities/MiscHandler.cpp index 28dc63419b..de88016782 100644 --- a/src/game/Entities/MiscHandler.cpp +++ b/src/game/Entities/MiscHandler.cpp @@ -153,7 +153,7 @@ void WorldSession::HandleWhoOpcode(WorldPacket& recv_data) { Player* pl = itr->second; - if (security == SEC_PLAYER) + if (security == SEC_PLAYER || !_player->IsGameMaster()) { // player can see member of other team only if CONFIG_BOOL_ALLOW_TWO_SIDE_WHO_LIST if (pl->GetTeam() != team && !allowTwoSideWhoList) diff --git a/src/game/Entities/NPCHandler.cpp b/src/game/Entities/NPCHandler.cpp index 95405a1656..1b0705abed 100644 --- a/src/game/Entities/NPCHandler.cpp +++ b/src/game/Entities/NPCHandler.cpp @@ -247,6 +247,7 @@ void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket& recv_data) Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_TRAINER); if (!unit) { + SendTrainingFailure(guid, spellId, TRAIN_FAIL_UNAVAILABLE); DEBUG_LOG("WORLD: HandleTrainerBuySpellOpcode - %s not found or you can't interact with him.", guid.GetString().c_str()); return; } @@ -259,7 +260,10 @@ void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket& recv_data) TrainerSpellData const* tSpells = unit->GetTrainerTemplateSpells(); if (!cSpells && !tSpells) + { + SendTrainingFailure(guid, spellId, TRAIN_FAIL_UNAVAILABLE); return; + } // Try find spell in npc_trainer TrainerSpell const* trainer_spell = cSpells ? cSpells->Find(spellId) : nullptr; @@ -270,16 +274,25 @@ void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket& recv_data) // Not found anywhere, cheating? if (!trainer_spell) + { + SendTrainingFailure(guid, spellId, TRAIN_FAIL_UNAVAILABLE); return; + } // can't be learn, cheat? Or double learn with lags... uint32 reqLevel = 0; if (!_player->IsSpellFitByClassAndRace(trainer_spell->learnedSpell, &reqLevel)) + { + SendTrainingFailure(guid, spellId, TRAIN_FAIL_NOT_ENOUGH_SKILL); return; + } reqLevel = trainer_spell->isProvidedReqLevel ? trainer_spell->reqLevel : std::max(reqLevel, trainer_spell->reqLevel); if (_player->GetTrainerSpellState(trainer_spell, reqLevel) != TRAINER_SPELL_GREEN) + { + SendTrainingFailure(guid, spellId, TRAIN_FAIL_NOT_ENOUGH_SKILL); return; + } SpellEntry const* proto = sSpellTemplate.LookupEntry(trainer_spell->spell); SpellEntry const* spellInfo = sSpellTemplate.LookupEntry(proto->EffectTriggerSpell[0]); @@ -289,24 +302,10 @@ void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket& recv_data) // check money requirement if (_player->GetMoney() < nSpellCost) + { + SendTrainingFailure(guid, spellId, TRAIN_FAIL_NOT_ENOUGH_MONEY); return; - - _player->ModifyMoney(-int32(nSpellCost)); - - SendPlaySpellVisual(guid, 0xB3); // visual effect on trainer - - WorldPacket data(SMSG_PLAY_SPELL_IMPACT, 8 + 4); // visual effect on player - data << _player->GetObjectGuid(); - data << uint32(0x016A); // index from SpellVisualKit.dbc - SendPacket(data); - - // learn explicitly to prevent lost money at lags, learning spell will be only show spell animation - //[-ZERO] _player->learnSpell(trainer_spell->spell, false); - - data.Initialize(SMSG_TRAINER_BUY_SUCCEEDED, 12); - data << ObjectGuid(guid); - data << uint32(spellId); // should be same as in packet from client - SendPacket(data); + } Spell* spell; if (proto->SpellVisual == 222) @@ -317,7 +316,34 @@ void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket& recv_data) SpellCastTargets targets; targets.setUnitTarget(_player); - spell->SpellStart(&targets); + SpellCastResult cast_result = spell->SpellStart(&targets); + spell->update(1); // Update the spell right now. Prevents desynch => take twice the money if you click really fast. + + // Only charge player if cast of learning spell was successful. + if (cast_result == SPELL_CAST_OK) + { + _player->ModifyMoney(-int32(nSpellCost)); + SendTrainingSuccess(guid, spellId); + } + else + SendTrainingFailure(guid, spellId, TRAIN_FAIL_UNAVAILABLE); +} + +void WorldSession::SendTrainingSuccess(ObjectGuid guid, uint32 spellId) +{ + WorldPacket data(SMSG_TRAINER_BUY_SUCCEEDED, 12); + data << ObjectGuid(guid); + data << uint32(spellId); // should be same as in packet from client + SendPacket(data); +} + +void WorldSession::SendTrainingFailure(ObjectGuid guid, uint32 serviceId, uint32 errorCode) +{ + WorldPacket data(SMSG_TRAINER_BUY_FAILED, 16); + data << ObjectGuid(guid); + data << uint32(serviceId); + data << uint32(errorCode); + SendPacket(data); } void WorldSession::HandleGossipHelloOpcode(WorldPacket& recv_data) @@ -393,6 +419,18 @@ void WorldSession::HandleGossipSelectOptionOpcode(WorldPacket& recv_data) if (!sScriptDevAIMgr.OnGossipSelect(_player, pGo, sender, action, code.empty() ? nullptr : code.c_str())) _player->OnGossipSelect(pGo, gossipListId); } + else if (guid.IsItem()) + { + Item* pItem = GetPlayer()->GetItemByGuid(guid); + + if (!pItem) + { + DEBUG_LOG("WORLD: HandleGossipSelectOptionOpcode - %s not found or you can't interact with it.", guid.GetString().c_str()); + return; + } + + sScriptDevAIMgr.OnGossipSelect(_player, pItem, sender, action, code.empty() ? nullptr : code.c_str()); + } } void WorldSession::HandleSpiritHealerActivateOpcode(WorldPacket& recv_data) diff --git a/src/game/Entities/Object.cpp b/src/game/Entities/Object.cpp index 3705b434f4..d41dd0b181 100644 --- a/src/game/Entities/Object.cpp +++ b/src/game/Entities/Object.cpp @@ -1886,6 +1886,13 @@ void WorldObject::SendMessageToSet(WorldPacket const& data, bool /*bToSelf*/) co GetMap()->MessageBroadcast(this, data); } +void WorldObject::SendMessageToSet(std::string const& data, bool newClient) const +{ + // if object is in world, map for it already created! + if (IsInWorld()) + GetMap()->ThreatMessageBroadcast(this, data, newClient); +} + void WorldObject::SendMessageToSetInRange(WorldPacket const& data, float dist, bool /*bToSelf*/) const { // if object is in world, map for it already created! @@ -2466,6 +2473,9 @@ struct WorldObjectChangeAccumulator // send self fields changes in another way, otherwise // with new camera system when player's camera too far from player, camera wouldn't receive packets and changes from player if (i_object.isType(TYPEMASK_PLAYER)) +#ifdef ENABLE_PLAYERBOTS + if (((Player*)&i_object)->isRealPlayer()) +#endif i_object.BuildUpdateDataForPlayer((Player*)&i_object, i_updateDatas); } @@ -2474,7 +2484,11 @@ struct WorldObjectChangeAccumulator for (auto& iter : m) { Player* owner = iter.getSource()->GetOwner(); +#ifdef ENABLE_PLAYERBOTS + if (owner != &i_object && owner->isRealPlayer() && owner->HasAtClient(&i_object)) +#else if (owner != &i_object && owner->HasAtClient(&i_object)) +#endif i_object.BuildUpdateDataForPlayer(owner, i_updateDatas); } } diff --git a/src/game/Entities/Object.h b/src/game/Entities/Object.h index 94e9a085a4..0cc29eee07 100644 --- a/src/game/Entities/Object.h +++ b/src/game/Entities/Object.h @@ -1041,6 +1041,7 @@ class WorldObject : public Object virtual void CleanupsBeforeDelete(); // used in destructor or explicitly before mass creature delete to remove cross-references to already deleted units virtual void SendMessageToSet(WorldPacket const& data, bool self) const; + virtual void SendMessageToSet(std::string const& data, bool newClient) const; virtual void SendMessageToSetInRange(WorldPacket const& data, float dist, bool self) const; void SendMessageToSetExcept(WorldPacket const& data, Player const* skipped_receiver) const; virtual void SendMessageToAllWhoSeeMe(WorldPacket const& data, bool self) const; diff --git a/src/game/Entities/ObjectVisibility.cpp b/src/game/Entities/ObjectVisibility.cpp index 342ff0c066..93c2be490e 100644 --- a/src/game/Entities/ObjectVisibility.cpp +++ b/src/game/Entities/ObjectVisibility.cpp @@ -44,8 +44,6 @@ VisibilityData::VisibilityData(WorldObject* owner) : m_visibilityDistanceOverrid void VisibilityData::SetVisibilityDistanceOverride(VisibilityDistanceType type) { MANGOS_ASSERT(type < VisibilityDistanceType::Max); - if (m_owner->GetTypeId() == TYPEID_PLAYER) - return; m_visibilityDistanceOverride = VisibilityDistances[AsUnderlyingType(type)]; } @@ -55,7 +53,7 @@ float VisibilityData::GetVisibilityDistance() const if (IsVisibilityOverridden()) return m_visibilityDistanceOverride; else - return m_owner->GetMap()->GetVisibilityDistance(); + return m_owner->GetMap() ? m_owner->GetMap()->GetVisibilityDistance() : DEFAULT_VISIBILITY_DISTANCE; } float VisibilityData::GetVisibilityDistanceFor(WorldObject* obj) const diff --git a/src/game/Entities/Pet.cpp b/src/game/Entities/Pet.cpp index 82a5b815e7..2d832a2222 100644 --- a/src/game/Entities/Pet.cpp +++ b/src/game/Entities/Pet.cpp @@ -2122,8 +2122,22 @@ bool Pet::Create(uint32 guidlow, CreatureCreatePos& cPos, CreatureInfo const* ci SetSheath(SHEATH_STATE_MELEE); if (getPetType() == MINI_PET) // always non-attackable + { SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SPAWNING); + CreatureDataAddon const* addon = sObjectMgr.GetCreatureTemplateAddon(cinfo->Entry); + if (addon && addon->auras) + { + for (uint32 const* cAura = addon->auras; *cAura; ++cAura) + { + if (HasAura(*cAura)) + continue; + + CastSpell(this, *cAura, TRIGGERED_OLD_TRIGGERED); + } + } + } + if (getPetType() == SUMMON_PET) SetCorpseDelay(5); @@ -2162,6 +2176,9 @@ void Pet::CastPetAuras(bool current) Unit* owner = GetOwner(); + if (!owner) + return; + for (PetAuraSet::const_iterator itr = owner->m_petAuras.begin(); itr != owner->m_petAuras.end();) { PetAura const* pa = *itr; diff --git a/src/game/Entities/PetitionsHandler.cpp b/src/game/Entities/PetitionsHandler.cpp index 91f3946ed4..0e7f84d48d 100644 --- a/src/game/Entities/PetitionsHandler.cpp +++ b/src/game/Entities/PetitionsHandler.cpp @@ -274,6 +274,7 @@ void WorldSession::SendPetitionQueryOpcode(ObjectGuid petitionguid) const data << uint32(0); // 11 data << uint32(0); // 13 count of next strings? data << uint32(0); // 14 + data << uint32(0); SendPacket(data); } @@ -373,7 +374,11 @@ void WorldSession::HandlePetitionSignOpcode(WorldPacket& recv_data) // not allow sign another player from already sign player account queryResult = CharacterDatabase.PQuery("SELECT playerguid FROM petition_sign WHERE player_account = '%u' AND petitionguid = '%u'", GetAccountId(), petitionLowGuid); +#ifdef ENABLE_PLAYERBOTS + if (queryResult && !_player->GetPlayerbotAI()) +#else if (queryResult) +#endif { WorldPacket data(SMSG_PETITION_SIGN_RESULTS, (8 + 8 + 4)); data << ObjectGuid(petitionGuid); diff --git a/src/game/Entities/Player.cpp b/src/game/Entities/Player.cpp index 5580892b38..c8dbeae960 100644 --- a/src/game/Entities/Player.cpp +++ b/src/game/Entities/Player.cpp @@ -61,6 +61,11 @@ #include "Loot/LootMgr.h" #include "World/WorldState.h" #include "Anticheat/Anticheat.hpp" +#ifdef _WIN32 +#include "AI/ScriptDevAI/scripts/custom/Transmogrification.h" +#else +#include "AI/ScriptDevAI/scripts/custom/Transmogrification.cpp" +#endif #ifdef BUILD_PLAYERBOT #include "PlayerBot/Base/PlayerbotAI.h" @@ -68,7 +73,14 @@ #include "Config/Config.h" #endif +#ifdef ENABLE_PLAYERBOTS +#include "playerbot.h" +#include "PlayerbotAIConfig.h" +#endif + #include +#include "Hardcore/HardcoreMgr.h" +#include "Immersive/Immersive.h" #define ZONE_UPDATE_INTERVAL (1*IN_MILLISECONDS) @@ -435,6 +447,10 @@ void TradeData::SetMoney(uint32 money) GetTraderData()->SetAccepted(false); Update(); + +#ifdef USE_ACHIEVEMENTS + m_player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_GOLD_VALUE_OWNED); +#endif } void TradeData::Update(bool for_trader /*= true*/) const @@ -468,6 +484,11 @@ Player::Player(WorldSession* session): Unit(), m_taxiTracker(*this), m_mover(thi m_playerbotAI = 0; m_playerbotMgr = 0; #endif +#ifdef ENABLE_PLAYERBOTS + m_playerbotAI = 0; + m_playerbotMgr = 0; +#endif + m_speakTime = 0; m_speakCount = 0; @@ -480,6 +501,19 @@ Player::Player(WorldSession* session): Unit(), m_taxiTracker(*this), m_mover(thi m_session = session; +#ifdef USE_ACHIEVEMENTS + bool useAchievements = true; +#ifdef ENABLE_PLAYERBOTS + uint32 accId = GetSession()->GetAccountId(); + if (sPlayerbotAIConfig.IsInRandomAccountList(accId) && !sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_FOR_BOTS)) + useAchievements = false; +#endif + if (!sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_ENABLED)) + useAchievements = false; + + m_achievementMgr = useAchievements ? new AchievementMgr(this) : nullptr; +#endif + m_ExtraFlags = 0; if (GetSession()->GetSecurity() >= SEC_GAMEMASTER) SetAcceptTicket(true); @@ -490,6 +524,9 @@ Player::Player(WorldSession* session): Unit(), m_taxiTracker(*this), m_mover(thi m_usedTalentCount = 0; + m_activeSpec = 0; + m_specsCount = 1; + m_modManaRegen = 0; m_modManaRegenInterrupt = 0; for (int s = 0; s < MAX_SPELL_SCHOOL; s++) @@ -612,6 +649,8 @@ Player::Player(WorldSession* session): Unit(), m_taxiTracker(*this), m_mover(thi for (auto& enchantMod : m_enchantmentFlatMod) enchantMod = 0; + + m_baseSpellPower = 0; // Player summoning m_summon_expire = 0; @@ -635,6 +674,11 @@ Player::Player(WorldSession* session): Unit(), m_taxiTracker(*this), m_mover(thi m_isDebuggingAreaTriggers = false; m_fishingSteps = 0; + +#ifdef ENABLE_PLAYERBOTS + m_playerbotAI = NULL; + m_playerbotMgr = NULL; +#endif } Player::~Player() @@ -679,6 +723,29 @@ Player::~Player() m_playerbotMgr = 0; } #endif + +#ifdef ENABLE_PLAYERBOTS + if (m_playerbotAI) { + { + delete m_playerbotAI; + } + m_playerbotAI = 0; + } + if (m_playerbotMgr) { + { + delete m_playerbotMgr; + } + m_playerbotMgr = 0; + } +#endif + +#ifdef USE_ACHIEVEMENTS + if(m_achievementMgr) + { + delete m_achievementMgr; + m_achievementMgr = nullptr; + } +#endif } void Player::CleanupsBeforeDelete() @@ -929,6 +996,10 @@ bool Player::Create(uint32 guidlow, const std::string& name, uint8 race, uint8 c } // all item positions resolved +#ifdef USE_ACHIEVEMENTS + CheckAllAchievementCriteria(); +#endif + return true; } @@ -1024,6 +1095,10 @@ uint32 Player::EnvironmentalDamage(EnvironmentalDamageType type, uint32 damage) // durability lost message WorldPacket data2(SMSG_DURABILITY_DAMAGE_DEATH, 0); GetSession()->SendPacket(data2); + +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_DEATHS_FROM, 1, type); +#endif } return final_damage; @@ -1434,6 +1509,10 @@ void Player::Update(const uint32 diff) } } +#ifdef USE_ACHIEVEMENTS + UpdateTimedAchievements(diff); +#endif + if (hasUnitState(UNIT_STAT_MELEE_ATTACKING)) { UpdateMeleeAttackingState(); @@ -1523,6 +1602,9 @@ void Player::Update(const uint32 diff) { if (diff >= m_DetectInvTimer) { +#ifdef ENABLE_PLAYERBOTS + if (isRealPlayer()) +#endif HandleStealthedUnitsDetection(); m_DetectInvTimer = GetMap()->IsBattleGround() ? 500 : 2000; } @@ -1578,6 +1660,18 @@ void Player::Update(const uint32 diff) if (IsHasDelayedTeleport() && !m_semaphoreTeleport_Near) TeleportTo(m_teleport_dest, m_teleport_options); + // increase visibility of taxi flying characters for others + if (IsTaxiFlying() && sWorld.getConfig(CONFIG_BOOL_FAR_VISIBLE_TAXI)) + { + if (!GetVisibilityData().IsVisibilityOverridden()) + GetVisibilityData().SetVisibilityDistanceOverride(VisibilityDistanceType::Gigantic); + } + else + { + if (GetVisibilityData().IsVisibilityOverridden()) + GetVisibilityData().SetVisibilityDistanceOverride(VisibilityDistanceType::Normal); + } + #ifdef BUILD_PLAYERBOT if (m_playerbotAI) m_playerbotAI->UpdateAI(diff); @@ -1586,6 +1680,20 @@ void Player::Update(const uint32 diff) #endif } +#ifdef ENABLE_PLAYERBOTS +void Player::UpdateAI(const uint32 diff, bool minimal) +{ + if (m_playerbotAI) + { + m_playerbotAI->UpdateAI(diff); + } + if (m_playerbotMgr) + { + m_playerbotMgr->UpdateAI(diff); + } +} +#endif + void Player::Heartbeat() { Unit::Heartbeat(); @@ -1627,6 +1735,13 @@ void Player::SetDeathState(DeathState s) if (InstanceData* mapInstance = GetInstanceData()) mapInstance->OnPlayerDeath(this); + +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_DEATH_AT_MAP, 1); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_DEATH, 1); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON, 1); + ResetAchievementCriteria(ACHIEVEMENT_CRITERIA_CONDITION_NO_DEATH, 0); +#endif } Unit::SetDeathState(s); @@ -2611,6 +2726,8 @@ void Player::GiveXP(uint32 xp, Creature* victim, float groupRate) uint32 level = GetLevel(); + sImmersive.OnGiveXP(this, xp, victim); + // XP to money conversion processed in Player::RewardQuest if (level >= sWorld.getConfig(CONFIG_UINT32_MAX_PLAYER_LEVEL)) return; @@ -2650,6 +2767,8 @@ void Player::GiveLevel(uint32 level) PlayerLevelInfo info; sObjectMgr.GetPlayerLevelInfo(getRace(), plClass, level, &info); + sImmersive.GetPlayerLevelInfo(this, &info); + PlayerClassLevelInfo classInfo; sObjectMgr.GetPlayerClassLevelInfo(plClass, level, &classInfo); @@ -2703,6 +2822,12 @@ void Player::GiveLevel(uint32 level) // resend quests status directly GetSession()->SetCurrentPlayerLevel(level); SendQuestGiverStatusMultiple(); + +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL); +#endif + + sImmersive.OnGiveLevel(this); } void Player::UpdateFreeTalentPoints(bool resetIfNeed) @@ -2755,6 +2880,7 @@ void Player::InitStatsForLevel(bool reapplyMods) PlayerLevelInfo info; sObjectMgr.GetPlayerLevelInfo(getRace(), plClass, level, &info); + sImmersive.GetPlayerLevelInfo(this, &info); SetUInt32Value(PLAYER_NEXT_LEVEL_XP, sObjectMgr.GetXPForLevel(level)); @@ -3412,6 +3538,20 @@ bool Player::addSpell(uint32 spell_id, bool active, bool learning, bool dependen } } +#ifdef USE_ACHIEVEMENTS + // // xinef: update achievement criteria + if (!GetSession()->PlayerLoading()) + { + SkillLineAbilityMapBounds skill_bounds = sSpellMgr.GetSkillLineAbilityMapBoundsBySpellId(spell_id); + for (SkillLineAbilityMap::const_iterator _spell_idx = skill_bounds.first; _spell_idx != skill_bounds.second; ++_spell_idx) + { + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE, _spell_idx->second->skillId); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS, _spell_idx->second->skillId); + } + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL, spell_id); + } +#endif + // return true (for send learn packet) only if spell active (in case ranked spells) and not replace old spell return active && !disabled && !superceded_old; } @@ -3772,10 +3912,18 @@ bool Player::resetTalents(bool no_cost) for (unsigned int j : talentInfo->RankID) if (j) + { removeSpell(j, !IsPassiveSpell(j), false); + + // if this talent rank can be found in the PlayerTalentMap, mark the talent as removed so it gets deleted + PlayerTalentMap::iterator plrTalent = m_talents[m_activeSpec].find(j); + if (plrTalent != m_talents[m_activeSpec].end()) + plrTalent->second.state = PLAYERSPELL_REMOVED; + } } UpdateFreeTalentPoints(false); + _SaveTalents(); if (!no_cost) { @@ -3783,6 +3931,11 @@ bool Player::resetTalents(bool no_cost) m_resetTalentsCost = cost; m_resetTalentsTime = time(nullptr); + +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TALENTS, cost); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_NUMBER_OF_TALENT_RESETS, 1); +#endif } // FIXME: remove pet before or after unlearn spells? for now after unlearn to allow removing of talent related, pet affecting auras @@ -3918,6 +4071,12 @@ void Player::DestroyForPlayer(Player* target) const } } +bool Player::HasTalent(uint32 spell, uint8 spec) const +{ + PlayerTalentMap::const_iterator itr = m_talents[spec].find(spell); + return (itr != m_talents[spec].end() && itr->second.state != PLAYERSPELL_REMOVED); +} + bool Player::HasSpell(uint32 spell) const { PlayerSpellMap::const_iterator itr = m_spells.find(spell); @@ -4191,13 +4350,20 @@ void Player::DeleteFromDB(ObjectGuid playerguid, uint32 accountId, bool updateRe CharacterDatabase.PExecute("DELETE FROM character_skills WHERE guid = '%u'", lowguid); CharacterDatabase.PExecute("DELETE FROM character_spell WHERE guid = '%u'", lowguid); CharacterDatabase.PExecute("DELETE FROM character_spell_cooldown WHERE guid = '%u'", lowguid); + CharacterDatabase.PExecute("DELETE FROM character_talent WHERE guid = '%u'", lowguid); + CharacterDatabase.PExecute("DELETE FROM character_talent_name WHERE guid = '%u'", lowguid); CharacterDatabase.PExecute("DELETE FROM item_instance WHERE owner_guid = '%u'", lowguid); CharacterDatabase.PExecute("DELETE FROM character_social WHERE guid = '%u' OR friend='%u'", lowguid, lowguid); CharacterDatabase.PExecute("DELETE FROM mail WHERE receiver = '%u'", lowguid); CharacterDatabase.PExecute("DELETE FROM mail_items WHERE receiver = '%u'", lowguid); CharacterDatabase.PExecute("DELETE FROM character_pet WHERE owner = '%u'", lowguid); CharacterDatabase.PExecute("DELETE FROM guild_eventlog WHERE PlayerGuid1 = '%u' OR PlayerGuid2 = '%u'", lowguid, lowguid); + CharacterDatabase.PExecute("DELETE FROM character_armory_feed WHERE guid = '%u'", lowguid); CharacterDatabase.CommitTransaction(); + +#ifdef USE_ACHIEVEMENTS + AchievementMgr::DeleteFromDB(lowguid); +#endif break; } // The character gets unlinked from the account, the name gets freed up and appears as deleted ingame @@ -4299,6 +4465,11 @@ void Player::BuildPlayerRepop() void Player::ResurrectPlayer(float restore_percent, bool applySickness) { + if(!sHardcoreMgr.CanRevive(this)) + { + return; + } + SetDeathState(ALIVE); if (getRace() == RACE_NIGHTELF) @@ -4332,6 +4503,9 @@ void Player::ResurrectPlayer(float restore_percent, bool applySickness) if (InstanceData* instanceData = GetMap()->GetInstanceData()) instanceData->OnPlayerResurrect(this); + sHardcoreMgr.OnPlayerRevived(this); + sImmersive.OnDeath(this); + if (!applySickness) return; @@ -4706,6 +4880,8 @@ void Player::RepopAtGraveyard() if (updateVisibility && IsInWorld()) UpdateVisibilityAndView(); } + + sHardcoreMgr.OnPlayerReleaseSpirit(this, ClosestGrave); } void Player::JoinedChannel(Channel* c) @@ -5044,6 +5220,10 @@ bool Player::UpdateSkill(uint16 id, uint16 diff) if (skillStatus.uState != SKILL_NEW) skillStatus.uState = SKILL_CHANGED; +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL, id); +#endif + return true; } @@ -5194,6 +5374,10 @@ bool Player::UpdateSkillPro(uint16 SkillId, int32 Chance, uint16 diff) if (skillStatus.uState != SKILL_NEW) skillStatus.uState = SKILL_CHANGED; +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL, SkillId); +#endif + DEBUG_LOG("Player::UpdateSkillPro Chance=%3.1f%% taken", Chance / 10.0); return true; } @@ -5326,6 +5510,12 @@ void Player::SetSkill(SkillStatusMap::iterator itr, uint16 value, uint16 max, ui if (status.uState != SKILL_NEW) status.uState = SKILL_CHANGED; + +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL, id); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL, id); +#endif + } else // Remove { @@ -5391,6 +5581,11 @@ void Player::SetSkill(uint16 id, uint16 value, uint16 max, uint16 step/* = 0*/) itr = result.first; } +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL, id); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL, id); +#endif + SetUInt32Value(PLAYER_SKILL_INDEX(pos), MAKE_PAIR32(id, step)); // Set/reset skill id and step SetSkill(itr, value, max); // Set current and max values SetUInt32Value(PLAYER_SKILL_BONUS_INDEX(pos), 0); // Reset bonus data @@ -5841,22 +6036,49 @@ uint32 Player::GetSpellRank(SpellEntry const* spellInfo) return 0; } -void Player::SendInitialActionButtons() const -{ - DETAIL_LOG("Initializing Action Buttons for '%u'", GetGUIDLow()); +//void Player::SendInitialActionButtons() const +//{ +// DETAIL_LOG("Initializing Action Buttons for '%u'", GetGUIDLow()); +// +// WorldPacket data(SMSG_ACTION_BUTTONS, (MAX_ACTION_BUTTONS * 4)); +// for (uint8 button = 0; button < MAX_ACTION_BUTTONS; ++button) +// { +// ActionButtonList::const_iterator itr = m_actionButtons.find(button); +// if (itr != m_actionButtons.end() && itr->second.uState != ACTIONBUTTON_DELETED) +// data << uint32(itr->second.packedData); +// else +// data << uint32(0); +// } +// +// GetSession()->SendPacket(data); +// DETAIL_LOG("Action Buttons for '%u' Initialized", GetGUIDLow()); +//} + +void Player::SendActionButtons(uint32 state) const +{ + /* + state can be 0, 1 + 0 - Clears the action bars client sided. This is sent during spec swap before unlearning and before sending the new buttons. Doesn't work in 2.4.3 + 1 - Used in any SMSG_ACTION_BUTTONS packet with button data. + */ WorldPacket data(SMSG_ACTION_BUTTONS, (MAX_ACTION_BUTTONS * 4)); - for (uint8 button = 0; button < MAX_ACTION_BUTTONS; ++button) + if (state) { - ActionButtonList::const_iterator itr = m_actionButtons.find(button); - if (itr != m_actionButtons.end() && itr->second.uState != ACTIONBUTTON_DELETED) - data << uint32(itr->second.packedData); - else - data << uint32(0); + for (uint8 button = 0; button < MAX_ACTION_BUTTONS; ++button) + { + ActionButtonList::const_iterator itr = m_actionButtons.find(button); + if (itr != m_actionButtons.end() && itr->second.uState != ACTIONBUTTON_DELETED) + data << uint32(itr->second.packedData); + else + data << uint32(0); + } } + else + data << uint32(0); GetSession()->SendPacket(data); - DETAIL_LOG("Action Buttons for '%u' Initialized", GetGUIDLow()); + DETAIL_LOG("SMSG_ACTION_BUTTONS sent '%u' spec '%u'", GetGUIDLow(), m_activeSpec); } bool Player::IsActionButtonDataValid(uint8 button, uint32 action, uint8 type, Player* player) @@ -6152,6 +6374,10 @@ void Player::CheckAreaExploreAndOutdoor() uint32 val = (uint32)(1 << (areaFlag % 32)); uint32 currFields = GetUInt32Value(PLAYER_EXPLORED_ZONES_1 + offset); +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA, sTerrainMgr.GetAreaIdByAreaFlag(areaFlag, GetMapId())); +#endif + if (!(currFields & val)) { SetUInt32Value(PLAYER_EXPLORED_ZONES_1 + offset, (uint32)(currFields | val)); @@ -6504,6 +6730,10 @@ void Player::UpdateHonor() // SetUInt32Value(PLAYER_FIELD_PVP_MEDALS/*???*/, (GetHonorHighestRankInfo().rank << 24) | 0x0F0001); // ITEM FIELD RANK REQUIRED SetByteValue(PLAYER_FIELD_BYTES, 3, GetHonorHighestRankInfo().rank); + +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_OWN_RANK, uint32(GetHonorHighestRankInfo().rank)); +#endif } void Player::ResetHonor() @@ -6597,6 +6827,19 @@ bool Player::RewardHonor(Unit* uVictim, uint32 groupsize) if (GetLevel() < (pVictim->GetLevel() + 5)) { AddHonorCP(MaNGOS::Honor::HonorableKillPoints(this, pVictim, groupsize), HONORABLE, pVictim); + +#ifdef USE_ACHIEVEMENTS + if (pVictim) + { + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS, pVictim->getClass()); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_HK_RACE, pVictim->getRace()); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL_AT_AREA, GetAreaId()); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL, 1, 0, pVictim); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL, 1, 0, pVictim); + } +#endif + return true; } } @@ -6943,6 +7186,14 @@ void Player::DuelComplete(DuelCompleteType type) ForceHealthAndPowerUpdate(); duel->opponent->ForceHealthAndPowerUpdate(); +#ifdef USE_ACHIEVEMENTS + if (type == DUEL_WON) + { + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL, 1); + duel->opponent->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL, 1); + } +#endif + delete duel->opponent->duel; duel->opponent->duel = nullptr; delete duel; @@ -7326,7 +7577,7 @@ void Player::CastItemCombatSpell(Unit* Target, WeaponAttackType attType, bool sp return; // not allow proc extra attack spell at extra attack - if (m_extraAttacks && IsSpellHaveEffect(spellInfo, SPELL_EFFECT_ADD_EXTRA_ATTACKS)) + if (GetExtraAttacks() && IsSpellHaveEffect(spellInfo, SPELL_EFFECT_ADD_EXTRA_ATTACKS)) return; float chance = (float)spellInfo->procChance; @@ -7366,7 +7617,7 @@ void Player::CastItemCombatSpell(Unit* Target, WeaponAttackType attType, bool sp } // not allow proc extra attack spell at extra attack - if (m_extraAttacks && IsSpellHaveEffect(spellInfo, SPELL_EFFECT_ADD_EXTRA_ATTACKS)) + if (GetExtraAttacks() && IsSpellHaveEffect(spellInfo, SPELL_EFFECT_ADD_EXTRA_ATTACKS)) continue; // some weapon enchantments have proc flags which need to be checked @@ -7631,6 +7882,7 @@ void Player::RemovedInsignia(Player* looterPlr) // Now we must make bones lootable, and send player loot bones->SetFlag(CORPSE_FIELD_DYNAMIC_FLAGS, CORPSE_DYNFLAG_LOOTABLE); + bones->ForceValuesUpdateAtIndex(CORPSE_DYNFLAG_LOOTABLE); // We store the level of our player in the gold field // We retrieve this information at Player::SendLoot() @@ -8176,6 +8428,25 @@ Item* Player::GetItemByGuid(ObjectGuid guid) const return nullptr; } +Item* Player::GetItemByEntry(uint32 item) const +{ + for (int i = EQUIPMENT_SLOT_START; i < INVENTORY_SLOT_ITEM_END; ++i) + if (Item* pItem = GetItemByPos(INVENTORY_SLOT_BAG_0, i)) + if (pItem->GetEntry() == item) + { + return pItem; + } + + for (int i = INVENTORY_SLOT_BAG_START; i < INVENTORY_SLOT_BAG_END; ++i) + if (Bag* pBag = (Bag*)GetItemByPos(INVENTORY_SLOT_BAG_0, i)) + if (Item* itemPtr = pBag->GetItemByEntry(item)) + { + return itemPtr; + } + + return NULL; +} + Item* Player::GetItemByPos(uint16 pos) const { uint8 bag = pos >> 8; @@ -9784,7 +10055,7 @@ void Player::RemoveAmmo() } // Return stored item (if stored to stack, it can diff. from pItem). And pItem ca be deleted in this case. -Item* Player::StoreNewItem(ItemPosCountVec const& dest, uint32 item, bool update, int32 randomPropertyId) +Item* Player::StoreNewItem(ItemPosCountVec const& dest, uint32 item, bool update, int32 randomPropertyId, Loot* loot) { uint32 count = 0; for (auto itr : dest) @@ -9793,8 +10064,14 @@ Item* Player::StoreNewItem(ItemPosCountVec const& dest, uint32 item, bool update Item* pItem = Item::CreateItem(item, count, this, randomPropertyId); if (pItem) { + sHardcoreMgr.OnItemLooted(loot, pItem, this); ItemAddedQuestCheck(item, count); pItem = StoreItem(dest, pItem, update); + +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM, item, count); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM, item, count); +#endif } return pItem; } @@ -9822,6 +10099,18 @@ Item* Player::StoreItem(ItemPosCountVec const& dest, Item* pItem, bool update) lastItem = _StoreItem(pos, pItem, count, true, update); } + /* World of Warcraft Armory */ + if (lastItem) + { + ItemPrototype const* pProto = lastItem->GetProto(); + if (pProto && pProto->Quality > 2 && pProto->Flags != 2048 && (pProto->Class == ITEM_CLASS_WEAPON || pProto->Class == ITEM_CLASS_ARMOR)) + { + if (lastItem->GetOwner()) + lastItem->GetOwner()->CreateWowarmoryFeed(2, pProto->ItemId, lastItem->GetGUIDLow(), pProto->Quality); + } + } + /* World of Warcraft Armory */ + return lastItem; } @@ -9929,6 +10218,20 @@ Item* Player::EquipNewItem(uint16 pos, uint32 item, bool update) if (Item* pItem = Item::CreateItem(item, 1, this)) { ItemAddedQuestCheck(item, 1); + +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM, item, 1); +#endif + + /* World of Warcraft Armory */ + ItemPrototype const* pProto = pItem->GetProto(); + if (pProto && pProto->Quality > 2 && pProto->Flags != 2048 && (pProto->Class == ITEM_CLASS_WEAPON || pProto->Class == ITEM_CLASS_ARMOR)) + { + if (pItem->GetOwner()) + pItem->GetOwner()->CreateWowarmoryFeed(2, item, pItem->GetGUIDLow(), pProto->Quality); + } + /* World of Warcraft Armory */ + return EquipItem(pos, pItem, update); } @@ -10015,6 +10318,12 @@ Item* Player::EquipItem(uint16 pos, Item* pItem, bool update) return pItem2; } +#ifdef USE_ACHIEVEMENTS + // only for full equip instead adding to stack + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM, pItem->GetEntry()); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM, pItem->GetEntry(), slot); +#endif + return pItem; } @@ -10033,6 +10342,12 @@ void Player::QuickEquipItem(uint16 pos, Item* pItem) pItem->AddToWorld(); pItem->SendCreateUpdateToPlayer(this); } + +#ifdef USE_ACHIEVEMENTS + // only for full equip instead adding to stack + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM, pItem->GetEntry()); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM, pItem->GetEntry(), slot); +#endif } } @@ -10051,6 +10366,9 @@ void Player::SetVisibleItemSlot(uint8 slot, Item* pItem) // Use SetInt16Value to prevent set high part to FFFF for negative value SetInt16Value(PLAYER_VISIBLE_ITEM_1_PROPERTIES + (slot * MAX_VISIBLE_ITEM_OFFSET), 0, pItem->GetItemRandomPropertyId()); SetUInt32Value(PLAYER_VISIBLE_ITEM_1_PROPERTIES + 1 + (slot * MAX_VISIBLE_ITEM_OFFSET), pItem->GetItemSuffixFactor()); + + if (uint32 entry = sTransmogrification->GetFakeEntry(pItem->GetObjectGuid())) + SetUInt32Value(PLAYER_VISIBLE_ITEM_1_0 + pItem->GetSlot() * MAX_VISIBLE_ITEM_OFFSET, entry); } else { @@ -10169,6 +10487,8 @@ void Player::MoveItemFromInventory(uint8 bag, uint8 slot, bool update) it->RemoveFromWorld(); it->DestroyForPlayer(this); } + + sTransmogrification->DeleteFakeFromDB(it->GetObjectGuid()); } } @@ -10178,6 +10498,10 @@ void Player::MoveItemToInventory(ItemPosCountVec const& dest, Item* pItem, bool // update quest counters ItemAddedQuestCheck(pItem->GetEntry(), pItem->GetCount()); +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM, pItem->GetEntry(), pItem->GetCount()); +#endif + // store item Item* pLastItem = StoreItem(dest, pItem, update); @@ -11480,6 +11804,7 @@ void Player::PrepareGossipMenu(WorldObject* pSource, uint32 menuId, bool forceQu case GOSSIP_OPTION_PETITIONER: case GOSSIP_OPTION_TABARDDESIGNER: case GOSSIP_OPTION_AUCTIONEER: + case GOSSIP_OPTION_IMMERSIVE: break; // no checks case GOSSIP_OPTION_BOT: { @@ -11815,6 +12140,11 @@ void Player::OnGossipSelect(WorldObject* pSource, uint32 gossipListId) return; } #endif + case GOSSIP_OPTION_IMMERSIVE: + { + sImmersive.OnGossipSelect(this, pSource, gossipListId, &menuData); + break; + } } if (pMenuData && menuData.m_gAction_script) @@ -12374,7 +12704,11 @@ void Player::AddQuest(Quest const* pQuest, Object* questGiver) questStatusData.uState = QUEST_CHANGED; // quest accept scripts +#ifdef ENABLE_PLAYERBOTS + if (questGiver && this != questGiver) +#else if (questGiver) +#endif { switch (questGiver->GetTypeId()) { @@ -12524,11 +12858,21 @@ void Player::RewardQuest(Quest const* pQuest, uint32 reward, Object* questGiver, if (GetLevel() < sWorld.getConfig(CONFIG_UINT32_MAX_PLAYER_LEVEL)) GiveXP(xp, nullptr); else + { ModifyMoney(int32(pQuest->GetRewMoneyMaxLevel() * sWorld.getConfig(CONFIG_FLOAT_RATE_DROP_MONEY))); +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD, uint32(int32(pQuest->GetRewMoneyMaxLevel() * sWorld.getConfig(CONFIG_FLOAT_RATE_DROP_MONEY)))); +#endif + } + // Give player extra money if GetRewOrReqMoney > 0 and get ReqMoney if negative ModifyMoney(pQuest->GetRewOrReqMoney()); +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD, uint32(pQuest->GetRewOrReqMoney())); +#endif + // Send reward mail if (uint32 mail_template_id = pQuest->GetRewMailTemplateId()) MailDraft(mail_template_id).SendMailTo(this, questGiver, MAIL_CHECK_MASK_HAS_BODY, pQuest->GetRewMailDelaySecs()); @@ -12539,8 +12883,15 @@ void Player::RewardQuest(Quest const* pQuest, uint32 reward, Object* questGiver, if (!pQuest->IsRepeatable()) SetQuestStatus(quest_id, QUEST_STATUS_COMPLETE); else + { SetQuestStatus(quest_id, QUEST_STATUS_NONE); +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST, quest_id); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST_DAILY, quest_id); +#endif + } + q_status.m_rewarded = true; if (q_status.uState != QUEST_NEW) q_status.uState = QUEST_CHANGED; @@ -12550,6 +12901,9 @@ void Player::RewardQuest(Quest const* pQuest, uint32 reward, Object* questGiver, bool handled = false; +#ifdef ENABLE_PLAYERBOTS + if (this != questGiver) { +#endif switch (questGiver->GetTypeId()) { case TYPEID_UNIT: @@ -12559,8 +12913,15 @@ void Player::RewardQuest(Quest const* pQuest, uint32 reward, Object* questGiver, handled = sScriptDevAIMgr.OnQuestRewarded(this, (GameObject*)questGiver, pQuest); break; } +#ifdef ENABLE_PLAYERBOTS + } +#endif +#ifdef ENABLE_PLAYERBOTS + if (this != questGiver && !handled && pQuest->GetQuestCompleteScript() != 0) +#else if (!handled && pQuest->GetQuestCompleteScript() != 0) +#endif GetMap()->ScriptsStart(SCRIPT_TYPE_QUEST_END, pQuest->GetQuestCompleteScript(), questGiver, this, Map::SCRIPT_EXEC_PARAM_UNIQUE_BY_SOURCE); // Find spell cast on spell reward if any, then find the appropriate caster and cast it @@ -12593,6 +12954,16 @@ void Player::RewardQuest(Quest const* pQuest, uint32 reward, Object* questGiver, } } +#ifdef USE_ACHIEVEMENTS + if (pQuest->GetZoneOrSort() > 0) + { + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE, pQuest->GetZoneOrSort()); + } + + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST_COUNT); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST, pQuest->GetQuestId()); +#endif + // remove auras from spells with quest reward state limitations // Some spells applied at quest reward uint32 zone, area; @@ -12612,6 +12983,8 @@ void Player::RewardQuest(Quest const* pQuest, uint32 reward, Object* questGiver, // resend quests status directly SendQuestGiverStatusMultiple(); + + sImmersive.OnRewardQuest(this, pQuest); } bool Player::IsQuestExplored(uint32 quest_id) const @@ -13393,6 +13766,21 @@ void Player::KilledMonsterCredit(uint32 entry, ObjectGuid guid) { uint32 addkillcount = 1; +#ifdef USE_ACHIEVEMENTS + uint32 real_entry = entry; + if (guid) + { + Creature* killed = GetMap()->GetCreature(guid); + if (killed && killed->GetEntry()) + { + real_entry = killed->GetEntry(); + } + } + + StartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_CREATURE, real_entry); // MUST BE CALLED FIRST + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE, real_entry, addkillcount, guid ? GetMap()->GetCreature(guid) : nullptr); +#endif + for (int i = 0; i < MAX_QUEST_LOG_SIZE; ++i) { uint32 questid = GetQuestSlotQuestId(i); @@ -13976,8 +14364,8 @@ bool Player::LoadFromDB(ObjectGuid guid, SqlQueryHolder* holder) //"honor_highest_rank, honor_standing, stored_honor_rating, stored_dishonorablekills, stored_honorable_kills," // 43 44 //"watchedFaction, drunk," - // 45 46 47 48 49 50 51 52 53 54 55 - //"health, power1, power2, power3, power4, power5, exploredZones, equipmentCache, ammoId, actionBars, fishingSteps FROM characters WHERE guid = '%u'", GUID_LOPART(m_guid)); + // 45 46 47 48 49 50 51 52 53 54 55 56 57 + //"health, power1, power2, power3, power4, power5, exploredZones, equipmentCache, ammoId, actionBars, specCount, activeSpec, fishingSteps FROM characters WHERE guid = '%u'", GUID_LOPART(m_guid)); auto queryResult = holder->GetResult(PLAYER_LOGIN_QUERY_LOADFROM); Object::_Create(guid.GetCounter(), guid.GetCounter(), 0, HIGHGUID_PLAYER); @@ -14012,6 +14400,9 @@ bool Player::LoadFromDB(ObjectGuid guid, SqlQueryHolder* holder) return false; } + // Cleanup old Wowarmory feeds + InitWowarmoryFeeds(); + // overwrite possible wrong/corrupted guid SetGuidValue(OBJECT_FIELD_GUID, guid); @@ -14033,6 +14424,10 @@ bool Player::LoadFromDB(ObjectGuid guid, SqlQueryHolder* holder) InitDisplayIds(); // model, scale and model data +#ifdef USE_ACHIEVEMENTS + LoadAchievementsFromDB(holder); +#endif + uint32 money = fields[8].GetUInt32(); if (money > MAX_MONEY_AMOUNT) money = MAX_MONEY_AMOUNT; @@ -14286,6 +14681,9 @@ bool Player::LoadFromDB(ObjectGuid guid, SqlQueryHolder* holder) uint32 extraflags = fields[31].GetUInt32(); + if ((extraflags & PLAYER_EXTRA_CITY_PROTECTOR) && sWorld.getConfig(CONFIG_BOOL_ENABLE_CITY_PROTECTOR)) + SetCityTitle(); + m_stableSlots = fields[32].GetUInt32(); if (m_stableSlots > MAX_PET_STABLES) { @@ -14352,6 +14750,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SqlQueryHolder* holder) _LoadMailedItems(holder->GetResult(PLAYER_LOGIN_QUERY_LOADMAILEDITEMS)); UpdateNextMailTimeAndUnreads(); + _LoadTalents(holder->GetResult(PLAYER_LOGIN_QUERY_LOADTALENTS)); _LoadSpells(holder->GetResult(PLAYER_LOGIN_QUERY_LOADSPELLS)); _LoadAuras(holder->GetResult(PLAYER_LOGIN_QUERY_LOADAURAS), time_diff); @@ -14386,6 +14785,9 @@ bool Player::LoadFromDB(ObjectGuid guid, SqlQueryHolder* holder) AdjustQuestReqItemCount(quest, data.second); } + m_specsCount = fields[55].GetUInt32(); + m_activeSpec = fields[56].GetUInt32(); + _LoadActions(holder->GetResult(PLAYER_LOGIN_QUERY_LOADACTIONS)); _LoadForgottenSkills(holder->GetResult(PLAYER_LOGIN_QUERY_FORGOTTEN_SKILLS)); @@ -14461,7 +14863,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SqlQueryHolder* holder) SetPower(Powers(i), savedpower > GetMaxPower(Powers(i)) ? GetMaxPower(Powers(i)) : savedpower); } - m_fishingSteps = fields[55].GetUInt32(); + m_fishingSteps = fields[57].GetUInt32(); DEBUG_FILTER_LOG(LOG_FILTER_PLAYER_STATS, "The value of player %s after load item and aura is: ", m_name.c_str()); outDebugStatsValues(); @@ -14527,6 +14929,10 @@ bool Player::LoadFromDB(ObjectGuid guid, SqlQueryHolder* holder) } } +#ifdef USE_ACHIEVEMENTS + OnPostLoadAchievementsFromDB(); +#endif + return true; } @@ -14545,6 +14951,10 @@ void Player::_LoadActions(std::unique_ptr queryResult) uint8 button = fields[0].GetUInt8(); uint32 action = fields[1].GetUInt32(); uint8 type = fields[2].GetUInt8(); + uint32 spec = fields[3].GetUInt32(); + + if (spec != m_activeSpec) + continue; if (ActionButton* ab = addActionButton(button, action, type)) ab->uState = ACTIONBUTTON_UNCHANGED; @@ -15141,6 +15551,21 @@ void Player::_LoadWeeklyQuestStatus(std::unique_ptr queryResult) m_WeeklyQuestChanged = false; } +void Player::_LoadTalents(std::unique_ptr result) +{ + //QueryResult *result = CharacterDatabase.PQuery("SELECT spell,spec FROM character_talents WHERE guid = '%u'",GetGUIDLow()); + + if (result) + { + do + { + Field* fields = result->Fetch(); + + addTalent(fields[0].GetUInt32(), fields[1].GetUInt8(), false); + } while (result->NextRow()); + } +} + void Player::_LoadSpells(std::unique_ptr queryResult) { // QueryResult *result = CharacterDatabase.PQuery("SELECT spell,active,disabled FROM character_spell WHERE guid = '%u'",GetGUIDLow()); @@ -15363,15 +15788,12 @@ void Player::SendSavedInstances() for (BoundInstancesMap::const_iterator itr = m_boundInstances.begin(); itr != m_boundInstances.end(); ++itr) { - if (itr->second.perm) // only permanent binds are sent - { - hasBeenSaved = true; - break; - } + hasBeenSaved = true; + break; } // Send opcode 811. true or false means, whether you have current raid instances - data.Initialize(SMSG_UPDATE_INSTANCE_OWNERSHIP); + data.Initialize(SMSG_UPDATE_INSTANCE_OWNERSHIP, 4); data << uint32(hasBeenSaved); GetSession()->SendPacket(data); @@ -15380,12 +15802,9 @@ void Player::SendSavedInstances() for (BoundInstancesMap::const_iterator itr = m_boundInstances.begin(); itr != m_boundInstances.end(); ++itr) { - if (itr->second.perm) - { - data.Initialize(SMSG_UPDATE_LAST_INSTANCE); - data << uint32(itr->second.state->GetMapId()); - GetSession()->SendPacket(data); - } + data.Initialize(SMSG_UPDATE_LAST_INSTANCE, 4); + data << uint32(itr->second.state->GetMapId()); + GetSession()->SendPacket(data); } } @@ -15526,7 +15945,7 @@ void Player::SaveToDB() "death_expire_time, taxi_path, " "honor_highest_rank, honor_standing, stored_honor_rating , stored_dishonorable_kills, stored_honorable_kills, " "watchedFaction, drunk, health, power1, power2, power3, " - "power4, power5, exploredZones, equipmentCache, ammoId, actionBars, fishingSteps) " + "power4, power5, exploredZones, equipmentCache, ammoId, actionBars, specCount, activeSpec, fishingSteps) " "VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?," "?, ?, ?, ?, ?, " "?, ?, ?, " @@ -15535,7 +15954,7 @@ void Player::SaveToDB() "?, ?, " "?, ?, ?, ?, ?, " "?, ?, ?, ?, ?, ?, " - "?, ?, ?, ?, ?, ?, ?) "); + "?, ?, ?, ?, ?, ?, ?, ?, ?) "); uberInsert.addUInt32(GetGUIDLow()); uberInsert.addUInt32(GetSession()->GetAccountId()); @@ -15652,6 +16071,9 @@ void Player::SaveToDB() uberInsert.addUInt32(uint32(GetByteValue(PLAYER_FIELD_BYTES, 2))); + uberInsert.addUInt32(uint32(m_specsCount)); + uberInsert.addUInt32(uint32(m_activeSpec)); + uberInsert.addUInt8(m_fishingSteps); uberInsert.Execute(); @@ -15663,6 +16085,8 @@ void Player::SaveToDB() _SaveInventory(); _SaveQuestStatus(); _SaveWeeklyQuestStatus(); + _SaveTalents(); + _SaveTalentSpecNames(); _SaveSpells(); _SaveSpellCooldowns(); _SaveActions(); @@ -15673,6 +16097,10 @@ void Player::SaveToDB() _SaveHonorCP(); GetSession()->SaveTutorialsData(); // changed only while character in game +#ifdef USE_ACHIEVEMENTS + SaveAchievementsToDB(); +#endif + CharacterDatabase.CommitTransaction(); // check if stats should only be saved on logout @@ -15680,11 +16108,103 @@ void Player::SaveToDB() if (m_session->isLogingOut() || !sWorld.getConfig(CONFIG_BOOL_STATS_SAVE_ONLY_ON_LOGOUT)) _SaveStats(); + /* World of Warcraft Armory */ + // Place this code AFTER CharacterDatabase.CommitTransaction(); to avoid some character saving errors. + // Wowarmory feeds + if (!m_wowarmory_feeds.empty()) + { + std::ostringstream sWowarmory; + if (m_wowarmory_feeds.size() > 20) + { + uint32 numPerTime = 20; + uint32 counter = 1; + for (WowarmoryFeeds::iterator iter = m_wowarmory_feeds.begin(); iter < m_wowarmory_feeds.end(); ++iter) + { + // guid type data date counter difficulty item_guid item_quality + sWowarmory << "(" << (*iter).guid << ", " << (*iter).type << ", " << (*iter).data << ", " << uint64((*iter).date) << ", " << (*iter).counter << ", " << uint32((*iter).difficulty) << ", " << uint32((*iter).item_guid) << ", " << uint32((*iter).item_quality) << ")"; + if (iter != m_wowarmory_feeds.end() - 1 && counter < numPerTime) + sWowarmory << ","; + + if (counter >= numPerTime || iter == m_wowarmory_feeds.end() - 1) + { + std::ostringstream sWowarmoryPartial; + sWowarmoryPartial << "INSERT IGNORE INTO character_armory_feed (guid,type,data,date,counter,difficulty,item_guid,item_quality) VALUES "; + sWowarmoryPartial << sWowarmory.str().c_str(); + CharacterDatabase.PExecute(sWowarmoryPartial.str().c_str()); + sWowarmory.str(""); + sWowarmory.clear(); + counter = 1; + } + + ++counter; + } + } + else + { + sWowarmory << "INSERT IGNORE INTO character_armory_feed (guid,type,data,date,counter,difficulty,item_guid,item_quality) VALUES "; + for (WowarmoryFeeds::iterator iter = m_wowarmory_feeds.begin(); iter < m_wowarmory_feeds.end(); ++iter) + { + // guid type data date counter difficulty item_guid item_quality + sWowarmory << "(" << (*iter).guid << ", " << (*iter).type << ", " << (*iter).data << ", " << uint64((*iter).date) << ", " << (*iter).counter << ", " << uint32((*iter).difficulty) << ", " << uint32((*iter).item_guid) << ", " << uint32((*iter).item_quality) << ")"; + if (iter != m_wowarmory_feeds.end() - 1) + sWowarmory << ","; + } + CharacterDatabase.PExecute(sWowarmory.str().c_str()); + } + // Clear old saved feeds from storage - they are not required for server core. + InitWowarmoryFeeds(); + } + /* World of Warcraft Armory */ + // save pet (hunter pet level and experience and all type pets health/mana). if (Pet* pet = GetPet()) pet->SavePetToDB(PET_SAVE_AS_CURRENT, this); } +void Player::InitWowarmoryFeeds() +{ + // Clear feeds + m_wowarmory_feeds.clear(); +} + +void Player::CreateWowarmoryFeed(uint32 type, uint32 data, uint32 item_guid, uint32 item_quality) +{ + if (GetGUIDLow() == 0) + { + sLog.outError("[Wowarmory]: player is not initialized, unable to create log entry!"); + return; + } + + /* + 1 - TYPE_ACHIEVEMENT_FEED + 2 - TYPE_ITEM_FEED + 3 - TYPE_BOSS_FEED + */ + + if (type <= 0 || type > 3) + { + sLog.outError("[Wowarmory]: unknown feed type: %d, ignore.", type); + return; + } + + if (data == 0) + { + sLog.outError("[Wowarmory]: empty data (GUID: %u), ignore.", GetGUIDLow()); + return; + } + + WowarmoryFeedEntry feed; + feed.guid = GetGUIDLow(); + feed.type = type; + feed.data = data; + feed.difficulty = 0; + feed.item_guid = item_guid; + feed.item_quality = item_quality; + feed.counter = 0; + feed.date = time(NULL); + m_wowarmory_feeds.push_back(feed); +} + // fast save function for item/money cheating preventing - save only inventory and money state void Player::SaveInventoryAndGoldToDB() { @@ -15712,8 +16232,9 @@ void Player::_SaveActions() { case ACTIONBUTTON_NEW: { - SqlStatement stmt = CharacterDatabase.CreateStatement(insertAction, "INSERT INTO character_action (guid,button,action,type) VALUES (?, ?, ?, ?)"); + SqlStatement stmt = CharacterDatabase.CreateStatement(insertAction, "INSERT INTO character_action (guid,spec,button,action,type) VALUES (?, ?, ?, ?, ?)"); stmt.addUInt32(GetGUIDLow()); + stmt.addUInt32(uint32(m_activeSpec)); stmt.addUInt32(uint32(itr->first)); stmt.addUInt32(itr->second.GetAction()); stmt.addUInt32(uint32(itr->second.GetType())); @@ -15724,10 +16245,11 @@ void Player::_SaveActions() break; case ACTIONBUTTON_CHANGED: { - SqlStatement stmt = CharacterDatabase.CreateStatement(updateAction, "UPDATE character_action SET action = ?, type = ? WHERE guid = ? AND button = ?"); + SqlStatement stmt = CharacterDatabase.CreateStatement(updateAction, "UPDATE character_action SET action = ?, type = ? WHERE guid = ? AND spec = ? AND button = ?"); stmt.addUInt32(itr->second.GetAction()); stmt.addUInt32(uint32(itr->second.GetType())); stmt.addUInt32(GetGUIDLow()); + stmt.addUInt32(uint32(m_activeSpec)); stmt.addUInt32(uint32(itr->first)); stmt.Execute(); itr->second.uState = ACTIONBUTTON_UNCHANGED; @@ -15736,8 +16258,9 @@ void Player::_SaveActions() break; case ACTIONBUTTON_DELETED: { - SqlStatement stmt = CharacterDatabase.CreateStatement(deleteAction, "DELETE FROM character_action WHERE guid = ? AND button = ?"); + SqlStatement stmt = CharacterDatabase.CreateStatement(deleteAction, "DELETE FROM character_action WHERE guid = ? AND spec = ? AND button = ?"); stmt.addUInt32(GetGUIDLow()); + stmt.addUInt32(uint32(m_activeSpec)); stmt.addUInt32(uint32(itr->first)); stmt.Execute(); m_actionButtons.erase(itr++); @@ -15840,11 +16363,18 @@ void Player::_SaveInventory() m_items[i]->FSetState(ITEM_NEW); } +#ifdef ENABLE_PLAYERBOTS + if (!GetPlayerbotAI()) // hackfix for crash during save + { +#endif // update enchantment durations for (EnchantDurationList::const_iterator itr = m_enchantDuration.begin(); itr != m_enchantDuration.end(); ++itr) { itr->item->SetEnchantmentDuration(itr->slot, itr->leftduration); } +#ifdef ENABLE_PLAYERBOTS + } +#endif // if no changes if (m_itemUpdateQueue.empty()) return; @@ -16139,12 +16669,56 @@ void Player::_SaveSkills() } } -void Player::_SaveSpells() +void Player::_SaveTalents() { - static SqlStatementID delSpells ; - static SqlStatementID insSpells ; + static SqlStatementID delTalents; + static SqlStatementID insTalents; - SqlStatement stmtDel = CharacterDatabase.CreateStatement(delSpells, "DELETE FROM character_spell WHERE guid = ? and spell = ?"); + SqlStatement stmtDel = CharacterDatabase.CreateStatement(delTalents, "DELETE FROM character_talent WHERE guid = ? and spell = ? and spec = ?"); + SqlStatement stmtIns = CharacterDatabase.CreateStatement(insTalents, "INSERT INTO character_talent (guid,spell,spec) VALUES (?, ?, ?)"); + + for (uint8 i = 0; i < MAX_TALENT_SPECS; ++i) + { + for (PlayerTalentMap::iterator itr = m_talents[i].begin(); itr != m_talents[i].end();) + { + PlayerTalent& playerTalent = itr->second; + + if (itr->second.state == PLAYERSPELL_REMOVED || itr->second.state == PLAYERSPELL_CHANGED) + stmtDel.PExecute(GetGUIDLow(), itr->first, itr->second.spec); + if (itr->second.state == PLAYERSPELL_NEW || itr->second.state == PLAYERSPELL_CHANGED) + stmtIns.PExecute(GetGUIDLow(), itr->first, itr->second.spec); + + if (itr->second.state == PLAYERSPELL_REMOVED) + { + m_talents[i].erase(itr++); + } + else + { + itr->second.state = PLAYERSPELL_UNCHANGED; + ++itr; + } + } + } +} + +void Player::_SaveTalentSpecNames() +{ + for (uint8 i = 0; i < MAX_TALENT_SPECS; i++) + { + if (specNames[i] != "") + { + CharacterDatabase.PExecute("DELETE FROM character_talent_name WHERE guid='%u' AND spec='%u'", GetGUIDLow(), i); + CharacterDatabase.PExecute("INSERT INTO character_talent_name (guid,spec,name) VALUES ('%u', '%u', '%s')", GetGUIDLow(), i, specNames[i].c_str()); + } + } +} + +void Player::_SaveSpells() +{ + static SqlStatementID delSpells ; + static SqlStatementID insSpells ; + + SqlStatement stmtDel = CharacterDatabase.CreateStatement(delSpells, "DELETE FROM character_spell WHERE guid = ? and spell = ?"); SqlStatement stmtIns = CharacterDatabase.CreateStatement(insSpells, "INSERT INTO character_spell (guid,spell,active,disabled) VALUES (?, ?, ?, ?)"); for (PlayerSpellMap::iterator itr = m_spells.begin(); itr != m_spells.end();) @@ -16184,8 +16758,14 @@ void Player::_SaveStats() stmt = CharacterDatabase.CreateStatement(insertStats, "INSERT INTO character_stats (guid, maxhealth, maxpower1, maxpower2, maxpower3, maxpower4, maxpower5, " "strength, agility, stamina, intellect, spirit, armor, resHoly, resFire, resNature, resFrost, resShadow, resArcane, " - "blockPct, dodgePct, parryPct, critPct, rangedCritPct, attackPower, rangedAttackPower) " - "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); + "blockPct, dodgePct, parryPct, critPct, rangedCritPct, attackPower, rangedAttackPower, " + "holyCritPct, fireCritPct, natureCritPct, frostCritPct, shadowCritPct, arcaneCritPct, " + "attackPowerMod, rangedAttackPowerMod, holyDamage, fireDamage, natureDamage, frostDamage, shadowDamage, arcaneDamage, healBonus, " + "defenseRating, dodgeRating, parryRating, blockRating, " + "meleeHitRating, rangedHitRating, spellHitRating, meleeCritRating, rangedCritRating, spellCritRating, meleeHasteRating, rangedHasteRating, spellHasteRating, " + "expertise, expertiseRating, " + "mainHandDamageMin, mainHandDamageMax, mainHandSpeed, offHandDamageMin, offHandDamageMax, offHandSpeed, rangedDamageMin, rangedDamageMax, rangedSpeed, manaRegen, manaInterrupt, pvpRank) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); stmt.addUInt32(GetGUIDLow()); stmt.addUInt32(GetMaxHealth()); @@ -16201,8 +16781,97 @@ void Player::_SaveStats() stmt.addFloat(GetFloatValue(PLAYER_PARRY_PERCENTAGE)); stmt.addFloat(GetFloatValue(PLAYER_CRIT_PERCENTAGE)); stmt.addFloat(GetFloatValue(PLAYER_RANGED_CRIT_PERCENTAGE)); - stmt.addUInt32(GetUInt32Value(UNIT_FIELD_ATTACK_POWER)); - stmt.addUInt32(GetUInt32Value(UNIT_FIELD_RANGED_ATTACK_POWER)); + stmt.addUInt32((uint32)(GetTotalAttackPowerValue(BASE_ATTACK))); + stmt.addUInt32((uint32)(GetTotalAttackPowerValue(RANGED_ATTACK))); + + // new stats + // spell crits + for (int i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i) + stmt.addFloat(m_modSpellCritChance[i]); + + // attack power mods + stmt.addUInt32(GetUInt32Value(UNIT_FIELD_ATTACK_POWER_MODS)); + stmt.addUInt32(GetUInt32Value(UNIT_FIELD_RANGED_ATTACK_POWER_MODS)); + + // spell damage + for (int i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i) + stmt.addInt32(SpellBaseDamageBonusDone(GetSchoolMask(i))); + + // healing bonus + int32 AdvertisedBenefit = 0; + + AuraList const& mHealingDone = GetAurasByType(SPELL_AURA_MOD_HEALING_DONE); + for (auto i : mHealingDone) + if ((i->GetModifier()->m_miscvalue & SPELL_SCHOOL_MASK_ALL) != 0) + AdvertisedBenefit += i->GetModifier()->m_amount; + + // Healing bonus of spirit, intellect and strength + if (GetTypeId() == TYPEID_PLAYER) + { + // Healing bonus from stats + AuraList const& mHealingDoneOfStatPercent = GetAurasByType(SPELL_AURA_MOD_SPELL_HEALING_OF_STAT_PERCENT); + for (auto i : mHealingDoneOfStatPercent) + { + // stat used dependent from misc value (stat index) + Stats usedStat = Stats(i->GetSpellProto()->EffectMiscValue[i->GetEffIndex()]); + AdvertisedBenefit += int32(GetStat(usedStat) * i->GetModifier()->m_amount / 100.0f); + } + } + + stmt.addInt32(AdvertisedBenefit); + + // defense rating + int16 defRating = GetSkillBonus(95); + stmt.addInt32(defRating); + + // dodge bonus + int32 dodgeRating = GetTotalAuraModifier(SPELL_AURA_MOD_DODGE_PERCENT); + stmt.addInt32(dodgeRating); + + // parry Rating + int32 parryRating = GetTotalAuraModifier(SPELL_AURA_MOD_PARRY_PERCENT); + stmt.addInt32(parryRating >= 0 ? parryRating : 0); + + // block rating + int32 blockRating = GetTotalAuraModifier(SPELL_AURA_MOD_BLOCK_PERCENT); + stmt.addInt32(blockRating); + + // ratings + stmt.addInt32(GetTotalAuraModifier(SPELL_AURA_MOD_HIT_CHANCE)); + stmt.addInt32(GetTotalAuraModifier(SPELL_AURA_MOD_HIT_CHANCE)); + stmt.addInt32(GetTotalAuraModifier(SPELL_AURA_MOD_SPELL_HIT_CHANCE)); + stmt.addInt32(m_modCritChance[BASE_ATTACK]); + stmt.addInt32(m_modCritChance[RANGED_ATTACK]); + stmt.addInt32(GetTotalAuraModifier(SPELL_AURA_MOD_SPELL_CRIT_CHANCE_SCHOOL)); + + stmt.addInt32(GetTotalAuraModifier(SPELL_AURA_MOD_MELEE_HASTE)); + stmt.addInt32(GetTotalAuraModifier(SPELL_AURA_MOD_RANGED_HASTE)); + stmt.addInt32(0); // spell haste + stmt.addInt32(0); // expertise + stmt.addInt32(0); // expertise rating + + // weapon damage + // main hand + stmt.addFloat(GetFloatValue(UNIT_FIELD_MINDAMAGE)); + stmt.addFloat(GetFloatValue(UNIT_FIELD_MAXDAMAGE)); + stmt.addFloat(GetAPMultiplier(BASE_ATTACK, false)); + + // off hand + stmt.addFloat(GetFloatValue(UNIT_FIELD_MINOFFHANDDAMAGE)); + stmt.addFloat(GetFloatValue(UNIT_FIELD_MAXOFFHANDDAMAGE)); + stmt.addFloat(GetAPMultiplier(OFF_ATTACK, false)); + + // ranged + stmt.addFloat(GetFloatValue(UNIT_FIELD_MINRANGEDDAMAGE)); + stmt.addFloat(GetFloatValue(UNIT_FIELD_MAXRANGEDDAMAGE)); + stmt.addFloat(GetAPMultiplier(OFF_ATTACK, false)); + + // mana regen + stmt.addFloat(m_modManaRegen); + stmt.addFloat(m_modManaRegenInterrupt); + + // pvp rank + stmt.addInt32(GetHonorRankInfo().visualRank); stmt.Execute(); } @@ -16866,6 +17535,14 @@ void Player::SendMessageToPlayer(std::string const& message) const session->SendPacket(data); } +void Player::SendThreatMessageToPlayer(std::string const& message) const +{ + WorldPacket data; + ChatHandler::BuildChatPacket(data, CHAT_MSG_COMBAT_MISC_INFO, message.data(), LANG_UNIVERSAL, CHAT_TAG_NONE, GetObjectGuid(), nullptr, ObjectGuid(), nullptr, "THREAT"); + if (WorldSession* session = GetSession()) + session->SendPacket(data); +} + // send Proficiency void Player::SendProficiency(ItemClass itemClass, uint32 itemSubclassMask) const { @@ -17101,9 +17778,19 @@ bool Player::ActivateTaxiPathTo(std::vector const& nodes, Creature* npc // prevent stealth flight // RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_TALK); - GetSession()->SendActivateTaxiReply(ERR_TAXIOK); + if (sWorld.getConfig(CONFIG_BOOL_INSTANT_TAXI)) + { + TaxiNodesEntry const* lastnode = sTaxiNodesStore.LookupEntry(nodes[nodes.size() - 1]); + m_taxiTracker.Clear(true); + TeleportTo(lastnode->map_id, lastnode->x, lastnode->y, lastnode->z, GetOrientation()); + return false; + } + else + { + GetSession()->SendActivateTaxiReply(ERR_TAXIOK); - GetMotionMaster()->MoveTaxi(); + GetMotionMaster()->MoveTaxi(); + } return true; } @@ -17310,6 +17997,10 @@ void Player::OnTaxiFlightRouteStart(uint32 pathID, bool initial) { ModifyMoney(-int32(m_taxiTracker.GetCost())); +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TRAVELLING, m_taxiTracker.GetCost()); // not destinations, clear source node +#endif + if (const TaxiPathEntry* path = sTaxiPathStore.LookupEntry(pathID)) OnTaxiFlightStart(path); } @@ -17321,9 +18012,19 @@ void Player::OnTaxiFlightRouteEnd(uint32 pathID, bool final) { if (const TaxiPathEntry* path = sTaxiPathStore.LookupEntry(pathID)) OnTaxiFlightEnd(path); + +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN, 1); +#endif } else + { ModifyMoney(-int32(m_taxiTracker.GetCost())); + +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TRAVELLING, m_taxiTracker.GetCost()); // not destinations, clear source node +#endif + } } void Player::OnTaxiFlightRouteProgress(const TaxiPathNodeEntry* node, const TaxiPathNodeEntry* next /*= nullptr*/) @@ -18509,6 +19210,10 @@ void Player::SummonIfPossible(bool agree, ObjectGuid guid) m_summon_expire = 0; m_summoner.Clear(); +#ifdef USE_ACHIEVEMENTS + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS, 1); +#endif + TeleportTo(m_summon_mapid, m_summon_x, m_summon_y, m_summon_z, GetOrientation()); } @@ -18724,6 +19429,20 @@ bool Player::isHonorOrXPTarget(Unit* pVictim) const return true; } +bool Player::IsCityProtector() { return m_ExtraFlags & PLAYER_EXTRA_CITY_PROTECTOR; } + +void Player::SetCityTitle() +{ + SetByteValue(PLAYER_BYTES_3, 2, getRace()); + m_ExtraFlags |= PLAYER_EXTRA_CITY_PROTECTOR; +} + +void Player::RemoveCityTitle() +{ + SetByteValue(PLAYER_BYTES_3, 2, 0); + m_ExtraFlags &= ~PLAYER_EXTRA_CITY_PROTECTOR; +} + void Player::RewardSinglePlayerAtKill(Unit* pVictim) { // honor can be in PvP and !PvP (racial leader) cases @@ -18739,6 +19458,20 @@ void Player::RewardSinglePlayerAtKill(Unit* pVictim) if (Pet* pet = GetPet()) pet->GivePetXP(MaNGOS::XP::Gain(pet, creatureVictim)); +#ifdef USE_ACHIEVEMENTS + if (!InBattleGround()) + { + if (!GetGroup() || IsAlive() || !GetCorpse()) + { + if (pVictim->IsCreature()) + { + const auto creatureType = pVictim->GetCreatureType(); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE, creatureType, 1, pVictim); + } + } + } +#endif + // normal creature (not pet/etc) can be only in !PvP case if (CreatureInfo const* normalInfo = creatureVictim->GetCreatureInfo()) KilledMonster(normalInfo, creatureVictim); @@ -18864,6 +19597,22 @@ void Player::ResurrectUsingRequestDataFinish() SpawnCorpseBones(); } +void Player::SetCanFly(bool enable) +{ + if (enable) + { + m_movementInfo.moveFlags = (MOVEFLAG_LEVITATING | MOVEFLAG_SWIMMING | MOVEFLAG_CAN_FLY | MOVEFLAG_FLYING); + //addUnitState(UNIT_STAT_FLYING_ALLOWED); + } + else + { + m_movementInfo.moveFlags = (MOVEFLAG_NONE); + //clearUnitState(UNIT_STATE_FLYING_ALLOWED); + } + + SendHeartBeat(); +} + void Player::UpdateClientControl(Unit const* target, bool enabled, bool forced) const { if (target) @@ -19223,6 +19972,157 @@ void Player::learnSpellHighRank(uint32 spellid) sSpellMgr.doForHighRanks(spellid, worker); } +void Player::learnClassLevelSpells(bool includeHighLevelQuestRewards) +{ + ChrClassesEntry const* clsEntry = sChrClassesStore.LookupEntry(getClass()); + if (!clsEntry) + return; + uint32 family = clsEntry->spellfamily; + + // special cases which aren't sourced from trainers and normally require quests to obtain - added here for convenience + ObjectMgr::QuestMap const& qTemplates = sObjectMgr.GetQuestTemplates(); + for (const auto& qTemplate : qTemplates) + { + Quest const* quest = qTemplate.second; + if (!quest) + continue; + + // only class quests player could do + if (quest->GetRequiredClasses() == 0 || !SatisfyQuestClass(quest, false) || !SatisfyQuestRace(quest, false) || !SatisfyQuestLevel(quest, false)) + continue; + + // custom filter for scripting purposes + if (!includeHighLevelQuestRewards && quest->GetMinLevel() >= 60) + continue; + + learnQuestRewardedSpells(quest); + } + + // learn trainer spells + for (uint32 id = 0; id < sCreatureStorage.GetMaxEntry(); ++id) + { + CreatureInfo const* co = sCreatureStorage.LookupEntry(id); + if (!co) + continue; + + if (co->TrainerType != TRAINER_TYPE_CLASS) + continue; + + if (co->TrainerType == TRAINER_TYPE_CLASS && co->TrainerClass != getClass()) + continue; + + uint32 trainerId = co->TrainerTemplateId; + if (!trainerId) + trainerId = co->Entry; + + TrainerSpellData const* trainer_spells = sObjectMgr.GetNpcTrainerTemplateSpells(trainerId); + if (!trainer_spells) + trainer_spells = sObjectMgr.GetNpcTrainerSpells(trainerId); + + if (!trainer_spells) + continue; + + for (TrainerSpellMap::const_iterator itr = trainer_spells->spellList.begin(); itr != trainer_spells->spellList.end(); ++itr) + { + TrainerSpell const* tSpell = &itr->second; + + if (!tSpell) + continue; + + uint32 reqLevel = 0; + + // skip wrong class/race skills + if (!IsSpellFitByClassAndRace(tSpell->learnedSpell, &reqLevel)) + continue; + + if (tSpell->conditionId && !sObjectMgr.IsConditionSatisfied(tSpell->conditionId, this, GetMap(), this, CONDITION_FROM_TRAINER)) + continue; + + // skip spells with first rank learned as talent (and all talents then also) + uint32 first_rank = sSpellMgr.GetFirstSpellInChain(tSpell->learnedSpell); + reqLevel = tSpell->isProvidedReqLevel ? tSpell->reqLevel : std::max(reqLevel, tSpell->reqLevel); + bool isValidTalent = GetTalentSpellCost(first_rank) && HasSpell(first_rank) && reqLevel <= GetLevel(); + + TrainerSpellState state = GetTrainerSpellState(tSpell, reqLevel); + if (state != TRAINER_SPELL_GREEN && !isValidTalent) + continue; + + SpellEntry const* proto = sSpellTemplate.LookupEntry(tSpell->learnedSpell); + if (!proto) + continue; + + // fix activate state for non-stackable low rank (and find next spell for !active case) + if (uint32 nextId = sSpellMgr.GetSpellBookSuccessorSpellId(proto->Id)) + { + if (HasSpell(nextId)) + { + // high rank already known so this must !active + continue; + } + } + + // skip other spell families (minus a few exceptions) + if (proto->SpellFamilyName != family) + { + SkillLineAbilityMapBounds bounds = sSpellMgr.GetSkillLineAbilityMapBoundsBySpellId(tSpell->learnedSpell); + if (bounds.first == bounds.second) + continue; + + SkillLineAbilityEntry const* skillInfo = bounds.first->second; + if (!skillInfo) + continue; + + switch (skillInfo->skillId) + { + case SKILL_SUBTLETY: + //case SKILL_POISONS: + case SKILL_BEAST_MASTERY: + case SKILL_SURVIVAL: + case SKILL_DEFENSE: + case SKILL_DUAL_WIELD: + case SKILL_FERAL_COMBAT: + case SKILL_PROTECTION: + //case SKILL_BEAST_TRAINING: + case SKILL_PLATE_MAIL: + case SKILL_DEMONOLOGY: + case SKILL_ENHANCEMENT: + case SKILL_MAIL: + case SKILL_HOLY2: + case SKILL_LOCKPICKING: + break; + default: + continue; + } + } + + // skip wrong class/race skills + if (!IsSpellFitByClassAndRace(tSpell->learnedSpell)) + continue; + + // skip broken spells + if (!SpellMgr::IsSpellValid(proto, this, false)) + continue; + + if (tSpell->learnedSpell) + { + bool learned = false; + for (int j = 0; j < 3; ++j) + { + if (proto->Effect[j] == SPELL_EFFECT_LEARN_SPELL) + { + uint32 learnedSpell = proto->EffectTriggerSpell[j]; + learnSpell(learnedSpell, false); + learned = true; + } + } + if (!learned) learnSpell(tSpell->learnedSpell, false); + } + else + CastSpell(this, tSpell->spell, TRIGGERED_OLD_TRIGGERED); + } + } +} + void Player::_LoadSkills(std::unique_ptr queryResult) { // 0 1 2 @@ -19363,7 +20263,9 @@ void Player::HandleFall(MovementInfo const& movementInfo) // Players with low fall distance, Feather Fall or physical immunity (charges used) are ignored // 14.57 can be calculated by resolving damageperc formula below to 0 - if (z_diff >= 14.57f && !IsDead() && !IsGameMaster() && !HasMovementFlag(MOVEFLAG_ONTRANSPORT) && + const float fallThresshold = sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED) ? 4.57f : 14.57f; + + if (z_diff >= fallThresshold && !IsDead() && !IsGameMaster() && !HasMovementFlag(MOVEFLAG_ONTRANSPORT) && !HasAuraType(SPELL_AURA_HOVER) && !HasAuraType(SPELL_AURA_FEATHER_FALL) && !IsImmuneToDamage(SPELL_SCHOOL_MASK_NORMAL)) { @@ -19371,6 +20273,12 @@ void Player::HandleFall(MovementInfo const& movementInfo) int32 safe_fall = GetTotalAuraModifier(SPELL_AURA_SAFE_FALL); float damageperc = 0.018f * (z_diff - safe_fall) - 0.2426f; + damageperc = sImmersive.GetFallDamage(this, z_diff - safe_fall, damageperc); + +#ifdef USE_ACHIEVEMENTS + uint32 final_damage = 0; + uint32 original_health = GetHealth(); +#endif if (damageperc > 0) { @@ -19389,12 +20297,24 @@ void Player::HandleFall(MovementInfo const& movementInfo) if (GetDummyAura(43621)) damage = GetMaxHealth() / 2; +#ifdef USE_ACHIEVEMENTS + final_damage = EnvironmentalDamage(DAMAGE_FALL, damage); +#else EnvironmentalDamage(DAMAGE_FALL, damage); +#endif } // Z given by moveinfo, LastZ, FallTime, WaterZ, MapZ, Damage, Safefall reduction DEBUG_LOG("FALLDAMAGE z=%f sz=%f pZ=%f FallTime=%d mZ=%f damage=%d SF=%d", position.z, height, GetPositionZ(), movementInfo.GetFallTime(), height, damage, safe_fall); } + +#ifdef USE_ACHIEVEMENTS + // recheck alive, might have died of EnvironmentalDamage, avoid cases when player die in fact like Spirit of Redemption case + if (IsAlive() && final_damage < original_health) + { + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_FALL_WITHOUT_DYING, uint32(z_diff * 100)); + } +#endif } } @@ -19511,6 +20431,7 @@ void Player::LearnTalent(uint32 talentId, uint32 talentRank) // learn! (other talent ranks will unlearned at learning) learnSpell(spellid, false, true); + addTalent(spellid, GetActiveSpec(), true); DETAIL_LOG("TalentID: %u Rank: %u Spell: %u\n", talentId, talentRank, spellid); } @@ -19625,6 +20546,16 @@ void Player::RemoveAtLoginFlag(AtLoginFlags f, bool in_db_also /*= false*/) CharacterDatabase.PExecute("UPDATE characters set at_login = at_login & ~ %u WHERE guid ='%u'", uint32(f), GetGUIDLow()); } +void Player::ModifyMoney(int32 d) +{ + sImmersive.OnModifyMoney(this, d); + + if (d < 0) + SetMoney(GetMoney() > uint32(-d) ? GetMoney() + d : 0); + else + SetMoney(GetMoney() < uint32(MAX_MONEY_AMOUNT - d) ? GetMoney() + d : MAX_MONEY_AMOUNT); +} + void Player::SendClearCooldown(uint32 spell_id, Unit* target) const { WorldPacket data(SMSG_CLEAR_COOLDOWN, 4 + 8); @@ -20294,3 +21225,315 @@ uint32 Player::LookupHighestLearnedRank(uint32 spellId) } while ((higherRank = sSpellMgr.GetNextSpellInChain(ownedRank))); return ownedRank; } + +void Player::ActivateSpec(uint8 spec) +{ + if (GetActiveSpec() == spec) + return; + + if (spec > GetSpecsCount()) + return; + + if (IsNonMeleeSpellCasted(false)) + InterruptNonMeleeSpells(false); + + // Save current Actions + _SaveActions(); + + // Clear action bars + SendActionButtons(0); + + // TO-DO: We need more research to know what happens with warlock's reagent + if (Pet* pet = GetPet()) + RemovePet(PET_SAVE_NOT_IN_SLOT); + + ClearComboPointHolders(); + ClearAllReactives(); + UnsummonAllTotems(); + + // REMOVE TALENTS + for (uint32 talentId = 0; talentId < sTalentStore.GetNumRows(); talentId++) + { + TalentEntry const* talentInfo = sTalentStore.LookupEntry(talentId); + + if (!talentInfo) + continue; + + TalentTabEntry const* talentTabInfo = sTalentTabStore.LookupEntry(talentInfo->TalentTab); + + if (!talentTabInfo) + continue; + + // unlearn only talents for character class + // some spell learned by one class as normal spells or know at creation but another class learn it as talent, + // to prevent unexpected lost normal learned spell skip another class talents + if ((getClassMask() & talentTabInfo->ClassMask) == 0) + continue; + + for (int8 rank = 0; rank < MAX_TALENT_RANK; rank++) + { + for (PlayerSpellMap::iterator itr = GetSpellMap().begin(); itr != GetSpellMap().end();) + { + if (itr->second.state == PLAYERSPELL_REMOVED || itr->second.disabled || itr->first == 33983 || itr->first == 33982 || itr->first == 33986 || itr->first == 33987) // skip mangle rank 2 and 3 + { + ++itr; + continue; + } + + // remove learned spells (all ranks) + uint32 itrFirstId = sSpellMgr.GetFirstSpellInChain(itr->first); + + // unlearn if first rank is talent or learned by talent + if (itrFirstId == talentInfo->RankID[rank] || sSpellMgr.IsSpellLearnToSpell(talentInfo->RankID[rank], itrFirstId)) + { + removeSpell(itr->first, true); + itr = GetSpellMap().begin(); + continue; + } + else + ++itr; + } + } + } + + SetActiveSpec(spec); + uint32 spentTalents = 0; + + // ADD TALENTS + for (uint32 talentId = 0; talentId < sTalentStore.GetNumRows(); talentId++) + { + TalentEntry const* talentInfo = sTalentStore.LookupEntry(talentId); + + if (!talentInfo) + continue; + + TalentTabEntry const* talentTabInfo = sTalentTabStore.LookupEntry(talentInfo->TalentTab); + + if (!talentTabInfo) + continue; + + // learn only talents for character class + if ((getClassMask() & talentTabInfo->ClassMask) == 0) + continue; + + for (int8 rank = 0; rank < MAX_TALENT_RANK; rank++) + { + // skip non-existant talent ranks + if (talentInfo->RankID[rank] == 0) + continue; + // if the talent can be found in the newly activated PlayerTalentMap + if (HasTalent(talentInfo->RankID[rank], m_activeSpec)) + { + // ensure both versions of druid mangle spell are properly relearned + if (talentInfo->RankID[rank] == 33917) { // Mangle (Rank 1) + learnSpell(33876, false, true); // Mangle (Cat) (Rank 1) + learnSpell(33878, false, true); // Mangle (Bear) (Rank 1) + } + learnSpell(talentInfo->RankID[rank], false, true); + spentTalents += (rank + 1); // increment the spentTalents count + } + } + } + + m_usedTalentCount = spentTalents; + InitTalentForLevel(); + + // Load new Action Bar + //QueryResult* actionResult = CharacterDatabase.PQuery("SELECT button, action, type FROM character_action WHERE guid = '%u' AND spec = '%u' ORDER BY button", GetGUIDLow(), m_activeSpec); + //_LoadActions(actionResult); + + //SendActionButtons(1); + // Need to relog player ???: TODO fix packet sending + GetSession()->LogoutPlayer(); +} + +std::string Player::GetSpecName(uint8 spec) +{ + if (specNames[spec] != "") + return specNames[spec]; + + auto result = CharacterDatabase.PQuery("SELECT name FROM character_talent_name WHERE guid='%u' AND spec='%u'", GetGUIDLow(), spec); + if (!result) + return "NULL"; + + string specName = (*result)[0].GetString(); + + return specName; +} + +void Player::SetSpecName(uint8 spec, const char* specName) +{ + if (strlen(specName) > 50) + { + GetSession()->SendNotification("Provided name was too long"); + return; + } + + if (specName) + specNames[spec] = specName; +} + +void Player::addTalent(uint32 spellId, uint8 spec, bool learning) +{ + SpellEntry const* spellInfo = sSpellTemplate.LookupEntry(spellId); + if (!spellInfo) + { + sLog.outDetail("Player::addTalent: Non-existed in SpellStore spell #%u request.", spellId); + return; + } + + if (!sSpellMgr.IsSpellValid(spellInfo, this, false)) + { + sLog.outDetail("Player::addTalent: Broken spell #%u learning not allowed.", spellId); + return; + } + + PlayerTalentMap::iterator itr = m_talents[spec].find(spellId); + + if (itr != m_talents[spec].end()) + itr->second.state = PLAYERSPELL_UNCHANGED; + + else if (TalentSpellPos const* talentPos = GetTalentSpellPos(spellId)) + { + if (TalentEntry const* talentInfo = sTalentStore.LookupEntry(talentPos->talent_id)) + { + for (uint8 rank = 0; rank < MAX_TALENT_RANK; ++rank) + { + // skip learning spell and no rank spell case + uint32 rankSpellId = talentInfo->RankID[rank]; + if (!rankSpellId || rankSpellId == spellId) + continue; + + itr = m_talents[spec].find(rankSpellId); + if (itr != m_talents[spec].end()) + itr->second.state = PLAYERSPELL_REMOVED; + } + } + + PlayerSpellState state = learning ? PLAYERSPELL_NEW : PLAYERSPELL_UNCHANGED; + PlayerTalent* newtalent = new PlayerTalent(); + + newtalent->state = state; + newtalent->spec = spec; + + m_talents[spec][spellId] = *newtalent; + delete newtalent; + } +} + +#ifdef USE_ACHIEVEMENTS + +void Player::LoadAchievementsFromDB(SqlQueryHolder* holder) +{ + if (m_achievementMgr) + { + m_achievementMgr->LoadFromDB(GetObjectGuid(), holder); + } +} + +void Player::OnPostLoadAchievementsFromDB() +{ + if (m_achievementMgr) + { + m_achievementMgr->CheckAllAchievementCriteria(); + } +} + +void Player::SaveAchievementsToDB() +{ + if (m_achievementMgr) + { + m_achievementMgr->SaveToDB(); + } +} + +void Player::UpdateTimedAchievements(const uint32 diff) +{ + if (m_achievementMgr) + { + m_achievementMgr->UpdateTimedAchievements(diff); + } +} + +void Player::UpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscValue1, uint32 miscValue2, Unit* unit) +{ + if (m_achievementMgr) + { + m_achievementMgr->UpdateAchievementCriteria(type, miscValue1, miscValue2, unit); + } +} + +void Player::CheckAllAchievementCriteria() +{ + if (m_achievementMgr) + { + m_achievementMgr->CheckAllAchievementCriteria(); + } +} + +void Player::ResetAchievements() +{ + if (m_achievementMgr) + { + m_achievementMgr->Reset(); + } +} + +void Player::SendRespondInspectAchievements(Player* player) const +{ + if (m_achievementMgr) + { + m_achievementMgr->SendRespondInspectAchievements(player); + } +} + +bool Player::HasAchieved(uint32 achievementId) const +{ + if (m_achievementMgr) + { + return m_achievementMgr->HasAchieved(achievementId); + } + + return false; +} + +void Player::StartTimedAchievement(AchievementCriteriaTimedTypes type, uint32 entry, uint32 timeLost/* = 0*/) +{ + if (m_achievementMgr) + { + m_achievementMgr->StartTimedAchievement(type, entry, timeLost); + } +} + +void Player::RemoveTimedAchievement(AchievementCriteriaTimedTypes type, uint32 entry) +{ + if (m_achievementMgr) + { + m_achievementMgr->RemoveTimedAchievement(type, entry); + } +} + +void Player::ResetAchievementCriteria(AchievementCriteriaCondition condition, uint32 value, bool evenIfCriteriaComplete /* = false*/) +{ + if (m_achievementMgr) + { + m_achievementMgr->ResetAchievementCriteria(condition, value, evenIfCriteriaComplete); + } +} + +void Player::CompletedAchievement(AchievementEntry const* entry) +{ + if (m_achievementMgr) + { + m_achievementMgr->CompletedAchievement(entry); + } +} + +void Player::UpdateLootAchievements(LootItem* item, Loot* loot) +{ + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM, item->itemId, item->count); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE, loot->GetLootType(), item->count); + UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_LOOT_EPIC_ITEM, item->itemId, item->count); +} + +#endif diff --git a/src/game/Entities/Player.h b/src/game/Entities/Player.h index 74b5a72e2d..7d6b773f2d 100644 --- a/src/game/Entities/Player.h +++ b/src/game/Entities/Player.h @@ -42,6 +42,10 @@ #include "Loot/LootMgr.h" #include "Cinematics/CinematicMgr.h" +#ifdef USE_ACHIEVEMENTS +#include "Achievements/AchievementMgr.h" +#endif + #include struct Mail; @@ -63,6 +67,11 @@ struct FactionTemplateEntry; #include "PlayerBot/Base/PlayerbotAI.h" #endif +#ifdef ENABLE_PLAYERBOTS +class PlayerbotAI; +class PlayerbotMgr; +#endif + struct AreaTrigger; typedef std::deque PlayerMails; @@ -113,7 +122,14 @@ struct PlayerSpell bool disabled : 1; // first rank has been learned in result talent learn but currently talent unlearned, save max learned ranks }; +struct PlayerTalent +{ + PlayerSpellState state : 8; + uint8 spec : 8; +}; + typedef std::unordered_map PlayerSpellMap; +typedef std::unordered_map PlayerTalentMap; struct SpellCooldown { @@ -131,6 +147,14 @@ enum TrainerSpellState TRAINER_SPELL_GREEN_DISABLED = 10 // custom value, not send to client: formally green but learn not allowed }; +// These errors are only printed in client console. +enum TrainingFailureReason +{ + TRAIN_FAIL_UNAVAILABLE = 0, // Trainer service %d unavailable. + TRAIN_FAIL_NOT_ENOUGH_MONEY = 1, // Not enough money for trainer service %d. + TRAIN_FAIL_NOT_ENOUGH_SKILL = 2 // Not enough skill points for trainer service %d. +}; + enum ActionButtonUpdateState { ACTIONBUTTON_UNCHANGED = 0, @@ -484,6 +508,7 @@ enum PlayerExtraFlags // other states PLAYER_EXTRA_PVP_DEATH = 0x0100, // store PvP death status until corpse creating. PLAYER_EXTRA_WHISP_RESTRICTION = 0x0200, + PLAYER_EXTRA_CITY_PROTECTOR = 0x0400 }; // 2^n values @@ -709,10 +734,16 @@ enum PlayerLoginQueryIndex PLAYER_LOGIN_QUERY_LOADBGDATA, PLAYER_LOGIN_QUERY_LOADACCOUNTDATA, PLAYER_LOGIN_QUERY_LOADSKILLS, + PLAYER_LOGIN_QUERY_LOADTALENTS, PLAYER_LOGIN_QUERY_LOADMAILS, PLAYER_LOGIN_QUERY_LOADMAILEDITEMS, PLAYER_LOGIN_QUERY_LOADWEEKLYQUESTSTATUS, +#ifdef USE_ACHIEVEMENTS + PLAYER_LOGIN_QUERY_LOADACHIEVEMENTS, + PLAYER_LOGIN_QUERY_LOAD_CRITERIA_PROGRESS, +#endif + MAX_PLAYER_LOGIN_QUERY }; @@ -871,6 +902,22 @@ class TradeData ObjectGuid m_items[TRADE_SLOT_COUNT]; // traded itmes from m_player side including non-traded slot }; +/* World of Warcraft Armory */ +struct WowarmoryFeedEntry +{ + uint32 guid; // Player GUID + time_t date; // Log date + uint32 type; // TYPE_ACHIEVEMENT_FEED, TYPE_ITEM_FEED, TYPE_BOSS_FEED + uint32 data; // TYPE_ITEM_FEED: item_entry, TYPE_BOSS_FEED: creature_entry + uint32 item_guid; // Can be 0 + uint32 item_quality; // Can be 0 + uint8 difficulty; // Can be 0 + int counter; // Can be 0 +}; + +typedef std::vector WowarmoryFeeds; +/* World of Warcraft Armory */ + class Player : public Unit { friend class WorldSession; @@ -908,12 +955,17 @@ class Player : public Unit m_summoner = summoner; } void SummonIfPossible(bool agree, ObjectGuid guid); + bool HasSummonOffer() { return !m_summoner.IsEmpty(); } bool Create(uint32 guidlow, const std::string& name, uint8 race, uint8 class_, uint8 gender, uint8 skin, uint8 face, uint8 hairStyle, uint8 hairColor, uint8 facialHair, uint8 outfitId); void Update(const uint32 diff) override; void Heartbeat() override; +#ifdef ENABLE_PLAYERBOTS + void UpdateAI(const uint32 diff, bool minimal = false); +#endif + static bool BuildEnumData(QueryResult* result, WorldPacket& p_data); void SendInitialPacketsBeforeAddToMap(); @@ -1069,6 +1121,7 @@ class Player : public Unit uint8 FindEquipSlot(ItemPrototype const* proto, uint32 slot, bool swap) const; uint32 GetItemCount(uint32 item, bool inBankAlso = false, Item* skipItem = nullptr) const; Item* GetItemByGuid(ObjectGuid guid) const; + Item* GetItemByEntry(uint32 item) const; // only for special cases Item* GetItemByPos(uint16 pos) const; Item* GetItemByPos(uint8 bag, uint8 slot) const; Item* GetWeaponForAttack(WeaponAttackType attackType) const { return GetWeaponForAttack(attackType, false, false); } @@ -1117,7 +1170,7 @@ class Player : public Unit bool HasItemTotemCategory(uint32 TotemCategory) const; InventoryResult CanUseItem(ItemPrototype const* pProto, bool direct_action = true) const; InventoryResult CanUseAmmo(uint32 item) const; - Item* StoreNewItem(ItemPosCountVec const& dest, uint32 item, bool update, int32 randomPropertyId = 0); + Item* StoreNewItem(ItemPosCountVec const& dest, uint32 item, bool update, int32 randomPropertyId = 0, Loot* loot = nullptr); Item* StoreItem(ItemPosCountVec const& dest, Item* pItem, bool update); Item* EquipNewItem(uint16 pos, uint32 item, bool update); Item* EquipItem(uint16 pos, Item* pItem, bool update); @@ -1355,6 +1408,10 @@ class Player : public Unit bool LoadFromDB(ObjectGuid guid, SqlQueryHolder* holder); +#ifdef ENABLE_PLAYERBOTS + bool MinimalLoadFromDB(std::unique_ptr result, uint32 guid); +#endif + static uint32 GetZoneIdFromDB(ObjectGuid guid); static uint32 GetLevelFromDB(ObjectGuid guid); static bool LoadPositionFromDB(ObjectGuid guid, uint32& mapid, float& x, float& y, float& z, float& o, bool& in_flight); @@ -1386,13 +1443,7 @@ class Player : public Unit void RegenerateHealth(uint32 diff); uint32 GetMoney() const { return GetUInt32Value(PLAYER_FIELD_COINAGE); } - void ModifyMoney(int32 d) - { - if (d < 0) - SetMoney(GetMoney() > uint32(-d) ? GetMoney() + d : 0); - else - SetMoney(GetMoney() < uint32(MAX_MONEY_AMOUNT - d) ? GetMoney() + d : MAX_MONEY_AMOUNT); - } + void ModifyMoney(int32 d); void SetMoney(uint32 value) { SetUInt32Value(PLAYER_FIELD_COINAGE, value); @@ -1457,6 +1508,7 @@ class Player : public Unit std::pair RequestFollowData(ObjectGuid guid); void RelinquishFollowData(ObjectGuid guid); + bool HasTalent(uint32 spell, uint8 spec) const; bool HasSpell(uint32 spell) const override; bool HasActiveSpell(uint32 spell) const; // show in spellbook TrainerSpellState GetTrainerSpellState(TrainerSpell const* trainer_spell, uint32 reqLevel) const; @@ -1477,6 +1529,8 @@ class Player : public Unit void learnQuestRewardedSpells(); void learnQuestRewardedSpells(Quest const* quest); void learnSpellHighRank(uint32 spellid); + void learnClassLevelSpells(bool includeHighLevelQuestRewards = false); + void addTalent(uint32 spellId, uint8 spec, bool learning); uint32 GetFreeTalentPoints() const { return GetUInt32Value(PLAYER_CHARACTER_POINTS1); } void SetFreeTalentPoints(uint32 points) { SetUInt32Value(PLAYER_CHARACTER_POINTS1, points); } @@ -1504,6 +1558,20 @@ class Player : public Unit void SetSpellClass(uint8 playerClass); SpellFamily GetSpellClass() const { return m_spellClassName; } // client function equivalent - says what player can cast + // dual spec + uint8 m_activeSpec; + uint8 m_specsCount; + + void ActivateSpec(uint8 spec); + uint8 GetActiveSpec() { return m_activeSpec; } + void SetActiveSpec(uint8 spec) { m_activeSpec = spec; } + uint8 GetSpecsCount() { return m_specsCount; } + void SetSpecsCount(uint8 count) { m_specsCount = count; } + + std::string GetSpecName(uint8 spec); + void SetSpecName(uint8 spec, const char* specName); + std::string specNames[MAX_TALENT_SPECS]; + void setResurrectRequestData(ObjectGuid guid, uint32 mapId, float X, float Y, float Z, uint32 health, uint32 mana) { m_resurrectGuid = guid; @@ -1528,7 +1596,8 @@ class Player : public Unit static bool IsActionButtonDataValid(uint8 button, uint32 action, uint8 type, Player* player); ActionButton* addActionButton(uint8 button, uint32 action, uint8 type); void removeActionButton(uint8 button); - void SendInitialActionButtons() const; + void SendInitialActionButtons() const { SendActionButtons(1); } + void SendActionButtons(uint32 state) const; PvPInfo pvpInfo; void UpdatePvP(bool state, bool overriding = false); @@ -1568,6 +1637,23 @@ class Player : public Unit int GetGuildIdInvited() { return m_GuildIdInvited; } static void RemovePetitionsAndSigns(ObjectGuid guid); +#ifdef USE_ACHIEVEMENTS + void LoadAchievementsFromDB(SqlQueryHolder* holder); + void OnPostLoadAchievementsFromDB(); + void SaveAchievementsToDB(); + void UpdateTimedAchievements(const uint32 diff); + void UpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscValue1 = 0, uint32 miscValue2 = 0, Unit* unit = nullptr); + void CheckAllAchievementCriteria(); + void ResetAchievements(); + void SendRespondInspectAchievements(Player* player) const; + bool HasAchieved(uint32 achievementId) const; + void StartTimedAchievement(AchievementCriteriaTimedTypes type, uint32 entry, uint32 timeLost = 0); + void RemoveTimedAchievement(AchievementCriteriaTimedTypes type, uint32 entry); + void ResetAchievementCriteria(AchievementCriteriaCondition condition, uint32 value, bool evenIfCriteriaComplete = false); + void CompletedAchievement(AchievementEntry const* entry); + void UpdateLootAchievements(LootItem* item, Loot* loot); +#endif + bool CanEnterNewInstance(uint32 instanceId); void AddNewInstanceId(uint32 instanceId); void UpdateNewInstanceIdTimers(TimePoint const& now); @@ -1594,6 +1680,8 @@ class Player : public Unit void UpdateMaxPower(Powers power) override; void UpdateAttackPowerAndDamage(bool ranged = false) override; void UpdateDamagePhysical(WeaponAttackType attType) override; + + void ApplySpellPowerBonus(int32 amount, bool apply); void UpdateSpellDamageBonus(); void CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, float& min_damage, float& max_damage, uint8 index = 0); @@ -1602,6 +1690,7 @@ class Player : public Unit float GetMeleeCritFromAgility() const; float GetDodgeFromAgility(float amount) const; float GetSpellCritFromIntellect() const; + uint32 GetBaseSpellPowerBonus() const { return m_baseSpellPower; } void UpdateBlockPercentage(); void UpdateCritPercentage(WeaponAttackType attType); @@ -1726,6 +1815,7 @@ class Player : public Unit static Team TeamForRace(uint8 race); Team GetTeam() const { return m_team; } + PvpTeamIndex GetTeamId() const { return m_team == ALLIANCE ? TEAM_INDEX_ALLIANCE : TEAM_INDEX_HORDE; } static uint32 getFactionForRace(uint8 race); void setFactionForRace(uint8 race); @@ -1737,6 +1827,9 @@ class Player : public Unit void RewardPlayerAndGroupAtCast(WorldObject* pRewardSource, uint32 spellid = 0); void RewardPlayerAndGroupAtEventExplored(uint32 questId, WorldObject const* pEventObject); bool isHonorOrXPTarget(Unit* pVictim) const; + bool IsCityProtector(); + void SetCityTitle(); + void RemoveCityTitle(); template bool CheckForGroup(T functor) const @@ -1875,7 +1968,7 @@ class Player : public Unit /*********************************************************/ bool InBattleGround() const { return m_bgData.bgInstanceID != 0; } - bool InArena() const; + bool InArena() const { return false; } uint32 GetBattleGroundId() const { return m_bgData.bgInstanceID; } BattleGroundTypeId GetBattleGroundTypeId() const { return m_bgData.bgTypeID; } BattleGround* GetBattleGround() const; @@ -2041,6 +2134,8 @@ class Player : public Unit bool IsFreeFlying() const { return false; } bool IsSwimming() const { return m_movementInfo.HasMovementFlag(MOVEFLAG_SWIMMING); } + void SetCanFly(bool enable) override; + void UpdateClientControl(Unit const* target, bool enabled, bool forced = false) const; void SetMover(Unit* target) { m_mover = target ? target : this; } @@ -2109,6 +2204,12 @@ class Player : public Unit void SendCinematicStart(uint32 CinematicSequenceId); + /* World of Warcraft Armory */ + void CreateWowarmoryFeed(uint32 type, uint32 data, uint32 item_guid, uint32 item_quality); + void InitWowarmoryFeeds(); + WowarmoryFeeds m_wowarmory_feeds; + /* World of Warcraft Armory */ + /*********************************************************/ /*** INSTANCE SYSTEM ***/ /*********************************************************/ @@ -2166,6 +2267,7 @@ class Player : public Unit void ForceHealAndPowerUpdateInZone(); void SendMessageToPlayer(std::string const& message) const; // debugging purposes + void SendThreatMessageToPlayer(std::string const& message) const; #ifdef BUILD_PLAYERBOT // A Player can either have a playerbotMgr (to manage its bots), or have playerbotAI (if it is a bot), or @@ -2178,6 +2280,22 @@ class Player : public Unit bool IsInDuel() const { return duel && duel->startTime != 0; } #endif +#ifdef ENABLE_PLAYERBOTS + //EquipmentSets& GetEquipmentSets() { return m_EquipmentSets; } + void SetPlayerbotAI(PlayerbotAI* ai) { assert(!m_playerbotAI && !m_playerbotMgr); m_playerbotAI = ai; } + PlayerbotAI* GetPlayerbotAI() { return m_playerbotAI; } + void SetPlayerbotMgr(PlayerbotMgr* mgr) { assert(!m_playerbotAI && !m_playerbotMgr); m_playerbotMgr = mgr; } + PlayerbotMgr* GetPlayerbotMgr() { return m_playerbotMgr; } + void SetBotDeathTimer() { m_deathTimer = 0; } + bool isRealPlayer() { return m_session && (m_session->GetRemoteAddress() != "disconnected/bot"); } + //PlayerTalentMap& GetTalentMap(uint8 spec) { return m_talents[spec]; } +#endif + +#ifdef USE_ACHIEVEMENTS + const AchievementMgr* GetAchievementMgr() const { return m_achievementMgr; } + AchievementMgr* GetAchievementMgr() { return m_achievementMgr; } +#endif + void SendLootError(ObjectGuid guid, LootError error) const; // cooldown system @@ -2267,6 +2385,7 @@ class Player : public Unit void _LoadWeeklyQuestStatus(std::unique_ptr queryResult); void _LoadGroup(std::unique_ptr queryResult); void _LoadSkills(std::unique_ptr queryResult); + void _LoadTalents(std::unique_ptr queryResult); void _LoadSpells(std::unique_ptr queryResult); bool _LoadHomeBind(std::unique_ptr queryResult); void _LoadBGData(std::unique_ptr queryResult); @@ -2287,6 +2406,8 @@ class Player : public Unit void _SaveQuestStatus(); void _SaveWeeklyQuestStatus(); void _SaveSkills(); + void _SaveTalents(); + void _SaveTalentSpecNames(); void _SaveSpells(); void _SaveBGData(); void _SaveStats(); @@ -2353,11 +2474,14 @@ class Player : public Unit PlayerMails m_mail; PlayerSpellMap m_spells; + PlayerTalentMap m_talents[MAX_TALENT_SPECS]; ActionButtonList m_actionButtons; float m_auraBaseMod[BASEMOD_END][MOD_END]; + uint16 m_baseSpellPower; + uint32 m_enchantmentFlatMod[MAX_ATTACK]; // TODO: Stat system - incorporate generically, exposes a required hidden weapon stat that does not apply when unarmed SpellModList m_spellMods[MAX_SPELLMOD]; @@ -2479,6 +2603,15 @@ class Player : public Unit PlayerbotMgr* m_playerbotMgr; #endif +#ifdef ENABLE_PLAYERBOTS + PlayerbotAI* m_playerbotAI; + PlayerbotMgr* m_playerbotMgr; +#endif + +#ifdef USE_ACHIEVEMENTS + AchievementMgr* m_achievementMgr; +#endif + // Homebind coordinates uint32 m_homebindMapId; uint16 m_homebindAreaId; diff --git a/src/game/Entities/QueryHandler.cpp b/src/game/Entities/QueryHandler.cpp index f175cd13d1..eab6c49598 100644 --- a/src/game/Entities/QueryHandler.cpp +++ b/src/game/Entities/QueryHandler.cpp @@ -376,7 +376,16 @@ void WorldSession::HandlePageTextQueryOpcode(WorldPacket& recv_data) DETAIL_LOG("WORLD: Received opcode CMSG_PAGE_TEXT_QUERY"); uint32 pageID; - recv_data >> pageID; + ObjectGuid bookGuid; + recv_data >> pageID >> bookGuid; + +#ifdef USE_ACHIEVEMENTS + // reading books + if (bookGuid.IsGameObject()) + { + GetPlayer()->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT, bookGuid.GetEntry()); + } +#endif while (pageID) { diff --git a/src/game/Entities/StatSystem.cpp b/src/game/Entities/StatSystem.cpp index 0516eb3721..c11b2ea668 100644 --- a/src/game/Entities/StatSystem.cpp +++ b/src/game/Entities/StatSystem.cpp @@ -71,6 +71,16 @@ bool Player::UpdateStats(Stats stat) return true; } +void Player::ApplySpellPowerBonus(int32 amount, bool apply) +{ + m_baseSpellPower += apply ? amount : -amount; + + // For speed just update for client + //ApplyModUInt32Value(PLAYER_FIELD_MOD_HEALING_DONE_POS, amount, apply); + for (int i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i) + ApplyModUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + i, amount, apply); +} + void Player::UpdateSpellDamageBonus() { // Magic damage modifiers implemented in Unit::SpellDamageBonusDone diff --git a/src/game/Entities/Unit.cpp b/src/game/Entities/Unit.cpp index b6edded87f..a9935870fe 100644 --- a/src/game/Entities/Unit.cpp +++ b/src/game/Entities/Unit.cpp @@ -50,15 +50,25 @@ #include "Tools/Formulas.h" #include "Entities/Transports.h" #include "Anticheat/Anticheat.hpp" +#include +#include #ifdef BUILD_METRICS #include "Metric/Metric.h" #endif +#ifdef ENABLE_PLAYERBOTS +#include "playerbot.h" +#include "GuildTaskMgr.h" +#endif + #include #include #include +#include "Hardcore/HardcoreMgr.h" +#include "Immersive/Immersive.h" + float baseMoveSpeed[MAX_MOVE_TYPE] = { 2.5f, // MOVE_WALK @@ -418,6 +428,7 @@ Unit::Unit() : m_noThreat = false; m_extraAttacksExecuting = false; + m_doExtraAttacks = false; m_debuggingMovement = false; m_baseSpeedWalk = 1.f; @@ -495,6 +506,12 @@ void Unit::Update(const uint32 diff) m_lastManaUseTimer -= diff; } + // try extra attack + DoExtraAttacks(GetVictim()); + + if (CanHaveThreatList()) + getThreatManager().UpdateForClient(diff); + if (uint32 base_att = getAttackTimer(BASE_ATTACK)) setAttackTimer(BASE_ATTACK, (diff >= base_att ? 0 : base_att - diff)); @@ -964,16 +981,57 @@ uint32 Unit::DealDamage(Unit* dealer, Unit* victim, uint32 damage, CleanDamage c } } } + + #ifdef USE_ACHIEVEMENTS + // TODO(TsAah): decide on config options for optimization or non-player victims + if (dealer != victim) + { + if (Player* killer = dealer->GetBeneficiaryPlayer()) + { + // pussywizard: don't allow GMs to deal damage in normal way (this leaves no evidence in logs!), they have commands to do so + //if (!allowGM && killer->GetSession()->GetSecurity() && killer->GetSession()->GetSecurity() <= SEC_ADMINISTRATOR) + // return 0; + // if (auto* const bg = ((Player*)killer)->GetBattleGround()) { + killer->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE, damage, 0, victim); // pussywizard: InBattleground() optimization + killer->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_DEALT, damage); // pussywizard: optimization + } + } + + if (victim->GetTypeId() == TYPEID_PLAYER) + { + static_cast(victim)->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_RECEIVED, damage); + } +#endif } if (victim->IsPreventingDeath() && damagetype != INSTAKILL && health <= damage) damage = health - 1; if (health <= damage) + { Kill(dealer, victim, damagetype, spellInfo, durabilityLoss, duel_hasEnded); + +#ifdef USE_ACHIEVEMENTS + // TODO(TsAah): decide on config options for optimization or non-player victims + if (victim->GetTypeId() == TYPEID_PLAYER && victim != dealer) + { + static_cast(victim)->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_TOTAL_DAMAGE_RECEIVED, health); + } +#endif + } else // if (health <= damage) + { HandleDamageDealt(dealer, victim, damage, cleanDamage, damagetype, damageSchoolMask, spellInfo, duel_hasEnded); +#ifdef USE_ACHIEVEMENTS + // TODO(TsAah): decide on config options for optimization or non-player victims + if (victim->GetTypeId() == TYPEID_PLAYER) + { + static_cast(victim)->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_TOTAL_DAMAGE_RECEIVED, damage); + } +#endif + } + DEBUG_FILTER_LOG(LOG_FILTER_DAMAGE, "DealDamageEnd returned %d damage", damage); return damage; @@ -1059,6 +1117,14 @@ void Unit::Kill(Unit* killer, Unit* victim, DamageEffectType damagetype, SpellEn tapper->RewardSinglePlayerAtKill(victim); } +#ifdef USE_ACHIEVEMENTS + // update get killing blow achievements, must be done before setDeathState to be able to require auras on target + // and before Spirit of Redemption as it also removes auras + if (responsiblePlayer) + responsiblePlayer->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS, 1, 0, victim); + +#endif + /* * Actions for the killer */ @@ -1129,6 +1195,8 @@ void Unit::Kill(Unit* killer, Unit* victim, DamageEffectType damagetype, SpellEn { DEBUG_FILTER_LOG(LOG_FILTER_DAMAGE, "SET JUST_DIED"); victim->SetDeathState(JUST_DIED); + + sHardcoreMgr.OnPlayerDeath((Player*)victim, killer); } // playerVictim was in duel, duel must be interrupted @@ -1154,6 +1222,13 @@ void Unit::Kill(Unit* killer, Unit* victim, DamageEffectType damagetype, SpellEn outdoorPvP->HandlePlayerKill(responsiblePlayer, playerVictim); } } + +#ifdef USE_ACHIEVEMENTS + if (responsiblePlayer && playerVictim != responsiblePlayer) + playerVictim->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_PLAYER, responsiblePlayer->GetTeamId()); + else if (killer && killer->IsUnit()) + playerVictim->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_CREATURE, 1, killer->GetEntry()); +#endif } else // Killed creature JustKilledCreature(killer, static_cast(victim), responsiblePlayer); @@ -1343,6 +1418,12 @@ void Unit::JustKilledCreature(Unit* killer, Creature* victim, Player* responsibl if (BattleGround* bg = responsiblePlayer->GetBattleGround()) bg->HandleKillUnit(victim, responsiblePlayer); +#ifdef ENABLE_PLAYERBOTS + // Guild Task check + if (responsiblePlayer && sPlayerbotAIConfig.guildTaskEnabled) + sGuildTaskMgr.CheckKillTask(responsiblePlayer, victim); +#endif + // Notify the outdoor pvp script if (OutdoorPvP* outdoorPvP = sOutdoorPvPMgr.GetScript(responsiblePlayer ? responsiblePlayer->GetCachedZoneId() : victim->GetZoneId())) outdoorPvP->HandleCreatureDeath(victim); @@ -1370,6 +1451,11 @@ void Unit::JustKilledCreature(Unit* killer, Creature* victim, Player* responsibl if (map->IsRaid() && victim->GetCreatureInfo()->ExtraFlags & CREATURE_EXTRA_FLAG_INSTANCE_BIND) { static_cast(map)->PermBindAllPlayers(creditedPlayer); + + /* World of Warcraft Armory */ + if (creditedPlayer) + creditedPlayer->CreateWowarmoryFeed(3, victim->GetCreatureInfo()->Entry, 0, 0); + /* World of Warcraft Armory */ } static_cast(map)->GetPersistanceState()->UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, victim->GetEntry()); } @@ -2574,6 +2660,9 @@ void Unit::AttackerStateUpdate(Unit* pVictim, WeaponAttackType attType, bool ext if (attType == RANGED_ATTACK) return; // ignore ranged case + if (GetExtraAttacks() && !extra) + AddExtraAttackOnUpdate(); + // melee attack spellInfo casted at main hand attack only - but only if its not already being executed if (attType == BASE_ATTACK && m_currentSpells[CURRENT_MELEE_SPELL] && !m_currentSpells[CURRENT_MELEE_SPELL]->IsExecutedCurrently()) { @@ -2622,6 +2711,23 @@ void Unit::AttackerStateUpdate(Unit* pVictim, WeaponAttackType attType, bool ext void Unit::DoExtraAttacks(Unit* pVictim) { + if (!pVictim || !m_doExtraAttacks || !IsInCombat() || !m_extraAttacks) + return; + + uint8 swingError = 0; + if (!CanReachWithMeleeAttack(pVictim)) + swingError = SWING_ERROR_NOT_IN_RANGE; + else if (!HasInArc(pVictim, 2 * M_PI_F / 3)) + swingError = SWING_ERROR_BAD_FACING; + else if (!pVictim->IsAlive()) + swingError = SWING_ERROR_TARGET_NOT_ALIVE; + else if (!CanAttackInCombat(pVictim)) + swingError = SWING_ERROR_CANT_ATTACK_TARGET; + + if (swingError) + return; + + m_doExtraAttacks = false; m_extraAttacksExecuting = true; while (m_extraAttacks) { @@ -3166,6 +3272,7 @@ float Unit::CalculateEffectiveDodgeChance(const Unit* attacker, WeaponAttackType const bool isPlayerOrPet = HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PLAYER_CONTROLLED); const uint32 skill = (weapon ? attacker->GetWeaponSkillValue(attType, this) : attacker->GetSkillMaxForLevel(this)); int32 difference = int32(GetDefenseSkillValue(attacker) - skill); + difference += sImmersive.CalculateEffectiveChance(difference, attacker, this, immersive::IMMERSIVE_EFFECTIVE_CHANCE_DODGE); // Defense/weapon skill factor: for players and NPCs float factor = 0.04f; // NPCs gain additional bonus dodge chance based on positive skill difference @@ -3193,6 +3300,7 @@ float Unit::CalculateEffectiveParryChance(const Unit* attacker, WeaponAttackType const bool isPlayerOrPet = HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PLAYER_CONTROLLED); const uint32 skill = (weapon ? attacker->GetWeaponSkillValue(attType, this) : attacker->GetSkillMaxForLevel(this)); int32 difference = int32(GetDefenseSkillValue(attacker) - skill); + difference += sImmersive.CalculateEffectiveChance(difference, attacker, this, immersive::IMMERSIVE_EFFECTIVE_CHANCE_PARRY); // Defense/weapon skill factor: for players and NPCs float factor = 0.04f; // NPCs gain additional bonus parry chance based on positive skill difference (same value as bonus miss rate) @@ -3221,7 +3329,8 @@ float Unit::CalculateEffectiveBlockChance(const Unit* attacker, WeaponAttackType // b) Attacker has +skill bonuses const bool isPlayerOrPet = HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PLAYER_CONTROLLED); const uint32 skill = (weapon ? attacker->GetWeaponSkillValue(attType, this) : attacker->GetSkillMaxForLevel(this)); - const int32 difference = int32(GetDefenseSkillValue(attacker) - skill); + int32 difference = int32(GetDefenseSkillValue(attacker) - skill); + difference += sImmersive.CalculateEffectiveChance(difference, attacker, this, immersive::IMMERSIVE_EFFECTIVE_CHANCE_BLOCK); // Defense/weapon skill factor: for players and NPCs float factor = 0.04f; // NPCs cannot gain bonus block chance based on positive skill difference @@ -3675,7 +3784,8 @@ float Unit::CalculateEffectiveCritChance(const Unit* victim, WeaponAttackType at const bool ranged = (attType == RANGED_ATTACK); // weapon skill does not benefit crit% vs NPCs const uint32 skill = (weapon && !vsPlayerOrPet ? GetWeaponSkillValue(attType, victim) : GetSkillMaxForLevel(victim)); - const int32 difference = int32(skill - victim->GetDefenseSkillValue(this)); + int32 difference = int32(skill - victim->GetDefenseSkillValue(this)); + difference += sImmersive.CalculateEffectiveChance(difference, this, victim, immersive::IMMERSIVE_EFFECTIVE_CHANCE_CRIT); // Weapon skill factor: for players and NPCs float factor = 0.04f; // Crit suppression against NPCs with higher level @@ -3713,6 +3823,7 @@ float Unit::CalculateEffectiveMissChance(const Unit *victim, WeaponAttackType at const bool vsPlayerOrPet = victim->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PLAYER_CONTROLLED); const uint32 skill = (weapon ? GetWeaponSkillValue(attType, victim) : GetSkillMaxForLevel(victim)); int32 difference = int32(victim->GetDefenseSkillValue(this) - skill); + difference += sImmersive.CalculateEffectiveChance(difference, this, victim, immersive::IMMERSIVE_EFFECTIVE_CHANCE_MISS); // Defense/weapon skill factor: for players and NPCs float factor = 0.04f; // NPCs gain additional bonus to incoming hit chance reduction based on positive skill difference (same value as bonus parry rate) @@ -3797,6 +3908,7 @@ float Unit::CalculateSpellMissChance(const Unit* victim, SpellSchoolMask schoolM // Level difference: positive adds to miss chance, negative substracts const bool vsPlayerOrPet = victim->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PLAYER_CONTROLLED); int32 difference = int32(victim->GetLevelForTarget(this) - GetLevelForTarget(victim)); + difference += sImmersive.CalculateEffectiveChance(difference, this, victim, immersive::IMMERSIVE_EFFECTIVE_CHANCE_SPELL_MISS); // Level difference factor: 1% per level uint8 factor = 1; // NPCs and players gain additional bonus to incoming spellInfo hit chance reduction based on positive level difference @@ -4367,7 +4479,7 @@ void Unit::SetFacingTo(float ori) init.Launch(); // orientation change is in-place UpdateSplinePosition(); - movespline->_Finalize(); + EndSpline(); } void Unit::SetFacingToObject(WorldObject* object) @@ -4381,7 +4493,7 @@ void Unit::SetFacingToObject(WorldObject* object) init.Launch(); // orientation change is in-place UpdateSplinePosition(); - movespline->_Finalize(); + EndSpline(); } bool Unit::isInAccessablePlaceFor(Unit const* unit) const @@ -6797,6 +6909,26 @@ int32 Unit::DealHeal(Unit* pVictim, uint32 addhealth, SpellEntry const* spellInf if (pVictim->AI()) pVictim->AI()->HealedBy(this, addhealth); +#ifdef USE_ACHIEVEMENTS + // TODO(TsAah): consider config options for optimization and other... + if (this->IsPlayer()) + { + // use the actual gain, as the overhealing shall not be counted, skip gain 0 (it ignored anyway in to criteria) + if (gain) + { + ((Player*)this)->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE, gain, 0, pVictim); + } + + ((Player*)this)->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEAL_CASTED, addhealth); // pussywizard: optimization + } + + if (pVictim->IsPlayer()) + { + ((Player*)pVictim)->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_TOTAL_HEALING_RECEIVED, gain); // pussywizard: optimization + ((Player*)pVictim)->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALING_RECEIVED, addhealth); // pussywizard: optimization + } +#endif + return gain; } @@ -7058,6 +7190,9 @@ int32 Unit::SpellBaseDamageBonusDone(SpellSchoolMask schoolMask) if (GetTypeId() == TYPEID_PLAYER) { + // Base value + DoneAdvertisedBenefit += ((Player*)this)->GetBaseSpellPowerBonus(); + // Damage bonus from stats AuraList const& mDamageDoneOfStatPercent = GetAurasByType(SPELL_AURA_MOD_SPELL_DAMAGE_OF_STAT_PERCENT); for (auto i : mDamageDoneOfStatPercent) @@ -7202,6 +7337,9 @@ int32 Unit::SpellBaseHealingBonusDone(SpellSchoolMask schoolMask) // Healing bonus of spirit, intellect and strength if (GetTypeId() == TYPEID_PLAYER) { + // Base value + AdvertisedBenefit += ((Player*)this)->GetBaseSpellPowerBonus(); + // Healing bonus from stats AuraList const& mHealingDoneOfStatPercent = GetAurasByType(SPELL_AURA_MOD_SPELL_HEALING_OF_STAT_PERCENT); for (auto i : mHealingDoneOfStatPercent) @@ -8532,6 +8670,9 @@ void Unit::AddThreat(Unit* pVictim, float threat /*= 0.0f*/, bool crit /*= false void Unit::DeleteThreatList() { + if (CanHaveThreatList(true) && !getThreatManager().isThreatListEmpty()) + SendThreatClear(); + getThreatManager().clearReferences(); getHostileRefManager().deleteReferences(); } @@ -10675,6 +10816,189 @@ void Unit::KnockBackWithAngle(float angle, float horizontalSpeed, float vertical return; } +void LocalizeThreatUnitName(uint32 number, const Unit* unit, std::stringstream& outData) +{ + outData.clear(); + outData.str(std::string()); + + if (unit) + { + // Only for creatures + if (unit->IsCreature()) + { + outData << number << ": localize_name["; + for (int32 localeIdx = 0; localeIdx < MAX_LOCALE; localeIdx++) + { + if (localeIdx == 0) + { + outData << localeIdx << "_" << unit->GetNameForLocaleIdx(localeIdx); + } + else + { + outData << ";" << localeIdx << "_" << unit->GetNameForLocaleIdx(localeIdx); + } + } + outData << "]" << unit->GetLevel() << std::dec; + } + else + { + outData << number << ": " << unit->GetName() << unit->GetLevel() << std::dec; + } + } +} + +void Unit::SendThreatUpdate() +{ + ThreatList const& tlist = getThreatManager().getThreatList(); + if (uint32 count = tlist.size()) + { + DEBUG_FILTER_LOG(LOG_FILTER_COMBAT, "WORLD: Send SMSG_THREAT_UPDATE Message"); + uint32 number = urand(0, -1); + std::stringstream data; + data << number << ": " << "SMSG_THREAT_UPDATE"; + SendMessageToSet(data.str(), true); + data.clear(); + data.str(std::string()); + data << number << ": " << std::uppercase << "0x" << std::setfill('0') << std::setw(16) << std::hex << GetObjectGuid() << std::dec; + SendMessageToSet(data.str(), true); + + // Localize unit names + LocalizeThreatUnitName(number, this, data); + SendMessageToSet(data.str(), false); + + data.clear(); + data.str(std::string()); + data << number << ": " << uint32(count); + SendMessageToSet(data.str(), true); + data.clear(); + data.str(std::string()); + for (auto itr : tlist) + { + data << number << ": " << std::uppercase << "0x" << std::setfill('0') << std::setw(16) << std::hex << itr->getUnitGuid() << std::dec; + SendMessageToSet(data.str(), true); + + // Localize unit names (only for creatures) + LocalizeThreatUnitName(number, itr->getTarget(), data); + SendMessageToSet(data.str(), false); + + data.clear(); + data.str(std::string()); + data << number << ": " << uint32(itr->getThreat()); + SendMessageToSet(data.str(), true); + data.clear(); + data.str(std::string()); + } + data << number << ": END"; + SendMessageToSet(data.str(), true); + } +} + +void Unit::SendHighestThreatUpdate(HostileReference* pHostileReference) +{ + ThreatList const& tlist = getThreatManager().getThreatList(); + if (uint32 count = tlist.size()) + { + DEBUG_FILTER_LOG(LOG_FILTER_COMBAT, "WORLD: Send SMSG_HIGHEST_THREAT_UPDATE Message"); + uint32 number = urand(0, -1); + std::stringstream data; + data << number << ": " << "SMSG_HIGHEST_THREAT_UPDATE"; + SendMessageToSet(data.str(), true); + data.clear(); + data.str(std::string()); + data << number << ": " << std::uppercase << "0x" << std::setfill('0') << std::setw(16) << std::hex << GetObjectGuid() << std::dec; + SendMessageToSet(data.str(), true); + + // Localize unit names + LocalizeThreatUnitName(number, this, data); + SendMessageToSet(data.str(), false); + + data.clear(); + data.str(std::string()); + data << number << ": " << std::uppercase << "0x" << std::setfill('0') << std::setw(16) << std::hex << pHostileReference->getUnitGuid() << std::dec; + SendMessageToSet(data.str(), true); + data.clear(); + data.str(std::string()); + data << number << ": " << pHostileReference->getTarget()->GetName() << pHostileReference->getTarget()->GetLevel() << std::dec; + SendMessageToSet(data.str(), false); + data.clear(); + data.str(std::string()); + data << number << ": " << uint32(count); + SendMessageToSet(data.str(), true); + data.clear(); + data.str(std::string()); + for (auto itr : tlist) + { + data << number << ": " << std::uppercase << "0x" << std::setfill('0') << std::setw(16) << std::hex << itr->getUnitGuid() << std::dec; + SendMessageToSet(data.str(), true); + + // Localize unit names + LocalizeThreatUnitName(number, itr->getTarget(), data); + SendMessageToSet(data.str(), false); + + data.clear(); + data.str(std::string()); + data << number << ": " << uint32(itr->getThreat()); + SendMessageToSet(data.str(), true); + data.clear(); + data.str(std::string()); + } + data << number << ": END"; + SendMessageToSet(data.str(), true); + } +} + +void Unit::SendThreatClear() const +{ + DEBUG_FILTER_LOG(LOG_FILTER_COMBAT, "WORLD: Send SMSG_THREAT_CLEAR Message"); + uint32 number = urand(0, -1); + std::stringstream data; + data << number << ": " << "SMSG_THREAT_CLEAR"; + SendMessageToSet(data.str(), true); + data.clear(); + data.str(std::string()); + data << number << ": " << std::uppercase << "0x" << std::setfill('0') << std::setw(16) << std::hex << GetObjectGuid() << std::dec; + SendMessageToSet(data.str(), true); + + // Localize unit names + LocalizeThreatUnitName(number, this, data); + SendMessageToSet(data.str(), false); + + data.clear(); + data.str(std::string()); + data << number << ": END"; + SendMessageToSet(data.str(), true); +} + +void Unit::SendThreatRemove(HostileReference* pHostileReference) const +{ + DEBUG_FILTER_LOG(LOG_FILTER_COMBAT, "WORLD: Send SMSG_THREAT_REMOVE Message"); + uint32 number = urand(0, -1); + std::stringstream data; + data << number << ": " << "SMSG_THREAT_REMOVE"; + SendMessageToSet(data.str(), true); + data.clear(); + data.str(std::string()); + data << number << ": " << std::uppercase << "0x" << std::setfill('0') << std::setw(16) << std::hex << GetObjectGuid() << std::dec; + SendMessageToSet(data.str(), true); + + // Localize unit names + LocalizeThreatUnitName(number, this, data); + SendMessageToSet(data.str(), false); + + data.clear(); + data.str(std::string()); + data << number << ": " << std::uppercase << "0x" << std::setfill('0') << std::setw(16) << std::hex << pHostileReference->getUnitGuid() << std::dec; + SendMessageToSet(data.str(), true); + data.clear(); + data.str(std::string()); + data << number << ": " << pHostileReference->getTarget()->GetName() << pHostileReference->getTarget()->GetLevel() << std::dec; + SendMessageToSet(data.str(), false); + data.clear(); + data.str(std::string()); + data << number << ": END"; + SendMessageToSet(data.str(), true); +} + struct StopAttackFactionHelper { explicit StopAttackFactionHelper(uint32 _faction_id) : faction_id(_faction_id) {} @@ -10950,6 +11274,12 @@ void Unit::DisableSpline() movespline->_Interrupt(); } +void Unit::EndSpline() +{ + m_movementInfo.RemoveMovementFlag(MovementFlags(MOVEFLAG_SPLINE_ENABLED | MOVEFLAG_FORWARD)); + movespline->_Finalize(); +} + void Unit::ForceHealthAndPowerUpdate() { uint32 powerType = GetPowerType(); @@ -11613,6 +11943,7 @@ float Unit::GetAttackDistance(Unit const* target) const uint32 creaturelevel = GetLevelForTarget(target); int32 leveldif = int32(playerlevel) - int32(creaturelevel); + leveldif += sImmersive.CalculateEffectiveChance(leveldif, this, target, immersive::IMMERSIVE_EFFECTIVE_ATTACK_DISTANCE); // "The maximum Aggro Radius has a cap of 25 levels under. Example: A level 30 char has the same Aggro Radius of a level 5 char on a level 60 mob." if (leveldif < -25) @@ -12231,7 +12562,16 @@ void Unit::SetSwim(bool enable) void Unit::SetCanFly(bool enable) { - // TBC+ + if (enable) + { + m_movementInfo.AddMovementFlag(MOVEFLAG_CAN_FLY); + m_movementInfo.AddMovementFlag(MOVEFLAG_FLYING_OLD); + } + else + { + m_movementInfo.RemoveMovementFlag(MOVEFLAG_CAN_FLY); + m_movementInfo.RemoveMovementFlag(MOVEFLAG_FLYING_OLD); + } } void Unit::SetFeatherFall(bool enable) diff --git a/src/game/Entities/Unit.h b/src/game/Entities/Unit.h index b8336c90d8..d6e7fc6e1d 100644 --- a/src/game/Entities/Unit.h +++ b/src/game/Entities/Unit.h @@ -1210,8 +1210,12 @@ class Unit : public WorldObject * @return true if we can reach pVictim with a melee attack */ bool CanReachWithMeleeAttack(Unit const* pVictim, float flat_mod = 0.0f) const; - uint32 m_extraAttacks; void DoExtraAttacks(Unit* pVictim); + bool IsExtraAttacksLocked() const { return m_extraAttacksExecuting; } + void AddExtraAttack() { ++m_extraAttacks; } + uint32 GetExtraAttacks() const { return m_extraAttacks; } + void AddExtraAttackOnUpdate() { m_doExtraAttacks = true; }; + void SetExtraAttaks(uint32 attacks) { m_extraAttacks = attacks; } bool IsAttackedBy(Unit* attacker) const { @@ -1779,7 +1783,7 @@ class Unit : public WorldObject void SetLevitate(bool enabled); void SetSwim(bool enabled); - void SetCanFly(bool enabled); + virtual void SetCanFly(bool enabled); void SetFeatherFall(bool enabled); void SetHover(bool enabled); void SetWaterWalk(bool enabled); @@ -1788,6 +1792,11 @@ class Unit : public WorldObject void SetFacingTo(float ori); void SetFacingToObject(WorldObject* pObject); + void SendHighestThreatUpdate(HostileReference* pHostileReference); + void SendThreatClear() const; + void SendThreatRemove(HostileReference* pHostileReference) const; + void SendThreatUpdate(); + bool IsAlive() const { return (m_deathState == ALIVE); } bool IsDead() const { return (m_deathState == DEAD || m_deathState == CORPSE); } DeathState GetDeathState() const { return m_deathState; } @@ -2489,6 +2498,7 @@ class Unit : public WorldObject bool m_canDualWield = false; void DisableSpline(); + void EndSpline(); bool m_isCreatureLinkingTrigger; bool m_isSpawningLinked; @@ -2583,7 +2593,9 @@ class Unit : public WorldObject bool m_debuggingMovement; // guard to prevent chaining extra attacks + uint32 m_extraAttacks; bool m_extraAttacksExecuting; + bool m_doExtraAttacks; uint64 m_auraUpdateMask; diff --git a/src/game/Globals/Conditions.cpp b/src/game/Globals/Conditions.cpp index 994f6fc17d..3d76028ded 100644 --- a/src/game/Globals/Conditions.cpp +++ b/src/game/Globals/Conditions.cpp @@ -504,6 +504,7 @@ bool inline ConditionEntry::Evaluate(WorldObject const* target, Map const* map, // Which params must be provided to a Condition bool ConditionEntry::CheckParamRequirements(WorldObject const* target, Map const* map, WorldObject const* source) const { + MANGOS_ASSERT(m_condition < 43); switch (ConditionTargets[m_condition]) { case CONDITION_REQ_NONE: @@ -1008,4 +1009,4 @@ bool IsConditionSatisfied(uint32 conditionId, WorldObject const* target, Map con return condition->Meets(target, map, source, conditionSourceType); return false; -} \ No newline at end of file +} diff --git a/src/game/Globals/GraveyardManager.cpp b/src/game/Globals/GraveyardManager.cpp index 85cf253936..cb0dd0faab 100644 --- a/src/game/Globals/GraveyardManager.cpp +++ b/src/game/Globals/GraveyardManager.cpp @@ -69,7 +69,7 @@ WorldSafeLocsEntry const* GraveyardManager::GetClosestGraveyardHelper(GraveYardM { MANGOS_ASSERT(tempEntry); // should always exist for this case - if it doesnt, missing instance template - vanilla only issue // if find graveyard at different map from where entrance placed (or no entrance data), use any first - if (!mapEntry || + if (!mapEntry || !tempEntry || tempEntry->ghost_entrance_map < 0 || uint32(tempEntry->ghost_entrance_map) != entry->map_id || (tempEntry->ghost_entrance_x == 0 && tempEntry->ghost_entrance_y == 0)) diff --git a/src/game/Globals/Locales.cpp b/src/game/Globals/Locales.cpp index 61e1936dbb..077e98c594 100644 --- a/src/game/Globals/Locales.cpp +++ b/src/game/Globals/Locales.cpp @@ -9,6 +9,8 @@ char const* localeNames[MAX_LOCALE] = "zhCN", "zhTW", "esES", + "esMX", + "ruRU" }; // used for search by name or iterate all names @@ -22,6 +24,8 @@ LocaleNameStr const fullLocaleNameList[] = { "zhCN", LOCALE_zhCN }, { "zhTW", LOCALE_zhTW }, { "esES", LOCALE_esES }, + { "esMX", LOCALE_esMX }, + { "ruRU", LOCALE_ruRU }, { nullptr, LOCALE_enUS } }; diff --git a/src/game/Globals/Locales.h b/src/game/Globals/Locales.h index 641ee97714..93093f4953 100644 --- a/src/game/Globals/Locales.h +++ b/src/game/Globals/Locales.h @@ -32,9 +32,12 @@ enum LocaleConstant : uint8 LOCALE_zhCN = 4, LOCALE_zhTW = 5, LOCALE_esES = 6, + LOCALE_esMX = 7, + LOCALE_ruRU = 8, }; -#define MAX_LOCALE 7 +#define MAX_LOCALE 9 +#define MAX_DBC_LOCALE 7 #define DEFAULT_LOCALE LOCALE_enUS LocaleConstant GetLocaleByName(const std::string& name); diff --git a/src/game/Globals/ObjectMgr.cpp b/src/game/Globals/ObjectMgr.cpp index 4d1c713509..d293183fed 100644 --- a/src/game/Globals/ObjectMgr.cpp +++ b/src/game/Globals/ObjectMgr.cpp @@ -816,6 +816,24 @@ WorldStateName* ObjectMgr::GetWorldStateName(int32 Id) return &(itr->second); } +std::vector* ObjectMgr::GetCreatureDynGuidForMap(uint32 mapId) +{ + auto itr = m_dynguidCreatureDbGuids.find(mapId); + if (itr == m_dynguidCreatureDbGuids.end()) + return nullptr; + + return &(*itr).second; +} + +std::vector* ObjectMgr::GetGameObjectDynGuidForMap(uint32 mapId) +{ + auto itr = m_dynguidGameobjectDbGuids.find(mapId); + if (itr == m_dynguidGameobjectDbGuids.end()) + return nullptr; + + return &(*itr).second; +} + void ObjectMgr::LoadCreatureImmunities() { uint32 count = 0; @@ -1652,7 +1670,9 @@ void ObjectMgr::LoadCreatureSpawnEntry() } auto& entries = m_creatureSpawnEntryMap[guid]; - entries.push_back(entry); + if (cInfo->ExtraFlags & CREATURE_EXTRA_FLAG_ACTIVE) + entries.first = true; // if at least one entry is dynguided, promote dbGuid to dynguided + entries.second.push_back(entry); ++count; } while (queryResult->NextRow()); @@ -1703,13 +1723,17 @@ void ObjectMgr::LoadCreatures() // validate creature dual spawn template bool isConditional = false; + bool dynGuid = false; if (entry == 0) { CreatureConditionalSpawn const* cSpawn = GetCreatureConditionalSpawn(guid); if (!cSpawn) { if (uint32 randomEntry = GetRandomCreatureEntry(guid)) + { entry = randomEntry; + dynGuid = IsCreatureDbGuidDynGuided(guid); + } } else { @@ -1734,6 +1758,9 @@ void ObjectMgr::LoadCreatures() sLog.outErrorDb("Table `creature` has a creature (GUID: %u, entry: %u) using TotemAI via AIName, skipped.", guid, entry); continue; } + + if (cInfo->ExtraFlags & CREATURE_EXTRA_FLAG_DYNGUID) + dynGuid = true; } CreatureData& data = mCreatureDataMap[guid]; @@ -1813,6 +1840,10 @@ void ObjectMgr::LoadCreatures() else data.OriginalZoneId = 0; + if (dynGuid) + { + m_dynguidCreatureDbGuids[data.mapid].push_back(guid); + } if (data.IsNotPartOfPoolOrEvent()) // if not this is to be managed by GameEvent System or Pool system { AddCreatureToGrid(guid, &data); @@ -1888,9 +1919,15 @@ void ObjectMgr::LoadGameObjects() uint32 guid = fields[ 0].GetUInt32(); uint32 entry = fields[ 1].GetUInt32(); + bool dynGuid = false; if (entry == 0) + { if (uint32 randomEntry = GetRandomGameObjectEntry(guid)) + { entry = randomEntry; + dynGuid = IsGameObjectDbGuidDynGuided(guid); + } + } GameObjectInfo const* gInfo = nullptr; if (entry) @@ -1907,6 +1944,9 @@ void ObjectMgr::LoadGameObjects() sLog.outErrorDb("Gameobject (GUID: %u Entry %u GoType: %u) have invalid displayId (%u), not loaded.", guid, entry, gInfo->type, gInfo->displayId); continue; } + + if (gInfo->ExtraFlags & GAMEOBJECT_EXTRA_FLAG_DYNGUID) + dynGuid = true; } GameObjectData& data = mGameObjectDataMap[guid]; @@ -1994,7 +2034,11 @@ void ObjectMgr::LoadGameObjects() else data.OriginalZoneId = 0; - if (data.IsNotPartOfPoolOrEvent()) // if not this is to be managed by GameEvent System or Pool system + if (dynGuid) + { + m_dynguidGameobjectDbGuids[data.mapid].push_back(guid); + } + else if (data.IsNotPartOfPoolOrEvent()) // if not this is to be managed by GameEvent System or Pool system { AddGameobjectToGrid(guid, &data); @@ -2061,6 +2105,8 @@ void ObjectMgr::LoadGameObjectSpawnEntry() uint32 count = 0; + std::set dynGuided; + do { bar.step(); @@ -2078,7 +2124,9 @@ void ObjectMgr::LoadGameObjectSpawnEntry() } auto& entries = m_gameobjectSpawnEntryMap[guid]; - entries.push_back(entry); + if (info->ExtraFlags & GAMEOBJECT_EXTRA_FLAG_DYNGUID) + entries.first = true; // if at least one entry is dynguided, promote dbGuid to dynguided + entries.second.push_back(entry); ++count; } while (queryResult->NextRow()); @@ -3543,6 +3591,47 @@ void ObjectMgr::LoadStandingList() sLog.outString(">> Loaded %u Horde and %u Ally honor standing definitions", static_cast(HordeHonorStandingList.size()), static_cast(AllyHonorStandingList.size())); } +void ObjectMgr::SetCityRanks() +{ + CharacterDatabase.Execute("UPDATE `characters` SET `extra_flags` = `extra_flags` & ~0x0400"); + + std::map> highestStandingInRace = + { + {RACE_HUMAN, {0,0}}, + {RACE_ORC, {0,0}}, + {RACE_DWARF, {0,0}}, + {RACE_NIGHTELF, {0,0}}, + {RACE_UNDEAD, {0,0}}, + {RACE_TAUREN, {0,0}}, + {RACE_GNOME, {0,0}}, + {RACE_TROLL, {0,0}}, + }; + + for (uint8 i = 1; i < MAX_RACES; ++i) + { + auto result = CharacterDatabase.PQuery("SELECT `guid`, `honor_standing` FROM `characters` WHERE `honor_standing` > 0 and `race` = %u ORDER BY `honor_standing` ASC LIMIT 1", i); + + if (result) + { + do + { + Field* fields = result->Fetch(); + uint32 guid = fields[0].GetUInt32(); + uint32 honorStanding = fields[1].GetUInt32(); + + highestStandingInRace[i] = std::make_pair(guid, honorStanding); + } while (result->NextRow()); + } + } + + for (auto& standing : highestStandingInRace) + { + uint32 lowGuid = standing.second.first; + + if (lowGuid > 0) + CharacterDatabase.PExecute("UPDATE `characters` SET `extra_flags` = `extra_flags` | 0x0400 WHERE `guid` = %u", standing.second.first); + } +} void ObjectMgr::FlushRankPoints(uint32 dateTop) { @@ -3606,6 +3695,12 @@ void ObjectMgr::FlushRankPoints(uint32 dateTop) CharacterDatabase.PExecute("DELETE FROM character_honor_cp WHERE date <= %u", dateTop - 7); CharacterDatabase.CommitTransaction(); + if (sWorld.getConfig(CONFIG_BOOL_ENABLE_CITY_PROTECTOR)) + { + sLog.outString("[MAINTENANCE] Assign city titles."); + SetCityRanks(); + } + sLog.outString(); sLog.outString(">> Flushed all ranking points"); } diff --git a/src/game/Globals/ObjectMgr.h b/src/game/Globals/ObjectMgr.h index b910f56e85..f7f851aa68 100644 --- a/src/game/Globals/ObjectMgr.h +++ b/src/game/Globals/ObjectMgr.h @@ -422,6 +422,11 @@ class HonorStanding { return honorPoints > rhs.honorPoints; } + + operator bool() const + { + return honorPoints || honorKills || guid || rpEarning; + } }; typedef std::list HonorStandingList; @@ -485,7 +490,7 @@ class ObjectMgr typedef std::unordered_map PetCreateSpellMap; - std::unordered_map> const& GetCreatureSpawnEntry() const { return m_creatureSpawnEntryMap; } + std::unordered_map>> const& GetCreatureSpawnEntry() const { return m_creatureSpawnEntryMap; } std::vector LoadGameobjectInfo(); @@ -570,15 +575,23 @@ class ObjectMgr return nullptr; } - std::vector const* GetAllRandomEntries(std::unordered_map> const& map, uint32 dbguid) const + std::vector const* GetAllRandomEntries(std::unordered_map>> const& map, uint32 dbguid) const { auto itr = map.find(dbguid); if (itr != map.end()) - return &(*itr).second; + return &((*itr).second).second; return nullptr; } - uint32 GetRandomEntry(std::unordered_map> const& map, uint32 dbguid) const + bool IsRandomDbGuidDynguided(std::unordered_map>> const& map, uint32 dbguid) const + { + auto itr = map.find(dbguid); + if (itr != map.end()) + return &((*itr).second).first; + return false; + } + + uint32 GetRandomEntry(std::unordered_map>> const& map, uint32 dbguid) const { if (auto spawnList = GetAllRandomEntries(map, dbguid)) return (*spawnList)[irand(0, spawnList->size() - 1)]; @@ -587,9 +600,11 @@ class ObjectMgr uint32 GetRandomGameObjectEntry(uint32 dbguid) const { return GetRandomEntry(m_gameobjectSpawnEntryMap, dbguid); } std::vector const* GetAllRandomGameObjectEntries(uint32 dbguid) const { return GetAllRandomEntries(m_gameobjectSpawnEntryMap, dbguid); } + bool IsGameObjectDbGuidDynGuided(uint32 dbGuid) const { return IsRandomDbGuidDynguided(m_gameobjectSpawnEntryMap, dbGuid); } uint32 GetRandomCreatureEntry(uint32 dbguid) const { return GetRandomEntry(m_creatureSpawnEntryMap, dbguid); } std::vector const* GetAllRandomCreatureEntries(uint32 dbguid) const { return GetAllRandomEntries(m_creatureSpawnEntryMap, dbguid); } + bool IsCreatureDbGuidDynGuided(uint32 dbGuid) const { return IsRandomDbGuidDynguided(m_creatureSpawnEntryMap, dbGuid); } AreaTrigger const* GetGoBackTrigger(uint32 map_id) const; AreaTrigger const* GetMapEntranceTrigger(uint32 Map) const; @@ -774,6 +789,7 @@ class ObjectMgr uint32 GetHonorStandingPositionByGUID(uint32 guid, uint32 side); void UpdateHonorStandingByGuid(uint32 guid, HonorStanding standing, uint32 side) ; void FlushRankPoints(uint32 dateTop); + void SetCityRanks(); void DistributeRankPoints(uint32 team, uint32 dateBegin, bool flush = false); void LoadStandingList(uint32 dateBegin); void LoadStandingList(); @@ -1197,6 +1213,9 @@ class ObjectMgr bool HasWorldStateName(int32 Id) const; WorldStateName* GetWorldStateName(int32 Id); + + std::vector* GetCreatureDynGuidForMap(uint32 mapId); + std::vector* GetGameObjectDynGuidForMap(uint32 mapId); protected: // current locale settings @@ -1248,8 +1267,8 @@ class ObjectMgr GossipMenusMap m_mGossipMenusMap; GossipMenuItemsMap m_mGossipMenuItemsMap; - std::unordered_map> m_creatureSpawnEntryMap; - std::unordered_map> m_gameobjectSpawnEntryMap; + std::unordered_map>> m_creatureSpawnEntryMap; + std::unordered_map>> m_gameobjectSpawnEntryMap; PointOfInterestMap mPointsOfInterest; @@ -1362,6 +1381,9 @@ class ObjectMgr std::unique_ptr m_unitConditionMgr; std::unique_ptr m_worldStateExpressionMgr; std::unique_ptr m_combatConditionMgr; + + std::map> m_dynguidCreatureDbGuids; + std::map> m_dynguidGameobjectDbGuids; }; #define sObjectMgr MaNGOS::Singleton::Instance() diff --git a/src/game/Globals/SharedDefines.h b/src/game/Globals/SharedDefines.h index 9e6e53353a..876cb11bc8 100644 --- a/src/game/Globals/SharedDefines.h +++ b/src/game/Globals/SharedDefines.h @@ -1570,7 +1570,7 @@ enum ChatMsg // CHAT_MSG_OPENING = 0x1D, // CHAT_MSG_TRADESKILLS = 0x1E, // CHAT_MSG_PET_INFO = 0x1F, - // CHAT_MSG_COMBAT_MISC_INFO = 0x20, + CHAT_MSG_COMBAT_MISC_INFO = 0x19, // CHAT_MSG_COMBAT_XP_GAIN = 0x21, // CHAT_MSG_COMBAT_HONOR_GAIN = 0x22, // CHAT_MSG_COMBAT_FACTION_CHANGE = 0x23, @@ -2102,4 +2102,7 @@ enum MovementEvent EVENT_FALL = 10002, }; +#define MAX_TALENT_RANK 5 +#define MAX_TALENT_SPECS 2 + #endif diff --git a/src/game/Grids/GridNotifiers.cpp b/src/game/Grids/GridNotifiers.cpp index ff2135af8c..4a774865ac 100644 --- a/src/game/Grids/GridNotifiers.cpp +++ b/src/game/Grids/GridNotifiers.cpp @@ -41,6 +41,10 @@ void VisibleChangesNotifier::Visit(CameraMapType& m) void VisibleNotifier::Notify() { Player& player = *i_camera.GetOwner(); +#ifdef ENABLE_PLAYERBOTS + if (!player.isRealPlayer()) + return; +#endif // at this moment i_clientGUIDs have guids that not iterate at grid level checks // but exist one case when this possible and object not out of range: transports if (GenericTransport* transport = player.GetTransport()) @@ -149,6 +153,58 @@ void ObjectMessageDeliverer::Visit(CameraMapType& m) } } +void ObjectThreatMessageDeliverer::Visit(CameraMapType& m) +{ + // Extract the locale names from the string + std::map localeNames; + size_t localeNamesStartPos = 0; + size_t localeNamesEndPos = 0; + const bool localizeName = i_message.find("localize_name") != std::string::npos; + if (localizeName) + { + localeNamesStartPos = i_message.find("localize_name["); localeNamesStartPos += 14; + localeNamesEndPos = i_message.find("]", localeNamesStartPos); + std::string content = i_message.substr(localeNamesStartPos, localeNamesEndPos - localeNamesStartPos); + + size_t pos = 0; + while ((pos = content.find(";")) != std::string::npos) + { + std::string substring = content.substr(0, pos); + size_t dash_pos = substring.find("_"); + if (dash_pos != std::string::npos) + { + int id = std::stoi(substring.substr(0, dash_pos)); + std::string value = substring.substr(dash_pos + 1); + localeNames[id] = value; + } + + content.erase(0, pos + 1); + } + + localeNamesStartPos -= 14; + } + + for (auto& iter : m) + { + if (Player* player = iter.getSource()->GetOwner()) + { + if (player->GetSession()->GetOS() == CLIENT_OS_MAC && !i_newClient) + continue; + + // Replace the unit name with the player locale + + std::string message = i_message; + if (localizeName) + { + const int32 localeIdx = player->GetSession()->GetSessionDbLocaleIndex(); + message.replace(localeNamesStartPos, localeNamesEndPos - localeNamesStartPos + 1, localeNames[localeIdx]); + } + + player->SendThreatMessageToPlayer(message); + } + } +} + void MessageDistDeliverer::Visit(CameraMapType& m) { for (auto& iter : m) @@ -211,10 +267,13 @@ void MaNGOS::RespawnDo::operator()(Creature* u) const if (u->IsUsingNewSpawningSystem()) { - if (u->GetMap()->GetMapDataContainer().GetSpawnGroupByGuid(u->GetDbGuid(), TYPEID_UNIT)) - u->GetMap()->GetPersistentState()->SaveCreatureRespawnTime(u->GetDbGuid(), time(nullptr)); - else - u->GetMap()->GetSpawnManager().RespawnCreature(u->GetDbGuid(), 0); + if (u->IsDead() && !u->GetCreatureGroup()) + { + if (u->GetMap()->GetMapDataContainer().GetSpawnGroupByGuid(u->GetDbGuid(), TYPEID_UNIT)) + u->GetMap()->GetPersistentState()->SaveCreatureRespawnTime(u->GetDbGuid(), time(nullptr)); + else + u->GetMap()->GetSpawnManager().RespawnCreature(u->GetDbGuid(), 0); + } } else u->Respawn(); diff --git a/src/game/Grids/GridNotifiers.h b/src/game/Grids/GridNotifiers.h index a192c9c8f2..37bbb73e70 100644 --- a/src/game/Grids/GridNotifiers.h +++ b/src/game/Grids/GridNotifiers.h @@ -88,6 +88,15 @@ namespace MaNGOS template void Visit(GridRefManager&) {} }; + struct ObjectThreatMessageDeliverer + { + std::string const& i_message; + bool const& i_newClient; + explicit ObjectThreatMessageDeliverer(std::string const& msg, bool const& newClient) : i_message(msg), i_newClient(newClient) {} + void Visit(CameraMapType& m); + template void Visit(GridRefManager&) {} + }; + struct MessageDistDeliverer { Player const& i_player; @@ -319,6 +328,21 @@ namespace MaNGOS template void Visit(GridRefManager&) {} }; + // Dynamicobject searchers + + template + struct DynamicObjectListSearcher + { + DynamicObjectList& i_objects; + Check& i_check; + + DynamicObjectListSearcher(DynamicObjectList& objects, Check& check) : i_objects(objects), i_check(check) {} + + void Visit(DynamicObjectMapType& m); + + template void Visit(GridRefManager&) {} + }; + // Unit searchers // First accepted by Check Unit if any diff --git a/src/game/Grids/GridNotifiersImpl.h b/src/game/Grids/GridNotifiersImpl.h index 483e0297de..2a8a8eed05 100644 --- a/src/game/Grids/GridNotifiersImpl.h +++ b/src/game/Grids/GridNotifiersImpl.h @@ -477,6 +477,16 @@ void MaNGOS::GameObjectListSearcher::Visit(GameObjectMapType& m) i_objects.push_back(itr->getSource()); } +// Dynamicobject searchers + +template +void MaNGOS::DynamicObjectListSearcher::Visit(DynamicObjectMapType& m) +{ + for (DynamicObjectMapType::iterator itr = m.begin(); itr != m.end(); ++itr) + if (i_check(itr->getSource())) + i_objects.push_back(itr->getSource()); +} + // Unit searchers template diff --git a/src/game/Groups/Group.cpp b/src/game/Groups/Group.cpp index 60514a8569..c4ab0fa479 100644 --- a/src/game/Groups/Group.cpp +++ b/src/game/Groups/Group.cpp @@ -356,6 +356,20 @@ bool Group::AddMember(ObjectGuid guid, const char* name, uint8 joinMethod) WorldPacket groupDataPacket = groupData.BuildPacket(0, false); player->SendDirectMessage(groupDataPacket); } + + if (!IsLeader(player->GetObjectGuid()) && sWorld.GetLFGQueue().IsPlayerInQueue(player->GetObjectGuid())) + { + bool notifyPlayer = true; // show "you have left queue" message only if different dungeons + if (IsInLFG()) + { + LFGGroupQueueInfo grpLfgInfo; + LFGPlayerQueueInfo plrLfgInfo; + sWorld.GetLFGQueue().GetGroupQueueInfo(&grpLfgInfo, GetId()); + sWorld.GetLFGQueue().GetPlayerQueueInfo(&plrLfgInfo, player->GetObjectGuid()); + notifyPlayer = grpLfgInfo.areaId != plrLfgInfo.areaId; + } + sWorld.GetLFGQueue().RemovePlayerFromQueue(player->GetObjectGuid(), notifyPlayer ? PLAYER_CLIENT_LEAVE : PLAYER_SYSTEM_LEAVE); + } if (IsInLFG()) { diff --git a/src/game/Groups/Group.h b/src/game/Groups/Group.h index 38e8a1f0a5..8e5d186469 100644 --- a/src/game/Groups/Group.h +++ b/src/game/Groups/Group.h @@ -289,6 +289,10 @@ class Group void CalculateLFGRoles(LFGGroupQueueInfo& data); bool FillPremadeLFG(ObjectGuid const& plrGuid, Classes playerClass, LfgRoles requiredRole, uint32& InitRoles, uint32& DpsCount, std::list& processed); +#ifdef ENABLE_PLAYERBOTS + ObjectGuid GetTargetIcon(int index) { return m_targetIcons[index]; } +#endif + protected: bool _addMember(ObjectGuid guid, const char* name, bool isAssistant = false); bool _addMember(ObjectGuid guid, const char* name, bool isAssistant, uint8 group); diff --git a/src/game/Hardcore/HardcoreMgr.cpp b/src/game/Hardcore/HardcoreMgr.cpp new file mode 100644 index 0000000000..312a205b96 --- /dev/null +++ b/src/game/Hardcore/HardcoreMgr.cpp @@ -0,0 +1,1637 @@ +#include "Hardcore/HardcoreMgr.h" +#include "Entities/Player.h" +#include "World.h" +#include "ObjectMgr.h" +#include "Config.h" +#include "SystemConfig.h" + +HardcoreLootItem::HardcoreLootItem(uint32 id, uint8 amount) +: m_id(id) +, m_isGear(false) +, m_randomPropertyId(0) +, m_durability(0) +, m_enchantments(0) +, m_amount(amount) +{ + +} + +HardcoreLootItem::HardcoreLootItem(uint32 id, uint8 amount, const std::vector& slots) +: m_id(id) +, m_isGear(false) +, m_randomPropertyId(0) +, m_durability(0) +, m_enchantments(0) +, m_amount(amount) +, m_slots(slots) +{ + +} + +HardcoreLootItem::HardcoreLootItem(uint32 id, uint8 amount, uint32 randomPropertyId, uint32 durability, const std::string& enchantments, const std::vector& slots) +: m_id(id) +, m_isGear(true) +, m_randomPropertyId(randomPropertyId) +, m_durability(durability) +, m_enchantments(enchantments) +, m_amount(amount) +, m_slots(slots) +{ + +} + +HardcoreLootItem::HardcoreLootItem(uint32 id, uint8 amount, uint32 randomPropertyId, uint32 durability, const std::string& enchantments) +: m_id(id) +, m_isGear(true) +, m_randomPropertyId(randomPropertyId) +, m_durability(durability) +, m_enchantments(enchantments) +, m_amount(amount) +{ + +} + +HardcoreLootGameObject::HardcoreLootGameObject(uint32 id, uint32 playerId, uint32 lootId, uint32 lootTableId, uint32 money, float positionX, float positionY, float positionZ, float orientation, uint32 mapId, const std::vector& items) +: m_id(id) +, m_playerId(playerId) +, m_guid(0) +, m_lootId(lootId) +, m_lootTableId(lootTableId) +, m_money(money) +, m_positionX(positionX) +, m_positionY(positionY) +, m_positionZ(positionZ) +, m_orientation(orientation) +, m_mapId(mapId) +, m_items(items) +{ + +} + +HardcoreLootGameObject HardcoreLootGameObject::Load(uint32 id, uint32 playerId) +{ + std::vector items; + uint32 lootId, lootTableId, money, mapId; + float positionX, positionY, positionZ, orientation; + + // Load the gameobject info + auto result = CharacterDatabase.PQuery("SELECT loot_id, loot_table, money, position_x, position_y, position_z, orientation, map FROM custom_hardcore_loot_gameobjects WHERE id = '%d'", id); + if (result) + { + Field* fields = result->Fetch(); + lootId = fields[0].GetUInt32(); + lootTableId = fields[1].GetUInt32(); + money = fields[2].GetUInt32(); + positionX = fields[3].GetFloat(); + positionY = fields[4].GetFloat(); + positionZ = fields[5].GetFloat(); + orientation = fields[6].GetFloat(); + mapId = fields[7].GetUInt32(); + + // Load the gameobject items from the custom_hardcore_loot_tables + auto result2 = CharacterDatabase.PQuery("SELECT item, amount, random_property_id, durability, enchantments FROM custom_hardcore_loot_tables WHERE id = '%d'", lootTableId); + if (result2) + { + do + { + Field* fields = result2->Fetch(); + const uint32 itemId = fields[0].GetUInt32(); + const uint8 amount = fields[1].GetUInt8(); + const uint32 randomPropertyId = fields[2].GetUInt32(); + const uint32 durability = fields[3].GetUInt32(); + const std::string enchantments = fields[4].GetString(); + items.emplace_back(itemId, amount, randomPropertyId, durability, enchantments); + } + while (result2->NextRow()); + } + } + + return HardcoreLootGameObject(id, playerId, lootId, lootTableId, money, positionX, positionY, positionZ, orientation, mapId, items); +} + +HardcoreLootGameObject HardcoreLootGameObject::Create(uint32 playerId, uint32 lootId, uint32 money, float positionX, float positionY, float positionZ, float orientation, uint32 mapId, const std::vector& items) +{ + // Generate valid loot table id + uint32 newLootTableId = 1; + auto result = CharacterDatabase.PQuery("SELECT id FROM custom_hardcore_loot_tables ORDER BY id DESC LIMIT 1"); + if (result) + { + Field* fields = result->Fetch(); + newLootTableId = fields[0].GetUInt32() + 1; + } + + // Generate valid game object id + uint32 newGOId = 1; + auto result3 = CharacterDatabase.PQuery("SELECT id FROM custom_hardcore_loot_gameobjects ORDER BY id DESC LIMIT 1"); + if (result3) + { + Field* fields = result3->Fetch(); + newGOId = fields[0].GetUInt32() + 1; + } + + // Create loot table in custom_hardcore_loot_tables and gameobject_loot_template + for (const HardcoreLootItem& item : items) + { + CharacterDatabase.DirectPExecute("INSERT INTO custom_hardcore_loot_tables (id, item, amount, random_property_id, durability, enchantments) VALUES ('%d', '%d', '%d', '%d', '%d', '%s')", + newLootTableId, + item.m_id, + item.m_amount, + item.m_randomPropertyId, + item.m_durability, + item.m_enchantments.c_str()); + } + + // Create game object in custom_hardcore_loot_gameobjects + CharacterDatabase.DirectPExecute("INSERT INTO custom_hardcore_loot_gameobjects (id, player, loot_id, loot_table, money, position_x, position_y, position_z, orientation, map) VALUES ('%d', '%d', '%d', '%d', '%d', '%f', '%f', '%f', '%f', '%d')", + newGOId, + playerId, + lootId, + newLootTableId, + money, + positionX, + positionY, + positionZ, + orientation, + mapId); + + return HardcoreLootGameObject(newGOId, playerId, lootId, newLootTableId, money, positionX, positionY, positionZ, orientation, mapId, items); +} + +void HardcoreLootGameObject::Spawn() +{ + if (!IsSpawned()) + { + const static uint32 lootGOEntry = sWorld.getConfig(CONFIG_UINT32_HARDCORE_LOOT_GAMEOBJECT_ID); + const uint32 goLowGUID = sObjectMgr.GenerateStaticGameObjectLowGuid(); + if (goLowGUID) + { + Map* map = sMapMgr.FindMap(m_mapId); + if (!map) + { + const ObjectGuid playerGUID = ObjectGuid(HIGHGUID_PLAYER, m_playerId); + if (Player* player = sObjectMgr.GetPlayer(playerGUID)) + { + map = player->GetMap(); + } + } + + if (map) + { + GameObject* pGameObject = GameObject::CreateGameObject(lootGOEntry); + if (pGameObject->Create(0, goLowGUID, lootGOEntry, map, m_positionX, m_positionY, m_positionZ, m_orientation)) + { + // Save the chest to the database and load game object data + pGameObject->SaveToDB(map->GetId()); + if (pGameObject->LoadFromDB(goLowGUID, map, goLowGUID, 0)) + { + // Assign loot table to the gameobject + pGameObject->GetGOInfo()->chest.lootId = m_lootTableId; + + // Assign gold + pGameObject->GetGOInfo()->MinMoneyLoot = m_money; + pGameObject->GetGOInfo()->MaxMoneyLoot = m_money; + + // Set flag for hardcore loot + pGameObject->SetIsHardcoreLoot(true); + + // Set the initial state of the chest to be ready to be looted + pGameObject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE); + pGameObject->SetGoState(GO_STATE_READY); + pGameObject->SetLootState(GO_READY); + pGameObject->SetCooldown(0); + + // Spawn the loot into the world + sObjectMgr.AddGameobjectToGrid(goLowGUID, sObjectMgr.GetGOData(goLowGUID)); + + // Delete the generated object from the database, to prevent duplicate entries + WorldDatabase.PExecute("DELETE FROM gameobject WHERE guid = '%d'", goLowGUID); + + m_guid = goLowGUID; + } + else + { + delete pGameObject; + } + } + else + { + delete pGameObject; + } + } + } + } +} + +void HardcoreLootGameObject::DeSpawn() +{ + if (IsSpawned()) + { + if (const GameObjectData* goData = sObjectMgr.GetGOData(m_guid)) + { + Map* map = sMapMgr.FindMap(m_mapId); + if (!map) + { + const ObjectGuid playerGUID = ObjectGuid(HIGHGUID_PLAYER, m_playerId); + if (Player* player = sObjectMgr.GetPlayer(playerGUID)) + { + map = player->GetMap(); + } + } + + if (map) + { + GameObject* obj = map->GetGameObject(ObjectGuid(HIGHGUID_GAMEOBJECT, goData->id, m_guid)); + if (obj) + { + if (const ObjectGuid& ownerGuid = obj->GetOwnerGuid()) + { + Unit* owner = ownerGuid.IsPlayer() ? ObjectAccessor::FindPlayer(ownerGuid) : nullptr; + if (owner) + { + owner->RemoveGameObject(obj, false); + } + } + + obj->SetRespawnTime(0); + obj->Delete(); + obj->DeleteFromDB(); + + m_guid = 0; + } + } + } + } +} + +bool HardcoreLootGameObject::IsSpawned() const +{ + return m_guid; +} + +void HardcoreLootGameObject::Destroy() +{ + DeSpawn(); + + // Remove game object from custom_hardcore_loot_gameobjects database + CharacterDatabase.DirectPExecute("DELETE FROM custom_hardcore_loot_gameobjects WHERE id = '%d'", m_id); + + // Remove loot table from custom_hardcore_loot_tables database + CharacterDatabase.DirectPExecute("DELETE FROM custom_hardcore_loot_tables WHERE id = '%d'", m_lootTableId); +} + +const HardcoreLootItem* HardcoreLootGameObject::GetItem(uint32 itemId) const +{ + for (const HardcoreLootItem& item : m_items) + { + if (item.m_id == itemId) + { + return &item; + } + } + + return nullptr; +} + +bool HardcoreLootGameObject::RemoveItem(uint32 itemId) +{ + const HardcoreLootItem* item = GetItem(itemId); + if (item) + { + // Remove the item from the database + if (CharacterDatabase.DirectPExecute("DELETE FROM custom_hardcore_loot_tables WHERE id = '%d' AND item = '%d'", m_lootTableId, itemId)) + { + // Remove the item from cache + m_items.erase(std::remove_if(m_items.begin(), m_items.end(), [&item](const HardcoreLootItem& itemInList) + { + return (item->m_id == itemInList.m_id); + }), m_items.end()); + + return true; + } + } + + return false; +} + +HardcorePlayerLoot::HardcorePlayerLoot(uint32 lootId, uint32 playerId) +: m_id(lootId) +, m_playerId(playerId) +{ + +} + +void HardcorePlayerLoot::LoadGameObject(uint32 gameObjectId) +{ + m_gameObjects.push_back(std::move(HardcoreLootGameObject::Load(gameObjectId, m_playerId))); +} + +HardcoreLootGameObject* HardcorePlayerLoot::FindGameObjectByGUID(const uint32 guid) +{ + for (HardcoreLootGameObject& gameObject : m_gameObjects) + { + if (gameObject.GetGUID() == guid) + { + return &gameObject; + } + } + + return nullptr; +} + +bool HardcorePlayerLoot::RemoveGameObject(uint32 gameObjectId) +{ + for (uint32 i = 0; i < m_gameObjects.size(); i++) + { + if (m_gameObjects[i].GetId() == gameObjectId) + { + m_gameObjects[i].Destroy(); + m_gameObjects.erase(m_gameObjects.begin() + i); + return true; + } + } + + return false; +} + +void HardcorePlayerLoot::Spawn() +{ + // Despawn previously generated gameobjects + DeSpawn(); + + // Spawn the new gameobjects + for (HardcoreLootGameObject& gameObject : m_gameObjects) + { + gameObject.Spawn(); + } +} + +void HardcorePlayerLoot::DeSpawn() +{ + for (HardcoreLootGameObject& gameObject : m_gameObjects) + { + gameObject.DeSpawn(); + } +} + +bool HardcorePlayerLoot::Create() +{ + const ObjectGuid playerGUID = ObjectGuid(HIGHGUID_PLAYER, m_playerId); + if (Player* player = sObjectMgr.GetPlayer(playerGUID)) + { + // Generate loot table with the current player's gear + std::vector playerLoot; + + // Hearthstone, Earth Totem, Fire Totem, Water Totem, Air Totem, Ankh + std::set ignoreItems = { 6948, 5175, 5176, 5177, 5178, 17030 }; + + auto AddItem = [&player, &ignoreItems](uint8 bag, uint8 slot, std::vector& outItems) + { + if (Item* pItem = player->GetItemByPos(bag, slot)) + { + // Ignore projectiles and quest items + const ItemPrototype* itemData = pItem->GetProto(); + if ((itemData->Class != ITEM_CLASS_PROJECTILE) && (itemData->Class != ITEM_CLASS_QUEST)) + { + const uint32 itemId = itemData->ItemId; + + // Ignore items + if (ignoreItems.find(itemId) == ignoreItems.end()) + { + // Check if the item exists + auto it = std::find_if(outItems.begin(), outItems.end(), [&itemId](const HardcoreLootItem& item) + { + return item.m_id == itemId; + }); + + if (it != outItems.end()) + { + static const uint8 maxAmount = std::numeric_limits::max(); + const uint32 newAmount = (*it).m_amount + pItem->GetCount(); + (*it).m_amount = (newAmount < maxAmount) ? newAmount : maxAmount; + (*it).m_slots.emplace_back(bag, slot); + } + else + { + uint32 durability = 0; + uint32 randomPropertyId = 0; + std::ostringstream enchantments; + if (itemData->Class == ITEM_CLASS_WEAPON || itemData->Class == ITEM_CLASS_ARMOR) + { + randomPropertyId = pItem->GetItemRandomPropertyId(); + durability = pItem->GetUInt32Value(ITEM_FIELD_DURABILITY); + + // Get enchantments + for (uint8 i = 0; i < MAX_ENCHANTMENT_SLOT; ++i) + { + enchantments << pItem->GetEnchantmentId(EnchantmentSlot(i)) << ' '; + enchantments << pItem->GetEnchantmentDuration(EnchantmentSlot(i)) << ' '; + enchantments << pItem->GetEnchantmentCharges(EnchantmentSlot(i)) << ' '; + } + } + + std::vector slots = { ItemSlot(bag, slot) }; + outItems.emplace_back(itemId, pItem->GetCount(), randomPropertyId, durability, enchantments.str(), slots); + } + } + } + } + }; + + auto SelectItemsToDrop = [&player](float dropRate, std::vector& items, std::vector& outItems) + { + if (!items.empty()) + { + dropRate = std::min(dropRate, 1.0f); + const uint32 dropAmount = items.size() * dropRate; + for (uint32 i = 0; i < dropAmount; i++) + { + // Randomly select an item from the list + const uint32 randIdx = urand(0, items.size() - 1); + const HardcoreLootItem& item = outItems.emplace_back(items[randIdx]); + + items.erase(items.begin() + randIdx); + + // Remove the item from the player (except for bots) + if (player->isRealPlayer()) + { + for (const ItemSlot& slot : item.m_slots) + { + player->DestroyItem(slot.first, slot.second, true); + } + } + } + } + }; + + // Get player's gear + if (sHardcoreMgr.ShouldDropGear(player)) + { + std::vector playerGear; + + // Iterate through the player equipment + for (uint8 slot = EQUIPMENT_SLOT_START; slot < EQUIPMENT_SLOT_END; ++slot) + { + AddItem(INVENTORY_SLOT_BAG_0, slot, playerGear); + } + + // Generate random list of gear to drop + SelectItemsToDrop(sHardcoreMgr.GetDropGearRate(player), playerGear, playerLoot); + } + + // Get player's bag items + if (sHardcoreMgr.ShouldDropItems(player)) + { + std::vector playerItems; + + // Iterate through the main bag (16 slots) + for (uint8 slot = INVENTORY_SLOT_ITEM_START; slot < INVENTORY_SLOT_ITEM_END; ++slot) + { + AddItem(INVENTORY_SLOT_BAG_0, slot, playerItems); + } + + // Iterate through the bags (4 bags) + for (uint8 bag = INVENTORY_SLOT_BAG_START; bag < INVENTORY_SLOT_BAG_END; ++bag) + { + for (uint8 slot = 0; slot < MAX_BAG_SIZE; ++slot) + { + AddItem(bag, slot, playerItems); + } + } + + // Generate random list of items to drop + SelectItemsToDrop(sHardcoreMgr.GetDropItemsRate(player), playerItems, playerLoot); + } + + if (!playerLoot.empty()) + { + // Split the loot into various game objects (due to loot limitation on client) + std::vector> gameObjectsLoot; + gameObjectsLoot.emplace_back(); + + for (const HardcoreLootItem& item : playerLoot) + { + if (gameObjectsLoot.back().size() < MAX_NR_LOOT_ITEMS) + { + gameObjectsLoot.back().emplace_back(item); + } + else + { + gameObjectsLoot.emplace_back(); + gameObjectsLoot.back().emplace_back(item); + } + } + + // Calculate the amount of money to drop + uint32 dropMoney = 0; + if (sHardcoreMgr.ShouldDropMoney(player)) + { + const float moneyDropRate = std::min(sHardcoreMgr.GetDropMoneyRate(player), 1.0f); + const uint32 playerMoney = player->GetMoney(); + dropMoney = playerMoney * moneyDropRate; + + // Remove the money from the player (except for bots) + if (player->isRealPlayer()) + { + player->SetMoney(playerMoney - dropMoney); + } + } + + // Create the game objects + const float playerX = player->GetPositionX(); + const float playerY = player->GetPositionY(); + const float playerZ = player->GetPositionZ(); + const uint32 mapId = player->GetMapId(); + + const float angleIncrement = (2 * M_PI) / gameObjectsLoot.size(); + static const float radius = 3.0f; + float angle = 0; + + for (const std::vector& items : gameObjectsLoot) + { + // Generate points around the player position + float x = playerX + (radius * cos(angle)); + float y = playerY + (radius * sin(angle)); + float z = playerZ; + float o = atan2(y - playerY, x - playerX); + + // Check if the height coordinate is valid + player->UpdateAllowedPositionZ(x, y, z); + + // Increment the angle for the next point + angle += angleIncrement; + + HardcoreLootGameObject& gameObject = m_gameObjects.emplace_back(std::move(HardcoreLootGameObject::Create(m_playerId, m_id, dropMoney, x, y, z, o, mapId, items))); + + // We only want the money to drop once + if (dropMoney) + { + dropMoney = 0; + } + } + + // Spawn generated game objects + Spawn(); + + return true; + } + } + + return false; +} + +void HardcorePlayerLoot::Destroy() +{ + for (HardcoreLootGameObject& gameObject : m_gameObjects) + { + gameObject.Destroy(); + } + + m_gameObjects.clear(); +} + +HardcoreGraveGameObject::HardcoreGraveGameObject(uint32 id, uint32 gameObjectEntry, uint32 playerId, float positionX, float positionY, float positionZ, float orientation, uint32 mapId) +: m_id(id) +, m_gameObjectEntry(gameObjectEntry) +, m_guid(0) +, m_playerId(playerId) +, m_positionX(positionX) +, m_positionY(positionY) +, m_positionZ(positionZ) +, m_orientation(orientation) +, m_mapId(mapId) +{ + +} + +HardcoreGraveGameObject HardcoreGraveGameObject::Load(uint32 id) +{ + uint32 gameObjectEntry, playerId, mapId; + float positionX, positionY, positionZ, orientation; + + auto result = CharacterDatabase.PQuery("SELECT player, gameobject_template, position_x, position_y, position_z, orientation, map FROM custom_hardcore_grave_gameobjects WHERE id = '%d'", id); + if (result) + { + Field* fields = result->Fetch(); + playerId = fields[0].GetUInt32(); + gameObjectEntry = fields[1].GetUInt32(); + positionX = fields[2].GetFloat(); + positionY = fields[3].GetFloat(); + positionZ = fields[4].GetFloat(); + orientation = fields[5].GetFloat(); + mapId = fields[6].GetUInt32(); + } + + return HardcoreGraveGameObject(id, gameObjectEntry, playerId, positionX, positionY, positionZ, orientation, mapId); +} + +HardcoreGraveGameObject HardcoreGraveGameObject::Create(uint32 playerId, uint32 gameObjectEntry, float positionX, float positionY, float positionZ, float orientation, uint32 mapId) +{ + // Generate valid game object id + uint32 newGameObjectId = 1; + auto result = CharacterDatabase.PQuery("SELECT id FROM custom_hardcore_grave_gameobjects ORDER BY id DESC LIMIT 1"); + if (result) + { + Field* fields = result->Fetch(); + newGameObjectId = fields[0].GetUInt32() + 1; + } + + CharacterDatabase.DirectPExecute("INSERT INTO custom_hardcore_grave_gameobjects (id, player, gameobject_template, position_x, position_y, position_z, orientation, map) VALUES ('%d', '%d', '%d', '%f', '%f', '%f', '%f', '%d')", + newGameObjectId, + playerId, + gameObjectEntry, + positionX, + positionY, + positionZ, + orientation, + mapId); + + return HardcoreGraveGameObject(newGameObjectId, gameObjectEntry, playerId, positionX, positionY, positionZ, orientation, mapId); +} + +void HardcoreGraveGameObject::Spawn() +{ + if (!IsSpawned()) + { + // Check if the grave gameobject is available + uint32 gameObjectEntry = m_gameObjectEntry; + const GameObjectInfo* goInfo = sObjectMgr.GetGameObjectInfo(m_gameObjectEntry); + if (!goInfo) + { + gameObjectEntry = sWorld.getConfig(CONFIG_UINT32_HARDCORE_GRAVE_GAMEOBJECT_ID); + } + + const uint32 goLowGUID = sObjectMgr.GenerateStaticGameObjectLowGuid(); + if (goLowGUID) + { + Map* map = sMapMgr.FindMap(m_mapId); + if (!map) + { + const ObjectGuid playerGUID = ObjectGuid(HIGHGUID_PLAYER, m_playerId); + if (Player* player = sObjectMgr.GetPlayer(playerGUID)) + { + map = player->GetMap(); + } + } + + if (map) + { + GameObject* pGameObject = GameObject::CreateGameObject(gameObjectEntry); + if (pGameObject->Create(0, goLowGUID, gameObjectEntry, map, m_positionX, m_positionY, m_positionZ, m_orientation)) + { + // Save the chest to the database and load game object data + pGameObject->SaveToDB(map->GetId()); + if (pGameObject->LoadFromDB(goLowGUID, map, goLowGUID, 0)) + { + // Spawn the loot into the world + sObjectMgr.AddGameobjectToGrid(goLowGUID, sObjectMgr.GetGOData(goLowGUID)); + + // Delete the generated object from the database, to prevent duplicate entries + WorldDatabase.PExecute("DELETE FROM gameobject WHERE guid = '%d'", goLowGUID); + + m_guid = goLowGUID; + } + else + { + delete pGameObject; + } + } + else + { + delete pGameObject; + } + } + } + } +} + +void HardcoreGraveGameObject::DeSpawn() +{ + if (IsSpawned()) + { + if (const GameObjectData* goData = sObjectMgr.GetGOData(m_guid)) + { + Map* map = sMapMgr.FindMap(m_mapId); + if (!map) + { + const ObjectGuid playerGUID = ObjectGuid(HIGHGUID_PLAYER, m_playerId); + if (Player* player = sObjectMgr.GetPlayer(playerGUID)) + { + map = player->GetMap(); + } + } + + if (map) + { + GameObject* obj = map->GetGameObject(ObjectGuid(HIGHGUID_GAMEOBJECT, goData->id, m_guid)); + if (obj) + { + if (const ObjectGuid& ownerGuid = obj->GetOwnerGuid()) + { + Unit* owner = ownerGuid.IsPlayer() ? ObjectAccessor::FindPlayer(ownerGuid) : nullptr; + if (owner) + { + owner->RemoveGameObject(obj, false); + } + } + + obj->SetRespawnTime(0); + obj->Delete(); + obj->DeleteFromDB(); + + m_guid = 0; + } + } + } + } +} + +bool HardcoreGraveGameObject::IsSpawned() const +{ + return m_guid; +} + +void HardcoreGraveGameObject::Destroy() +{ + DeSpawn(); + + // Remove game object from custom_hardcore_grave_gameobjects database + CharacterDatabase.DirectPExecute("DELETE FROM custom_hardcore_grave_gameobjects WHERE id = '%d'", m_id); +} + +HardcorePlayerGrave::HardcorePlayerGrave(uint32 playerId, uint32 gameObjectEntry, const std::vector& gameObjects) +: m_playerId(playerId) +, m_gameObjectEntry(gameObjectEntry) +, m_gameObjects(gameObjects) +{ + +} + +HardcorePlayerGrave::HardcorePlayerGrave(uint32 playerId, uint32 gameObjectEntry) +: m_playerId(playerId) +, m_gameObjectEntry(gameObjectEntry) +{ + +} + +HardcorePlayerGrave HardcorePlayerGrave::Load(uint32 playerId, uint32 gameObjectEntry) +{ + std::vector gameObjects; + auto result = CharacterDatabase.PQuery("SELECT id FROM custom_hardcore_grave_gameobjects WHERE player = '%d'", playerId); + if (result) + { + do + { + Field* fields = result->Fetch(); + const uint32 gameObjectId = fields[0].GetUInt32(); + gameObjects.push_back(std::move(HardcoreGraveGameObject::Load(gameObjectId))); + } + while (result->NextRow()); + } + + return HardcorePlayerGrave(playerId, gameObjectEntry, gameObjects); +} + +HardcorePlayerGrave HardcorePlayerGrave::Generate(uint32 playerId, const std::string& playerName) +{ + // Generate valid game object entry + uint32 newGameObjectEntry = 0; + auto result = WorldDatabase.PQuery("SELECT entry FROM gameobject_template ORDER BY entry DESC LIMIT 1"); + if (result) + { + Field* fields = result->Fetch(); + newGameObjectEntry = fields[0].GetUInt32() + 1; + } + + if (newGameObjectEntry) + { + // Get gameobject info from existing gameobject from config + float size = 1.29f; + uint32 displayId = 12; + const GameObjectInfo* goInfo = ObjectMgr::GetGameObjectInfo(sWorld.getConfig(CONFIG_UINT32_HARDCORE_GRAVE_GAMEOBJECT_ID)); + if (goInfo) + { + displayId = goInfo->displayId; + size = goInfo->size; + } + + std::string graveMessage = GenerateGraveMessage(playerName); + WorldDatabase.PExecute("INSERT INTO gameobject_template (entry, type, displayId, name, size, data10, CustomData1) VALUES('%d', '%d', '%d', '%s', '%f', '%d', '%d')", + newGameObjectEntry, + 2, + displayId, + graveMessage.c_str(), + size, + playerId, + 3643); + } + + return HardcorePlayerGrave(playerId, newGameObjectEntry); +} + +void HardcorePlayerGrave::Spawn() +{ + // Despawn previously generated gameobjects + DeSpawn(); + + // Spawn the new gameobjects + for (HardcoreGraveGameObject& gameObject : m_gameObjects) + { + gameObject.Spawn(); + } +} + +void HardcorePlayerGrave::DeSpawn() +{ + for (HardcoreGraveGameObject& gameObject : m_gameObjects) + { + gameObject.DeSpawn(); + } +} + +void HardcorePlayerGrave::Create() +{ + const ObjectGuid playerGUID = ObjectGuid(HIGHGUID_PLAYER, m_playerId); + if (Player* player = sObjectMgr.GetPlayer(playerGUID)) + { + // Create the game objects + const float x = player->GetPositionX(); + const float y = player->GetPositionY(); + float z = player->GetPositionZ(); + const float o = player->GetOrientation(); + const uint32 mapId = player->GetMapId(); + + // Check if the height coordinate is valid + player->UpdateAllowedPositionZ(x, y, z); + + HardcoreGraveGameObject& gameObject = m_gameObjects.emplace_back(std::move(HardcoreGraveGameObject::Create(m_playerId, m_gameObjectEntry, x, y, z, o, mapId))); + gameObject.Spawn(); + } +} + +void HardcorePlayerGrave::Destroy() +{ + for (HardcoreGraveGameObject& gameObject : m_gameObjects) + { + gameObject.Destroy(); + } + + m_gameObjects.clear(); + + // Remove game object from gameobject_template database + WorldDatabase.DirectPExecute("DELETE FROM gameobject_template WHERE entry = '%d'", m_gameObjectEntry); +} + +std::string HardcorePlayerGrave::GenerateGraveMessage(const std::string& playerName) +{ + std::string gravestoneMessage; + std::string gravestoneMessages = sConfig.GetStringDefault("Hardcore.GraveMessage", "Here lies "); + + // Check if we have multiple messages to select from + char separator = '|'; + if (gravestoneMessages.find(separator) != std::string::npos) + { + std::string segment; + std::stringstream messages(gravestoneMessages); + std::vector gravestoneMessageList; + while (std::getline(messages, segment, separator)) + { + gravestoneMessageList.push_back(segment); + } + + if(!gravestoneMessageList.empty()) + { + const size_t messageIndex = urand(0, gravestoneMessageList.size() - 1); + gravestoneMessage = gravestoneMessageList[messageIndex]; + } + else + { + gravestoneMessage = "Here lies "; + } + } + else + { + gravestoneMessage = gravestoneMessages; + } + + // Replace values on the message + static const std::string playerNameVar = ""; + const size_t startPos = gravestoneMessage.find(playerNameVar); + if (startPos != std::string::npos) + { + gravestoneMessage.replace(startPos, playerNameVar.length(), playerName); + } + + return gravestoneMessage; +} + +void HardcoreMgr::PreLoad() +{ + PreLoadLoot(); + PreLoadGraves(); +} + +void HardcoreMgr::Load() +{ + LoadLoot(); + LoadGraves(); +} + +void HardcoreMgr::OnPlayerRevived(Player* player) +{ + // See if we can retrieve the killer + Unit* killer = GetKiller(player); + + // Process level down + LevelDown(player, killer); + + // Clear the player killer + SetKiller(player, nullptr); +} + +void HardcoreMgr::OnPlayerDeath(Player* player, Unit* killer) +{ + if (sWorld.getConfig(CONFIG_BOOL_HARDCORE_ENABLED)) + { + // Check if the killer is a pet and if so get the owner + if (killer && killer->IsCreature() && killer->GetOwner()) + { + killer = killer->GetOwner(); + } + + // Save the player killer for later use + SetKiller(player, killer); + + // Process loot and grave spawning + CreateLoot(player, killer); + CreateGrave(player, killer); + } +} + +void HardcoreMgr::OnPlayerReleaseSpirit(Player* player, bool teleportedToGraveyard) +{ + if (player && teleportedToGraveyard && ShouldReviveOnGraveyard(player)) + { + player->ResurrectPlayer(1.0f); + player->SpawnCorpseBones(); + + // Apply temporary immune aura + const SpellEntry* spellInfo = sSpellTemplate.LookupEntry(1020); + if (spellInfo) + { + SpellAuraHolder* holder = CreateSpellAuraHolder(spellInfo, player, player); + for (uint32 i = 0; i < MAX_EFFECT_INDEX; ++i) + { + uint8 eff = spellInfo->Effect[i]; + if (eff >= MAX_SPELL_EFFECTS) + { + continue; + } + + if (IsAreaAuraEffect(eff) || + eff == SPELL_EFFECT_APPLY_AURA || + eff == SPELL_EFFECT_PERSISTENT_AREA_AURA) + { + int32 basePoints = spellInfo->CalculateSimpleValue(SpellEffectIndex(i)); + int32 damage = basePoints; + Aura* aur = CreateAura(spellInfo, SpellEffectIndex(i), &damage, &basePoints, holder, player); + holder->AddAura(aur, SpellEffectIndex(i)); + } + } + + if (!player->AddSpellAuraHolder(holder)) + { + delete holder; + } + } + } +} + +void HardcoreMgr::PreLoadLoot() +{ + if (ShouldDropLoot()) + { + // Load the loot game objects and loot tables + auto result = CharacterDatabase.Query("SELECT id, player, loot_id FROM custom_hardcore_loot_gameobjects"); + if (result) + { + do + { + Field* fields = result->Fetch(); + const uint32 gameObjectId = fields[0].GetUInt32(); + const uint32 playerId = fields[1].GetUInt32(); + const uint32 lootId = fields[2].GetUInt32(); + + // Check if the players loot exists + if (m_playersLoot.find(playerId) == m_playersLoot.end()) + { + // If not add it to the map + m_playersLoot.insert(std::make_pair(playerId, std::map())); + } + + // Check if the loot exists + auto& playerLoots = m_playersLoot.at(playerId); + if (playerLoots.find(lootId) == playerLoots.end()) + { + // If not add it to the player loot + playerLoots.insert(std::make_pair(lootId, HardcorePlayerLoot(lootId, playerId))); + } + + // Load the game object + HardcorePlayerLoot& playerLoot = playerLoots.at(lootId); + playerLoot.LoadGameObject(gameObjectId); + } + while (result->NextRow()); + } + } +} + +void HardcoreMgr::LoadLoot() +{ + if (ShouldDropLoot()) + { + // Add the preloaded loot gameobjects into the world + for (auto& pair : m_playersLoot) + { + for (auto& pair2 : pair.second) + { + pair2.second.Spawn(); + } + } + } +} + +HardcoreLootGameObject* HardcoreMgr::FindLootGOByGUID(const uint32 guid) +{ + for (auto it = m_playersLoot.begin(); it != m_playersLoot.end(); ++it) + { + for (auto it2 = it->second.begin(); it2 != it->second.end(); ++it2) + { + HardcoreLootGameObject* lootGameObject = it2->second.FindGameObjectByGUID(guid); + if (lootGameObject) + { + return lootGameObject; + } + } + } + + return nullptr; +} + +HardcorePlayerLoot* HardcoreMgr::FindLootByID(const uint32 playerId, const uint32 lootId) +{ + auto playerLootsIt = m_playersLoot.find(playerId); + if (playerLootsIt != m_playersLoot.end()) + { + std::map& playerLoots = playerLootsIt->second; + auto playerLootIt = playerLoots.find(lootId); + if (playerLootIt != playerLoots.end()) + { + return &playerLootIt->second; + } + } + + return nullptr; +} + +void HardcoreMgr::CreateLoot(Player* player, Unit* killer) +{ + if (player && ShouldDropLoot(player, killer)) + { + const uint32 playerId = player->GetObjectGuid().GetCounter(); + + // Check if we need to remove a previous loot before creating a new one + auto playerLootsIt = m_playersLoot.find(playerId); + if (playerLootsIt != m_playersLoot.end()) + { + std::map& playerLoots = playerLootsIt->second; + if (playerLoots.size() >= GetMaxPlayerLoot(player)) + { + // Get the oldest loot to remove + HardcorePlayerLoot& playerLoot = playerLoots.begin()->second; + RemoveLoot(playerLoot.GetPlayerId(), playerLoot.GetId()); + } + } + + // Check if the players loot exists + if (m_playersLoot.find(playerId) == m_playersLoot.end()) + { + // If not add it to the map + m_playersLoot.insert(std::make_pair(playerId, std::map())); + } + + std::map& playerLoots = m_playersLoot.at(playerId); + + // Generate valid loot id + uint32 newLootId = 1; + auto result = CharacterDatabase.PQuery("SELECT loot_id FROM custom_hardcore_loot_gameobjects WHERE player = '%d' ORDER BY loot_id DESC LIMIT 1", playerId); + if (result) + { + Field* fields = result->Fetch(); + newLootId = fields[0].GetUInt32() + 1; + } + + // Generate new loot + playerLoots.insert(std::make_pair(newLootId, HardcorePlayerLoot(newLootId, playerId))); + HardcorePlayerLoot& playerLoot = playerLoots.at(newLootId); + if (!playerLoot.Create()) + { + // Remove the loot if failed to create + playerLoots.erase(newLootId); + } + } +} + +bool HardcoreMgr::RemoveLoot(uint32 playerId, uint32 lootId) +{ + HardcorePlayerLoot* playerLoot = FindLootByID(playerId, lootId); + if (playerLoot) + { + std::map& playerLoots = m_playersLoot.at(playerId); + playerLoot->Destroy(); + playerLoots.erase(lootId); + + if (playerLoots.empty()) + { + m_playersLoot.erase(playerId); + } + + return true; + } + + return false; +} + +void HardcoreMgr::RemoveAllLoot() +{ + for (auto& pair : m_playersLoot) + { + for (auto& pair2 : pair.second) + { + pair2.second.Destroy(); + } + } + + m_playersLoot.clear(); +} + +bool HardcoreMgr::FillLoot(Loot& loot) +{ + const GameObject* gameObject = (GameObject*)loot.GetLootTarget(); + if (gameObject && gameObject->IsHardcoreLoot()) + { + const uint32 goGUID = gameObject->GetGUIDLow(); + const HardcoreLootGameObject* lootGameObject = FindLootGOByGUID(goGUID); + if (lootGameObject) + { + for (const HardcoreLootItem& item : lootGameObject->GetItems()) + { + loot.AddItem(item.m_id, item.m_amount, 0, item.m_randomPropertyId, false); + } + + return true; + } + } + + return false; +} + +void HardcoreMgr::OnItemLooted(Loot* loot, Item* item, Player* player) +{ + if (item && loot) + { + const GameObject* gameObject = (GameObject*)loot->GetLootTarget(); + if (gameObject && gameObject->IsHardcoreLoot()) + { + // Look for the items in the loot cache + const uint32 goGUID = gameObject->GetGUIDLow(); + HardcoreLootGameObject* lootGameObject = FindLootGOByGUID(goGUID); + if (lootGameObject) + { + const HardcoreLootItem* hardcoreItem = lootGameObject->GetItem(item->GetProto()->ItemId); + if (hardcoreItem) + { + if (!hardcoreItem->m_enchantments.empty() || (hardcoreItem->m_durability > 0)) + { + // Set the enchantments + if (!hardcoreItem->m_enchantments.empty()) + { + item->_LoadIntoDataField(hardcoreItem->m_enchantments.c_str(), ITEM_FIELD_ENCHANTMENT, MAX_ENCHANTMENT_SLOT * MAX_ENCHANTMENT_OFFSET); + } + + // Set the durability + if (hardcoreItem->m_durability > 0) + { + item->SetUInt32Value(ITEM_FIELD_DURABILITY, hardcoreItem->m_durability); + } + } + + // Remove the item from the loot table + if (lootGameObject->RemoveItem(hardcoreItem->m_id)) + { + // If we don't have items left in the loot gameobject remove it + if (!lootGameObject->HasItems()) + { + const uint32 lootId = lootGameObject->GetLootId(); + const uint32 playerId = lootGameObject->GetPlayerId(); + + HardcorePlayerLoot* playerLoot = FindLootByID(playerId, lootId); + if (playerLoot) + { + if (playerLoot->RemoveGameObject(lootGameObject->GetId())) + { + // Check if all the gameobjects have been looted + if (!playerLoot->HasGameObjects()) + { + RemoveLoot(playerId, lootId); + } + } + } + } + } + } + } + } + } +} + +bool HardcoreMgr::ShouldDropLoot(Player* player /*= nullptr*/, Unit* killer /*= nullptr*/) +{ + if (sWorld.getConfig(CONFIG_BOOL_HARDCORE_ENABLED)) + { + bool fairKill = true; + bool dropLoot = true; + bool inBG = false; + if (player) + { + inBG = player->InBattleGround() || player->InArena(); + + // Check if the player killer is around the same level as the player + const bool killedByPlayer = killer && killer->IsPlayer(); + if (killedByPlayer) + { + const uint32 killerLevel = killer->GetLevel(); + const uint32 playerLevel = player->GetLevel(); + fairKill = killerLevel <= playerLevel + 3; + } + + // Check if the bot has been killed by a player + if (!player->isRealPlayer()) + { + dropLoot = false; + if (killedByPlayer) + { + dropLoot = ((Player*)killer)->isRealPlayer(); + } + } + } + + return dropLoot && fairKill && !inBG && (ShouldDropGear(player) || ShouldDropItems(player) || ShouldDropMoney(player)); + } + + return false; +} + +bool HardcoreMgr::ShouldDropMoney(Player* player /*= nullptr*/) +{ + if (sWorld.getConfig(CONFIG_BOOL_HARDCORE_ENABLED)) + { + bool inBG = false; + bool isMaxLevel = false; + if (player) + { + isMaxLevel = player->GetLevel() >= 60; + inBG = player->InBattleGround() || player->InArena(); + } + + if (!inBG && !isMaxLevel) + { + return GetDropMoneyRate(player); + } + } + + return false; +} + +bool HardcoreMgr::ShouldDropItems(Player* player /*= nullptr*/) +{ + if (sWorld.getConfig(CONFIG_BOOL_HARDCORE_ENABLED)) + { + bool inBG = false; + bool isMaxLevel = false; + if (player) + { + isMaxLevel = player->GetLevel() >= 60; + inBG = player->InBattleGround() || player->InArena(); + } + + if (!inBG && !isMaxLevel) + { + return GetDropItemsRate(player); + } + } + + return false; +} + +bool HardcoreMgr::ShouldDropGear(Player* player /*= nullptr*/) +{ + if (sWorld.getConfig(CONFIG_BOOL_HARDCORE_ENABLED)) + { + bool inBG = false; + bool isMaxLevel = false; + if (player) + { + isMaxLevel = player->GetLevel() >= 60; + inBG = player->InBattleGround() || player->InArena(); + } + + if(!inBG && !isMaxLevel) + { + return GetDropGearRate(player); + } + } + + return false; +} + +bool HardcoreMgr::CanRevive(Player* player /*= nullptr*/) +{ + if (sWorld.getConfig(CONFIG_BOOL_HARDCORE_ENABLED)) + { + if (player && sWorld.getConfig(CONFIG_BOOL_HARDCORE_REVIVE_DISABLED)) + { + const bool isBot = !player->isRealPlayer(); + const bool inBG = player->InBattleGround() || player->InArena(); + return isBot || inBG; + } + } + + return true; +} + +bool HardcoreMgr::ShouldReviveOnGraveyard(Player* player /*= nullptr*/) +{ + if (sWorld.getConfig(CONFIG_BOOL_HARDCORE_ENABLED)) + { + if (player && CanRevive(player) && sWorld.getConfig(CONFIG_BOOL_HARDCORE_REVIVE_ON_GRAVEYARD)) + { + bool inDungeon = false; + if (player->IsInWorld() && !player->IsBeingTeleported()) + { + if (const Map* map = player->GetMap()) + { + inDungeon = map->IsDungeon() || map->IsRaid(); + } + } + + const bool isBot = !player->isRealPlayer(); + const bool inBG = player->InBattleGround() || player->InArena(); + return !isBot && !inBG && !inDungeon; + } + } + + return false; +} + +bool HardcoreMgr::ShouldLevelDown(Player* player /*= nullptr*/, Unit* killer /*= nullptr*/) +{ + if (sWorld.getConfig(CONFIG_BOOL_HARDCORE_ENABLED)) + { + if (player && sWorld.getConfig(CONFIG_FLOAT_HARDCORE_LEVEL_DOWN) > 0.0f) + { + bool fairKill = true; + if (killer && killer->IsPlayer()) + { + const uint32 killerLevel = killer->GetLevel(); + const uint32 playerLevel = player->GetLevel(); + fairKill = killerLevel <= playerLevel + 3; + } + + const bool isBot = !player->isRealPlayer(); + const bool inBG = player->InBattleGround() || player->InArena(); + const bool isMaxLevel = player->GetLevel() >= 60; + return !isBot && !inBG && !isMaxLevel && fairKill; + } + } + + return false; +} + +uint32 HardcoreMgr::GetMaxPlayerLoot(Player* player /*= nullptr*/) const +{ + const uint32 maxPlayerLoot = sWorld.getConfig(CONFIG_UINT32_HARDCORE_MAX_PLAYER_LOOT); + return maxPlayerLoot > 0 ? maxPlayerLoot : 1; +} + +float HardcoreMgr::GetDropMoneyRate(Player* player /*= nullptr*/) const +{ + const bool isBot = player ? !player->isRealPlayer() : false; + return isBot ? sWorld.getConfig(CONFIG_FLOAT_HARDCORE_BOT_DROP_MONEY) : sWorld.getConfig(CONFIG_FLOAT_HARDCORE_DROP_MONEY); +} + +float HardcoreMgr::GetDropItemsRate(Player* player /*= nullptr*/) const +{ + const bool isBot = player ? !player->isRealPlayer() : false; + return isBot ? sWorld.getConfig(CONFIG_FLOAT_HARDCORE_BOT_DROP_ITEMS) : sWorld.getConfig(CONFIG_FLOAT_HARDCORE_DROP_ITEMS); +} + +float HardcoreMgr::GetDropGearRate(Player* player /*= nullptr*/) const +{ + const bool isBot = player ? !player->isRealPlayer() : false; + return isBot ? sWorld.getConfig(CONFIG_FLOAT_HARDCORE_BOT_DROP_GEAR) : sWorld.getConfig(CONFIG_FLOAT_HARDCORE_DROP_GEAR); +} + +bool HardcoreMgr::ShouldSpawnGrave(Player* player /*= nullptr*/, Unit* killer /*= nullptr*/) +{ + if (sWorld.getConfig(CONFIG_BOOL_HARDCORE_ENABLED)) + { + if (player && sWorld.getConfig(CONFIG_BOOL_HARDCORE_SPAWN_GRAVE)) + { + bool fairKill = true; + if (killer && killer->IsPlayer()) + { + const uint32 killerLevel = killer->GetLevel(); + const uint32 playerLevel = player->GetLevel(); + fairKill = killerLevel <= playerLevel + 3; + } + + const bool isBot = !player->isRealPlayer(); + const bool inBG = player->InBattleGround() || player->InArena(); + const bool isMaxLevel = player->GetLevel() >= 60; + return !isBot && !inBG && !isMaxLevel && fairKill; + } + } + + return false; +} + +void HardcoreMgr::PreLoadGraves() +{ + if (ShouldSpawnGrave()) + { + // Load player graves from custom_hardcore_grave_gameobjects + auto result = WorldDatabase.PQuery("SELECT entry, data10 FROM gameobject_template WHERE type = '%d' AND CustomData1 = '%d'", 2, 3643); + if (result) + { + do + { + Field* fields = result->Fetch(); + const uint32 gameObjectEntry = fields[0].GetUInt32(); + const uint32 playerId = fields[1].GetUInt32(); + + if (m_playerGraves.find(playerId) == m_playerGraves.end()) + { + // If not load player grave + m_playerGraves.insert(std::make_pair(playerId, HardcorePlayerGrave::Load(playerId, gameObjectEntry))); + } + } + while (result->NextRow()); + } + + // Check for missing gravestones for characters + Config config; + if (config.SetSource(SYSCONFDIR"aiplayerbot.conf")) + { + std::string botPrefix = config.GetStringDefault("AiPlayerbot.RandomBotAccountPrefix", "rndbot"); + std::transform(botPrefix.begin(), botPrefix.end(), botPrefix.begin(), ::toupper); + auto result2 = CharacterDatabase.Query("SELECT guid, account, name FROM characters"); + if (result2) + { + do + { + Field* fields2 = result2->Fetch(); + const uint32 playerId = fields2[0].GetUInt32(); + const uint32 playerAccountId = fields2[1].GetUInt32(); + const std::string playerName = fields2[2].GetCppString(); + + // Check if the player grave exists + if (m_playerGraves.find(playerId) == m_playerGraves.end()) + { + // Check if the player is not a bot + bool isBot = true; + auto result3 = LoginDatabase.PQuery("SELECT username FROM account WHERE id = '%d'", playerAccountId); + if (result3) + { + Field* fields3 = result3->Fetch(); + const std::string accountName = fields3[0].GetCppString(); + isBot = (accountName.find(botPrefix) != std::string::npos); + } + + if (!isBot) + { + // Create a new player grave + m_playerGraves.insert(std::make_pair(playerId, HardcorePlayerGrave::Generate(playerId, playerName))); + } + } + } + while(result2->NextRow()); + } + } + } +} + +void HardcoreMgr::LoadGraves() +{ + if (ShouldSpawnGrave()) + { + // Add the preloaded graves gameobjects into the world + for (auto& pair : m_playerGraves) + { + pair.second.Spawn(); + } + } +} + +void HardcoreMgr::CreateGrave(Player* player, Unit* killer) +{ + if (player && ShouldSpawnGrave(player, killer)) + { + const uint32 playerId = player->GetObjectGuid().GetCounter(); + const std::string playerName = player->GetName(); + + // Check if the player grave exists + if (m_playerGraves.find(playerId) == m_playerGraves.end()) + { + // Create a new player grave + m_playerGraves.insert(std::make_pair(playerId, HardcorePlayerGrave::Generate(playerId, playerName))); + } + + // Generate the new loot + HardcorePlayerGrave& playerGrave = m_playerGraves.at(playerId); + playerGrave.Create(); + } +} + +void HardcoreMgr::RemoveAllGraves() +{ + for (auto& pair : m_playerGraves) + { + pair.second.Destroy(); + } + + m_playerGraves.clear(); +} + +void HardcoreMgr::LevelDown(Player* player, Unit* killer) +{ + if (player && ShouldLevelDown(player, killer)) + { + // Calculate how many levels and XP (%) we have to remove + const float levelDownRate = sWorld.getConfig(CONFIG_FLOAT_HARDCORE_LEVEL_DOWN); + uint32 totalLevelXP = player->GetUInt32Value(PLAYER_NEXT_LEVEL_XP); + uint32 curXP = player->GetUInt32Value(PLAYER_XP); + totalLevelXP = totalLevelXP ? totalLevelXP : 1; + const float levelPct = (float)(curXP) / totalLevelXP; + const float level = player->GetLevel() + levelPct; + const double levelDown = level - levelDownRate; + + // Separate the amount of levels and the XP (%) + double newLevel, newXPpct; + newXPpct = modf(levelDown, &newLevel); + newLevel = newLevel < 0.0 ? 1.0 : newLevel; + + // Process the level down + if (newLevel > 0.0) + { + player->GiveLevel((uint32)newLevel); + player->InitTalentForLevel(); + player->SetUInt32Value(PLAYER_XP, 0); + } + + // Process the XP down + if (newXPpct > 0.0) + { + curXP = player->GetUInt32Value(PLAYER_XP); + totalLevelXP = player->GetUInt32Value(PLAYER_NEXT_LEVEL_XP); + + const uint32 levelXP = (uint32)(totalLevelXP * newXPpct); + player->SetUInt32Value(PLAYER_XP, levelXP); + } + } +} + +Unit* HardcoreMgr::GetKiller(Player* player) const +{ + Unit* killer = nullptr; + if (player && player->IsInWorld() && !player->IsBeingTeleported()) + { + const uint32 playerGuid = player->GetObjectGuid().GetCounter(); + if (m_lastPlayerDeaths.find(playerGuid) != m_lastPlayerDeaths.end()) + { + const ObjectGuid& killerGuid = m_lastPlayerDeaths.at(playerGuid); + return sObjectAccessor.GetUnit(*player, killerGuid); + } + } + + return killer; +} + +void HardcoreMgr::SetKiller(Player* player, Unit* killer) +{ + if (player) + { + const uint32 playerGuid = player->GetObjectGuid().GetCounter(); + const ObjectGuid killerGuid = killer ? killer->GetObjectGuid() : ObjectGuid(); + m_lastPlayerDeaths[playerGuid] = killerGuid; + } +} diff --git a/src/game/Hardcore/HardcoreMgr.h b/src/game/Hardcore/HardcoreMgr.h new file mode 100644 index 0000000000..c4aa92750f --- /dev/null +++ b/src/game/Hardcore/HardcoreMgr.h @@ -0,0 +1,195 @@ +#ifndef MANGOS_HARDCOREMGR_H +#define MANGOS_HARDCOREMGR_H + +class Player; + +// Bag, Slot +typedef std::pair ItemSlot; + +struct HardcoreLootItem +{ + HardcoreLootItem(uint32 id, uint8 amount); + HardcoreLootItem(uint32 id, uint8 amount, const std::vector& slots); + HardcoreLootItem(uint32 id, uint8 amount, uint32 randomPropertyId, uint32 durability, const std::string& enchantments); + HardcoreLootItem(uint32 id, uint8 amount, uint32 randomPropertyId, uint32 durability, const std::string& enchantments, const std::vector& slots); + + uint32 m_id; + bool m_isGear; + uint32 m_randomPropertyId; + uint32 m_durability; + std::string m_enchantments; + uint8 m_amount; + std::vector m_slots; +}; + +class HardcoreLootGameObject +{ +private: + HardcoreLootGameObject(uint32 id, uint32 playerId, uint32 lootId, uint32 lootTableId, uint32 money, float positionX, float positionY, float positionZ, float orientation, uint32 mapId, const std::vector& items); + +public: + static HardcoreLootGameObject Load(uint32 id, uint32 playerId); + static HardcoreLootGameObject Create(uint32 playerId, uint32 lootId, uint32 money, float positionX, float positionY, float positionZ, float orientation, uint32 mapId, const std::vector& items); + + void Spawn(); + void DeSpawn(); + bool IsSpawned() const; + void Destroy(); + + uint32 GetId() const { return m_id; } + uint32 GetGUID() const { return m_guid; } + uint32 GetPlayerId() const { return m_playerId; } + uint32 GetLootId() const { return m_lootId; } + bool HasItems() const { return !m_items.empty(); } + const std::vector& GetItems() const { return m_items; } + const HardcoreLootItem* GetItem(uint32 itemId) const; + bool RemoveItem(uint32 itemId); + +private: + uint32 m_id; + uint32 m_playerId; + uint32 m_guid; + uint32 m_lootId; + uint32 m_lootTableId; + uint32 m_money; + float m_positionX; + float m_positionY; + float m_positionZ; + float m_orientation; + uint32 m_mapId; + std::vector m_items; +}; + +class HardcorePlayerLoot +{ +public: + HardcorePlayerLoot(uint32 id, uint32 playerId); + void LoadGameObject(uint32 gameObjectId); + HardcoreLootGameObject* FindGameObjectByGUID(const uint32 guid); + bool RemoveGameObject(uint32 gameObjectId); + + bool HasGameObjects() const { return !m_gameObjects.empty(); } + uint32 GetPlayerId() const { return m_playerId; } + uint32 GetId() const { return m_id; } + + void Spawn(); + void DeSpawn(); + bool Create(); + void Destroy(); + +private: + uint32 m_id; + uint32 m_playerId; + std::vector m_gameObjects; +}; + +class HardcoreGraveGameObject +{ +private: + HardcoreGraveGameObject(uint32 id, uint32 gameObjectEntry, uint32 playerId, float positionX, float positionY, float positionZ, float orientation, uint32 mapId); + +public: + static HardcoreGraveGameObject Load(uint32 id); + static HardcoreGraveGameObject Create(uint32 playerId, uint32 gameObjectEntry, float positionX, float positionY, float positionZ, float orientation, uint32 mapId); + + void Spawn(); + void DeSpawn(); + bool IsSpawned() const; + void Destroy(); + +private: + uint32 m_id; + uint32 m_gameObjectEntry; + uint32 m_guid; + uint32 m_playerId; + float m_positionX; + float m_positionY; + float m_positionZ; + float m_orientation; + uint32 m_mapId; +}; + +class HardcorePlayerGrave +{ +private: + HardcorePlayerGrave(uint32 playerId, uint32 gameObjectEntry); + HardcorePlayerGrave(uint32 playerId, uint32 gameObjectEntry, const std::vector& gameObjects); + +public: + static HardcorePlayerGrave Load(uint32 playerId, uint32 gameObjectEntry); + static HardcorePlayerGrave Generate(uint32 playerId, const std::string& playerName); + + void Spawn(); + void DeSpawn(); + void Create(); + void Destroy(); + +private: + static std::string GenerateGraveMessage(const std::string& playerName); + +private: + uint32 m_playerId; + uint32 m_gameObjectEntry; + std::vector m_gameObjects; +}; + +class HardcoreMgr +{ +public: + // Called before the world loads to update the database + void PreLoad(); + + // Called after the world loads + void Load(); + + void OnPlayerRevived(Player* player); + void OnPlayerDeath(Player* player, Unit* killer); + void OnPlayerReleaseSpirit(Player* player, bool teleportedToGraveyard); + + void CreateLoot(Player* player, Unit* killer); + bool RemoveLoot(uint32 playerId, uint32 lootId); + void RemoveAllLoot(); + // Called by LootMgr::FillLoot + bool FillLoot(Loot& loot); + // Callet by Loot::SendItem + void OnItemLooted(Loot* loot, Item* item, Player* player); + + void CreateGrave(Player* player, Unit* killer = nullptr); + void RemoveAllGraves(); + + void LevelDown(Player* player, Unit* killer = nullptr); + + bool ShouldDropLoot(Player* player = nullptr, Unit* killer = nullptr); + bool ShouldDropMoney(Player* player = nullptr); + bool ShouldDropItems(Player* player = nullptr); + bool ShouldDropGear(Player* player = nullptr); + bool ShouldSpawnGrave(Player* player = nullptr, Unit* killer = nullptr); + bool CanRevive(Player* player = nullptr); + bool ShouldReviveOnGraveyard(Player* player = nullptr); + bool ShouldLevelDown(Player* player = nullptr, Unit* killer = nullptr); + + uint32 GetMaxPlayerLoot(Player* player = nullptr) const; + float GetDropMoneyRate(Player* player = nullptr) const; + float GetDropItemsRate(Player* player = nullptr) const; + float GetDropGearRate(Player* player = nullptr) const; + +private: + HardcoreLootGameObject* FindLootGOByGUID(const uint32 guid); + HardcorePlayerLoot* FindLootByID(const uint32 playerId, const uint32 lootId); + void PreLoadLoot(); + void LoadLoot(); + + void PreLoadGraves(); + void LoadGraves(); + + Unit* GetKiller(Player* player) const; + void SetKiller(Player* player, Unit* killer); + +private: + std::map> m_playersLoot; + std::map m_playerGraves; + std::map m_lastPlayerDeaths; +}; + +#define sHardcoreMgr MaNGOS::Singleton::Instance() +#endif \ No newline at end of file diff --git a/src/game/Immersive/Immersive.cpp b/src/game/Immersive/Immersive.cpp new file mode 100644 index 0000000000..8d4d6c9e14 --- /dev/null +++ b/src/game/Immersive/Immersive.cpp @@ -0,0 +1,1172 @@ +#include "Immersive.h" +#include "SharedDefines.h" +#include "Language.h" + +#ifdef ENABLE_PLAYERBOTS +#include "PlayerbotAIConfig.h" +#include "PlayerbotAI.h" +#include "ChatHelper.h" +#endif + +using namespace immersive; + +map Immersive::statValues; + +string formatMoney(uint32 copper) +{ + ostringstream out; + if (!copper) + { + out << "0"; + return out.str(); + } + + uint32 gold = uint32(copper / 10000); + copper -= (gold * 10000); + uint32 silver = uint32(copper / 100); + copper -= (silver * 100); + + bool space = false; + if (gold > 0) + { + out << gold << "g"; + space = true; + } + + if (silver > 0 && gold < 50) + { + if (space) out << " "; + out << silver << "s"; + space = true; + } + + if (copper > 0 && gold < 10) + { + if (space) out << " "; + out << copper << "c"; + } + + return out.str(); +} + +Immersive::Immersive() +{ + statValues[STAT_STRENGTH] = "Strength"; + statValues[STAT_AGILITY] = "Agility"; + statValues[STAT_STAMINA] = "Stamina"; + statValues[STAT_INTELLECT] = "Intellect"; + statValues[STAT_SPIRIT] = "Spirit"; +} + +PlayerInfo extraPlayerInfo[MAX_RACES][MAX_CLASSES]; + +PlayerInfo const* Immersive::GetPlayerInfo(uint32 race, uint32 class_) +{ +/* +#ifndef MANGOSBOT_ZERO + if (class_ == CLASS_SHAMAN && race == RACE_NIGHTELF) + { + PlayerInfo const* piSh = sObjectMgr.GetPlayerInfo(RACE_DRAENEI, class_); + PlayerInfo *result = &extraPlayerInfo[race][class_]; + memcpy(result, piSh, sizeof(PlayerInfo)); + + PlayerInfo const* piDr = sObjectMgr.GetPlayerInfo(race, CLASS_DRUID); + result->displayId_f = piDr->displayId_f; + result->displayId_m = piDr->displayId_m; + + return result; + } +#endif +*/ + + if (class_ == CLASS_DRUID && race == RACE_TROLL) + { + PlayerInfo const* piSh = sObjectMgr.GetPlayerInfo(RACE_TAUREN, class_); + PlayerInfo *result = &extraPlayerInfo[race][class_]; + memcpy(result, piSh, sizeof(PlayerInfo)); + + PlayerInfo const* piDr = sObjectMgr.GetPlayerInfo(race, CLASS_SHAMAN); + result->displayId_f = piDr->displayId_f; + result->displayId_m = piDr->displayId_m; + + return result; + } + + return sObjectMgr.GetPlayerInfo(race, class_); +} + +void Immersive::GetPlayerLevelInfo(Player *player, PlayerLevelInfo* info) +{ + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) return; + + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_MANUAL_ATTRIBUTES)) return; + +#ifdef ENABLE_PLAYERBOTS + // Don't use custom stats on random bots + uint32 account = sObjectMgr.GetPlayerAccountIdByGUID(player->GetObjectGuid()); + if (sPlayerbotAIConfig.IsInRandomAccountList(account)) + return; +#endif + + PlayerInfo const* playerInfo = GetPlayerInfo(player->getRace(), player->getClass()); + *info = playerInfo->levelInfo[0]; + + uint32 owner = player->GetObjectGuid().GetRawValue(); + int modifier = GetModifierValue(owner); + for (int i = STAT_STRENGTH; i < MAX_STATS; ++i) + { + info->stats[i] += GetStatsValue(owner, (Stats)i) * modifier / 100; + } +} + +void Immersive::OnGossipSelect(Player *player, WorldObject* source, uint32 gossipListId, GossipMenuItemData *menuData) +{ + bool closeGossipWindow = false; + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) + { + SendMessage(player, sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_DISABLED, player->GetSession()->GetSessionDbLocaleIndex())); + closeGossipWindow = true; + } + else + { + switch (menuData->m_gAction_poi) + { + // Help + case 0: + { + PrintHelp(player, true, true); + break; + } + + // Increase stats + case 1: + case 2: + case 3: + case 4: + case 5: + { + IncreaseStat(player, menuData->m_gAction_poi - 1); + break; + } + + // Reset stats + case 6: + { + ResetStats(player); + break; + } + + // Reduce stat modifier + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + { + ChangeModifier(player, menuData->m_gAction_poi - 11); + break; + } + + // Portal + case 40: + { + CastPortal(player); + closeGossipWindow = true; + break; + } + + // Portal + case 41: + { + CastPortal(player, true); + closeGossipWindow = true; + break; + } + + default: break; + } + } + + if (closeGossipWindow) + { + player->GetPlayerMenu()->CloseGossip(); + } + else + { + player->PrepareGossipMenu(source, 60001); + player->SendPreparedGossip(source); + } +} + +float Immersive::GetFallDamage(Player* player, float zdist, float defaultVal) +{ + if(sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED) && player && !player->InBattleGround()) + { +#ifdef ENABLE_PLAYERBOTS + // Don't apply extra fall damage on bots + if (!player->isRealPlayer()) + { + return defaultVal; + } +#endif + + return 0.0055f * zdist * zdist * sWorld.getConfig(CONFIG_FLOAT_IMMERSIVE_FALL_DAMAGE_MULT); + } + + return defaultVal; +} + +void Immersive::OnDeath(Player *player) +{ + if(sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) + { + const uint8 lossPerDeath = sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_ATTR_LOSS_PER_DEATH); + const uint32 usedStats = GetUsedStats(player); + if(lossPerDeath > 0 && usedStats > 0) + { +#ifdef ENABLE_PLAYERBOTS + // Don't lose stats on bots + if(!player->isRealPlayer()) + { + return; + } +#endif + + // Don't lose stats on battlegrounds or arena + if (player->InBattleGround() || player->InArena()) + { + return; + } + + map loss; + for (uint8 j = STAT_STRENGTH; j < MAX_STATS; ++j) + { + loss[(Stats)j] = 0; + } + + const uint32 owner = player->GetObjectGuid().GetRawValue(); + uint32 pointsToLose = lossPerDeath > usedStats ? usedStats : lossPerDeath; + while (pointsToLose > 0) + { + const Stats statType = (Stats)urand(STAT_STRENGTH, MAX_STATS - 1); + const uint32 statValue = GetStatsValue(owner, statType); + if(statValue > 0) + { + SetStatsValue(owner, statType, statValue - 1); + loss[statType]++; + pointsToLose--; + } + } + + ostringstream out; + bool first = true; + for (int i = STAT_STRENGTH; i < MAX_STATS; ++i) + { + const uint32 value = loss[(Stats)i]; + if(value > 0) + { + if (!first) out << ", "; else first = false; + const uint32 langStat = LANG_IMMERSIVE_MANUAL_ATTR_STRENGTH + i; + out << "|cffffa0a0-" << value << "|cffffff00 " << sObjectMgr.GetMangosString(langStat, player->GetSession()->GetSessionDbLocaleIndex()); + } + } + + SendMessage(player, FormatString( + sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_LOST, player->GetSession()->GetSessionDbLocaleIndex()), + out.str().c_str())); + + player->InitStatsForLevel(true); + player->UpdateAllStats(); + } + } +} + +string percent(Player *player) +{ + return player->GetPlayerbotAI() ? "%" : "%%"; +} + +void Immersive::PrintHelp(Player *player, bool detailed, bool help) +{ + uint32 usedStats = GetUsedStats(player); + uint32 totalStats = GetTotalStats(player); + uint32 purchaseCost = GetStatCost(player) * sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_INCREASE); + + SendMessage(player, FormatString( + sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_AVAILABLE, player->GetSession()->GetSessionDbLocaleIndex()), + (totalStats > usedStats ? totalStats - usedStats : 0), + formatMoney(purchaseCost).c_str())); + + if (detailed) + { + PrintUsedStats(player); + } + + if (help) + { + PrintSuggestedStats(player); + } +} + +void Immersive::PrintUsedStats(Player* player) +{ + uint32 owner = player->GetObjectGuid().GetRawValue(); + uint32 modifier = GetModifierValue(owner); + + ostringstream out; + bool first = true; + bool used = false; + + PlayerInfo const* info = GetPlayerInfo(player->getRace(), player->getClass()); + PlayerLevelInfo level1Info = info->levelInfo[0]; + + for (int i = STAT_STRENGTH; i < MAX_STATS; ++i) + { + uint32 value = level1Info.stats[i]; + value += GetStatsValue(owner, (Stats)i) * modifier / 100; + if (!value) continue; + if (!first) out << ", "; else first = false; + const uint32 langStat = LANG_IMMERSIVE_MANUAL_ATTR_STRENGTH + i; + out << "|cff00ff00+" << value << "|cffffff00 " << sObjectMgr.GetMangosString(langStat, player->GetSession()->GetSessionDbLocaleIndex()); + used = true; + } + + if (modifier != 100) + { + ostringstream modifierStr; modifierStr << modifier << percent(player); + out << " " << FormatString(sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_MODIFIER, player->GetSession()->GetSessionDbLocaleIndex()), modifierStr.str().c_str()); + } + + SendMessage(player, FormatString( + sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_ASSIGNED, player->GetSession()->GetSessionDbLocaleIndex()), + out.str().c_str())); +} + +void Immersive::PrintSuggestedStats(Player* player) +{ + ostringstream out; + PlayerInfo const* info = GetPlayerInfo(player->getRace(), player->getClass()); + uint8 level = player->GetLevel(); + PlayerLevelInfo levelCInfo = info->levelInfo[level - 1]; + + bool first = true; + bool used = false; + for (int i = STAT_STRENGTH; i < MAX_STATS; ++i) + { + uint32 value = levelCInfo.stats[i]; + value = (uint32)floor(value * sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_PCT) / 100.0f); + if (!value) continue; + if (!first) out << ", "; else first = false; + const uint32 langStat = LANG_IMMERSIVE_MANUAL_ATTR_STRENGTH + i; + out << "|cff00ff00+" << value << "|cffffff00 " << sObjectMgr.GetMangosString(langStat, player->GetSession()->GetSessionDbLocaleIndex()); + used = true; + } + + if (used) + { + SendMessage(player, FormatString( + sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_SUGGESTED, player->GetSession()->GetSessionDbLocaleIndex()), + out.str().c_str())); + } +} + +void Immersive::ChangeModifier(Player *player, uint32 type) +{ + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) return; + + uint32 owner = player->GetObjectGuid().GetRawValue(); + uint32 value = type * 10; + SetValue(owner, "modifier", value); + + ostringstream modifierStr; modifierStr << value << percent(player); + if (!value || value == 100) + { + modifierStr << " " << sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_MOD_DISABLED, player->GetSession()->GetSessionDbLocaleIndex()); + } + + SendMessage(player, FormatString( + sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_MOD_CHANGED, player->GetSession()->GetSessionDbLocaleIndex()), + modifierStr.str().c_str())); + + player->InitStatsForLevel(true); + player->UpdateAllStats(); +} + +void Immersive::IncreaseStat(Player *player, uint32 type) +{ + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) + { + SendMessage(player, sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_DISABLED, player->GetSession()->GetSessionDbLocaleIndex())); + return; + } + + uint32 owner = player->GetObjectGuid().GetRawValue(); + uint32 usedStats = GetUsedStats(player); + uint32 totalStats = GetTotalStats(player); + uint32 cost = GetStatCost(player); + uint32 attributePointsAvailable = (totalStats > usedStats ? totalStats - usedStats : 0); + uint32 statIncrease = std::min(sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_INCREASE), attributePointsAvailable); + uint32 purchaseCost = cost * statIncrease; + + if (usedStats >= totalStats) + { + SendMessage(player, sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_MISSING, player->GetSession()->GetSessionDbLocaleIndex())); + return; + } + + if (player->GetMoney() < purchaseCost) + { + SendMessage(player, sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_MISSING_GOLD, player->GetSession()->GetSessionDbLocaleIndex())); + return; + } + + uint32 value = GetStatsValue(owner, (Stats)type); + SetStatsValue(owner, (Stats)type, value + statIncrease); + + usedStats = GetUsedStats(player); + totalStats = GetTotalStats(player); + attributePointsAvailable = (totalStats > usedStats ? totalStats - usedStats : 0); + + SendMessage(player, FormatString( + sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_GAINED, player->GetSession()->GetSessionDbLocaleIndex()), + statIncrease, + sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_STRENGTH + type, player->GetSession()->GetSessionDbLocaleIndex()), + attributePointsAvailable, + formatMoney(purchaseCost).c_str())); + + PrintUsedStats(player); + + player->InitStatsForLevel(true); + player->UpdateAllStats(); + player->ModifyMoney(-(int32)purchaseCost); + player->SaveGoldToDB(); +} + +void Immersive::ResetStats(Player *player) +{ + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) + { + SendMessage(player, sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_DISABLED, player->GetSession()->GetSessionDbLocaleIndex())); + return; + } + + uint32 owner = player->GetObjectGuid().GetRawValue(); + + for (int i = STAT_STRENGTH; i < MAX_STATS; ++i) + { + SetValue(owner, statValues[(Stats)i], 0); + } + + uint32 usedStats = GetUsedStats(player); + uint32 totalStats = GetTotalStats(player); + + SendMessage(player, FormatString( + sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_RESET, player->GetSession()->GetSessionDbLocaleIndex()), + (totalStats > usedStats ? totalStats - usedStats : 0))); + + player->InitStatsForLevel(true); + player->UpdateAllStats(); +} + +uint32 Immersive::GetTotalStats(Player *player, uint8 level) +{ + constexpr uint8 maxLvl = 60; + if (!level) + { + level = player->GetLevel(); + } + + const uint32 maxStats = sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_MAX_POINTS); + if(maxStats > 0) + { + // Calculate the amount of base stats + uint32 base = 0; + PlayerInfo const* info = GetPlayerInfo(player->getRace(), player->getClass()); + PlayerLevelInfo level1Info = info->levelInfo[0]; + for (int i = STAT_STRENGTH; i < MAX_STATS; ++i) + { + base += level1Info.stats[i]; + } + + return (uint32)((level * (maxStats - base)) / maxLvl); + } + else + { + PlayerInfo const* info = GetPlayerInfo(player->getRace(), player->getClass()); + PlayerLevelInfo level1Info = info->levelInfo[0]; + + PlayerLevelInfo levelCInfo = info->levelInfo[level - 1]; + int total = 0; + for (int i = STAT_STRENGTH; i < MAX_STATS; ++i) + { + total += ((int)levelCInfo.stats[i] - (int)level1Info.stats[i]); + } + + if(level >= maxLvl) + { + total += 5; + } + + uint32 byPercent = (uint32)floor(total * sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_PCT) / 100.0f); + return byPercent / sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_INCREASE) * sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_INCREASE); + } +} + +uint32 Immersive::GetUsedStats(Player *player) +{ + uint32 owner = player->GetObjectGuid().GetRawValue(); + + uint32 usedStats = 0; + for (int i = STAT_STRENGTH; i < MAX_STATS; ++i) + { + usedStats += GetStatsValue(owner, (Stats)i); + } + + return usedStats; +} + +uint32 Immersive::GetStatCost(Player *player, uint8 level, uint32 usedStats) +{ + if (!level) level = player->GetLevel(); + if (!usedStats) usedStats = GetUsedStats(player); + + uint32 usedLevels = usedStats / 5; + for (int8 i = level; i >= 1; i--) + { + uint32 forLevel = GetTotalStats(player, i); + if (usedStats > forLevel) + { + usedLevels = i - 1; + break; + } + } + + return sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_COST_MULT) * (usedLevels * usedLevels + 1); +} + +uint32 Immersive::GetValue(uint32 owner, string type) +{ + uint32 value = valueCache[owner][type]; + + if (!value) + { + auto results = CharacterDatabase.PQuery( + "select `value` from immersive_values where owner = '%u' and `type` = '%s'", + owner, type.c_str()); + + if (results) + { + Field* fields = results->Fetch(); + value = fields[0].GetUInt32(); + valueCache[owner][type] = value; + } + } + + return value; +} + +void Immersive::SetValue(uint32 owner, string type, uint32 value) +{ + valueCache[owner][type] = value; + CharacterDatabase.DirectPExecute("delete from immersive_values where owner = '%u' and `type` = '%s'", + owner, type.c_str()); + + if (value) + { + CharacterDatabase.DirectPExecute( + "insert into immersive_values (owner, `type`, `value`) values ('%u', '%s', '%u')", + owner, type.c_str(), value); + } +} + +uint32 Immersive::GetStatsValue(uint32 owner, Stats type) +{ + return GetValue(owner, Immersive::statValues[type]); +} + +void Immersive::SetStatsValue(uint32 owner, Stats type, uint32 value) +{ + SetValue(owner, Immersive::statValues[type], value); +} + +uint32 Immersive::GetModifierValue(uint32 owner) +{ + int modifier = GetValue(owner, "modifier"); + if (!modifier) modifier = 100; + return modifier; +} + +void Immersive::SendMessage(Player *player, string message) +{ +#ifdef ENABLE_PLAYERBOTS + if (player->GetPlayerbotAI()) + { + player->GetPlayerbotAI()->TellPlayerNoFacing(player->GetPlayerbotAI()->GetMaster(), message); + return; + } +#endif + + ChatHandler(player).PSendSysMessage(message.c_str()); +} + +std::string Immersive::FormatString(const char* format, ...) +{ + va_list ap; + char out[2048]; + va_start(ap, format); + vsnprintf(out, 2048, format, ap); + va_end(ap); + return std::string(out); +} + +bool ImmersiveAction::CheckSharedPercentReqs(Player* player, Player* bot) +{ + Group *group = player->GetGroup(); + if (!group) return CheckSharedPercentReqsSingle(player, bot); + + for (GroupReference *gr = group->GetFirstMember(); gr; gr = gr->next()) + { + Player *member = gr->getSource(); + if (CheckSharedPercentReqsSingle(member, bot)) return true; + } + return false; +} + +bool ImmersiveAction::CheckSharedPercentReqsSingle(Player* player, Player* bot) +{ + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) return false; + + if (sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_PCT_MIN_LVL) && (int)player->GetLevel() < sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_PCT_MIN_LVL)) + return false; + + uint8 race1 = player->getRace(); + uint8 cls1 = player->getClass(); + uint8 race2 = bot->getRace(); + uint8 cls2 = bot->getClass(); + + if (sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_SHARED_PCT_GUILD_RESTR) && player->GetGuildId() != bot->GetGuildId()) + return false; + + if (sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_SHARED_PCT_FACTION_RESTR) && (IsAlliance(player->getRace()) ^ IsAlliance(bot->getRace()))) + return false; + + if (sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_PCT_RACE_RESTR) == 2) + { + if (race1 == RACE_TROLL) race1 = RACE_ORC; + if (race1 == RACE_DWARF) race1 = RACE_GNOME; + + if (race2 == RACE_TROLL) race2 = RACE_ORC; + if (race2 == RACE_DWARF) race2 = RACE_GNOME; + } + + if (sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_PCT_CLASS_RESTR) == 2) + { + if (cls1 == CLASS_PALADIN || cls1 == CLASS_SHAMAN) cls1 = CLASS_WARRIOR; + if (cls1 == CLASS_HUNTER || cls1 == CLASS_ROGUE) cls1 = CLASS_DRUID; + if (cls1 == CLASS_PRIEST || cls1 == CLASS_WARLOCK) cls1 = CLASS_MAGE; + + if (cls2 == CLASS_PALADIN || cls2 == CLASS_SHAMAN) cls2 = CLASS_WARRIOR; + if (cls2 == CLASS_HUNTER || cls2 == CLASS_ROGUE) cls2 = CLASS_DRUID; + if (cls2 == CLASS_PRIEST || cls2 == CLASS_WARLOCK) cls2 = CLASS_MAGE; + } + + if (sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_PCT_RACE_RESTR) && race1 != race2) + return false; + + if (sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_PCT_CLASS_RESTR) && cls1 != cls2) + return false; + + return true; +} + +void Immersive::RunAction(Player* player, ImmersiveAction* action) +{ + bool first = true, needMsg = false; + ostringstream out; out << "|cffffff00"; +#ifdef ENABLE_PLAYERBOTS + for (PlayerBotMap::const_iterator i = player->GetPlayerbotMgr()->GetPlayerBotsBegin(); i != player->GetPlayerbotMgr()->GetPlayerBotsEnd(); ++i) + { + Player *bot = i->second; + if (bot->GetGroup() && bot->GetGroup() == player->GetGroup()) continue; + if (action->Run(player, bot)) + { + if (!first) out << ", "; else first = false; + out << bot->GetName(); + needMsg = true; + } + } +#endif + + if (!needMsg) return; + out << "|cffffff00: " << action->GetMessage(player); + SendMessage(player, out.str()); +} + +uint32 ApplyRandomPercent(uint32 value) +{ + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED) || !sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_RANDOM_PCT)) return value; + float percent = (float) urand(0, sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_RANDOM_PCT)) - (float)sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_RANDOM_PCT) / 2; + return value + (uint32) (value * percent / 100.0f); +} + +class OnGiveXPAction : public ImmersiveAction +{ +public: + OnGiveXPAction(int32 value) : ImmersiveAction(), value(value) {} + + bool Run(Player* player, Player* bot) override + { + if ((int)player->GetLevel() - (int)bot->GetLevel() < (int)sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_XP_PCT_LEVEL_DIFF)) + { + return false; + } + + if (!CheckSharedPercentReqs(player, bot)) + { + return false; + } + + bot->GiveXP(ApplyRandomPercent(value), NULL); + + Pet *pet = bot->GetPet(); + if (pet && pet->getPetType() == HUNTER_PET) + { + pet->GivePetXP(ApplyRandomPercent(value)); + } + + return true; + } + + string GetMessage(Player* player) override + { + return Immersive::FormatString( + sObjectMgr.GetMangosString(LANG_IMMERSIVE_EXP_GAINED, player->GetSession()->GetSessionDbLocaleIndex()), + value); + } + +private: + int32 value; +}; + +void Immersive::OnGiveXP(Player *player, uint32 xp, Unit* victim) +{ + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) return; + if (sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_XP_PCT) < 0.01f || !player->GetPlayerbotMgr()) return; + + uint32 bonus_xp = xp + (victim ? player->GetXPRestBonus(xp) : 0); + uint32 botXp = (uint32) (bonus_xp * sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_XP_PCT) / 100.0f); + if (botXp < 1) + { + return; + } + + OnGiveXPAction action(botXp); + RunAction(player, &action); +} + +void Immersive::OnGiveLevel(Player* player) +{ + if (sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED) && sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_MANUAL_ATTRIBUTES)) + { + const uint32 usedStats = GetUsedStats(player); + const uint32 totalStats = GetTotalStats(player); + const uint32 availablePoints = (totalStats > usedStats) ? totalStats - usedStats : 0; + if (availablePoints > 0) + { + SendMessage(player, FormatString( + sObjectMgr.GetMangosString(LANG_IMMERSIVE_MANUAL_ATTR_POINTS_ADDED, player->GetSession()->GetSessionDbLocaleIndex()), + availablePoints)); + } + } +} + +class OnGiveMoneyAction : public ImmersiveAction +{ +public: + OnGiveMoneyAction(int32 value) : ImmersiveAction(), value(value) {} + + bool Run(Player* player, Player* bot) override + { + if ((int)player->GetLevel() - (int)bot->GetLevel() < (int)sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_XP_PCT_LEVEL_DIFF)) + return false; + + if (!CheckSharedPercentReqs(player, bot)) + return false; + + bot->ModifyMoney(ApplyRandomPercent(value)); + return true; + } + + virtual string GetMessage(Player* player) + { + return Immersive::FormatString( + sObjectMgr.GetMangosString(LANG_IMMERSIVE_MONEY_GAINED, player->GetSession()->GetSessionDbLocaleIndex()), +#ifdef ENABLE_PLAYERBOTS + ai::ChatHelper::formatMoney(value).c_str() +#else + value +#endif + ); + } + +private: + int32 value; +}; + +void Immersive::OnModifyMoney(Player *player, int32 delta) +{ + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) return; + + if (delta < 1) return; + if (sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_MONEY_PCT) < 0.01f || !player->GetPlayerbotMgr()) return; + + int32 botMoney = (int32) (delta * sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_MONEY_PCT) / 100.0f); + if (botMoney < 1) return; + + OnGiveMoneyAction action(botMoney); + RunAction(player, &action); +} + +class OnReputationChangeAction : public ImmersiveAction +{ +public: + OnReputationChangeAction(FactionEntry const* factionEntry, int32 value) : ImmersiveAction(), factionEntry(factionEntry), value(value) {} + + bool Run(Player* player, Player* bot) override + { + if (!CheckSharedPercentReqs(player, bot)) + { + return false; + } + else + { + bot->GetReputationMgr().ModifyReputation(factionEntry, ApplyRandomPercent(value)); + return true; + } + } + + string GetMessage(Player* player) override + { + return Immersive::FormatString( + sObjectMgr.GetMangosString(LANG_IMMERSIVE_REPUTATION_GAINED, player->GetSession()->GetSessionDbLocaleIndex()), + value); + } + +private: + FactionEntry const* factionEntry; + int32 value; +}; + +void Immersive::OnReputationChange(Player* player, FactionEntry const* factionEntry, int32& standing, bool incremental) +{ + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) return; + if (sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_REP_PCT) < 0.01f || !player->GetPlayerbotMgr() || !incremental) return; + + int32 value = (uint32) (standing * sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_REP_PCT) / 100.0f); + if (value < 1) return; + + OnReputationChangeAction action(factionEntry, value); + RunAction(player, &action); +} + +class OnRewardQuestAction : public ImmersiveAction +{ +public: + OnRewardQuestAction(Quest const* quest) : ImmersiveAction(), quest(quest) {} + + bool Run(Player* player, Player* bot) override + { + if (quest->GetRequiredClasses()) + { + return false; + } + + if (!CheckSharedPercentReqs(player, bot)) + { + return false; + } + + uint32 questId = quest->GetQuestId(); + if (bot->GetQuestStatus(questId) != QUEST_STATUS_NONE) + { + return false; + } + + bot->SetQuestStatus(questId, QUEST_STATUS_COMPLETE); + QuestStatusData& sd = bot->getQuestStatusMap()[questId]; + sd.m_explored = true; + sd.m_rewarded = true; + sd.uState = (sd.uState != QUEST_NEW) ? QUEST_CHANGED : QUEST_NEW; + + return true; + } + + string GetMessage(Player* player) override + { + return Immersive::FormatString( + sObjectMgr.GetMangosString(LANG_IMMERSIVE_QUEST_COMPLETED, player->GetSession()->GetSessionDbLocaleIndex()), + quest->GetTitle().c_str()); + } + +private: + Quest const* quest; +}; + +void Immersive::OnRewardQuest(Player* player, Quest const* quest) +{ + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) return; + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_SHARED_QUESTS) || !player->GetPlayerbotMgr()) return; + if (!quest || quest->IsRepeatable()) return; + + OnRewardQuestAction action(quest); + RunAction(player, &action); + + if (sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_QUEST_MONEY_PCT)) + { + int32 delta = quest->GetRewOrReqMoney(); + int32 botMoney = (int32) (delta * sWorld.getConfig(CONFIG_UINT32_IMMERSIVE_SHARED_QUEST_MONEY_PCT) / 100.0f); + if (botMoney < 1) return; + + OnGiveMoneyAction action(botMoney); + RunAction(player, &action); + } +} + +bool Immersive::OnFishing(Player* player, bool success) +{ + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) return success; + if (!success || !sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_FISHING_BAUBLES) || !player->GetPlayerbotMgr()) return success; + + Item* const item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND); + if (!item) return false; + + uint32 eId = item->GetEnchantmentId(TEMP_ENCHANTMENT_SLOT); + uint32 eDuration = item->GetEnchantmentDuration(TEMP_ENCHANTMENT_SLOT); + if (!eDuration) return false; + + SpellItemEnchantmentEntry const* pEnchant = sSpellItemEnchantmentStore.LookupEntry(eId); + if (!pEnchant) + return false; + + for (int s = 0; s < 3; ++s) + { + uint32 spellId = pEnchant->spellid[s]; + if (pEnchant->type[s] == ITEM_ENCHANTMENT_TYPE_EQUIP_SPELL && spellId) + { + SpellEntry const *entry = sSpellTemplate.LookupEntry(spellId); + if (entry) + { + for (int i = 0; i < MAX_EFFECT_INDEX; ++i) + { + if (entry->Effect[i] == SPELL_EFFECT_APPLY_AURA && entry->EffectMiscValue[i] == SKILL_FISHING) + return true; + } + } + } + } + + return false; +} + +int32 Immersive::CalculateEffectiveChance(int32 difference, const Unit* attacker, const Unit* victim, ImmersiveEffectiveChance type) +{ + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) return 0; + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_MANUAL_ATTRIBUTES)) return 0; + + int32 attackerDelta = CalculateEffectiveChanceDelta(attacker); + int32 victimDelta = CalculateEffectiveChanceDelta(victim); + + int32 multiplier = 5; + if (type == IMMERSIVE_EFFECTIVE_CHANCE_SPELL_MISS || type == IMMERSIVE_EFFECTIVE_ATTACK_DISTANCE) + multiplier = 1; + + switch (type) + { + case IMMERSIVE_EFFECTIVE_ATTACK_DISTANCE: + // victim level - attacker level + return - victimDelta * multiplier + + attackerDelta * multiplier; + break; + case IMMERSIVE_EFFECTIVE_CHANCE_MISS: + case IMMERSIVE_EFFECTIVE_CHANCE_SPELL_MISS: + // victim defense - attacker offense + return - victimDelta * multiplier + + attackerDelta * multiplier; + case IMMERSIVE_EFFECTIVE_CHANCE_DODGE: + case IMMERSIVE_EFFECTIVE_CHANCE_PARRY: + case IMMERSIVE_EFFECTIVE_CHANCE_BLOCK: + // attacker defense - victim offense + return - attackerDelta * multiplier + + victimDelta * multiplier; + case IMMERSIVE_EFFECTIVE_CHANCE_CRIT: + // attacker offense - victim defense + return - attackerDelta * multiplier + + victimDelta * multiplier; + } + + return 0; +} + +uint32 Immersive::CalculateEffectiveChanceDelta(const Unit* unit) +{ + if (unit->GetObjectGuid().IsPlayer()) + { + int modifier = GetModifierValue(unit->GetObjectGuid().GetCounter()); +#ifdef ENABLE_PLAYERBOTS + if (sPlayerbotAIConfig.IsInRandomAccountList(sObjectMgr.GetPlayerAccountIdByGUID(unit->GetObjectGuid()))) + return 0; +#endif + return unit->GetLevel() * (100 - modifier) / 100; + } + + return 0; +} + +void Immersive::CastPortal(Player *player, bool meetingStone) +{ + /* + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) return; + + Group *group = player->GetGroup(); + if (!group) + { + SendMessage(player, "|cffffa0a0You are not in a group"); + return; + } + + uint32 spellId = +#ifdef MANGOSBOT_ZERO + 23598; // meeting stone summoning +#endif +#ifdef MANGOSBOT_ONE + 23598; // meeting stone summoning +#endif +#ifdef MANGOSBOT_TWO + 61994; // meeting stone summoning +#endif + uint32 reagent = 17032; // rune of portals + + if (!meetingStone) + { + if (!player->HasItemCount(reagent, 1)) + { + SendMessage(player, "|cffffa0a0You do not have any runes of portals"); + return; + } + + player->DestroyItemCount(reagent, 1, true); + } + + player->CastSpell(player, spellId, false); + */ +} + +void Immersive::OnGoUse(Player *player, GameObject* obj) +{ + if (obj && obj->GetGoType() == GAMEOBJECT_TYPE_MEETINGSTONE) + { + CastPortal(player, true); + } +} + +void Immersive::OnGossipHello(Player* player, Creature* creature) +{ +#if MAX_EXPANSION == 1 + GossipMenu& menu = player->GetPlayerMenu()->GetGossipMenu(); + if (creature) + { + uint32 textId = player->GetGossipTextId(menu.GetMenuId(), creature); + GossipText const* text = sObjectMgr.GetGossipText(textId); + if (text) + { + for (int i = 0; i < MAX_GOSSIP_TEXT_OPTIONS; i++) + { + string text0 = text->Options[i].Text_0; + if (!text0.empty()) creature->MonsterSay(text0.c_str(), 0, player); + string text1 = text->Options[i].Text_1; + if (!text1.empty() && text0 != text1) creature->MonsterSay(text1.c_str(), 0, player); + } + } + } + +#endif +} + +map scale; +void Immersive::CheckScaleChange(Player* player) +{ + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) return; + + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_SCALE_MOD_WORKAROUND)) return; + + uint8 race = player->getRace(); + if (scale.empty()) + { + scale[RACE_TROLL] = 0.85f; + scale[RACE_NIGHTELF] = 0.85f; + scale[RACE_ORC] = 0.95f; + scale[RACE_TAUREN] = 0.95f; + scale[RACE_HUMAN] = 1.0f; + scale[RACE_DWARF] = 0.85f; + scale[RACE_GNOME] = 1.15f; + } + + if (scale.find(race) != scale.end()) + { + player->SetObjectScale(scale[race] - (player->getGender() == GENDER_MALE ? 0.1f : 0)); + } +} + +void Immersive::Update(uint32 elapsed) +{ + if (updateDelay > elapsed) + { + updateDelay -= elapsed; + return; + } + + updateDelay = sWorld.getConfig(CONFIG_UINT32_INTERVAL_SAVE); + + if (sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_DISABLE_OFFLINE_RESPAWN)) + { + SetValue(0, "last_ping", sWorld.GetGameTime()); + } +} + +void Immersive::Init() +{ + updateDelay = sWorld.getConfig(CONFIG_UINT32_INTERVAL_SAVE); + + if (!sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) return; + + if (sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_DISABLE_OFFLINE_RESPAWN)) + { + DisableOfflineRespawn(); + } +} + +void Immersive::DisableOfflineRespawn() +{ + uint32 lastPing = GetValue(0, "last_ping"); + if (!lastPing) return; + + uint32 offlineTime = sWorld.GetGameTime() - lastPing; + sLog.outString("Prolonging respawn time: +%u sec", offlineTime); + + CharacterDatabase.BeginTransaction(); + + CharacterDatabase.DirectPExecute("update `creature_respawn` set `respawntime` = `respawntime` + '%u'", offlineTime); + CharacterDatabase.DirectPExecute("update `instance_reset` set `resettime` = `resettime` + '%u'", offlineTime); + CharacterDatabase.DirectPExecute("update `instance` set `resettime` = `resettime` + '%u'", offlineTime); + CharacterDatabase.DirectPExecute("update `gameobject_respawn` set `respawntime` = `respawntime` + '%u'", offlineTime); + SetValue(0, "last_ping", sWorld.GetGameTime()); + + CharacterDatabase.CommitTransaction(); +} + +INSTANTIATE_SINGLETON_1( immersive::Immersive ); diff --git a/src/game/Immersive/Immersive.h b/src/game/Immersive/Immersive.h new file mode 100644 index 0000000000..3bbae3ad81 --- /dev/null +++ b/src/game/Immersive/Immersive.h @@ -0,0 +1,93 @@ +#pragma once +#include "GossipDef.h" + +using namespace std; + +namespace immersive +{ + enum ImmersiveEffectiveChance + { + IMMERSIVE_EFFECTIVE_CHANCE_MISS, + IMMERSIVE_EFFECTIVE_CHANCE_DODGE, + IMMERSIVE_EFFECTIVE_CHANCE_PARRY, + IMMERSIVE_EFFECTIVE_CHANCE_BLOCK, + IMMERSIVE_EFFECTIVE_CHANCE_CRIT, + IMMERSIVE_EFFECTIVE_CHANCE_SPELL_MISS, + IMMERSIVE_EFFECTIVE_ATTACK_DISTANCE + }; + + class ImmersiveAction + { + public: + ImmersiveAction() {} + + public: + virtual bool Run(Player* player, Player* bot) = 0; + virtual string GetMessage(Player* player) = 0; + + protected: + virtual bool CheckSharedPercentReqs(Player* player, Player* bot); + virtual bool CheckSharedPercentReqsSingle(Player* player, Player* bot); + }; + + class Immersive + { + public: + Immersive(); + + public: + PlayerInfo const* GetPlayerInfo(uint32 race, uint32 class_); + void GetPlayerLevelInfo(Player *player, PlayerLevelInfo* info); + void OnGossipSelect(Player *player, WorldObject* source, uint32 gossipListId, GossipMenuItemData *menuData); + float GetFallDamage(Player* player, float zdist, float defaultVal); + void OnDeath(Player *player); + void OnGiveXP(Player *player, uint32 xp, Unit* victim); + void OnGiveLevel(Player* player); + void OnModifyMoney(Player *player, int32 delta); + void OnReputationChange(Player* player, FactionEntry const* factionEntry, int32& standing, bool incremental); + void OnRewardQuest(Player* player, Quest const* quest); + bool OnFishing(Player* player, bool success); + int32 CalculateEffectiveChance(int32 difference, const Unit* attacker, const Unit* victim, ImmersiveEffectiveChance type); + uint32 GetModifierValue(uint32 owner); + uint32 GetStatsValue(uint32 owner, Stats type); + void SetStatsValue(uint32 owner, Stats type, uint32 value); + uint32 GetTotalStats(Player *player, uint8 level = 0); + void OnGoUse(Player *player, GameObject* obj); + void OnGossipHello(Player* player, Creature* creature); + void CheckScaleChange(Player* player); + static std::string FormatString(const char* format, ...); + void Update(uint32 elapsed); + void Init(); + + private: + void PrintHelp(Player *player, bool detailed = false, bool help = false); + void PrintUsedStats(Player* player); + void PrintSuggestedStats(Player* player); + void IncreaseStat(Player *player, uint32 type); + void ChangeModifier(Player *player, uint32 type); + void ResetStats(Player *player); + void CastPortal(Player *player, bool meetingStone = false); + void SendMessage(Player *player, string message); + uint32 CalculateEffectiveChanceDelta(const Unit* unit); + void DisableOfflineRespawn(); + + private: + uint32 GetUsedStats(Player *player); + uint32 GetStatCost(Player *player, uint8 level = 0, uint32 usedStats = 0); + + private: + void RunAction(Player* player, ImmersiveAction* action); + + private: + uint32 GetValue(uint32 owner, string type); + void SetValue(uint32 owner, string type, uint32 value); + + private: + static map statValues; + map > valueCache; + uint32 updateDelay; + }; +} + + +#define sImmersive MaNGOS::Singleton::Instance() diff --git a/src/game/LFG/LFGHandler.h b/src/game/LFG/LFGHandler.h new file mode 100644 index 0000000000..5e090daa9b --- /dev/null +++ b/src/game/LFG/LFGHandler.h @@ -0,0 +1,48 @@ +/** + * MaNGOS is a full featured server for World of Warcraft, supporting + * the following clients: 1.12.x, 2.4.3, 3.3.5a, 4.3.4a and 5.4.8 + * + * Copyright (C) 2005-2017 MaNGOS project + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * World of Warcraft, and all World of Warcraft or Warcraft art, images, + * and lore are copyrighted by Blizzard Entertainment, Inc. + */ + + +#ifndef MANGOSSERVER_LFGHANDLER_H +#define MANGOSSERVER_LFGHANDLER_H + +enum MeetingstoneQueueStatus +{ + MEETINGSTONE_STATUS_LEAVE_QUEUE = 0, + MEETINGSTONE_STATUS_JOINED_QUEUE = 1, + MEETINGSTONE_STATUS_PARTY_MEMBER_LEFT_LFG = 2, + MEETINGSTONE_STATUS_PARTY_MEMBER_REMOVED_PARTY_REMOVED = 3, + MEETINGSTONE_STATUS_LOOKING_FOR_NEW_PARTY_IN_QUEUE = 4, + MEETINGSTONE_STATUS_NONE = 5 +}; + +enum MeetingstoneFailedStatus +{ + MEETINGSTONE_FAIL_NONE = 0, // custom, not to be sent + MEETINGSTONE_FAIL_PARTYLEADER = 1, + MEETINGSTONE_FAIL_FULL_GROUP = 2, + MEETINGSTONE_FAIL_RAID_GROUP = 3, + //MEETINGSTONE_FAIL_NONE_UNK = 4 [-ZERO] +}; + +#endif diff --git a/src/game/LFG/LFGMgr.cpp b/src/game/LFG/LFGMgr.cpp index 96256e8e00..223156d63c 100644 --- a/src/game/LFG/LFGMgr.cpp +++ b/src/game/LFG/LFGMgr.cpp @@ -68,7 +68,11 @@ void LFGMgr::AddToQueue(Player* leader, uint32 queueAreaID) playerInfo.team = leader->GetTeam(); playerInfo.areaId = queueAreaID; +#ifdef ENABLE_PLAYERBOTS + playerInfo.hasQueuePriority = !leader->GetPlayerbotAI(); +#else playerInfo.hasQueuePriority = false; +#endif playerInfo.playerClass = leader->getClass(); if (sWorld.getConfig(CONFIG_BOOL_LFG_MATCHMAKING)) playerInfo.CalculateTalentRoles(leader); diff --git a/src/game/LFG/LFGQueue.cpp b/src/game/LFG/LFGQueue.cpp index 181f3b627e..be1b444b43 100644 --- a/src/game/LFG/LFGQueue.cpp +++ b/src/game/LFG/LFGQueue.cpp @@ -31,13 +31,13 @@ std::array PotentialRoles = PLAYER_ROLE_DAMAGE }; -void LFGPlayerQueueInfo::CalculateRoles(Classes playerClass) +void LFGPlayerQueueInfo::CalculateRoles(Classes plrClass) { - roleMask = LFGMgr::CalculateRoles(playerClass); + roleMask = LFGMgr::CalculateRoles(plrClass); // Determine role priority for (LfgRoles role : PotentialRoles) - rolePriority.emplace_back(std::pair(role, LFGMgr::GetPriority(playerClass, role))); + rolePriority.emplace_back(role, LFGMgr::GetPriority(plrClass, role)); } void LFGPlayerQueueInfo::CalculateTalentRoles(Player* player) @@ -46,7 +46,7 @@ void LFGPlayerQueueInfo::CalculateTalentRoles(Player* player) // Determine role priority for (LfgRoles role : PotentialRoles) - rolePriority.emplace_back(std::pair(role, LFGMgr::GetPriority(Classes(player->getClass()), role))); + rolePriority.emplace_back(role, LFGMgr::GetPriority(Classes(player->getClass()), role)); } LfgRolePriority LFGPlayerQueueInfo::GetRolePriority(LfgRoles role) @@ -142,6 +142,9 @@ void LFGQueue::Update() if (qGroup->second.playerCount == 5) { + if (sWorld.getConfig(CONFIG_BOOL_LFG_TELEPORT)) + TeleportGroupToStone(qGroup->first, qGroup->second.areaId); + RemoveGroupFromQueue(qGroup->first, GROUP_SYSTEM_LEAVE); break; } @@ -246,7 +249,9 @@ void LFGQueue::UpdateGroup(LFGGroupQueueInfo const& groupInfo, bool join, Object existingGroupInfo = groupInfo; if (groupInfo.playerCount == 5) + { RemoveGroupFromQueue(groupId, GROUP_SYSTEM_LEAVE); + } } void LFGQueue::AddGroup(LFGGroupQueueInfo const& groupInfo, uint32 groupId) @@ -476,3 +481,191 @@ void LFGQueue::RestoreOfflinePlayer(ObjectGuid playerGuid) }); } } + +void LFGQueue::GetPlayerQueueInfo(LFGPlayerQueueInfo* info, ObjectGuid const& plrGuid) +{ + QueuedPlayersMap::iterator iter = m_queuedPlayers.find(plrGuid); + if (iter != m_queuedPlayers.end()) + *info = iter->second; + + return; +} + +void LFGQueue::GetGroupQueueInfo(LFGGroupQueueInfo* info, uint32 groupId) +{ + QueuedGroupsMap::iterator iter = m_queuedGroups.find(groupId); + if (iter != m_queuedGroups.end()) + *info = iter->second; + + return; +} + +void LFGQueue::LoadMeetingStones() +{ + m_MeetingStonesMap.clear(); + uint32 count = 0; + for (uint32 i = 0; i < sGOStorage.GetMaxEntry(); ++i) + { + auto data = sGOStorage.LookupEntry(i); + if (data && data->type == GAMEOBJECT_TYPE_MEETINGSTONE) + { + AreaTableEntry const* area = GetAreaEntryByAreaID(data->meetingstone.areaID); + if (area) + { + MeetingStoneInfo info; + info.area = data->meetingstone.areaID; + info.minlevel = data->meetingstone.minLevel; + info.maxlevel = data->meetingstone.maxLevel; + info.name = area->area_name[0]; + // get stone position + Position stonePosition = Position(); + uint32 mapId = 0; + FindGOData worker(i, nullptr); + sObjectMgr.DoGOData(worker); + GameObjectDataPair const* dataPair = worker.GetResult(); + if (dataPair) + { + GameObjectData const* objData = &dataPair->second; + stonePosition = Position(objData->posX, objData->posY, objData->posZ, 0.f); + mapId = objData->mapid; + } + info.position = stonePosition; + info.mapId = mapId; + switch (info.area) + { + case 1977: + case 2159: + info.dungeonType = MAP_RAID; + break; + default: + info.dungeonType = MAP_INSTANCE; + } + /*if (MapEntry const* mEntry = sMapStore.LookupEntry(area->mapid)) + { + info.dungeonType = mEntry->map_type; + } + else + info.dungeonType = MAP_COMMON;*/ + + m_MeetingStonesMap.insert(std::make_pair(data->id, info)); + sLog.outBasic(">> Loaded Meeting Stone Entry:%d, Area:%d, Level:%d - %d, Name:%s, Dungeon Type:%u", i, info.area, info.minlevel, info.maxlevel, info.name, info.dungeonType); + count++; + } + } + } + + sLog.outString(">> Loaded %u Meeting Stones", count); + sLog.outString(); +} + +MeetingStoneSet LFGQueue::GetDungeonsForPlayer(Player* player) +{ + MeetingStoneSet list; + uint32 level = player->GetLevel(); + for (MeetingStonesMap::iterator it = m_MeetingStonesMap.begin(); it != m_MeetingStonesMap.end(); ++it) + { + MeetingStoneInfo data = it->second; + + if (data.maxlevel && data.maxlevel < level) + continue; + + if (data.minlevel && data.minlevel > level) + continue; + + list.insert(list.end(), data); + } + return list; +} + +void LFGQueue::TeleportGroupToStone(uint32 groupId, uint32 areaId) +{ + Group* grp = sObjectMgr.GetGroupById(groupId); + if (!grp) + return; + + // custom teleport to dungeon + for (auto & it : m_MeetingStonesMap) + { + MeetingStoneInfo data = it.second; + if (data.area != areaId) + continue; + + if (data.position.IsEmpty()) + continue; + + // get map of stone + Map* stoneMap = sMapMgr.FindMap(data.mapId); + if (!stoneMap) + continue; + + AreaTableEntry const* entry = GetAreaEntryByAreaID(data.area); + if (!entry) + continue; + + + // calculate random teleport position near stone + float x = data.position.x; + float y = data.position.y; + float z = data.position.z; + //stoneMap->GetReachableRandomPointOnGround(x, y, z, 20.f); + + // send teleport offer + for (GroupReference* ref = grp->GetFirstMember(); ref != nullptr; ref = ref->next()) + { + if (Player* member = ref->getSource()) + { + // dont summon if already has summon request + if (member->HasSummonOffer()) + continue; + + // dont summon if close + if (member->GetMapId() == data.mapId && member->IsWithinDist2d(data.position.x, data.position.y, 100.f)) + continue; + + bool foundPoint = false; + uint32 attempts = 0; + do + { + // Generate a random range and direction for the new point + const float angle = rand_norm_f() * (M_PI_F * 2.0f); + const float range = 20.0f; + + float i_x = x + range * cos(angle); + float i_y = y + range * sin(angle); + float i_z = z + 1.0f; + + member->UpdateAllowedPositionZ(i_x, i_y, i_z, stoneMap); + + // project vector to get only positive value + float ab = fabs(x - i_x); + float ac = fabs(z - i_z); + + // slope represented by c angle (in radian) + const float MAX_SLOPE_IN_RADIAN = 50.0f / 180.0f * M_PI_F; // 50(degree) max seem best value for walkable slope + + // check ab vector to avoid divide by 0 + if (ab > 0.0f) + { + // compute c angle and convert it from radian to degree + float slope = atan(ac / ab); + if (slope < MAX_SLOPE_IN_RADIAN) + { + x = i_x; + y = i_y; + z = i_z; + foundPoint = true; + } + } + attempts++; + } while (!foundPoint && attempts < 10); + + member->SetSummonPoint(data.mapId, x, y, z, grp->GetLeaderGuid()); + WorldPacket summon(SMSG_SUMMON_REQUEST, 8 + 4 + 4); + summon << grp->GetLeaderGuid(); // summoner guid + summon << uint32(entry->zone != 0 ? entry->zone : entry->ID); // summoner zone + summon << uint32(MAX_PLAYER_SUMMON_DELAY * IN_MILLISECONDS); // auto decline after msecs + member->GetSession()->SendPacket(summon); + } + } + } +} diff --git a/src/game/LFG/LFGQueue.h b/src/game/LFG/LFGQueue.h index 6bd4331190..7a3b08162d 100644 --- a/src/game/LFG/LFGQueue.h +++ b/src/game/LFG/LFGQueue.h @@ -38,7 +38,7 @@ struct LFGPlayerQueueInfo uint8 playerClass; std::list> rolePriority; - void CalculateRoles(Classes playerClass); + void CalculateRoles(Classes plrClass); void CalculateTalentRoles(Player* player); LfgRolePriority GetRolePriority(LfgRoles role); }; @@ -53,6 +53,19 @@ struct LFGGroupQueueInfo uint32 playerCount; }; +struct MeetingStoneInfo +{ + uint32 area; + uint32 minlevel; + uint32 maxlevel; + char* name; + uint32 mapId; + Position position; + uint32 dungeonType; +}; + +typedef std::vector MeetingStoneSet; + class LFGQueue { public: @@ -71,6 +84,13 @@ class LFGQueue void AddGroup(LFGGroupQueueInfo const& groupInfo, uint32 groupId); void AddPlayer(LFGPlayerQueueInfo const& playerInfo, ObjectGuid playerGuid); + + void GetPlayerQueueInfo(LFGPlayerQueueInfo* info, ObjectGuid const& plrGuid); + void GetGroupQueueInfo(LFGGroupQueueInfo* info, uint32 groupId); + + void LoadMeetingStones(); + MeetingStoneSet GetDungeonsForPlayer(Player* player); + void TeleportGroupToStone(uint32 groupId, uint32 areaId); private: void FindInArea(std::list& players, uint32 area, uint32 team, ObjectGuid const& exclude); bool FindRoleToGroup(ObjectGuid playerGuid, uint32 groupId, LfgRoles role); @@ -85,6 +105,9 @@ class LFGQueue Messager m_messager; uint32 m_groupSize = 5; + + typedef std::map MeetingStonesMap; + MeetingStonesMap m_MeetingStonesMap; }; #endif \ No newline at end of file diff --git a/src/game/Loot/LootHandler.cpp b/src/game/Loot/LootHandler.cpp index 95b010284c..9e0e9d68d5 100644 --- a/src/game/Loot/LootHandler.cpp +++ b/src/game/Loot/LootHandler.cpp @@ -235,6 +235,13 @@ void WorldSession::HandleLootMasterGiveOpcode(WorldPacket& recv_data) else _player->SendLootError(lootguid, LOOT_ERROR_MASTER_OTHER); } + +#ifdef USE_ACHIEVEMENTS + if (result == EQUIP_ERR_OK) + { + target->UpdateLootAchievements(lootItem, pLoot); + } +#endif } void WorldSession::HandleLootMethodOpcode(WorldPacket& recv_data) @@ -279,5 +286,23 @@ void WorldSession::HandleLootRoll(WorldPacket& recv_data) return; sLootMgr.PlayerVote(GetPlayer(), lootedTarget, itemSlot, RollVote(rollType)); + +#ifdef USE_ACHIEVEMENTS + switch (rollType) + { + case 1: + { + GetPlayer()->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED, 1); + break; + } + case 2: + { + GetPlayer()->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED, 1); + break; + } + + default: break; + } +#endif } diff --git a/src/game/Loot/LootMgr.cpp b/src/game/Loot/LootMgr.cpp index e4f7680f40..33517ed31e 100644 --- a/src/game/Loot/LootMgr.cpp +++ b/src/game/Loot/LootMgr.cpp @@ -32,6 +32,7 @@ #include "BattleGround/BattleGroundMgr.h" #include #include +#include "Hardcore/HardcoreMgr.h" INSTANTIATE_SINGLETON_1(LootMgr); @@ -865,7 +866,16 @@ void GroupLootRoll::Finish(RollVoteMap::const_iterator& winnerItr) Player* plr = sObjectMgr.GetPlayer(winnerItr->first); if (plr && plr->GetSession()) { - m_loot->SendItem(plr, m_itemSlot); + InventoryResult msg = m_loot->SendItem(plr, m_itemSlot); + +#ifdef USE_ACHIEVEMENTS + LootItem* lootItem = m_loot->GetLootItemInSlot(m_itemSlot); + plr->UpdateAchievementCriteria(winnerItr->second.vote == ROLL_NEED ? ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT : ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT, lootItem->itemId, winnerItr->second.number); + if (msg == EQUIP_ERR_OK) + { + plr->UpdateLootAchievements(lootItem, m_loot); + } +#endif } else { @@ -903,7 +913,7 @@ void Loot::AddItem(LootStoreItem const& item) } // Insert item into the loot explicit way. (used for container item and Item::LoadFromDB) -void Loot::AddItem(uint32 itemid, uint32 count, uint32 randomSuffix, int32 randomPropertyId) +void Loot::AddItem(uint32 itemid, uint32 count, uint32 randomSuffix, int32 randomPropertyId, bool addPermissions) { if (m_lootItems.size() < MAX_NR_LOOT_ITEMS) // Normal drop { @@ -912,8 +922,11 @@ void Loot::AddItem(uint32 itemid, uint32 count, uint32 randomSuffix, int32 rando m_lootItems.push_back(lootItem); // add permission to pick this item to loot owner - for (auto allowedGuid : m_ownerSet) - lootItem->allowedGuid.emplace(allowedGuid); + if (addPermissions) + { + for (auto allowedGuid : m_ownerSet) + lootItem->allowedGuid.emplace(allowedGuid); + } } } @@ -924,18 +937,21 @@ bool Loot::FillLoot(uint32 loot_id, LootStore const& store, Player* lootOwner, b if (!lootOwner) return false; - LootTemplate const* tab = store.GetLootFor(loot_id); - - if (!tab) + if (!sHardcoreMgr.FillLoot(*this)) { - if (!noEmptyError) - sLog.outErrorDb("Table '%s' loot id #%u used but it doesn't have records.", store.GetName(), loot_id); - return false; - } + LootTemplate const* tab = store.GetLootFor(loot_id); - m_lootItems.reserve(MAX_NR_LOOT_ITEMS); + if (!tab) + { + if (!noEmptyError) + sLog.outErrorDb("Table '%s' loot id #%u used but it doesn't have records.", store.GetName(), loot_id); + return false; + } - tab->Process(*this, lootOwner, store, store.IsRatesAllowed()); // Processing is done there, callback via Loot::AddItem() + m_lootItems.reserve(MAX_NR_LOOT_ITEMS); + + tab->Process(*this, lootOwner, store, store.IsRatesAllowed()); // Processing is done there, callback via Loot::AddItem() + } // fill the loot owners right here so its impossible from this point to change loot result Player* masterLooter = nullptr; @@ -1990,7 +2006,7 @@ InventoryResult Loot::SendItem(Player* target, LootItem* lootItem, bool sendErro msg = target->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, lootItem->itemId, lootItem->count); if (msg == EQUIP_ERR_OK) { - Item* newItem = target->StoreNewItem(dest, lootItem->itemId, true, lootItem->randomPropertyId); + Item* newItem = target->StoreNewItem(dest, lootItem->itemId, true, lootItem->randomPropertyId, this); if (lootItem->freeForAll) { @@ -2196,6 +2212,10 @@ void Loot::SendGold(Player* player) plr->ModifyMoney(money_per_player); +#ifdef USE_ACHIEVEMENTS + plr->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY, money_per_player); +#endif + WorldPacket data(SMSG_LOOT_MONEY_NOTIFY, 4); data << uint32(money_per_player); @@ -2206,6 +2226,10 @@ void Loot::SendGold(Player* player) { player->ModifyMoney(m_gold); +#ifdef USE_ACHIEVEMENTS + player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY, m_gold); +#endif + if (m_guidTarget.IsItem()) { if (Item* item = player->GetItemByGuid(m_guidTarget)) diff --git a/src/game/Loot/LootMgr.h b/src/game/Loot/LootMgr.h index 4993e4749c..eb68361d14 100644 --- a/src/game/Loot/LootMgr.h +++ b/src/game/Loot/LootMgr.h @@ -302,7 +302,7 @@ class Loot // Inserts the item into the loot (called by LootTemplate processors) void AddItem(LootStoreItem const& item); - void AddItem(uint32 itemid, uint32 count, uint32 randomSuffix, int32 randomPropertyId); // used in item.cpp to explicitly load a saved item + void AddItem(uint32 itemid, uint32 count, uint32 randomSuffix, int32 randomPropertyId, bool addPermissions = true); // used in item.cpp to explicitly load a saved item bool AutoStore(Player* player, bool broadcast = false, uint32 bag = NULL_BAG, uint32 slot = NULL_SLOT); bool CanLoot(Player const* player); void ShowContentTo(Player* plr); diff --git a/src/game/Mails/MailHandler.cpp b/src/game/Mails/MailHandler.cpp index 74764a7fd4..41e981fb4f 100644 --- a/src/game/Mails/MailHandler.cpp +++ b/src/game/Mails/MailHandler.cpp @@ -218,6 +218,10 @@ void WorldSession::HandleSendMail(WorldPacket& recv_data) pl->ModifyMoney(-int32(reqmoney)); +#ifdef USE_ACHIEVEMENTS + pl->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_MAIL, reqmoney); +#endif + MailDraft draft(subject, body); if (itemGuid || money > 0) diff --git a/src/game/Maps/GridMap.cpp b/src/game/Maps/GridMap.cpp index fa4e401b6d..1b9b35b8c0 100644 --- a/src/game/Maps/GridMap.cpp +++ b/src/game/Maps/GridMap.cpp @@ -903,6 +903,9 @@ bool TerrainInfo::IsOutdoors(float x, float y, float z) const bool TerrainInfo::GetAreaInfo(float x, float y, float z, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const { + // We build a ray decreasing z and finding the first floor. + // We need to increase z a bit, if we are slightly undermap + z += 1.0f; float vmap_z = z; if (m_vmgr->getAreaInfo(GetMapId(), x, y, vmap_z, flags, adtId, rootId, groupId)) { diff --git a/src/game/Maps/Map.cpp b/src/game/Maps/Map.cpp index 3d10b18b56..6fe5764e25 100644 --- a/src/game/Maps/Map.cpp +++ b/src/game/Maps/Map.cpp @@ -46,6 +46,27 @@ #include +#ifdef ENABLE_PLAYERBOTS +#include "playerbot.h" +#endif + +#ifdef _WIN32 +int filter(unsigned int code, struct _EXCEPTION_POINTERS* ep) +{ + sLog.outError("Map Updater exception happened!"); + if (code == EXCEPTION_ACCESS_VIOLATION) + { + sLog.outError("Map Updater exception catched!"); + return EXCEPTION_EXECUTE_HANDLER; + } + else + { + sLog.outError("Map Updater exception not catched!"); + return EXCEPTION_CONTINUE_SEARCH; + }; +} +#endif + Map::~Map() { UnloadAll(true); @@ -150,12 +171,12 @@ void Map::LoadMapAndVMap(int gx, int gy) Map::Map(uint32 id, time_t expiry, uint32 InstanceId) : i_mapEntry(sMapStore.LookupEntry(id)), - i_id(id), i_InstanceId(InstanceId), m_unloadTimer(0), + i_id(id), i_InstanceId(InstanceId), m_unloadTimer(0), _lastMapUpdate(0), m_VisibleDistance(DEFAULT_VISIBILITY_DISTANCE), m_persistentState(nullptr), m_activeNonPlayersIter(m_activeNonPlayers.end()), m_onEventNotifiedIter(m_onEventNotifiedObjects.end()), i_gridExpiry(expiry), m_TerrainData(sTerrainMgr.LoadTerrain(id)), i_data(nullptr), i_script_id(0), m_transportsIterator(m_transports.begin()), m_spawnManager(*this), - m_variableManager(this) + m_variableManager(this), m_activeAreasTimer(0), hasRealPlayers(false) { m_weatherSystem = new WeatherSystem(this); } @@ -431,6 +452,93 @@ bool Map::Add(Player* player) player->GetViewPoint().Event_AddedToWorld(&(*grid)(cell.CellX(), cell.CellY())); UpdateObjectVisibility(player, cell, p); + //Start Solocraft Functions + if (sWorld.getConfig(CONFIG_BOOL_SOLOCRAFT_ENABLED)) + { + //Get Config Values + //Balancing + SoloCraftDebuffEnable = sWorld.getConfig(CONFIG_BOOL_SOLOCRAFT_DEBUFF_ENABLE); + SoloCraftSpellMult = sWorld.getConfig(CONFIG_FLOAT_SOLOCRAFT_SPELLPOWER_MULT); + SoloCraftStatsMult = sWorld.getConfig(CONFIG_FLOAT_SOLOCRAFT_STATS_MULT); + //Level Thresholds + SolocraftLevelDiff = sWorld.getConfig(CONFIG_UINT32_SOLOCRAFT_MAX_LEVEL_DIFF); + //Default Value + SolocraftDungeonLevel = sWorld.getConfig(CONFIG_UINT32_DUNGEON_LEVEL); + //Dungeon Level + dungeons = + { + //Classic Instances + {33, sWorld.getConfig(CONFIG_UINT32_SHADOWFANGKEEP_LEVEL) }, + {34, sWorld.getConfig(CONFIG_UINT32_STOCKADES_LEVEL) }, + {36, sWorld.getConfig(CONFIG_UINT32_DEADMINES_LEVEL) }, + {43, sWorld.getConfig(CONFIG_UINT32_WAILINGCAVERNS_LEVEL) }, + {47, sWorld.getConfig(CONFIG_UINT32_RAZORFENKRAULINSTANCE_LEVEL) }, + {48, sWorld.getConfig(CONFIG_UINT32_BLACKFATHOM_LEVEL) }, + {70, sWorld.getConfig(CONFIG_UINT32_ULDAMAN_LEVEL) }, + {90, sWorld.getConfig(CONFIG_UINT32_GNOMERAGONINSTANCE_LEVEL) }, + {109, sWorld.getConfig(CONFIG_UINT32_SUNKENTEMPLE_LEVEL) }, + {129, sWorld.getConfig(CONFIG_UINT32_RAZORFENDOWNS_LEVEL) }, + {189, sWorld.getConfig(CONFIG_UINT32_MONASTERYINSTANCES_LEVEL) }, // Scarlet Monastery + {209, sWorld.getConfig(CONFIG_UINT32_TANARISINSTANCE_LEVEL) }, // Zul'Farrak + {229, sWorld.getConfig(CONFIG_UINT32_BLACKROCKSPIRE_LEVEL) }, + {230, sWorld.getConfig(CONFIG_UINT32_BLACKROCKDEPTHS_LEVEL) }, + {249, sWorld.getConfig(CONFIG_UINT32_ONYXIALAIRINSTANCE_LEVEL) }, + {289, sWorld.getConfig(CONFIG_UINT32_SCHOOLOFNECROMANCY_LEVEL) }, // Scholomance + {309, sWorld.getConfig(CONFIG_UINT32_ZULGURUB_LEVEL) }, + {329, sWorld.getConfig(CONFIG_UINT32_STRATHOLME_LEVEL) }, + {349, sWorld.getConfig(CONFIG_UINT32_MAURADON_LEVEL) }, + {389, sWorld.getConfig(CONFIG_UINT32_ORGRIMMARINSTANCE_LEVEL) }, // Ragefire Chasm + {409, sWorld.getConfig(CONFIG_UINT32_MOLTENCORE_LEVEL) }, + {429, sWorld.getConfig(CONFIG_UINT32_DIREMAUL_LEVEL) }, + {469, sWorld.getConfig(CONFIG_UINT32_BLACKWINGLAIR_LEVEL) }, + {509, sWorld.getConfig(CONFIG_UINT32_AHNQIRAJ_LEVEL) }, // Ruins of Ahn'Qiraj + {531, sWorld.getConfig(CONFIG_UINT32_AHNQIRAJTEMPLE_LEVEL) }, + {533, sWorld.getConfig(CONFIG_UINT32_STRATHOLMERAID_LEVEL) }, + }; + // Dungeon Difficulty + // Catch alls + D5 = sWorld.getConfig(CONFIG_FLOAT_DUNGEON_DIFF); + D25 = sWorld.getConfig(CONFIG_FLOAT_RAID25_DIFF); + D40 = sWorld.getConfig(CONFIG_FLOAT_RAID40_DIFF); + diff_Multiplier = + { + // WOW Classic Instances + {33, sWorld.getConfig(CONFIG_FLOAT_SHADOWFANGKEEP_DIFF) }, + {34, sWorld.getConfig(CONFIG_FLOAT_STOCKADES_DIFF) }, + {36, sWorld.getConfig(CONFIG_FLOAT_DEADMINES_DIFF) }, + {43, sWorld.getConfig(CONFIG_FLOAT_WAILINGCAVERNS_DIFF) }, + {47, sWorld.getConfig(CONFIG_FLOAT_RAZORFENKRAULINSTANCE_DIFF) }, + {48, sWorld.getConfig(CONFIG_FLOAT_BLACKFATHOM_DIFF) }, + {70, sWorld.getConfig(CONFIG_FLOAT_ULDAMAN_DIFF) }, + {90, sWorld.getConfig(CONFIG_FLOAT_GNOMERAGONINSTANCE_DIFF) }, + {109, sWorld.getConfig(CONFIG_FLOAT_SUNKENTEMPLE_DIFF) }, + {129, sWorld.getConfig(CONFIG_FLOAT_RAZORFENDOWNS_DIFF) }, + {189, sWorld.getConfig(CONFIG_FLOAT_MONASTERYINSTANCES_DIFF) }, // Scarlet + {209, sWorld.getConfig(CONFIG_FLOAT_TANARISINSTANCE_DIFF) }, // Zul'Farrak + {229, sWorld.getConfig(CONFIG_FLOAT_BLACKROCKSPIRE_DIFF) }, + {230, sWorld.getConfig(CONFIG_FLOAT_BLACKROCKDEPTHS_DIFF) }, + {249, sWorld.getConfig(CONFIG_FLOAT_ONYXIALAIRINSTANCE_DIFF) }, + {289, sWorld.getConfig(CONFIG_FLOAT_SCHOOLOFNECROMANCY_DIFF) }, // Scholo + {309, sWorld.getConfig(CONFIG_FLOAT_ZULGURUB_DIFF) }, + {329, sWorld.getConfig(CONFIG_FLOAT_STRATHOLME_DIFF) }, + {349, sWorld.getConfig(CONFIG_FLOAT_MAURADON_DIFF) }, + {389, sWorld.getConfig(CONFIG_FLOAT_ORGRIMMARINSTANCE_DIFF) }, // Ragefire + {409, sWorld.getConfig(CONFIG_FLOAT_MOLTENCORE_DIFF) }, + {429, sWorld.getConfig(CONFIG_FLOAT_DIREMAUL_DIFF) }, + {469, sWorld.getConfig(CONFIG_FLOAT_BLACKWINGLAIR_DIFF) }, + {509, sWorld.getConfig(CONFIG_FLOAT_AHNQIRAJ_DIFF) }, + {531, sWorld.getConfig(CONFIG_FLOAT_AHNQIRAJTEMPLE_DIFF) }, + {533, sWorld.getConfig(CONFIG_FLOAT_STRATHOLMERAID_DIFF) }, + }; + + Map* map = player->GetMap(); + float difficulty = CalculateDifficulty(map, player); + int dunLevel = CalculateDungeonLevel(map, player); + int numInGroup = GetNumInGroup(player); + ApplyBuffs(player, map, difficulty, dunLevel, numInGroup); + } + //End Solocraft Functions + if (i_data) i_data->OnPlayerEnter(player); @@ -518,6 +626,29 @@ void Map::MessageBroadcast(WorldObject const* obj, WorldPacket const& msg) cell.Visit(p, message, *this, *obj, obj->GetVisibilityData().GetVisibilityDistance()); } +void Map::ThreatMessageBroadcast(WorldObject const* obj, std::string const& msg, bool newClient) +{ + CellPair p = MaNGOS::ComputeCellPair(obj->GetPositionX(), obj->GetPositionY()); + + if (p.x_coord >= TOTAL_NUMBER_OF_CELLS_PER_MAP || p.y_coord >= TOTAL_NUMBER_OF_CELLS_PER_MAP) + { + sLog.outError("Map::MessageBroadcast: Object (GUID: %u TypeId: %u) have invalid coordinates X:%f Y:%f grid cell [%u:%u]", obj->GetGUIDLow(), obj->GetTypeId(), obj->GetPositionX(), obj->GetPositionY(), p.x_coord, p.y_coord); + return; + } + + Cell cell(p); + cell.SetNoCreate(); + + if (!loaded(GridPair(cell.data.Part.grid_x, cell.data.Part.grid_y))) + return; + + // TODO: currently on continents when Visibility.Distance.InFlight > Visibility.Distance.Continents + // we have alot of blinking mobs because monster move packet send is broken... + MaNGOS::ObjectThreatMessageDeliverer post_man(msg, newClient); + TypeContainerVisitor message(post_man); + cell.Visit(p, message, *this, *obj, obj->GetVisibilityData().GetVisibilityDistance()); +} + void Map::MessageDistBroadcast(Player const* player, WorldPacket const& msg, float dist, bool to_self, bool own_team_only) { CellPair p = MaNGOS::ComputeCellPair(player->GetPositionX(), player->GetPositionY()); @@ -659,6 +790,133 @@ void Map::VisitNearbyCellsOf(WorldObject* obj, TypeContainerVisitor maxDiff) + diff = maxDiff; + _lastMapUpdate = now; + + if (sWorld.getConfig(CONFIG_BOOL_ANTICRASH)) + { +#ifdef _WIN32 + __try + { +#endif + Update(diff); +#ifdef _WIN32 + } + __except (filter(GetExceptionCode(), GetExceptionInformation())) + { + sMapMgr.MapCrashed(this); + } +#endif + } + else + Update(diff); +} + +void WorldMap::HandleCrash() +{ + if (HavePlayers()) + { + sLog.outError("MAP ANTI CRASH: World Map: %u (%s) has %u players, kicking...", GetId(), GetMapName(), m_mapRefManager.getSize()); + std::list players; + // dont kick players in this loop at this will invalidate our iterator + for (auto& itr : m_mapRefManager) + { + players.push_back(itr.getSource()); + } + for (auto plr : players) + { + ChatHandler(plr).SendSysMessage("Continent crashed!"); + plr->GetSession()->KickPlayer(true, true, false); // kick to character selection + } + sLog.outError("MAP ANTI CRASH: World Map: %u (%s) %u players kicked!", GetId(), GetMapName(), players.size()); + } +} + +void DungeonMap::HandleCrash() +{ + if (HavePlayers()) + { + sLog.outError("MAP ANTI CRASH: Dungeon Map: %u (%s) has %u players, teleporting...", GetId(), GetMapName(), m_mapRefManager.getSize()); + std::list players; + //dont teleport players in this loop at this will invalidate our iterator + for (auto& itr : m_mapRefManager) + { + players.push_back(itr.getSource()); + } + for (auto plr : players) + { + ChatHandler(plr).SendSysMessage("Dungeon crashed!"); + //plr->GetSession()->KickPlayer(true, true, false); + bool tpResult = false; + AreaTrigger const* at = sObjectMgr.GetGoBackTrigger(GetId()); + if (at) + tpResult = plr->TeleportTo(at->target_mapId, at->target_X, at->target_Y, at->target_Z, plr->GetOrientation()); + + if (at && !tpResult) + { + ObjectGuid plrGuid = plr->GetObjectGuid(); + plr->GetSession()->KickPlayer(true, true, false); + + Player::SavePositionInDB(plrGuid, at->target_mapId, + at->target_X, at->target_Y, at->target_Z, 0.f, + sTerrainMgr.GetZoneId(at->target_mapId, + at->target_X, at->target_Y, at->target_Z)); + + tpResult = true; + } + + float x, y, z, o = 0.f; + uint32 mapId = 0; + plr->GetHomebindLocation(x, y, z, mapId); + if (!tpResult) + tpResult = plr->TeleportTo(mapId, x, y, z, plr->GetOrientation()); + + if (!tpResult) //just to be extra sure + plr->GetSession()->KickPlayer(true, true, false); + } + sLog.outError("MAP ANTI CRASH: Dungeon Map: %u (%s) %u players teleported out!", GetId(), GetMapName(), players.size()); + } + + /*if (m_resetAfterUnload == true) + DeleteRespawnTimes();*/ + +} + +void BattleGroundMap::HandleCrash() +{ + GetBG()->SetStatus(STATUS_WAIT_LEAVE); // avoid deserter + + if (HavePlayers()) + { + sLog.outError("MAP ANTI CRASH: Battleground Map: %u (%s) has %u players, teleporting...", GetId(), GetMapName(), m_mapRefManager.getSize()); + std::list players; + //dont teleport players in this loop at this will invalidate our iterator + for (auto& itr : m_mapRefManager) + { + ChatHandler(itr.getSource()).SendSysMessage("Battleground crashed!"); + players.push_back(itr.getSource()); + } + for (auto plr : players) + { + ChatHandler(plr).SendSysMessage("Battleground crashed!"); + bool tpResult = plr->TeleportTo(plr->GetBattleGroundEntryPoint()); + if (!tpResult) + plr->GetSession()->KickPlayer(true, true, false); + } + sLog.outError("MAP ANTI CRASH: Battleground Map: %u (%s) %u players teleported out!", GetId(), GetMapName(), players.size()); + } +} + void Map::Update(const uint32& t_diff) { @@ -728,19 +986,132 @@ void Map::Update(const uint32& t_diff) #endif } + // active areas timer + m_activeAreasTimer += t_diff; + if (m_activeAreasTimer >= 10000) + { + m_activeAreasTimer = 0; + m_activeAreas.clear(); + m_activeZones.clear(); + } + +#ifdef ENABLE_PLAYERBOTS + if (!m_activeAreasTimer && IsContinent() && HasRealPlayers()) + { + for (m_mapRefIter = m_mapRefManager.begin(); m_mapRefIter != m_mapRefManager.end(); ++m_mapRefIter) + { + Player* plr = m_mapRefIter->getSource(); + if (plr && plr->IsInWorld()) + { + if (plr->GetPlayerbotAI() && !plr->GetPlayerbotAI()->IsRealPlayer()) + continue; + + if (plr->isAFK()) + continue; + + if (!plr->isGMVisible()) + continue; + + if (find(m_activeZones.begin(), m_activeZones.end(), plr->GetZoneId()) == m_activeZones.end()) + m_activeZones.push_back(plr->GetZoneId()); + + ContinentArea activeArea = sMapMgr.GetContinentInstanceId(GetId(), plr->GetPositionX(), plr->GetPositionY()); + // check active area + if (activeArea != MAP_NO_AREA) + { + if (!HasActiveAreas(activeArea)) + m_activeAreas.push_back(activeArea); + } + } + } + } +#endif + + bool hasPlayers = false; + uint32 activeChars = 0; + uint32 avgDiff = sWorld.GetAverageDiff(); +#ifdef ENABLE_PLAYERBOTS + bool updateAI = urand(0, (HasRealPlayers() ? avgDiff : (avgDiff * 3))) < 10; +#endif /// update players at tick for (m_mapRefIter = m_mapRefManager.begin(); m_mapRefIter != m_mapRefManager.end(); ++m_mapRefIter) { Player* plr = m_mapRefIter->getSource(); if (plr && plr->IsInWorld()) + { +#ifdef ENABLE_PLAYERBOTS + bool isInActiveArea = false; + if (!plr->GetPlayerbotAI() || plr->GetPlayerbotAI()->IsRealPlayer()) + { + isInActiveArea = true; + + hasPlayers = true; + + } + else if (HasRealPlayers()) + { + ContinentArea activeArea = MAP_NO_AREA; + if (IsContinent()) + activeArea = sMapMgr.GetContinentInstanceId(GetId(), plr->GetPositionX(), plr->GetPositionY()); + + isInActiveArea = IsContinent() ? (activeArea == MAP_NO_AREA ? false : HasActiveAreas(activeArea)) : HasRealPlayers(); + + /*if (isInActiveArea) + { + if (avgDiff > 200 && IsContinent()) + { + if (find(m_activeZones.begin(), m_activeZones.end(), plr->GetZoneId()) == m_activeZones.end()) + isInActiveArea = false; + } + }*/ + } + if (plr->GetPlayerbotAI() && plr->GetPlayerbotAI()->HasRealPlayerMaster()) + isInActiveArea = true; + if (plr->InBattleGroundQueue() || plr->InBattleGround()) + isInActiveArea = true; + + if (isInActiveArea) + activeChars++; +#endif + plr->Update(t_diff); +#ifdef ENABLE_PLAYERBOTS + plr->UpdateAI(t_diff, !(isInActiveArea || updateAI || plr->IsInCombat())); +#endif + } } +#ifdef ENABLE_PLAYERBOTS + hasRealPlayers = hasPlayers; + if (IsContinent() && HasRealPlayers() && HasActiveAreas() && !m_activeAreasTimer) + { + sLog.outBasic("Map %u: Active Areas:Zones - %u:%u", GetId(), m_activeAreas.size(), m_activeZones.size()); + sLog.outBasic("Map %u: Active Areas Chars - %u of %u", GetId(), activeChars, m_mapRefManager.getSize()); + } +#endif for (m_mapRefIter = m_mapRefManager.begin(); m_mapRefIter != m_mapRefManager.end(); ++m_mapRefIter) { Player* player = m_mapRefIter->getSource(); - if (!player->IsInWorld() || !player->IsPositionValid()) + if (!player || !player->IsInWorld() || !player->IsPositionValid()) + continue; + +#ifdef ENABLE_PLAYERBOTS + if (!player->isRealPlayer()) //For non-players only load the grid. + { + CellPair center = MaNGOS::ComputeCellPair(player->GetPositionX(), player->GetPositionY()).normalize(); + uint32 cell_id = (center.y_coord * TOTAL_NUMBER_OF_CELLS_PER_MAP) + center.x_coord; + + if (!isCellMarked(cell_id)) + { + Cell cell(center); + const uint32 x = cell.GridX(); + const uint32 y = cell.GridY(); + if (!cell.NoCreate() || loaded(GridPair(x, y))) + EnsureGridLoaded(player->GetCurrentCell()); + } continue; + } +#endif VisitNearbyCellsOf(player, grid_object_update, world_object_update); @@ -748,8 +1119,10 @@ void Map::Update(const uint32& t_diff) if (WorldObject* viewPoint = GetWorldObject(player->GetFarSightGuid())) VisitNearbyCellsOf(viewPoint, grid_object_update, world_object_update); } - +#ifdef ENABLE_PLAYERBOTS // non-player active objects + bool updateObj = urand(0, (HasRealPlayers() ? avgDiff : (avgDiff * 3))) < 10; +#endif if (!m_activeNonPlayers.empty()) { for (m_activeNonPlayersIter = m_activeNonPlayers.begin(); m_activeNonPlayersIter != m_activeNonPlayers.end();) @@ -763,7 +1136,28 @@ void Map::Update(const uint32& t_diff) if (!obj->IsInWorld() || !obj->IsPositionValid()) continue; +#ifdef ENABLE_PLAYERBOTS + // skip objects if world is laggy + if (IsContinent() && avgDiff > 100) + { + bool isInActiveArea = false; + + ContinentArea activeArea = MAP_NO_AREA; + if (IsContinent()) + activeArea = sMapMgr.GetContinentInstanceId(GetId(), obj->GetPositionX(), obj->GetPositionY()); + + isInActiveArea = IsContinent() ? (activeArea == MAP_NO_AREA ? false : HasActiveAreas(activeArea)) : HasRealPlayers(); + + if (isInActiveArea && IsContinent()) + { + if (avgDiff > 150 && find(m_activeZones.begin(), m_activeZones.end(), obj->GetZoneId()) == m_activeZones.end()) + isInActiveArea = false; + } + if (!isInActiveArea && !updateObj) + continue; + } +#endif objToUpdate.insert(obj); // lets update mobs/objects in ALL visible cells around player! @@ -794,6 +1188,12 @@ void Map::Update(const uint32& t_diff) for (auto wObj : objToUpdate) { wObj->Update(t_diff); + // update visibility of far visible objects + if (wObj->GetVisibilityData().GetVisibilityDistance() > GetVisibilityDistance() && !urand(0, 4)) + { + wObj->GetViewPoint().Call_UpdateVisibilityForOwner(); + wObj->UpdateObjectVisibility(); + } ++count; } @@ -876,6 +1276,7 @@ void Map::Remove(Player* player, bool remove) UpdateObjectVisibility(player, cell, p); player->ResetMap(); + if (remove) DeleteFromWorld(player); } @@ -909,7 +1310,7 @@ void Map::Remove(T* obj, bool remove) UpdateObjectVisibility(obj, cell, p); // i think will be better to call this function while object still in grid, this changes nothing but logically is better(as for me) RemoveFromGrid(obj, grid, cell); - m_objRemoveList.insert(obj->GetObjectGuid()); + // m_objRemoveList.insert(obj->GetObjectGuid()); if (remove) // if option set then object already saved at this moment @@ -940,20 +1341,26 @@ void Map::PlayerRelocation(Player* player, float x, float y, float z, float orie DEBUG_FILTER_LOG(LOG_FILTER_PLAYER_MOVES, "Player %s relocation grid[%u,%u]cell[%u,%u]->grid[%u,%u]cell[%u,%u]", player->GetName(), old_cell.GridX(), old_cell.GridY(), old_cell.CellX(), old_cell.CellY(), new_cell.GridX(), new_cell.GridY(), new_cell.CellX(), new_cell.CellY()); NGridType* oldGrid = getNGrid(old_cell.GridX(), old_cell.GridY()); - RemoveFromGrid(player, oldGrid, old_cell); - if (!old_cell.DiffGrid(new_cell)) - AddToGrid(player, oldGrid, new_cell); - else - EnsureGridLoadedAtEnter(new_cell, player); + if (oldGrid) + { + RemoveFromGrid(player, oldGrid, old_cell); + if (!old_cell.DiffGrid(new_cell)) + AddToGrid(player, oldGrid, new_cell); + else + EnsureGridLoadedAtEnter(new_cell, player); + } NGridType* newGrid = getNGrid(new_cell.GridX(), new_cell.GridY()); - player->GetViewPoint().Event_GridChanged(&(*newGrid)(new_cell.CellX(), new_cell.CellY())); + if (newGrid) + { + player->GetViewPoint().Event_GridChanged(&(*newGrid)(new_cell.CellX(), new_cell.CellY())); + } } player->OnRelocated(); NGridType* newGrid = getNGrid(new_cell.GridX(), new_cell.GridY()); - if (!same_cell && newGrid->GetGridState() != GRID_STATE_ACTIVE) + if (newGrid && !same_cell && newGrid->GetGridState() != GRID_STATE_ACTIVE) { ResetGridExpiry(*newGrid, 0.1f); newGrid->SetGridState(GRID_STATE_ACTIVE); @@ -1137,7 +1544,10 @@ void Map::UpdateObjectVisibility(WorldObject* obj, Cell cell, const CellPair& ce cell.Visit(cellpair, player_notifier, *this, *obj, obj->GetVisibilityData().GetVisibilityDistance()); for (auto guid : notifier.GetUnvisitedGuids()) if (Player* player = GetPlayer(guid)) - player->UpdateVisibilityOf(player->GetCamera().GetBody(), obj); +#ifdef ENABLE_PLAYERBOTS + if (player->isRealPlayer()) +#endif + player->UpdateVisibilityOf(player->GetCamera().GetBody(), obj); } void Map::SendInitSelf(Player* player) const @@ -1254,7 +1664,7 @@ void Map::AddObjectToRemoveList(WorldObject* obj) MANGOS_ASSERT(obj->GetMapId() == GetId() && obj->GetInstanceId() == GetInstanceId()); obj->CleanupsBeforeDelete(); // remove or simplify at least cross referenced links - + std::unique_lock lock(i_objectsToRemove_lock); i_objectsToRemove.insert(obj); // DEBUG_LOG("Object (GUID: %u TypeId: %u ) added to removing list.",obj->GetGUIDLow(),obj->GetTypeId()); } @@ -1268,6 +1678,7 @@ void Map::RemoveAllObjectsInRemoveList() while (!i_objectsToRemove.empty()) { WorldObject* obj = *i_objectsToRemove.begin(); + i_objectsToRemove.erase(i_objectsToRemove.begin()); switch (obj->GetTypeId()) @@ -1854,6 +2265,7 @@ BattleGroundMap::BattleGroundMap(uint32 id, time_t expiry, uint32 InstanceId) BattleGroundMap::~BattleGroundMap() { + UnloadAll(true); } void BattleGroundMap::Initialize(bool) @@ -1863,6 +2275,9 @@ void BattleGroundMap::Initialize(bool) void BattleGroundMap::Update(const uint32& diff) { + if (!GetBG()) + return; + Map::Update(diff); if (!m_bg->GetPlayersSize()) @@ -2192,6 +2607,7 @@ void Map::SendObjectUpdates() while (!i_objectsToClientUpdate.empty()) { Object* obj = *i_objectsToClientUpdate.begin(); + i_objectsToClientUpdate.erase(i_objectsToClientUpdate.begin()); obj->BuildUpdateData(update_players); } @@ -2782,3 +3198,206 @@ void Map::RemoveFromSpawnCount(const ObjectGuid& guid) { m_spawnedCount[guid.GetEntry()].erase(guid); } + +//Start Solocraft Subfunctions +//Set the instance difficulty +int Map::CalculateDifficulty(Map* map, Player* /*player*/) +{ + //float difficulty = 0.0;//changed from 1.0 + if (map) + { + if (map->IsBattleGround()) + return 0; + + if (diff_Multiplier.find(map->GetId()) == diff_Multiplier.end()) { + //Catch Alls ----------------------5 Dungeons and 40 Raids + if (map->IsRaid()) { + return D40; + } + else if (map->IsDungeon()) { + return D5; + } + } + else + return diff_Multiplier[map->GetId()]; //return the specific dungeon's level + } + return 0; //return 0 +} + +//Set the Dungeon Level +int Map::CalculateDungeonLevel(Map* map, Player* /*player*/) +{ + if (dungeons.find(map->GetId()) == dungeons.end()) + { + return SolocraftDungeonLevel; //map not found returns the catch all value + } + else + return dungeons[map->GetId()]; //return the specific dungeon's level +} + +//Get the group's size +int Map::GetNumInGroup(Player* player) +{ + int numInGroup = 1; + Group* group = player->GetGroup(); + if (group) { + Group::MemberSlotList const& groupMembers = group->GetMemberSlots(); + numInGroup = groupMembers.size(); + } + return numInGroup; +} + +void Map::ApplyBuffs(Player* player, Map* map, float difficulty, int dunLevel, int numInGroup) +{ + int SpellPowerBonus = 0; + //Check whether to buff the player or check to debuff back to normal + if (difficulty != 0) + { + std::ostringstream ss; + if (player->GetLevel() <= dunLevel + SolocraftLevelDiff) //If a player is too high level for dungeon don't buff but if in a group will count towards the group offset balancing. + { + //Get Current members total difficulty offset and if it exceeds the difficulty offset of the dungeon then debuff new group members coming in until all members leave and re-enter. This happens when a player already inside dungeon invite others to the group but the player already has the full difficulty offset. + float GroupDifficulty = GetGroupDifficulty(player); + //Check to either debuff or buff player entering dungeon. Debuff must be enabled in Config + if (GroupDifficulty >= difficulty && SoloCraftDebuffEnable == 1) + { + //Current dungeon offset exceeded - Debuff player + difficulty = (-abs(difficulty)) + (difficulty / numInGroup); + difficulty = roundf(difficulty * 100) / 100; //Float variables suck + + //sLog->outError("%u: would have this difficulty: %f", player->GetGUID(), tempDiff); + } + else + { + //Current Dungeon offset not exceeded - Buff player + //Group difficulty adjustment + difficulty = difficulty / numInGroup; + difficulty = roundf(difficulty * 100) / 100; //Float variables suck - two decimal rounding + } + + //Check Database for a current dungeon entry + auto result = CharacterDatabase.PQuery("SELECT `GUID`, `Difficulty`, `GroupSize`, `SpellPower`, `Stats` FROM `custom_solocraft_character_stats` WHERE GUID = %u", player->GetGUIDLow()); + + //Modify Player Stats + for (int32 i = STAT_STRENGTH; i < MAX_STATS; ++i) //STATS defined/enum in SharedDefines.h + { + if (result) + { + player->HandleStatModifier(UnitMods(UNIT_MOD_STAT_START + i), TOTAL_VALUE, (*result)[1].GetFloat() * (*result)[4].GetFloat(), false); + } + // Buff the player + player->HandleStatModifier(UnitMods(UNIT_MOD_STAT_START + i), TOTAL_VALUE, difficulty * SoloCraftStatsMult, true); //Unitmods enum UNIT_MOD_STAT_START defined in Unit.h line 391 + } + // Set player health + player->SetHealth(player->GetMaxHealth());//defined in Unit.h line 1524 + //Spellcaster Stat modify + if (player->GetPowerType() == POWER_MANA) + { + // Buff the player's mana + player->SetPower(POWER_MANA, player->GetMaxPower(POWER_MANA)); + + //Check for Dungeon to Dungeon Transfer and remove old Spellpower buff + if (result) + { + // remove spellpower bonus + player->ApplySpellPowerBonus((*result)[3].GetUInt32() * (*result)[4].GetFloat(), false); + } + + //Buff Spellpower + if (difficulty > 0) //Debuffed characters do not get spellpower + { + SpellPowerBonus = static_cast((player->GetLevel() * SoloCraftSpellMult) * difficulty);//Yes, I pulled this calc out of my butt. + player->ApplySpellPowerBonus(SpellPowerBonus, true); + //sLog->outError("%u: spellpower Bonus applied: %i", player->GetGUID(), SpellPowerBonus); + } + } + //Announcements + if (difficulty > 0) + { + // Announce to player - Buff + ss << "|cffFF0000[SoloCraft] |cffFF8000" << player->GetName() << " entered %s - Difficulty Offset: %0.2f. Spellpower Bonus: %i"; + ChatHandler(player->GetSession()).PSendSysMessage(ss.str().c_str(), map->GetMapName(), difficulty, SpellPowerBonus); + } + else + { + // Announce to player - Debuff + ss << "|cffFF0000[SoloCraft] |cffFF8000" << player->GetName() << " entered %s - |cffFF0000BE ADVISED - You have been debuffed by offset: %0.2f. |cffFF8000 A group member already inside has the dungeon's full buff offset. No Spellpower buff will be applied to spell casters. ALL group members must exit the dungeon and re-enter to receive a balanced offset."; + ChatHandler(player->GetSession()).PSendSysMessage(ss.str().c_str(), map->GetMapName(), difficulty); + } + // Save Player Dungeon Offsets to Database + CharacterDatabase.PExecute("REPLACE INTO custom_solocraft_character_stats (GUID, Difficulty, GroupSize, SpellPower, Stats) VALUES (%u, %f, %u, %i, %f)", player->GetGUIDLow(), difficulty, numInGroup, SpellPowerBonus, SoloCraftStatsMult); + } + else + { + // Announce to player - Over Max Level Threshold + ss << "|cffFF0000[SoloCraft] |cffFF8000" << player->GetName() << " entered %s - |cffFF0000You have not been buffed. |cffFF8000 Your level is higher than the max level (%i) threshold for this dungeon."; + ChatHandler(player->GetSession()).PSendSysMessage(ss.str().c_str(), map->GetMapName(), dunLevel + SolocraftLevelDiff); + ClearBuffs(player, map); //Check to revert player back to normal + } + + } + else + { + ClearBuffs(player, map); //Check to revert player back to normal - Moving this here fixed logout and login while in instance buff and debuff issues + } +} + +// Get the current group members GUIDS and return the total sum of the difficulty offset by all group members currently in the dungeon +float Map::GetGroupDifficulty(Player* player) +{ + float GroupDifficulty = 0.0; + Group* group = player->GetGroup(); + if (group) + { + Group::MemberSlotList const& groupMembers = group->GetMemberSlots(); + for (Group::member_citerator itr = groupMembers.begin(); itr != groupMembers.end(); ++itr) + { + //Exclude player from the tally because the player is the one entering the dungeon + if (itr->guid != player->GetGUIDLow()) + { + //Database query to find difficulty for each group member that is currently in an instance + auto result = CharacterDatabase.PQuery("SELECT `GUID`, `Difficulty`, `GroupSize` FROM `custom_solocraft_character_stats` WHERE GUID = %u", itr->guid); + if (result) + { + //Test for debuffs already give to other members - They cannot be used to determine the total offset because negative numbers will skew the total difficulty offset + if ((*result)[1].GetFloat() > 0) + { + GroupDifficulty = GroupDifficulty + (*result)[1].GetFloat(); + //sLog->outError("%u : Group member GUID in instance: %u", player->GetGUID(), itr->guid); + } + } + } + } + } + return GroupDifficulty; +} + +void Map::ClearBuffs(Player* player, Map* map) +{ + //Database query to get offset from the last instance player exited + auto result = CharacterDatabase.PQuery("SELECT `GUID`, `Difficulty`, `GroupSize`, `SpellPower`, `Stats` FROM `custom_solocraft_character_stats` WHERE GUID = %u", player->GetGUIDLow()); + if (result) + { + float difficulty = (*result)[1].GetFloat(); + int SpellPowerBonus = (*result)[3].GetUInt32(); + float StatsMultPct = (*result)[4].GetFloat(); + //sLog->outError("Map difficulty: %f", difficulty); + // Inform the player + std::ostringstream ss; + ss << "|cffFF0000[SoloCraft] |cffFF8000" << player->GetName() << " exited to %s - Reverting Difficulty Offset: %0.2f. Spellpower Bonus Removed: %i"; + ChatHandler(player->GetSession()).PSendSysMessage(ss.str().c_str(), map->GetMapName(), difficulty, SpellPowerBonus); + // Clear the buffs + for (int32 i = STAT_STRENGTH; i < MAX_STATS; ++i) + { + player->HandleStatModifier(UnitMods(UNIT_MOD_STAT_START + i), TOTAL_VALUE, difficulty * StatsMultPct, false); + } + if (player->GetPowerType() == POWER_MANA && difficulty > 0) + { + // remove spellpower bonus + player->ApplySpellPowerBonus(SpellPowerBonus, false); + } + //Remove database entry as the player is no longer in an instance + CharacterDatabase.PExecute("DELETE FROM custom_solocraft_character_stats WHERE GUID = %u", player->GetGUIDLow()); + } +} +//End Solocraft Subfunctions diff --git a/src/game/Maps/Map.h b/src/game/Maps/Map.h index 966dcaf7c7..6daae07bf5 100644 --- a/src/game/Maps/Map.h +++ b/src/game/Maps/Map.h @@ -63,6 +63,39 @@ class GenericTransport; namespace MaNGOS { struct ObjectUpdater; } class Transport; +enum ContinentArea +{ + MAP_NO_AREA = 0, + + MAP0_TOP_NORTH = 1, + MAP0_MIDDLE_NORTH = 2, + MAP0_IRONFORGE_AREA = 3, + MAP0_MIDDLE = 4, // Burning stepps, Redridge monts, Blasted lands + MAP0_STORMWIND_AREA = 5, // Stormwind, Elwynn forest, Redridge Mts + MAP0_SOUTH = 6, // Southern phase of the continent + + MAP1_TELDRASSIL = 11, // Teldrassil + MAP1_NORTH = 12, // Stonetalon, Ashenvale, Darkshore, Felwood, Moonglade, Winterspring, Azshara, Desolace + MAP1_DUROTAR = 13, // Durotar + MAP1_UPPER_MIDDLE = 14, // Mulgore, Barrens, Dustwallow Marsh + MAP1_LOWER_MIDDLE = 15, // Feralas, 1K needles + MAP1_VALLEY = 16, // Orc and Troll starting area + MAP1_ORGRIMMAR = 17, // Orgrimmar (on its own) + MAP1_SOUTH = 18, // Silithus, Un'goro and Tanaris + MAP1_GMISLAND = 19, // GM island + + MAP0_FIRST = 1, + MAP0_LAST = 6, + MAP1_FIRST = 11, + MAP1_LAST = 19, +}; + +enum MapCrashStatus +{ + MAP_CRASH_NOCRASH = 0, + MAP_CRASH_CRASHED = 1, +}; + // GCC have alternative #pragma pack(N) syntax and old gcc version not support pack(push,N), also any gcc version not support it at some platform #if defined( __GNUC__ ) #pragma pack(1) @@ -130,10 +163,17 @@ class Map : public GridRefManager static void DeleteFromWorld(Player* pl); // player object will deleted at call void VisitNearbyCellsOf(WorldObject* obj, TypeContainerVisitor &gridVisitor, TypeContainerVisitor &worldVisitor); + //this wrap map udpates and call it with diff since last updates. If minimumTimeSinceLastUpdate, the thread will sleep until minimumTimeSinceLastUpdate is reached + void DoUpdate(uint32 maxDiff, uint32 minimumTimeSinceLastUpdate = 0); virtual void Update(const uint32&); +#ifdef ENABLE_PLAYERBOTS + bool HasRealPlayers() { return hasRealPlayers; } +#endif + void MessageBroadcast(Player const*, WorldPacket const&, bool to_self); void MessageBroadcast(WorldObject const*, WorldPacket const&); + void ThreatMessageBroadcast(WorldObject const*, std::string const&, bool newClient = false); void MessageDistBroadcast(Player const*, WorldPacket const&, float dist, bool to_self, bool own_team_only = false); void MessageDistBroadcast(WorldObject const*, WorldPacket const&, float dist); void MessageMapBroadcast(WorldObject const* obj, WorldPacket const& msg); @@ -372,6 +412,33 @@ class Map : public GridRefManager // debug std::set m_objRemoveList; // this will eventually eat up too much memory - only used for debugging VisibleNotifier::Notify() customlog leak + + bool HasActiveAreas(ContinentArea areaId = MAP_NO_AREA) { if (areaId == MAP_NO_AREA) { return !m_activeAreas.empty(); } else { return !(find(m_activeAreas.begin(), m_activeAreas.end(), areaId) == m_activeAreas.end()); } } + bool HasActiveZone(uint32 zoneId) { return find(m_activeZones.begin(), m_activeZones.end(), zoneId) != m_activeZones.end(); } + + //Start Solocraft Functions + bool SoloCraftDebuffEnable = 1; + float SoloCraftSpellMult = 1.0; + float SoloCraftStatsMult = 100.0; + uint32 SolocraftLevelDiff = 1; + std::map _unitDifficulty; + std::unordered_map dungeons; + std::unordered_map diff_Multiplier; + uint32 SolocraftDungeonLevel = 1; + float D5 = 1.0; + float D25 = 1.0; + float D40 = 1.0; + + int CalculateDifficulty(Map* map, Player* /*player*/); + int CalculateDungeonLevel(Map* map, Player* /*player*/); + int GetNumInGroup(Player* player); + void ApplyBuffs(Player* player, Map* map, float difficulty, int dunLevel, int numInGroup); + float GetGroupDifficulty(Player* player); + void ClearBuffs(Player* player, Map* map); + //End Solocraft Functions + + //this function is overrided by InstanceMap and BattlegroundMap to handle crash recovery + virtual void HandleCrash() { MANGOS_ASSERT(false); } private: void LoadMapAndVMap(int gx, int gy); @@ -409,6 +476,8 @@ class Map : public GridRefManager void SendObjectUpdates(); std::set i_objectsToClientUpdate; + uint32 GetLastMapUpdateTime() const { return _lastMapUpdate; } + protected: MapEntry const* i_mapEntry; uint32 i_id; @@ -447,6 +516,7 @@ class Map : public GridRefManager std::bitset marked_cells; + mutable std::mutex i_objectsToRemove_lock; WorldObjectSet i_objectsToRemove; typedef std::multimap ScriptScheduleMap; @@ -499,6 +569,14 @@ class Map : public GridRefManager std::shared_ptr m_spellListContainer; WorldStateVariableManager m_variableManager; + + std::vector m_activeAreas; + std::vector m_activeZones; + uint32 m_activeAreasTimer; + + bool hasRealPlayers; + + uint32 _lastMapUpdate; }; class WorldMap : public Map @@ -508,6 +586,7 @@ class WorldMap : public Map public: WorldMap(uint32 id, time_t expiry, uint32 InstanceId) : Map(id, expiry, InstanceId) {} ~WorldMap() {} + void HandleCrash() override; // can't be nullptr for loaded map WorldPersistentState* GetPersistanceState() const; @@ -526,6 +605,7 @@ class DungeonMap : public Map bool Reset(InstanceResetMethod method); void PermBindAllPlayers(Player* player = nullptr); void UnloadAll(bool pForce) override; + void HandleCrash() override; void SendResetWarnings(uint32 timeLeft) const; void SetResetSchedule(bool on); uint32 GetMaxPlayers() const; @@ -557,6 +637,7 @@ class BattleGroundMap : public Map bool CanEnter(Player* player) override; void SetUnload(); void UnloadAll(bool pForce) override; + void HandleCrash() override; virtual void InitVisibilityDistance() override; BattleGround* GetBG() const { return m_bg; } diff --git a/src/game/Maps/MapManager.cpp b/src/game/Maps/MapManager.cpp index b42f4f02ba..422864f22e 100644 --- a/src/game/Maps/MapManager.cpp +++ b/src/game/Maps/MapManager.cpp @@ -37,6 +37,7 @@ MapManager::MapManager() : i_gridCleanUpDelay(sWorld.getConfig(CONFIG_UINT32_INTERVAL_GRIDCLEAN)) { i_timer.SetInterval(sWorld.getConfig(CONFIG_UINT32_INTERVAL_MAPUPDATE)); + crashedMaps.clear(); } MapManager::~MapManager() @@ -141,6 +142,9 @@ Map* MapManager::CreateMap(uint32 id, const WorldObject* obj) } } + if (m) + SetMapCrashStatus(m, MAP_CRASH_NOCRASH); + return m; } @@ -188,6 +192,14 @@ void MapManager::DeleteInstance(uint32 mapid, uint32 instanceId) } } +void MapManager::MapCrashed(Map* map) +{ + sLog.outError("MAP ANTI CRASH: Map: %u (%s) crashed! InstanceId: %u", map->GetId(), map->GetMapName(), map->GetInstanceId()); + crashedMaps.push_back(map); + SetMapCrashed(map); + return; +} + void MapManager::Update(uint32 diff) { i_timer.Update(diff); @@ -196,14 +208,82 @@ void MapManager::Update(uint32 diff) for (auto& map : i_maps) { + // skip crashed or restarting world maps + if (IsMapCrashed(map.second)) + continue; + + // skip updating maps until restarted + if (crashedMaps.size()) + break; + if (m_updater.activated()) - m_updater.schedule_update(new MapUpdateWorker(*map.second, (uint32)i_timer.GetCurrent(), m_updater)); + m_updater.schedule_update(*map.second, new MapUpdateWorker(*map.second, (uint32)i_timer.GetCurrent(), m_updater)); else - map.second->Update((uint32)i_timer.GetCurrent()); + map.second->DoUpdate((uint32)i_timer.GetCurrent()); } + bool fasterUpdates = false; + uint32 maxDiff = sWorld.GetMaxDiff(); + fasterUpdates = maxDiff > 100; + if (m_updater.activated()) - m_updater.wait(); + { + /* We keep instances updates looping while continents are updated. + Once all continents are done, we wait for the current instances updates to finish and stop. + */ + m_updater.enableUpdateLoop(false); + m_updater.waitUpdateOnces(); + m_updater.enableUpdateLoop(false); + m_updater.waitUpdateLoops(); + } + + // handle Instances crash + for (auto crashedMap : crashedMaps) + { + uint32 mapId = crashedMap->GetId(); + uint32 instanceId = crashedMap->GetInstanceId(); + bool isBg = crashedMap->IsBattleGround(); + bool isContinent = crashedMap->IsContinent(); + //const std::string mapName = isContinent ? mapId == 0 ? "Eastern Kingdoms" : "Kalimdor" : crashedMap->GetMapName(); + std::string mapName = crashedMap->GetMapName(); + + crashedMap->HandleCrash(); + //crashedMap->RemoveAllObjectsInRemoveList(); + MapMapType::iterator iter = i_maps.begin(); + while (iter != i_maps.end()) + { + if (iter->second == crashedMap) + { + if (isContinent) + { + sLog.outError("MAP ANTI CRASH: World Map: %u (%s) Unloading grids...", mapId, mapName.c_str()); + crashedMap->UnloadAll(true); + sLog.outError("MAP ANTI CRASH: World Map: %u (%s) Deactivating...", mapId, mapName.c_str()); + i_maps.erase(iter); + sLog.outError("MAP ANTI CRASH: World Map: %u (%s) Restarting...", mapId, mapName.c_str()); + Map* m = new WorldMap(mapId, i_gridCleanUpDelay, 0); + i_maps[MapID(mapId)] = m; + m->Initialize(); + SetMapCrashStatus(mapId, instanceId, MAP_CRASH_NOCRASH); + delete crashedMap; + sLog.outError("MAP ANTI CRASH: World Map: %u (%s) Activated!", mapId, mapName.c_str()); + iter++; + } + else + { + sLog.outError("MAP ANTI CRASH: %s Map: %u (%s) Deactivating...", isBg ? "Battleground" : "Dungeon", mapId, mapName.c_str()); + i_maps.erase(iter); + SetMapCrashStatus(crashedMap, MAP_CRASH_NOCRASH); + sLog.outError("MAP ANTI CRASH: %s Map: %u (%s) Removed!", isBg ? "Battleground" : "Dungeon", mapId, mapName.c_str()); + iter++; + } + } + else + ++iter; + } + + } + crashedMaps.clear(); // remove all maps which can be unloaded MapMapType::iterator iter = i_maps.begin(); @@ -392,6 +472,270 @@ BattleGroundMap* MapManager::CreateBattleGroundMap(uint32 id, uint32 InstanceId, return map; } +bool IsNorthTo(float x, float y, float const* limits, int count /* last case is limits[2*count - 1] */) +{ + int insideCount = 0; + for (int i = 0; i < count - 1; ++i) + { + if ((limits[2 * i + 1] < y && y < limits[2 * i + 3]) || (limits[2 * i + 1] > y && y > limits[2 * i + 3])) + { + float threshold = limits[2 * i] + (limits[2 * i + 2] - limits[2 * i]) * (y - limits[2 * i + 1]) / (limits[2 * i + 3] - limits[2 * i + 1]); + if (x > threshold) + ++insideCount; + } + } + return insideCount % 2 == 1; +} + +ContinentArea MapManager::GetContinentInstanceId(uint32 mapId, float x, float y, bool* transitionArea) +{ + if (transitionArea) + *transitionArea = false; + + // Y = horizontal axis on wow ... + switch (mapId) + { + case 0: + { + static float const topNorthSouthLimit[] = { + 2032.048340f, -6927.750000f, + 1634.863403f, -6157.505371f, + 1109.519775f, -5181.036133f, + 1315.204712f, -4096.020508f, + 1073.089233f, -3372.571533f, + 825.833191f, -3125.778809f, + 657.343994f, -2314.813232f, + 424.736145f, -1888.283691f, + 744.395813f, -1647.935425f, + 1424.160645f, -654.948181f, + 1447.065308f, -169.751358f, + 1208.715454f, 189.748703f, + 1596.240356f, 998.616699f, + 1577.923706f, 1293.419922f, + 1458.520264f, 1727.373291f, + 1591.916138f, 3728.139404f + }; + static float const ironforgeAreaSouthLimit[] = { + -7491.33f, 3093.74f, + -7472.04f, -391.88f, + -6366.68f, -730.10f, + -6063.96f, -1411.76f, + -6087.62f, -2190.21f, + -6349.54f, -2533.66f, + -6308.63f, -3049.32f, + -6107.82f, -3345.30f, + -6008.49f, -3590.52f, + -5989.37f, -4312.29f, + -5806.26f, -5864.11f + }; + static float const stormwindAreaNorthLimit[] = { + -8004.25f, 3714.11f, + -8075.00f, -179.00f, + -8638.00f, 169.00f, + -9044.00f, 35.00f, + -9068.00f, -125.00f, + -9094.00f, -147.00f, + -9206.00f, -290.00f, + -9097.00f, -510.00f, + -8739.00f, -501.00f, + -8725.50f, -1618.45f, + -9810.40f, -1698.41f, + -10049.60f, -1740.40f, + -10670.61f, -1692.51f, + -10908.48f, -1563.87f, + -13006.40f, -1622.80f, + -12863.23f, -4798.42f + }; + static float const stormwindAreaSouthLimit[] = { + -8725.337891f, 3535.624023f, + -9525.699219f, 910.132568f, + -9796.953125f, 839.069580f, + -9946.341797f, 743.102844f, + -10287.361328f, 760.076477f, + -10083.828125f, 380.389893f, + -10148.072266f, 80.056450f, + -10014.583984f, -161.638519f, + -9978.146484f, -361.638031f, + -9877.489258f, -563.304871f, + -9980.967773f, -1128.510498f, + -9991.717773f, -1428.793213f, + -9887.579102f, -1618.514038f, + -10169.600586f, -1801.582031f, + -9966.274414f, -2227.197754f, + -9861.309570f, -2989.841064f, + -9944.026367f, -3205.886963f, + -9610.209961f, -3648.369385f, + -7949.329590f, -4081.389404f, + -7910.859375f, -5855.578125f + }; + if (IsNorthTo(x, y, topNorthSouthLimit, sizeof(topNorthSouthLimit) / (2 * sizeof(float)))) + return MAP0_TOP_NORTH; + if (x > -2521) + return MAP0_MIDDLE_NORTH; + if (IsNorthTo(x, y, ironforgeAreaSouthLimit, sizeof(ironforgeAreaSouthLimit) / (2 * sizeof(float)))) + return MAP0_IRONFORGE_AREA; + if (IsNorthTo(x, y, stormwindAreaNorthLimit, sizeof(stormwindAreaNorthLimit) / (2 * sizeof(float)))) + return MAP0_MIDDLE; + if (IsNorthTo(x, y, stormwindAreaSouthLimit, sizeof(stormwindAreaNorthLimit) / (2 * sizeof(float)))) + return MAP0_STORMWIND_AREA; + return MAP0_SOUTH; + } + case 1: + { + static float const teldrassilSouthLimit[] = { + 7916.0f, 3475.0f, + 7916.0f, 1000.0f, + 8283.0f, -501.0f, + 8804.0f, -1098.0f + }; + static float const northMiddleLimit[] = { + -2280.00f, 4054.00f, + -2401.00f, 2365.00f, + -2432.00f, 1338.00f, + -2286.00f, 769.00f, + -2137.00f, 662.00f, + -2044.54f, 489.86f, + -1808.52f, 436.39f, + -1754.85f, 504.55f, + -1094.55f, 651.75f, + -747.46f, 647.73f, + -685.55f, 408.43f, + -311.38f, 114.43f, + -358.40f, -587.42f, + -377.92f, -748.70f, + -512.57f, -919.49f, + -280.65f, -1008.87f, + -81.29f, -930.89f, + 284.31f, -1105.39f, + 568.86f, -892.28f, + 1211.09f, -1135.55f, + 879.60f, -2110.18f, + 788.96f, -2276.02f, + 899.68f, -2625.56f, + 1281.54f, -2689.42f, + 1521.82f, -3047.85f, + 1424.22f, -3365.69f, + 1694.11f, -3615.20f, + 2373.78f, -4019.96f, + 2388.13f, -5124.35f, + 2193.79f, -5484.38f, + 1703.57f, -5510.53f, + 1497.59f, -6376.56f, + 1368.00f, -8530.00f + }; + static float const durotarSouthLimit[] = { + 2755.00f, -3766.00f, + 2225.00f, -3596.00f, + 1762.00f, -3746.00f, + 1564.00f, -3943.00f, + 1184.00f, -3915.00f, + 737.00f, -3782.00f, + -75.00f, -3742.00f, + -263.00f, -3836.00f, + -173.00f, -4064.00f, + -81.00f, -4091.00f, + -49.00f, -4089.00f, + -16.00f, -4187.00f, + -5.00f, -4192.00f, + -14.00f, -4551.00f, + -397.00f, -4601.00f, + -522.00f, -4583.00f, + -668.00f, -4539.00f, + -790.00f, -4502.00f, + -1176.00f, -4213.00f, + -1387.00f, -4674.00f, + -2243.00f, -6046.00f + }; + static float const valleyoftrialsSouthLimit[] = { + -324.00f, -3869.00f, + -774.00f, -3992.00f, + -965.00f, -4290.00f, + -932.00f, -4349.00f, + -828.00f, -4414.00f, + -661.00f, -4541.00f, + -521.00f, -4582.00f + }; + static float const middleToSouthLimit[] = { + -2402.01f, 4255.70f, + -2475.933105f, 3199.568359f, // Desolace + -2344.124023f, 1756.164307f, + -2826.438965f, 403.824738f, // Mulgore + -3472.819580f, 182.522476f, // Feralas + -4365.006836f, -1602.575439f, // the Barrens + -4515.219727f, -1681.356079f, + -4543.093750f, -1882.869385f, // Thousand Needles + -4824.16f, -2310.11f, + -5102.913574f, -2647.062744f, + -5248.286621f, -3034.536377f, + -5246.920898f, -3339.139893f, + -5459.449707f, -4920.155273f, // Tanaris + -5437.00f, -5863.00f + }; + + static float const orgrimmarSouthLimit[] = { + 2132.5076f, -3912.2478f, + 1944.4298f, -3855.2583f, + 1735.6906f, -3834.2417f, + 1654.3671f, -3380.9902f, + 1593.9861f, -3975.5413f, + 1439.2548f, -4249.6923f, + 1436.3106f, -4007.8950f, + 1393.3199f, -4196.0625f, + 1445.2428f, -4373.9052f, + 1407.2349f, -4429.4145f, + 1464.7142f, -4545.2875f, + 1584.1331f, -4596.8764f, + 1716.8065f, -4601.1323f, + 1875.8312f, -4788.7187f, + 1979.7647f, -4883.4585f, + 2219.1562f, -4854.3330f + }; + + static float const feralasThousandNeedlesSouthLimit[] = { + -6495.4995f, -4711.981f, + -6674.9995f, -4515.0019f, + -6769.5717f, -4122.4272f, + -6838.2651f, -3874.2792f, + -6851.1314f, -3659.1179f, + -6624.6845f, -3063.3843f, + -6416.9067f, -2570.1301f, + -5959.8466f, -2287.2634f, + -5947.9135f, -1866.5028f, + -5947.9135f, -820.4881f, + -5876.7114f, -3.5138f, + -5876.7114f, 917.6407f, + -6099.3603f, 1153.2884f, + -6021.8989f, 1638.1809f, + -6091.6176f, 2335.8892f, + -6744.9946f, 2393.4855f, + -6973.8608f, 3077.0281f, + -7068.7241f, 4376.2304f, + -7142.1211f, 4808.4331f + }; + + if (IsNorthTo(x, y, teldrassilSouthLimit, sizeof(teldrassilSouthLimit) / (2 * sizeof(float)))) + return MAP1_TELDRASSIL; + if (IsNorthTo(x, y, northMiddleLimit, sizeof(northMiddleLimit) / (2 * sizeof(float)))) + return MAP1_NORTH; + if (IsNorthTo(x, y, orgrimmarSouthLimit, sizeof(orgrimmarSouthLimit) / (2 * sizeof(float)))) + return MAP1_ORGRIMMAR; + if (IsNorthTo(x, y, durotarSouthLimit, sizeof(durotarSouthLimit) / (2 * sizeof(float)))) + return MAP1_DUROTAR; + if (IsNorthTo(x, y, valleyoftrialsSouthLimit, sizeof(valleyoftrialsSouthLimit) / (2 * sizeof(float)))) + return MAP1_VALLEY; + if (IsNorthTo(x, y, middleToSouthLimit, sizeof(middleToSouthLimit) / (2 * sizeof(float)))) + return MAP1_UPPER_MIDDLE; + if (IsNorthTo(x, y, feralasThousandNeedlesSouthLimit, sizeof(feralasThousandNeedlesSouthLimit) / (2 * sizeof(float)))) + return MAP1_LOWER_MIDDLE; + if (y > 15000.0f) + return MAP1_GMISLAND; + else + return MAP1_SOUTH; + } + } + return MAP_NO_AREA; +} + void MapManager::DoForAllMapsWithMapId(uint32 mapId, std::function worker) { MapMapType::const_iterator start = i_maps.lower_bound(MapID(mapId, 0)); diff --git a/src/game/Maps/MapManager.h b/src/game/Maps/MapManager.h index fea2a6aab3..9882e96b97 100644 --- a/src/game/Maps/MapManager.h +++ b/src/game/Maps/MapManager.h @@ -62,6 +62,7 @@ class MapManager : public MaNGOS::Singleton MapMapType; void CreateContinents(); + ContinentArea GetContinentInstanceId(uint32 mapId, float x, float y, bool* transitionArea = nullptr); Map* CreateMap(uint32, const WorldObject* obj); Map* CreateBgMap(uint32 mapid, BattleGround* bg); Map* FindMap(uint32 mapid, uint32 instanceId = 0) const; @@ -160,6 +161,14 @@ class MapManager : public MaNGOS::Singleton& worker); void DoForAllMapsWithMapId(uint32 mapId, std::function worker); + void MapCrashed(Map* map); + void SetMapCrashed(Map* map) { crashedMapsStatus[map->GetId()][map->GetInstanceId()] = MAP_CRASH_CRASHED; } + bool IsMapCrashed(Map* map) { return crashedMapsStatus[map->GetId()][map->GetInstanceId()] != MAP_CRASH_NOCRASH;} + bool IsContinentCrashed(uint32 mapId) { return crashedMapsStatus[mapId][0] != MAP_CRASH_NOCRASH; } + MapCrashStatus GetMapCrashStatus(Map* map) { return crashedMapsStatus[map->GetId()][map->GetInstanceId()]; } + void SetMapCrashStatus(Map* map, MapCrashStatus status) { crashedMapsStatus[map->GetId()][map->GetInstanceId()] = status; } + void SetMapCrashStatus(uint32 mapId, uint32 instanceId, MapCrashStatus status) { crashedMapsStatus[mapId][instanceId] = status; } + private: // debugging code, should be deleted some day @@ -188,6 +197,8 @@ class MapManager : public MaNGOS::Singleton crashedMaps; //those map have crashed, remove them as soon as possible. Contains either BattlegroundMap or InstanceMap + std::map> crashedMapsStatus; }; template diff --git a/src/game/Maps/MapPersistentStateMgr.cpp b/src/game/Maps/MapPersistentStateMgr.cpp index 512b1b5ec8..f4326e1711 100644 --- a/src/game/Maps/MapPersistentStateMgr.cpp +++ b/src/game/Maps/MapPersistentStateMgr.cpp @@ -504,6 +504,9 @@ void DungeonResetScheduler::LoadResetTimes() void DungeonResetScheduler::ScheduleReset(bool add, time_t time, DungeonResetEvent event) { + if (!m_resetTimeQueue.size()) + return; + if (add) m_resetTimeQueue.insert(std::pair(time, event)); else diff --git a/src/game/Maps/MapUpdater.cpp b/src/game/Maps/MapUpdater.cpp index 77de6f2526..dc5dab9b3b 100644 --- a/src/game/Maps/MapUpdater.cpp +++ b/src/game/Maps/MapUpdater.cpp @@ -19,10 +19,15 @@ #include "MapUpdater.h" #include "MapWorkers.h" -MapUpdater::MapUpdater(size_t num_threads) : _cancelationToken(false), pending_requests(0) +//MapUpdater::MapUpdater(size_t num_threads) : _cancelationToken(false), pending_requests(0) +//{ +// for (size_t i = 0; i < num_threads; ++i) +// _workerThreads.push_back(std::thread(&MapUpdater::WorkerThread, this)); +//} +MapUpdater::~MapUpdater() { - for (size_t i = 0; i < num_threads; ++i) - _workerThreads.push_back(std::thread(&MapUpdater::WorkerThread, this)); + if (activated()) + deactivate(); } void MapUpdater::activate(size_t num_threads) @@ -30,71 +35,171 @@ void MapUpdater::activate(size_t num_threads) if (activated()) return; + //spawn instances & battlegrounds threads for (size_t i = 0; i < num_threads; ++i) - _workerThreads.push_back(std::thread(&MapUpdater::WorkerThread, this)); + _loop_workerThreads.push_back(std::thread(&MapUpdater::LoopWorkerThread, this, &_enable_updates_loop)); + + //continents threads are spawned later when request are received + + //for (size_t i = 0; i < num_threads; ++i) + // _workerThreads.push_back(std::thread(&MapUpdater::WorkerThread, this)); } void MapUpdater::deactivate() { _cancelationToken = true; - _queue.Cancel(); + _loop_queue.Cancel(); + _once_queue.Cancel(); - for (auto& thread : _workerThreads) + waitUpdateOnces(); + waitUpdateLoops(); + + for (auto& thread : _once_workerThreads) thread.join(); + + _once_workerThreads.clear(); + + for (auto& thread : _loop_workerThreads) + thread.join(); + + _loop_workerThreads.clear(); } -void MapUpdater::wait() +void MapUpdater::waitUpdateOnces() { std::unique_lock lock(_lock); - while (pending_requests > 0) - _condition.wait(lock); + while (pending_once_requests > 0) + _onces_condition.wait(lock); + + lock.unlock(); } -void MapUpdater::join() +void MapUpdater::enableUpdateLoop(bool enable) { - wait(); - deactivate(); + _enable_updates_loop = enable; } -bool MapUpdater::activated() +void MapUpdater::waitUpdateLoops() { - return _workerThreads.size() > 0; + std::unique_lock lock(_lock); + + while (pending_loop_requests > 0) + _loops_condition.wait(lock); + + lock.unlock(); } -void MapUpdater::update_finished() +void MapUpdater::spawnMissingOnceUpdateThreads() { - std::lock_guard lock(_lock); + for (uint32 i = _once_workerThreads.size(); i < pending_once_requests; i++) + _once_workerThreads.push_back(std::thread(&MapUpdater::OnceWorkerThread, this)); +} + +//void MapUpdater::join() +//{ +// wait(); +// deactivate(); +//} - --pending_requests; - _condition.notify_all(); +bool MapUpdater::activated() +{ + return _loop_workerThreads.size() > 0; } -void MapUpdater::schedule_update(Worker* worker) +void MapUpdater::schedule_update(Map& map, Worker* worker) { std::lock_guard lock(_lock); - ++pending_requests; - _queue.Push(std::move(worker)); + // MapInstanced re schedule the instances it contains by itself, so we want to call it only once + // Also currently test maps needs to be updated once per world update + bool useLagMitigation = false; + if (useLagMitigation && map.Instanceable() +#ifdef ENABLE_PLAYERBOTS + && map.HasRealPlayers() +#endif + ) + { + pending_loop_requests++; + _loop_queue.Push(std::move(worker)); + } + else + { + pending_once_requests++; + _once_queue.Push(std::move(worker)); + } + + spawnMissingOnceUpdateThreads(); } -void MapUpdater::WorkerThread() +void MapUpdater::LoopWorkerThread(std::atomic* enable_instance_updates_loop) { while (true) { Worker* request = nullptr; - _queue.WaitAndPop(request); + _loop_queue.WaitAndPop(request); if (_cancelationToken) + { + if (request) + loopMapFinished(); + return; + } + + MANGOS_ASSERT(request); + request->execute(); + + //repush at end of queue, or delete if loop has been disabled by MapManager + if (!(*enable_instance_updates_loop)) { delete request; + loopMapFinished(); + } + else { + _loop_queue.Push(std::move(request)); + } + } +} + +void MapUpdater::OnceWorkerThread() +{ + while (true) + { + Worker* request = nullptr; + + _once_queue.WaitAndPop(request); + + if (_cancelationToken) + { + if (request) + onceMapFinished(); return; } + MANGOS_ASSERT(request); request->execute(); delete request; + onceMapFinished(); } +} + +void MapUpdater::onceMapFinished() +{ + std::lock_guard lock(_lock); + MANGOS_ASSERT(pending_once_requests > 0); + --pending_once_requests; + if (pending_once_requests == 0) + _onces_condition.notify_all(); +} + +void MapUpdater::loopMapFinished() +{ + std::lock_guard lock(_lock); + MANGOS_ASSERT(pending_loop_requests > 0); + --pending_loop_requests; + if (pending_loop_requests == 0) + _loops_condition.notify_all(); } \ No newline at end of file diff --git a/src/game/Maps/MapUpdater.h b/src/game/Maps/MapUpdater.h index 2a4412704b..2e5bffe7d1 100644 --- a/src/game/Maps/MapUpdater.h +++ b/src/game/Maps/MapUpdater.h @@ -21,6 +21,7 @@ #include "Platform/Define.h" #include "Util/ProducerConsumerQueue.h" +#include "Maps/Map.h" #include #include @@ -33,9 +34,10 @@ class Worker; class MapUpdater { public: - MapUpdater() : _cancelationToken(false), pending_requests(0) {} + MapUpdater() : _cancelationToken(false), _enable_updates_loop(false), pending_once_requests(0), pending_loop_requests(0) {} MapUpdater(size_t num_threads); MapUpdater(const MapUpdater&) = delete; + ~MapUpdater(); void activate(size_t num_threads); void deactivate(); @@ -43,19 +45,39 @@ class MapUpdater void join(); bool activated(); void update_finished(); - void schedule_update(Worker* worker); + void schedule_update(Map& map, Worker* worker); + + void waitUpdateOnces(); + void enableUpdateLoop(bool enable); + void waitUpdateLoops(); private: - ProducerConsumerQueue _queue; + void onceMapFinished(); + void loopMapFinished(); + + //this will ensure once_map_workerThreads match the pending_once_maps count + void spawnMissingOnceUpdateThreads(); + + ProducerConsumerQueue _loop_queue; + ProducerConsumerQueue _once_queue; - std::vector _workerThreads; + std::vector _loop_workerThreads; + std::vector _once_workerThreads; std::atomic _cancelationToken; + std::atomic _enable_updates_loop; std::mutex _lock; - std::condition_variable _condition; - size_t pending_requests; + std::condition_variable _loops_condition; //notified when an update loop request is finished + std::condition_variable _onces_condition; //notified when an update once request is finished + size_t pending_loop_requests; + size_t pending_once_requests; - void WorkerThread(); + /* Loop workers keep running and processing _loop_queue, updating maps and requeuing them afterwards. + When onceMapsFinished becomes true, the worker finish the current request and delete the request instead of requeuing it. + */ + void LoopWorkerThread(std::atomic* onceMapsFinished); + //Single update, descrease pending_once_maps when done + void OnceWorkerThread(); }; -#endif //_MAP_UPDATER_H_INCLUDED \ No newline at end of file +#endif //_MAP_UPDATER_H_INCLUDED diff --git a/src/game/Maps/MapWorkers.h b/src/game/Maps/MapWorkers.h index 5cbcce736d..b3218dbfaa 100644 --- a/src/game/Maps/MapWorkers.h +++ b/src/game/Maps/MapWorkers.h @@ -32,7 +32,6 @@ class Worker Worker(MapUpdater& updater) : m_updater(updater) {} virtual ~Worker() = default; virtual void execute() {}; - protected: MapUpdater& GetWorker() { return m_updater; } @@ -44,18 +43,22 @@ class MapUpdateWorker : public Worker { public: MapUpdateWorker(Map& map, uint32 diff, MapUpdater& updater) : - Worker(updater), m_map(map), m_diff(diff) + Worker(updater), m_map(map), m_diff(diff), m_loopCount(0) {} void execute() override { - m_map.Update(m_diff); - GetWorker().update_finished(); + m_map.DoUpdate(m_diff, uint32(100)); + m_loopCount++; + if (m_loopCount > 1) + sLog.outBasic("Instance Map %u delay mitigation, additional runs: %u", m_map.GetId(), m_loopCount - 1); + //GetWorker().update_finished(); } private: Map& m_map; uint32 m_diff; + uint32 m_loopCount; }; class GridCrawler : public Worker diff --git a/src/game/Maps/SpawnManager.cpp b/src/game/Maps/SpawnManager.cpp index b5237b37a7..d63584d077 100644 --- a/src/game/Maps/SpawnManager.cpp +++ b/src/game/Maps/SpawnManager.cpp @@ -49,6 +49,36 @@ SpawnManager::~SpawnManager() void SpawnManager::Initialize() { + time_t now = time(nullptr); + std::vector* dynGuidCreatures = sObjectMgr.GetCreatureDynGuidForMap(m_map.GetId()); + if (dynGuidCreatures) + { + for (uint32 dbGuid : *dynGuidCreatures) + { + if (m_map.GetPersistentState()->GetCreatureRespawnTime(dbGuid) < now) + { + auto data = sObjectMgr.GetCreatureData(dbGuid); + m_map.GetPersistentState()->AddCreatureToGrid(dbGuid, data); + } + else + AddCreature(dbGuid); + } + } + std::vector* dynGuidGameObjects = sObjectMgr.GetGameObjectDynGuidForMap(m_map.GetId()); + if (dynGuidGameObjects) + { + for (uint32 dbGuid : *dynGuidGameObjects) + { + if (m_map.GetPersistentState()->GetGORespawnTime(dbGuid) < now) + { + auto data = sObjectMgr.GetGOData(dbGuid); + m_map.GetPersistentState()->AddGameobjectToGrid(dbGuid, data); + } + else + AddGameObject(dbGuid); + } + } + auto spawnGroupData = m_map.GetMapDataContainer().GetSpawnGroups(); for (auto& groupData : spawnGroupData->spawnGroupMap) { @@ -78,15 +108,19 @@ void SpawnManager::Initialize() void SpawnManager::AddCreature(uint32 dbguid) { time_t respawnTime = m_map.GetPersistentState()->GetCreatureRespawnTime(dbguid); - m_spawns.emplace_back(TimePoint(std::chrono::seconds(respawnTime)), dbguid, HIGHGUID_UNIT); - std::sort(m_spawns.begin(), m_spawns.end()); + if (m_updated) + m_deferredSpawns.emplace_back(TimePoint(std::chrono::seconds(respawnTime)), dbguid, HIGHGUID_UNIT); + else + m_spawns.emplace_back(TimePoint(std::chrono::seconds(respawnTime)), dbguid, HIGHGUID_UNIT); } void SpawnManager::AddGameObject(uint32 dbguid) { time_t respawnTime = m_map.GetPersistentState()->GetGORespawnTime(dbguid); - m_spawns.emplace_back(TimePoint(std::chrono::seconds(respawnTime)), dbguid, HIGHGUID_GAMEOBJECT); - std::sort(m_spawns.begin(), m_spawns.end()); + if (m_updated) + m_deferredSpawns.emplace_back(TimePoint(std::chrono::seconds(respawnTime)), dbguid, HIGHGUID_GAMEOBJECT); + else + m_spawns.emplace_back(TimePoint(std::chrono::seconds(respawnTime)), dbguid, HIGHGUID_GAMEOBJECT); } void SpawnManager::RespawnCreature(uint32 dbguid, uint32 respawnDelay) @@ -113,8 +147,6 @@ void SpawnManager::RespawnCreature(uint32 dbguid, uint32 respawnDelay) } else if (respawnDelay == 0) (*itr).ConstructForMap(m_map); - if (respawnDelay > 0) - std::sort(m_spawns.begin(), m_spawns.end()); } void SpawnManager::RespawnGameObject(uint32 dbguid, uint32 respawnDelay) @@ -141,8 +173,6 @@ void SpawnManager::RespawnGameObject(uint32 dbguid, uint32 respawnDelay) } else if (respawnDelay == 0) (*itr).ConstructForMap(m_map); - if (respawnDelay > 0) - std::sort(m_spawns.begin(), m_spawns.end()); } void SpawnManager::RespawnAll() @@ -160,6 +190,13 @@ void SpawnManager::RespawnAll() void SpawnManager::Update() { + m_updated = true; + if (!m_deferredSpawns.empty()) // cannot insert during update + { + m_spawns.reserve(m_spawns.size() + m_spawns.size()); + std::move(std::begin(m_deferredSpawns), std::end(m_deferredSpawns), std::back_inserter(m_deferredSpawns)); + m_deferredSpawns.clear(); + } auto now = m_map.GetCurrentClockTime(); for (auto itr = m_spawns.begin(); itr != m_spawns.end();) { @@ -170,7 +207,9 @@ void SpawnManager::Update() else ++itr; } + m_updated = false; + // spawn groups are safe from this for (auto& group : m_spawnGroups) group.second->Update(); } diff --git a/src/game/Maps/SpawnManager.h b/src/game/Maps/SpawnManager.h index d0354ddf3c..c1b3adb9dc 100644 --- a/src/game/Maps/SpawnManager.h +++ b/src/game/Maps/SpawnManager.h @@ -73,8 +73,10 @@ class SpawnManager private: Map& m_map; + std::vector m_deferredSpawns; std::vector m_spawns; // must only be erased from in Update std::map m_spawnGroups; + bool m_updated; }; #endif \ No newline at end of file diff --git a/src/game/MotionGenerators/MotionMaster.cpp b/src/game/MotionGenerators/MotionMaster.cpp index 14ae64795a..ef202a0848 100644 --- a/src/game/MotionGenerators/MotionMaster.cpp +++ b/src/game/MotionGenerators/MotionMaster.cpp @@ -417,12 +417,12 @@ void MotionMaster::MovePointTOL(uint32 id, float x, float y, float z, bool takeO Mutate(new PointTOLMovementGenerator(id, x, y, z, takeOff, forcedMovement)); } -void MotionMaster::MovePath(std::vector& path, ForcedMovement forcedMovement, bool flying) +void MotionMaster::MovePath(std::vector& path, ForcedMovement forcedMovement, bool flying, bool cyclic) { - return MovePath(path, 0, forcedMovement, flying); + return MovePath(path, 0, forcedMovement, flying, cyclic); } -void MotionMaster::MovePath(std::vector& path, float o, ForcedMovement forcedMovement, bool flying) +void MotionMaster::MovePath(std::vector& path, float o, ForcedMovement forcedMovement, bool flying, bool cyclic) { if (path.empty()) return; @@ -435,7 +435,7 @@ void MotionMaster::MovePath(std::vector& path, float o, ForcedMove else DEBUG_FILTER_LOG(LOG_FILTER_AI_AND_MOVEGENSS, "%s follows a pre-calculated path to X: %f Y: %f Z: %f", m_owner->GetGuidStr().c_str(), x, y, z); - Mutate(new FixedPathMovementGenerator(path, o, forcedMovement, flying)); + Mutate(new FixedPathMovementGenerator(path, o, forcedMovement, flying, 0.0f, 0, cyclic)); } void MotionMaster::MovePath(int32 pathId, WaypointPathOrigin wpOrigin /*= PATH_NO_PATH*/, ForcedMovement forcedMovement, bool flying, float speed, bool cyclic, ObjectGuid guid/* = ObjectGuid()*/) diff --git a/src/game/MotionGenerators/MotionMaster.h b/src/game/MotionGenerators/MotionMaster.h index 6bea821270..97303efc31 100644 --- a/src/game/MotionGenerators/MotionMaster.h +++ b/src/game/MotionGenerators/MotionMaster.h @@ -145,8 +145,8 @@ class MotionMaster : private std::stack void MovePoint(uint32 id, Position const& position, ForcedMovement forcedMovement = FORCED_MOVEMENT_NONE, float speed = 0.f, bool generatePath = true, ObjectGuid guid = ObjectGuid(), uint32 relayId = 0); void MovePoint(uint32 id, float x, float y, float z, ForcedMovement forcedMovement = FORCED_MOVEMENT_NONE, bool generatePath = true); void MovePointTOL(uint32 id, float x, float y, float z, bool takeOff, ForcedMovement forcedMovement = FORCED_MOVEMENT_NONE); - void MovePath(std::vector& path, ForcedMovement forcedMovement = FORCED_MOVEMENT_NONE, bool flying = false); - void MovePath(std::vector& path, float o, ForcedMovement forcedMovement = FORCED_MOVEMENT_NONE, bool flying = false); + void MovePath(std::vector& path, ForcedMovement forcedMovement = FORCED_MOVEMENT_NONE, bool flying = false, bool cyclic = true); + void MovePath(std::vector& path, float o, ForcedMovement forcedMovement = FORCED_MOVEMENT_NONE, bool flying = false, bool cyclic = true); // MovePath can not change speed or flying mid path due to how it works - if you wish to do that, split it into two paths void MovePath(int32 pathId = 0, WaypointPathOrigin wpOrigin = PATH_NO_PATH, ForcedMovement forcedMovement = FORCED_MOVEMENT_NONE, bool flying = false, float speed = 0.f, bool cyclic = false, ObjectGuid guid = ObjectGuid()); void MoveRetreat(float x, float y, float z, float o, uint32 delay); diff --git a/src/game/MotionGenerators/MovementHandler.cpp b/src/game/MotionGenerators/MovementHandler.cpp index 7d3a215d6a..083a4b3925 100644 --- a/src/game/MotionGenerators/MovementHandler.cpp +++ b/src/game/MotionGenerators/MovementHandler.cpp @@ -66,6 +66,13 @@ void WorldSession::HandleMoveWorldportAckOpcode() // get the destination map entry, not the current one, this will fix homebind and reset greeting MapEntry const* mEntry = sMapStore.LookupEntry(loc.mapid); + + // stop if continent crashed + if (mEntry->IsContinent() && sMapMgr.IsContinentCrashed(mEntry->MapID)) + { + GetPlayer()->SetSemaphoreTeleportFar(false); + return; + } auto returnHomeFunc = [this, player = GetPlayer(), old_loc, loc]() { @@ -276,9 +283,22 @@ void WorldSession::HandleMoveTeleportAckOpcode(WorldPacket& recv_data) WorldLocation const& dest = plMover->GetTeleportDest(); + // send MSG_MOVE_TELEPORT to observers around old position + SendTeleportToObservers(dest.coord_x, dest.coord_y, dest.coord_z, dest.orientation); + +#ifdef ENABLE_PLAYERBOTS + // interrupt moving for bot if any + if (plMover->GetPlayerbotAI() && !plMover->GetMotionMaster()->empty()) + { + if (MovementGenerator* movgen = plMover->GetMotionMaster()->top()) + movgen->Interrupt(*plMover); + } +#endif + plMover->SetDelayedZoneUpdate(false, 0); plMover->SetPosition(dest.coord_x, dest.coord_y, dest.coord_z, dest.orientation, true); + plMover->m_movementInfo.ChangePosition(dest.coord_x, dest.coord_y, dest.coord_z, dest.orientation); plMover->SetFallInformation(0, dest.coord_z); @@ -291,15 +311,26 @@ void WorldSession::HandleMoveTeleportAckOpcode(WorldPacket& recv_data) uint32 newzone, newarea; plMover->GetZoneAndAreaId(newzone, newarea); - plMover->UpdateZone(newzone, newarea); // new zone if (old_zone != newzone) + plMover->UpdateZone(newzone, newarea); + + // honorless target + if (plMover->pvpInfo.inPvPEnforcedArea) + plMover->CastSpell(plMover, 2479, TRIGGERED_OLD_TRIGGERED); + +#ifdef ENABLE_PLAYERBOTS + // reset moving for bot if any + if (plMover->GetPlayerbotAI() && !plMover->GetMotionMaster()->empty()) { - // honorless target - if (plMover->pvpInfo.inPvPEnforcedArea) - plMover->CastSpell(plMover, 2479, TRIGGERED_OLD_TRIGGERED); + if (MovementGenerator* movgen = plMover->GetMotionMaster()->top()) + movgen->Reset(*plMover); } +#endif + + // send MSG_MOVE_TELEPORT to observers around new position + SendTeleportToObservers(dest.coord_x, dest.coord_y, dest.coord_z, dest.orientation); m_anticheat->Teleport({ dest.coord_x, dest.coord_y, dest.coord_z, dest.orientation }); @@ -533,6 +564,17 @@ void WorldSession::SendKnockBack(Unit* who, float angle, float horizontalSpeed, m_anticheat->KnockBack(horizontalSpeed, -verticalSpeed, vcos, vsin); } +void WorldSession::SendTeleportToObservers(float x, float y, float z, float orientation) +{ + WorldPacket data(MSG_MOVE_TELEPORT, 64); + data << _player->GetPackGUID(); + // copy moveinfo to change position to where player is teleporting + MovementInfo moveInfo = _player->m_movementInfo; + moveInfo.ChangePosition(x, y, z, orientation); + data << moveInfo; + _player->SendMessageToSetExcept(data, _player); +} + void WorldSession::HandleMoveFlagChangeOpcode(WorldPacket& recv_data) { DEBUG_LOG("%s", recv_data.GetOpcodeName()); diff --git a/src/game/MotionGenerators/PathFinder.cpp b/src/game/MotionGenerators/PathFinder.cpp index 5cf6910fb5..b6a05ffb06 100644 --- a/src/game/MotionGenerators/PathFinder.cpp +++ b/src/game/MotionGenerators/PathFinder.cpp @@ -32,6 +32,27 @@ #include ////////////////// PathFinder ////////////////// +PathFinder::PathFinder() : + m_polyLength(0), m_type(PATHFIND_BLANK), + m_useStraightPath(false), m_forceDestination(false), m_straightLine(false), m_pointPathLimit(MAX_POINT_PATH_LENGTH), // TODO: Fix legitimate long paths + m_sourceUnit(nullptr), m_navMesh(nullptr), m_navMeshQuery(nullptr), m_cachedPoints(m_pointPathLimit* VERTEX_SIZE), m_pathPolyRefs(m_pointPathLimit), m_smoothPathPolyRefs(m_pointPathLimit), m_defaultMapId(0) +{ + //MMAP::MMapManager* mmap = MMAP::MMapFactory::createOrGetMMapManager(); + //m_defaultNavMeshQuery = mmap->GetNavMeshQuery(mapId, instanceId); + + //createFilter(); +} + +PathFinder::PathFinder(uint32 mapId, uint32 instanceId) : + m_polyLength(0), m_type(PATHFIND_BLANK), + m_useStraightPath(false), m_forceDestination(false), m_straightLine(false), m_pointPathLimit(MAX_POINT_PATH_LENGTH), // TODO: Fix legitimate long paths + m_sourceUnit(nullptr), m_navMesh(nullptr), m_navMeshQuery(nullptr), m_cachedPoints(m_pointPathLimit* VERTEX_SIZE), m_pathPolyRefs(m_pointPathLimit), m_smoothPathPolyRefs(m_pointPathLimit), m_defaultMapId(mapId) +{ + MMAP::MMapManager* mmap = MMAP::MMapFactory::createOrGetMMapManager(); + m_defaultNavMeshQuery = mmap->GetNavMeshQuery(mapId, instanceId); + + createFilter(); +} PathFinder::PathFinder(const Unit* owner, bool ignoreNormalization) : m_type(PATHFIND_BLANK), m_useStraightPath(false), m_forceDestination(false), m_straightLine(false), m_pointPathLimit(MAX_POINT_PATH_LENGTH), // TODO: Fix legitimate long paths @@ -52,12 +73,13 @@ PathFinder::PathFinder(const Unit* owner, bool ignoreNormalization) : PathFinder::~PathFinder() { - DEBUG_FILTER_LOG(LOG_FILTER_PATHFINDING, "++ PathFinder::~PathInfo() for %u \n", m_sourceUnit->GetGUIDLow()); + if (m_sourceUnit) + DEBUG_FILTER_LOG(LOG_FILTER_PATHFINDING, "++ PathFinder::~PathInfo() for %u \n", m_sourceUnit->GetGUIDLow()); } void PathFinder::SetCurrentNavMesh() { - if (MMAP::MMapFactory::IsPathfindingEnabled(m_sourceUnit->GetMapId(), m_sourceUnit)) + if (m_sourceUnit && MMAP::MMapFactory::IsPathfindingEnabled(m_sourceUnit->GetMapId(), m_sourceUnit)) { MMAP::MMapManager* mmap = MMAP::MMapFactory::createOrGetMMapManager(); if (GenericTransport* transport = m_sourceUnit->GetTransport()) @@ -70,6 +92,15 @@ void PathFinder::SetCurrentNavMesh() m_navMeshQuery = m_defaultNavMeshQuery; } + if (m_navMeshQuery) + m_navMesh = m_navMeshQuery->getAttachedNavMesh(); + } + else if (!m_sourceUnit && MMAP::MMapFactory::IsPathfindingEnabled(m_defaultMapId, nullptr)) + { + MMAP::MMapManager* mmap = MMAP::MMapFactory::createOrGetMMapManager(); + + m_navMeshQuery = m_defaultNavMeshQuery; + if (m_navMeshQuery) m_navMesh = m_navMeshQuery->getAttachedNavMesh(); } @@ -94,13 +125,14 @@ bool PathFinder::calculate(Vector3 const& start, Vector3 const& dest, bool force return false; #ifdef BUILD_METRICS - metric::duration meas("pathfinder.calculate", { - { "entry", std::to_string(m_sourceUnit->GetEntry()) }, - { "guid", std::to_string(m_sourceUnit->GetGUIDLow()) }, - { "unit_type", std::to_string(m_sourceUnit->GetGUIDHigh()) }, - { "map_id", std::to_string(m_sourceUnit->GetMapId()) }, - { "instance_id", std::to_string(m_sourceUnit->GetInstanceId()) } - }, 1000); + if (m_sourceUnit) + metric::duration meas("pathfinder.calculate", { + { "entry", std::to_string(m_sourceUnit->GetEntry()) }, + { "guid", std::to_string(m_sourceUnit->GetGUIDLow()) }, + { "unit_type", std::to_string(m_sourceUnit->GetGUIDHigh()) }, + { "map_id", std::to_string(m_sourceUnit->GetMapId()) }, + { "instance_id", std::to_string(m_sourceUnit->GetInstanceId()) } + }, 1000); #endif //if (GenericTransport* transport = m_sourceUnit->GetTransport()) @@ -115,11 +147,12 @@ bool PathFinder::calculate(Vector3 const& start, Vector3 const& dest, bool force SetCurrentNavMesh(); - DEBUG_FILTER_LOG(LOG_FILTER_PATHFINDING, "++ PathFinder::calculate() for %u \n", m_sourceUnit->GetGUIDLow()); + if (m_sourceUnit) + DEBUG_FILTER_LOG(LOG_FILTER_PATHFINDING, "++ PathFinder::calculate() for %u \n", m_sourceUnit->GetGUIDLow()); // make sure navMesh works - we can run on map w/o mmap // check if the start and end point have a .mmtile loaded (can we pass via not loaded tile on the way?) - if (!m_navMesh || !m_navMeshQuery || m_sourceUnit->hasUnitState(UNIT_STAT_IGNORE_PATHFINDING) || + if (!m_navMesh || !m_navMeshQuery || (m_sourceUnit && m_sourceUnit->hasUnitState(UNIT_STAT_IGNORE_PATHFINDING)) || !HaveTile(start) || !HaveTile(dest)) { BuildShortcut(); @@ -133,6 +166,128 @@ bool PathFinder::calculate(Vector3 const& start, Vector3 const& dest, bool force return true; } +void PathFinder::setArea(uint32 mapId, float x, float y, float z, uint32 area, float range) +{ + if (!MaNGOS::IsValidMapCoord(x, y, z)) + return; + + MMAP::MMapManager* mmap = MMAP::MMapFactory::createOrGetMMapManager(); + + dtNavMeshQuery const* query = mmap->GetNavMeshQuery(mapId, 0); + dtNavMesh const* cnavMesh = mmap->GetNavMesh(mapId); + dtNavMesh* navMesh = const_cast (cnavMesh); + dtQueryFilter m_filter; + + uint16 includeFlags = 0; + uint16 excludeFlags = 0; + + + includeFlags |= (NAV_GROUND | NAV_WATER); + excludeFlags |= (NAV_MAGMA_SLIME | NAV_GROUND_STEEP); + + + m_filter.setIncludeFlags(includeFlags); + m_filter.setExcludeFlags(excludeFlags); + + dtPolyRef polyRef = INVALID_POLYREF; + + + float point[VERTEX_SIZE] = { y, z, x }; + float extents[VERTEX_SIZE] = { 5.0f, 5.0f, 5.0f }; // bounds of poly search area + float closestPoint[VERTEX_SIZE] = { 0.0f, 0.0f, 0.0f }; + //unsigned int dtResult = INVALID_POLYREF; + //m_navMeshQuery->getNodePool(); + + dtStatus dtResult = query->findNearestPoly(point, extents, &m_filter, &polyRef, closestPoint); + static const int MAX_POLYS = 2560; + dtPolyRef m_polys[MAX_POLYS]; + dtPolyRef m_parent[MAX_POLYS]; + int m_npolys; + + if (dtResult == DT_FAILURE || polyRef == INVALID_POLYREF) + return; + + query->findPolysAroundCircle(polyRef, closestPoint, range, &m_filter, m_polys, m_parent, 0, &m_npolys, MAX_POLYS); + + if (dtResult == DT_FAILURE || polyRef == INVALID_POLYREF) + return; + + for (int i = 0; i < m_npolys; i++) + { + unsigned char curArea; + dtStatus status = navMesh->getPolyArea(m_polys[i], &curArea); + + if (curArea != 8 && curArea < area) + dtStatus status = navMesh->setPolyArea(m_polys[i], area); + } +} + +uint32 PathFinder::getArea(uint32 mapId, float x, float y, float z) +{ + if (!MaNGOS::IsValidMapCoord(x, y, z)) + return 99; + + MMAP::MMapManager* mmap = MMAP::MMapFactory::createOrGetMMapManager(); + + dtNavMeshQuery const* query = mmap->GetNavMeshQuery(mapId, 0); + dtNavMesh const* cnavMesh = mmap->GetNavMesh(mapId); + dtNavMesh* navMesh = const_cast (cnavMesh); + dtQueryFilter m_filter; + dtPolyRef polyRef = INVALID_POLYREF; + + + float point[VERTEX_SIZE] = { y, z, x }; + float extents[VERTEX_SIZE] = { 5.0f, 5.0f, 5.0f }; // bounds of poly search area + float closestPoint[VERTEX_SIZE] = { 0.0f, 0.0f, 0.0f }; + + dtStatus dtResult = query->findNearestPoly(point, extents, &m_filter, &polyRef, closestPoint); + + if (dtResult == DT_FAILURE || polyRef == INVALID_POLYREF) + return 99; + + unsigned char area; + + dtStatus status = navMesh->getPolyArea(polyRef, &area); + + return area; +} + +unsigned short PathFinder::getFlags(uint32 mapId, float x, float y, float z) +{ + if (!MaNGOS::IsValidMapCoord(x, y, z)) + return 0; + + MMAP::MMapManager* mmap = MMAP::MMapFactory::createOrGetMMapManager(); + + dtNavMeshQuery const* query = mmap->GetNavMeshQuery(mapId, 0); + dtNavMesh const* cnavMesh = mmap->GetNavMesh(mapId); + dtNavMesh* navMesh = const_cast (cnavMesh); + dtQueryFilter m_filter; + dtPolyRef polyRef = INVALID_POLYREF; + + + float point[VERTEX_SIZE] = { y, z, x }; + float extents[VERTEX_SIZE] = { 5.0f, 5.0f, 5.0f }; // bounds of poly search area + float closestPoint[VERTEX_SIZE] = { 0.0f, 0.0f, 0.0f }; + + dtStatus dtResult = query->findNearestPoly(point, extents, &m_filter, &polyRef, closestPoint); + + if (dtResult == DT_FAILURE || polyRef == INVALID_POLYREF) + return 0; + + unsigned short flags; + + dtStatus status = navMesh->getPolyFlags(polyRef, &flags); + + return flags; +} + + +void PathFinder::setAreaCost(uint32 area, float cost) +{ + m_filter.setAreaCost(area, cost); +} + dtPolyRef PathFinder::getPathPolyByPosition(const dtPolyRef* polyPath, uint32 polyPathSize, const float* point, float* distance, const float maxDist) const { if (!polyPath || !polyPathSize) @@ -216,7 +371,7 @@ dtPolyRef PathFinder::getPolyByLocation(const float* point, float* distance) void PathFinder::BuildPolyPath(const Vector3& startPos, const Vector3& endPos) { // *** getting start/end poly logic *** - if (m_sourceUnit->GetMap()->IsDungeon()) + if (m_sourceUnit && m_sourceUnit->GetMap()->IsDungeon()) { float distance = sqrt((endPos.x - startPos.x) * (endPos.x - startPos.x) + (endPos.y - startPos.y) * (endPos.y - startPos.y) + (endPos.z - startPos.z) * (endPos.z - startPos.z)); if (distance > 300.f) @@ -229,8 +384,8 @@ void PathFinder::BuildPolyPath(const Vector3& startPos, const Vector3& endPos) m_pathPolyRefs.resize(m_pointPathLimit); } float distToStartPoly, distToEndPoly; - float startPoint[VERTEX_SIZE] = {startPos.y, startPos.z, startPos.x}; - float endPoint[VERTEX_SIZE] = {endPos.y, endPos.z, endPos.x}; + float startPoint[VERTEX_SIZE] = { startPos.y, startPos.z, startPos.x }; + float endPoint[VERTEX_SIZE] = { endPos.y, endPos.z, endPos.x }; dtPolyRef startPoly = getPolyByLocation(startPoint, &distToStartPoly); dtPolyRef endPoly = getPolyByLocation(endPoint, &distToEndPoly); @@ -246,10 +401,10 @@ void PathFinder::BuildPolyPath(const Vector3& startPos, const Vector3& endPos) BuildShortcut(); // Check for swimming or flying shortcut - if ((startPoly == INVALID_POLYREF && m_sourceUnit->GetTerrain()->IsSwimmable(startPos.x, startPos.y, startPos.z)) || - (endPoly == INVALID_POLYREF && m_sourceUnit->GetTerrain()->IsSwimmable(endPos.x, endPos.y, endPos.z))) + if (m_sourceUnit && ((startPoly == INVALID_POLYREF && m_sourceUnit->GetTerrain()->IsSwimmable(startPos.x, startPos.y, startPos.z)) || + (endPoly == INVALID_POLYREF && m_sourceUnit->GetTerrain()->IsSwimmable(endPos.x, endPos.y, endPos.z)))) m_type = m_sourceUnit->CanSwim() ? PathType(PATHFIND_NORMAL | PATHFIND_NOT_USING_PATH) : PATHFIND_NOPATH; - else + else if (m_sourceUnit) { if (m_sourceUnit->GetTypeId() != TYPEID_PLAYER) m_type = m_sourceUnit->CanFly() ? PathType(PATHFIND_NORMAL | PATHFIND_NOT_USING_PATH) : PATHFIND_NOPATH; @@ -268,7 +423,7 @@ void PathFinder::BuildPolyPath(const Vector3& startPos, const Vector3& endPos) bool buildShotrcut = false; Vector3 p = (distToStartPoly > 7.0f) ? startPos : endPos; - if (m_sourceUnit->GetTerrain()->IsUnderWater(p.x, p.y, p.z)) + if (m_sourceUnit && m_sourceUnit->GetTerrain()->IsUnderWater(p.x, p.y, p.z)) { DEBUG_FILTER_LOG(LOG_FILTER_PATHFINDING, "++ BuildPolyPath :: underWater case\n"); if (m_sourceUnit->CanSwim()) @@ -277,10 +432,16 @@ void PathFinder::BuildPolyPath(const Vector3& startPos, const Vector3& endPos) else { DEBUG_FILTER_LOG(LOG_FILTER_PATHFINDING, "++ BuildPolyPath :: flying case\n"); - if (m_sourceUnit->CanFly()) + if (m_sourceUnit && m_sourceUnit->CanFly()) buildShotrcut = true; } + if (m_sourceUnit && m_sourceUnit->IsPlayer() && IsPointHigherThan(getActualEndPosition(), getStartPosition())) + { + sLog.outDebug("%s (%u) Path Shortcut skipped: endPoint is higher", m_sourceUnit->GetName(), m_sourceUnit->GetGUIDLow()); + buildShotrcut = false; + } + if (buildShotrcut) { BuildShortcut(); @@ -330,10 +491,11 @@ void PathFinder::BuildPolyPath(const Vector3& startPos, const Vector3& endPos) // here to catch few bugs if (m_pathPolyRefs[pathStartIndex] == INVALID_POLYREF) { - sLog.outError("Invalid poly ref in BuildPolyPath. polyLength: %u, pathStartIndex: %u," - " startPos: %s, endPos: %s, mapId: %u", - m_polyLength, pathStartIndex, startPos.toString().c_str(), endPos.toString().c_str(), - m_sourceUnit->GetMapId()); + if (m_sourceUnit) + sLog.outError("Invalid poly ref in BuildPolyPath. polyLength: %u, pathStartIndex: %u," + " startPos: %s, endPos: %s, mapId: %u", + m_polyLength, pathStartIndex, startPos.toString().c_str(), endPos.toString().c_str(), + m_sourceUnit->GetMapId()); break; } @@ -470,30 +632,30 @@ void PathFinder::BuildPolyPath(const Vector3& startPos, const Vector3& endPos) if (!m_straightLine) { dtResult = m_navMeshQuery->findPath( - startPoly, // start polygon - endPoly, // end polygon - startPoint, // start position - endPoint, // end position - &m_filter, // polygon search filter - m_pathPolyRefs.data(), // [out] path - (int*)&m_polyLength, - m_pointPathLimit); // max number of polygons in output path + startPoly, // start polygon + endPoly, // end polygon + startPoint, // start position + endPoint, // end position + &m_filter, // polygon search filter + m_pathPolyRefs.data(), // [out] path + (int*)&m_polyLength, + m_pointPathLimit / 2); // max number of polygons in output path } else { float hit = 0.0f; - float hitNormal[3] = {0.0f, 0.0f, 0.0f}; + float hitNormal[3] = { 0.0f, 0.0f, 0.0f }; dtResult = m_navMeshQuery->raycast( - startPoly, - startPoint, - endPoint, - &m_filter, - &hit, - hitNormal, - m_pathPolyRefs.data(), - (int*)&m_polyLength, - m_pointPathLimit); + startPoly, + startPoint, + endPoint, + &m_filter, + &hit, + hitNormal, + m_pathPolyRefs.data(), + (int*)&m_polyLength, + m_pointPathLimit / 2); // raycast() sets hit to FLT_MAX if there is a ray between start and end if (hit != FLT_MAX) @@ -542,7 +704,16 @@ void PathFinder::BuildPolyPath(const Vector3& startPos, const Vector3& endPos) if (!m_polyLength || dtStatusFailed(dtResult)) { // only happens if we passed bad data to findPath(), or navmesh is messed up - sLog.outError("%u's Path Build failed: 0 length path", m_sourceUnit->GetGUIDLow()); + if (m_sourceUnit) + sLog.outError("%u's Path Build failed: 0 length path", m_sourceUnit->GetGUIDLow()); + + // do not build shortcut for player if endPos is higher or in Battleground + if (m_sourceUnit && m_sourceUnit->IsPlayer() && IsPointHigherThan(getActualEndPosition(), getStartPosition())) + { + sLog.outDebug("%s (%u) Path Shortcut skipped: endPoint is higher", m_sourceUnit->GetName(), m_sourceUnit->GetGUIDLow()); + return; + } + BuildShortcut(); m_type = PATHFIND_NOPATH; return; @@ -730,7 +901,7 @@ void PathFinder::BuildPointPath(const float* startPoint, const float* endPoint) // force the given destination, if needed if (m_forceDestination && - (!(m_type & PATHFIND_NORMAL) || !inRange(getEndPosition(), getActualEndPosition(), 1.0f, 1.0f))) + (!(m_type & PATHFIND_NORMAL) || !inRange(getEndPosition(), getActualEndPosition(), 1.0f, 1.0f))) { // we may want to keep partial subpath if (dist3DSqr(getActualEndPosition(), getEndPosition()) < 0.3f * dist3DSqr(getStartPosition(), getEndPosition())) @@ -754,10 +925,12 @@ void PathFinder::BuildPointPath(const float* startPoint, const float* endPoint) void PathFinder::NormalizePath() { - if (!sWorld.getConfig(CONFIG_BOOL_PATH_FIND_NORMALIZE_Z) || m_ignoreNormalization) + if (!sWorld.getConfig(CONFIG_BOOL_PATH_FIND_NORMALIZE_Z) || m_ignoreNormalization || !m_sourceUnit) return; - GenericTransport* transport = m_sourceUnit->GetTransport(); + GenericTransport* transport; + if (m_sourceUnit) + transport = m_sourceUnit->GetTransport(); for (auto& m_pathPoint : m_pathPoints) { @@ -787,26 +960,44 @@ void PathFinder::BuildShortcut() m_type = PATHFIND_SHORTCUT; } +bool PathFinder::IsPointHigherThan(const Vector3& posOne, const Vector3& posTwo) +{ + return posOne.z > posTwo.z; +} + void PathFinder::createFilter() { uint16 includeFlags = 0; uint16 excludeFlags = 0; - if (m_sourceUnit->GetTypeId() == TYPEID_UNIT) + if (!m_sourceUnit || m_sourceUnit->GetTypeId() == TYPEID_PLAYER) + { + // perfect support not possible, just stay 'safe' + if (!m_sourceUnit || ((Player*)m_sourceUnit)->GetPlayerbotAI()) //Blank or bot-navigation + { + includeFlags |= (NAV_GROUND | NAV_WATER); + excludeFlags |= (NAV_MAGMA_SLIME | NAV_GROUND_STEEP); + + m_filter.setAreaCost(9, 20.0f); //Water + m_filter.setAreaCost(12, 5.0f); //Mob proximity + m_filter.setAreaCost(13, 20.0f); //Mob agro + } + else + { + includeFlags |= (NAV_GROUND | NAV_WATER | NAV_GROUND_STEEP); + excludeFlags |= (NAV_MAGMA_SLIME); + } + } + else if (m_sourceUnit->GetTypeId() == TYPEID_UNIT) { Creature* creature = (Creature*)m_sourceUnit; if (creature->CanWalk()) - includeFlags |= NAV_GROUND; // walk + includeFlags |= (NAV_GROUND | NAV_GROUND_STEEP); // walk // creatures don't take environmental damage if (creature->CanSwim()) includeFlags |= (NAV_WATER | NAV_MAGMA_SLIME); // swim } - else if (m_sourceUnit->GetTypeId() == TYPEID_PLAYER) - { - // perfect support not possible, just stay 'safe' - includeFlags |= (NAV_GROUND | NAV_WATER); - } m_filter.setIncludeFlags(includeFlags); m_filter.setExcludeFlags(excludeFlags); @@ -818,12 +1009,12 @@ void PathFinder::updateFilter() { // allow creatures to cheat and use different movement types if they are moved // forcefully into terrain they can't normally move in - if (m_sourceUnit->IsInWater() || m_sourceUnit->IsUnderwater()) + if (m_sourceUnit && (m_sourceUnit->IsInWater() || m_sourceUnit->IsUnderwater())) { uint16 includedFlags = m_filter.getIncludeFlags(); includedFlags |= getNavTerrain(m_sourceUnit->GetPositionX(), - m_sourceUnit->GetPositionY(), - m_sourceUnit->GetPositionZ()); + m_sourceUnit->GetPositionY(), + m_sourceUnit->GetPositionZ()); m_filter.setIncludeFlags(includedFlags); } @@ -832,7 +1023,7 @@ void PathFinder::updateFilter() NavTerrainFlag PathFinder::getNavTerrain(float x, float y, float z) const { GridMapLiquidData data; - if (m_sourceUnit->GetTerrain()->getLiquidStatus(x, y, z, MAP_ALL_LIQUIDS, &data) == LIQUID_MAP_NO_WATER) + if (m_sourceUnit && m_sourceUnit->GetTerrain()->getLiquidStatus(x, y, z, MAP_ALL_LIQUIDS, &data) == LIQUID_MAP_NO_WATER) return NAV_GROUND; switch (data.type_flags) @@ -850,11 +1041,11 @@ NavTerrainFlag PathFinder::getNavTerrain(float x, float y, float z) const bool PathFinder::HaveTile(const Vector3& p) const { - if (m_sourceUnit->GetTransport()) + if (m_sourceUnit && m_sourceUnit->GetTransport()) return true; int tx = -1, ty = -1; - float point[VERTEX_SIZE] = {p.y, p.z, p.x}; + float point[VERTEX_SIZE] = { p.y, p.z, p.x }; m_navMesh->calcTileLoc(point, &tx, &ty); @@ -916,8 +1107,8 @@ uint32 PathFinder::fixupCorridor(dtPolyRef* path, uint32 npath, uint32 maxPath, } bool PathFinder::getSteerTarget(const float* startPos, const float* endPos, - float minTargetDist, const dtPolyRef* path, uint32 pathSize, - float* steerPos, unsigned char& steerPosFlag, dtPolyRef& steerPosRef) const + float minTargetDist, const dtPolyRef* path, uint32 pathSize, + float* steerPos, unsigned char& steerPosFlag, dtPolyRef& steerPosRef) const { // Find steer target. static const uint32 MAX_STEER_POINTS = 3; @@ -926,7 +1117,7 @@ bool PathFinder::getSteerTarget(const float* startPos, const float* endPos, dtPolyRef steerPathPolys[MAX_STEER_POINTS]; uint32 nsteerPath = 0; dtStatus dtResult = m_navMeshQuery->findStraightPath(startPos, endPos, path, pathSize, - steerPath, steerPathFlags, steerPathPolys, (int*)&nsteerPath, MAX_STEER_POINTS); + steerPath, steerPathFlags, steerPathPolys, (int*)&nsteerPath, MAX_STEER_POINTS); if (!nsteerPath || dtStatusFailed(dtResult)) return false; @@ -936,7 +1127,7 @@ bool PathFinder::getSteerTarget(const float* startPos, const float* endPos, { // Stop at Off-Mesh link or when point is further than slop away. if ((steerPathFlags[ns] & DT_STRAIGHTPATH_OFFMESH_CONNECTION) || - !inRangeYZX(&steerPath[ns * VERTEX_SIZE], startPos, minTargetDist, 1000.0f)) + !inRangeYZX(&steerPath[ns * VERTEX_SIZE], startPos, minTargetDist, 1000.0f)) break; ++ns; } @@ -953,8 +1144,8 @@ bool PathFinder::getSteerTarget(const float* startPos, const float* endPos, } dtStatus PathFinder::findSmoothPath(const float* startPos, const float* endPos, - const dtPolyRef* polyPath, uint32 polyPathSize, - float* smoothPath, int* smoothPathSize, uint32 maxSmoothPathSize) + const dtPolyRef* polyPath, uint32 polyPathSize, + float* smoothPath, int* smoothPathSize, uint32 maxSmoothPathSize) { *smoothPathSize = 0; uint32 nsmoothPath = 0; @@ -1074,7 +1265,7 @@ dtStatus PathFinder::findSmoothPath(const float* startPos, const float* endPos, *smoothPathSize = nsmoothPath; // this is most likely a loop - return nsmoothPath < m_pointPathLimit ? DT_SUCCESS : DT_FAILURE; + return nsmoothPath <= m_pointPathLimit ? DT_SUCCESS : DT_FAILURE; } void PathFinder::ComputePathToRandomPoint(Vector3 const& startPoint, float maxRange) diff --git a/src/game/MotionGenerators/PathFinder.h b/src/game/MotionGenerators/PathFinder.h index 8f1074b9d1..33c34ce0f4 100644 --- a/src/game/MotionGenerators/PathFinder.h +++ b/src/game/MotionGenerators/PathFinder.h @@ -16,6 +16,10 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#ifndef IKE_PATHFINDER +#define IKE_PATHFINDER +#endif + #ifndef MANGOS_PATH_FINDER_H #define MANGOS_PATH_FINDER_H @@ -34,8 +38,8 @@ class Unit; // 74*4.0f=296y number_of_points*interval = max_path_len // this is way more than actual evade range // I think we can safely cut those down even more -#define MAX_PATH_LENGTH 74 -#define MAX_POINT_PATH_LENGTH 74 +#define MAX_PATH_LENGTH 148 //This value is doubled from the original and then used only half by findpath. If the same value is used by findpath and findsmooth path no result will be found by the second at max length. +#define MAX_POINT_PATH_LENGTH 148 #define SMOOTH_PATH_STEP_SIZE 4.0f #define SMOOTH_PATH_SLOP 0.3f @@ -65,6 +69,8 @@ enum PathType class PathFinder { public: + PathFinder(); + PathFinder(uint32 mapId, uint32 instanceId = 0); PathFinder(Unit const* owner, bool ignoreNormalization = false); ~PathFinder(); @@ -88,6 +94,11 @@ class PathFinder PointsArray& getPath() { return m_pathPoints; } PathType getPathType() const { return m_type; } + void setArea(uint32 mapId, float x, float y, float z, uint32 area = 1, float range = 10.0f); + uint32 getArea(uint32 mapId, float x, float y, float z); + unsigned short getFlags(uint32 mapId, float x, float y, float z); + + void setAreaCost(uint32 area = 1, float cost = 0.0f); private: PointsArray m_pathPoints; // our actual (x,y,z) path to the target @@ -141,6 +152,7 @@ class PathFinder void BuildPolyPath(const Vector3& startPos, const Vector3& endPos); void BuildPointPath(const float* startPoint, const float* endPoint); void BuildShortcut(); + bool IsPointHigherThan(const Vector3& posOne, const Vector3& posTwo); NavTerrainFlag getNavTerrain(float x, float y, float z) const; void createFilter(); diff --git a/src/game/MotionGenerators/PathMovementGenerator.cpp b/src/game/MotionGenerators/PathMovementGenerator.cpp index baee2ace74..ca5474e8cd 100644 --- a/src/game/MotionGenerators/PathMovementGenerator.cpp +++ b/src/game/MotionGenerators/PathMovementGenerator.cpp @@ -26,8 +26,8 @@ #include -AbstractPathMovementGenerator::AbstractPathMovementGenerator(const Movement::PointsArray& path, float orientation, int32 offset/* = 0*/) : - m_pathIndex(offset), m_orientation(orientation), m_firstCycle(false), m_startPoint(0), m_speedChanged(false) +AbstractPathMovementGenerator::AbstractPathMovementGenerator(const Movement::PointsArray& path, float orientation, int32 offset/* = 0*/, bool cyclic/* = true*/) : + m_pathIndex(offset), m_orientation(orientation), m_firstCycle(false), m_startPoint(0), m_speedChanged(false), m_cyclic(cyclic) { for (size_t i = 0; i < path.size(); ++i) m_path[i] = { path[i].x, path[i].y, path[i].z, ((i + 1) == path.size() ? orientation : 0), 0, 0 }; diff --git a/src/game/MotionGenerators/PathMovementGenerator.h b/src/game/MotionGenerators/PathMovementGenerator.h index f4d91025e8..48b663abe7 100644 --- a/src/game/MotionGenerators/PathMovementGenerator.h +++ b/src/game/MotionGenerators/PathMovementGenerator.h @@ -29,7 +29,7 @@ class AbstractPathMovementGenerator : public MovementGenerator { public: - explicit AbstractPathMovementGenerator(const Movement::PointsArray& path, float orientation = 0, int32 offset = 0); + explicit AbstractPathMovementGenerator(const Movement::PointsArray& path, float orientation = 0, int32 offset = 0, bool cyclic = true); explicit AbstractPathMovementGenerator(const WaypointPath* path, int32 offset = 0, bool cyclic = false, ObjectGuid guid = ObjectGuid()); void Initialize(Unit& owner) override; @@ -61,10 +61,10 @@ class AbstractPathMovementGenerator : public MovementGenerator class FixedPathMovementGenerator : public AbstractPathMovementGenerator { public: - FixedPathMovementGenerator(const Movement::PointsArray &path, float orientation, uint32 forcedMovement, bool flying = false, float speed = 0, int32 offset = 0) : - AbstractPathMovementGenerator(path, orientation, offset), m_flying(flying), m_speed(speed), m_forcedMovement(forcedMovement) {} - FixedPathMovementGenerator(const Movement::PointsArray& path, uint32 forcedMovement, bool flying = false, float speed = 0, int32 offset = 0) : - FixedPathMovementGenerator(path, 0, forcedMovement, flying, speed, offset) {} + FixedPathMovementGenerator(const Movement::PointsArray &path, float orientation, uint32 forcedMovement, bool flying = false, float speed = 0, int32 offset = 0, bool cyclic = true) : + AbstractPathMovementGenerator(path, orientation, offset, cyclic), m_flying(flying), m_speed(speed), m_forcedMovement(forcedMovement) {} + FixedPathMovementGenerator(const Movement::PointsArray& path, uint32 forcedMovement, bool flying = false, float speed = 0, int32 offset = 0, bool cyclic = true) : + FixedPathMovementGenerator(path, 0, forcedMovement, flying, speed, offset, cyclic) {} FixedPathMovementGenerator(Unit& unit, int32 pathId, WaypointPathOrigin wpOrigin, ForcedMovement forcedMovement, bool flying = false, float speed = 0, int32 offset = 0, bool cyclic = false, ObjectGuid guid = ObjectGuid()); FixedPathMovementGenerator(Creature& creature); diff --git a/src/game/MotionGenerators/TargetedMovementGenerator.cpp b/src/game/MotionGenerators/TargetedMovementGenerator.cpp index f4beb94fcc..edbe4e6ef4 100644 --- a/src/game/MotionGenerators/TargetedMovementGenerator.cpp +++ b/src/game/MotionGenerators/TargetedMovementGenerator.cpp @@ -51,8 +51,16 @@ bool TargetedMovementGeneratorMedium::Update(T& owner, const uint32& time_ // Trying to detect error if (i_target->GetMap() != owner.GetMap()) { - sLog.outCustomLog("TargetedMovementGeneratorMedium::Update(): Target %s left map id %u for map id %u out of order!", - i_target->GetGuidStr().c_str(), i_target->GetMapId(), owner.GetMapId()); + if (i_target.getTarget() && i_target.getSource()) + { + sLog.outCustomLog("TargetedMovementGeneratorMedium::Update(): Target %s left map id %u for map id %u out of order!", + i_target->GetGuidStr().c_str(), i_target->GetMapId(), owner.GetMapId()); + } + else + { + sLog.outCustomLog("TargetedMovementGeneratorMedium::Update(): Target left for map id %u out of order!", + owner.GetMapId()); + } return !static_cast(this)->RemoveOnInvalid(); } @@ -580,7 +588,7 @@ void ChaseMovementGenerator::CutPath(Unit& owner, PointsArray& path) { if (this->i_offset != 0.f) // need to cut path until most distant viable point { - const float dist = (i_offset * CHASE_MOVE_CLOSER_FACTOR) + (this->i_target->GetCombinedCombatReach(&owner, false) * CHASE_DEFAULT_RANGE_FACTOR); + const float dist = (i_offset * (owner.IsPlayer() ? 1.0f : CHASE_MOVE_CLOSER_FACTOR)) + (this->i_target->GetCombinedCombatReach(&owner, false) * CHASE_DEFAULT_RANGE_FACTOR); const float distSquared = (dist * dist); float tarX, tarY, tarZ; this->i_target->GetPosition(tarX, tarY, tarZ); @@ -732,6 +740,9 @@ float FollowMovementGenerator::GetSpeed(Unit& owner) const // Followers sync with master's speed when not in combat // Use default speed when a mix of PC and NPC units involved (escorting?) if (owner.HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PLAYER_CONTROLLED) == i_target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PLAYER_CONTROLLED)) + #ifdef ENABLE_PLAYERBOTS + if (!(!m_boost && owner.IsPlayer() && !((Player*)(&owner))->isRealPlayer())) //Do not speed up bots when not boosting. + #endif speed = i_target->GetSpeedInMotion(); // Catchup boost is not allowed, stop here: diff --git a/src/game/Movement/typedefs.h b/src/game/Movement/typedefs.h index 67e5fe550c..e91b04fbf8 100644 --- a/src/game/Movement/typedefs.h +++ b/src/game/Movement/typedefs.h @@ -67,6 +67,8 @@ namespace Movement }; typedef counter UInt32Counter; + + extern float computeFallElevation(float t_passed, bool isSafeFall, float start_velocity); } #endif // MANGOSSERVER_TYPEDEFS_H diff --git a/src/game/Quests/QuestHandler.cpp b/src/game/Quests/QuestHandler.cpp index a85f1062ba..ba8d3a0d00 100644 --- a/src/game/Quests/QuestHandler.cpp +++ b/src/game/Quests/QuestHandler.cpp @@ -448,6 +448,11 @@ void WorldSession::HandleQuestLogRemoveQuest(WorldPacket& recv_data) } _player->SetQuestStatus(quest, QUEST_STATUS_NONE); + + +#ifdef USE_ACHIEVEMENTS + _player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_QUEST_ABANDONED, 1); +#endif } _player->SetQuestSlot(slot, 0); diff --git a/src/game/Reputation/ReputationMgr.cpp b/src/game/Reputation/ReputationMgr.cpp index d49fdcdb4c..ad610fdf09 100644 --- a/src/game/Reputation/ReputationMgr.cpp +++ b/src/game/Reputation/ReputationMgr.cpp @@ -21,6 +21,7 @@ #include "Entities/Player.h" #include "Server/WorldPacket.h" #include "Globals/ObjectMgr.h" +#include "Immersive/Immersive.h" const int32 ReputationMgr::PointsInRank[MAX_REPUTATION_RANK] = {36000, 3000, 3000, 3000, 6000, 12000, 21000, 1000}; @@ -268,6 +269,8 @@ bool ReputationMgr::SetReputation(FactionEntry const* factionEntry, int32 standi if (!factionEntry) return false; + sImmersive.OnReputationChange(m_player, factionEntry, standing, incremental); + bool res = false; // if spillover definition exists in DB if (const RepSpilloverTemplate* repTemplate = sObjectMgr.GetRepSpilloverTemplate(factionEntry->ID)) @@ -337,6 +340,14 @@ bool ReputationMgr::SetOneFactionReputation(FactionEntry const* factionEntry, in m_player->ReputationChanged(factionEntry); +#ifdef USE_ACHIEVEMENTS + m_player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS, factionEntry->ID); + m_player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION, factionEntry->ID); + m_player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION, factionEntry->ID); + m_player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GAIN_REVERED_REPUTATION, factionEntry->ID); + m_player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GAIN_HONORED_REPUTATION, factionEntry->ID); +#endif + if (rankNew > rankOld) return true; } diff --git a/src/game/Server/DBCStores.cpp b/src/game/Server/DBCStores.cpp index f20953c36c..ed5b6fd0a6 100644 --- a/src/game/Server/DBCStores.cpp +++ b/src/game/Server/DBCStores.cpp @@ -83,6 +83,12 @@ DBCStorage sDurabilityCostsStore(DurabilityCostsfmt); DBCStorage sEmotesStore(EmotesEntryfmt); DBCStorage sEmotesTextStore(EmotesTextEntryfmt); +#ifdef ENABLE_PLAYERBOTS +typedef std::tuple EmotesTextSoundKey; +static std::map sEmotesTextSoundMap; +DBCStorage sEmotesTextSoundStore(EmotesTextSoundEntryfmt); +#endif + typedef std::map FactionTeamMap; static FactionTeamMap sFactionTeamMap; DBCStorage sFactionStore(FactionEntryfmt); @@ -154,7 +160,7 @@ DBCStorage sTransportAnimationStore(TransportAnimation DBCStorage sWMOAreaTableStore(WMOAreaTableEntryfmt); DBCStorage sWorldMapAreaStore(WorldMapAreaEntryfmt); -// DBCStorage sWorldMapOverlayStore(WorldMapOverlayEntryfmt); +DBCStorage sWorldMapOverlayStore(WorldMapOverlayEntryfmt); typedef std::list StoreProblemList; @@ -300,6 +306,13 @@ void LoadDBCStores(const std::string& dataPath) } } +#ifdef ENABLE_PLAYERBOTS + LoadDBC(availableDbcLocales, bar, bad_dbc_files, sEmotesTextSoundStore, dbcPath, "EmotesTextSound.dbc"); + for (uint32 i = 0; i < sEmotesTextSoundStore.GetNumRows(); ++i) + if (EmotesTextSoundEntry const* entry = sEmotesTextSoundStore.LookupEntry(i)) + sEmotesTextSoundMap[EmotesTextSoundKey(entry->EmotesTextId, entry->RaceId, entry->SexId)] = entry; +#endif + LoadDBC(availableDbcLocales, bar, bad_dbc_files, sFactionTemplateStore, dbcPath, "FactionTemplate.dbc"); LoadDBC(availableDbcLocales, bar, bad_dbc_files, sGameObjectArtKitStore, dbcPath, "GameObjectArtKit.dbc"); LoadDBC(availableDbcLocales, bar, bad_dbc_files, sGameObjectDisplayInfoStore, dbcPath, "GameObjectDisplayInfo.dbc"); @@ -541,7 +554,7 @@ void LoadDBCStores(const std::string& dataPath) sWMOAreaInfoByTripple[WMOAreaTableTripple(entry->rootId, entry->adtId, entry->groupId)].push_back(entry); } } - // LoadDBC(availableDbcLocales,bar,bad_dbc_files,sWorldMapOverlayStore, dbcPath,"WorldMapOverlay.dbc"); + LoadDBC(availableDbcLocales,bar,bad_dbc_files,sWorldMapOverlayStore, dbcPath,"WorldMapOverlay.dbc"); // LoadDBC(availableDbcLocales, bar, bad_dbc_files, sWorldSafeLocsStore, dbcPath, "WorldSafeLocs.dbc"); // error checks @@ -631,7 +644,7 @@ uint32 GetAreaIdByLocalizedName(const std::string& name) { if (AreaTableEntry const* AreaEntry = sAreaStore.LookupEntry(i)) { - for (uint32 i = 0; i < MAX_LOCALE; ++i) + for (uint32 i = 0; i < MAX_DBC_LOCALE; ++i) { std::string area_name(AreaEntry->area_name[i]); if (area_name.size() > 0 && name.find(" - " + area_name) != std::string::npos) @@ -733,7 +746,7 @@ ChatChannelsEntry const* GetChatChannelsEntryFor(const std::string& name, uint32 // try to match by name first, avoid creating custom channels with same name if (!wname.empty()) { - for (uint32 i = 0; i < MAX_LOCALE; ++i) + for (uint32 i = 0; i < MAX_DBC_LOCALE; ++i) { Utf8toWStr(entry->pattern[i], wpattern); @@ -909,3 +922,11 @@ DBCStorage const* GetFactionStore() { return &sFacti DBCStorage const* GetCreatureDisplayStore() { return &sCreatureDisplayInfoStore; } DBCStorage const* GetEmotesStore() { return &sEmotesStore; } DBCStorage const* GetEmotesTextStore() { return &sEmotesTextStore; } + +#ifdef ENABLE_PLAYERBOTS +EmotesTextSoundEntry const* FindTextSoundEmoteFor(uint32 emote, uint32 race, uint32 gender) +{ + auto itr = sEmotesTextSoundMap.find(EmotesTextSoundKey(emote, race, gender)); + return itr != sEmotesTextSoundMap.end() ? itr->second : nullptr; +} +#endif diff --git a/src/game/Server/DBCStores.h b/src/game/Server/DBCStores.h index 2161a3fb0b..e4b1986717 100644 --- a/src/game/Server/DBCStores.h +++ b/src/game/Server/DBCStores.h @@ -66,11 +66,22 @@ bool IsPointInAreaTriggerZone(AreaTriggerEntry const* atEntry, uint32 mapid, flo uint32 GetCreatureModelRace(uint32 model_id); +#ifdef ENABLE_PLAYERBOTS +EmotesTextSoundEntry const* FindTextSoundEmoteFor(uint32 emote, uint32 race, uint32 gender); +CharSectionsEntry const* GetCharSectionEntry(uint8 race, CharSectionType genType, uint8 gender, uint8 type, uint8 color); +typedef std::multimap CharSectionsMap; +extern CharSectionsMap sCharSectionMap; +#endif + extern DBCStorage sAreaStore;// recommend access using functions extern DBCStorage sAreaTriggerStore; extern DBCStorage sAuctionHouseStore; extern DBCStorage sBankBagSlotPricesStore; -// extern DBCStorage sChatChannelsStore; -- accessed using function, no usable index +#ifdef ENABLE_PLAYERBOTS +extern DBCStorage sChatChannelsStore; //has function for access aswell +#else +//extern DBCStorage sChatChannelsStore; //has function for access aswell +#endif extern DBCStorage sCharStartOutfitStore; extern DBCStorage sChatChannelsStore; extern DBCStorage sCharacterFacialHairStylesStore; @@ -134,8 +145,8 @@ extern TaxiPathSetBySource sTaxiPathSetBySource; extern TaxiPathNodesByPath sTaxiPathNodesByPath; extern DBCStorage sTransportAnimationStore; extern DBCStorage sWMOAreaTableStore; -// extern DBCStorage sWorldMapAreaStore; -- use Zone2MapCoordinates and Map2ZoneCoordinates -// extern DBCStorage sWorldMapOverlayStore; +extern DBCStorage sWorldMapAreaStore; +extern DBCStorage sWorldMapOverlayStore; void LoadDBCStores(const std::string& dataPath); diff --git a/src/game/Server/DBCStructure.h b/src/game/Server/DBCStructure.h index 0ff009bedb..77daa9ae8c 100644 --- a/src/game/Server/DBCStructure.h +++ b/src/game/Server/DBCStructure.h @@ -341,6 +341,21 @@ struct EmotesTextEntry // m_emoteText }; +#ifdef ENABLE_PLAYERBOTS +/** +* \struct EmotesTextSoundEntry +* \brief Entry repsenting the text sound for given emote. +*/ +struct EmotesTextSoundEntry +{ + uint32 Id; // 0 + uint32 EmotesTextId; // 1 + uint32 RaceId; // 2 + uint32 SexId; // 3, 0 male / 1 female + uint32 SoundId; // 4 +}; +#endif + struct FactionEntry { uint32 ID; // 0 m_ID @@ -506,7 +521,7 @@ struct ItemRandomPropertiesEntry // char* internalName // 1 m_Name uint32 enchant_id[3]; // 2-4 m_Enchantment // 5-6 unused, 0 only values, reserved for additional enchantments - // char* nameSuffix[8]; // 7-14 m_name_lang + char* nameSuffix[8]; // 7-14 m_name_lang // 15 string flags }; diff --git a/src/game/Server/DBCfmt.h b/src/game/Server/DBCfmt.h index f5b4f9ae20..63a8089c60 100644 --- a/src/game/Server/DBCfmt.h +++ b/src/game/Server/DBCfmt.h @@ -41,6 +41,11 @@ const char DurabilityCostsfmt[] = "niiiiiiiiiiiiiiiiiiiiiiiiiiiii"; const char DurabilityQualityfmt[] = "nf"; const char EmotesEntryfmt[] = "nxxiiix"; const char EmotesTextEntryfmt[] = "nxixxxxxxxxxxxxxxxx"; + +#ifdef ENABLE_PLAYERBOTS +char const EmotesTextSoundEntryfmt[] = "niiii"; +#endif + const char FactionEntryfmt[] = "niiiiiiiiiiiiiiiiiissssssssxxxxxxxxxx"; const char FactionTemplateEntryfmt[] = "niiiiiiiiiiiii"; const char GameObjectArtKitfmt[] = "nxxxxxxx"; @@ -52,7 +57,7 @@ const char GMTicketCategoryfmt[] = "nssssssssx"; const char ItemBagFamilyfmt[] = "nxxxxxxxxx"; const char ItemClassfmt[] = "nxxssssssssx"; // const char ItemDisplayTemplateEntryfmt[]="nxxxxxxxxxxixxxxxxxxxxx"; -const char ItemRandomPropertiesfmt[] = "nxiiixxxxxxxxxxx"; +const char ItemRandomPropertiesfmt[] = "nxiiixxssssssssx"; const char ItemSetEntryfmt[] = "dssssssssxxxxxxxxxxxxxxxxxxiiiiiiiiiiiiiiiiii"; const char LiquidTypefmt[] = "niii"; const char LockEntryfmt[] = "niiiiiiiiiiiiiiiiiiiiiiiixxxxxxxx"; @@ -80,7 +85,7 @@ const char TaxiPathNodeEntryfmt[] = "diiifffii"; const char WMOAreaTableEntryfmt[] = "niiixxxxxiissssssssx"; const char WorldMapAreaEntryfmt[] = "xinxffff"; const char TransportAnimationfmt[] = "diifffx"; -// const char WorldMapOverlayEntryfmt[]="nxiiiixxxxxxxxxxx"; +const char WorldMapOverlayEntryfmt[]="nxiiiixxxxxxxxxxx"; const char WorldSafeLocsEntryfmt[] = "nifffxxxxxxxxx"; #endif diff --git a/src/game/Server/WorldSession.cpp b/src/game/Server/WorldSession.cpp index 3dadb769e9..46536197ab 100644 --- a/src/game/Server/WorldSession.cpp +++ b/src/game/Server/WorldSession.cpp @@ -40,6 +40,7 @@ #include "GMTickets/GMTicketMgr.h" #include "Loot/LootMgr.h" #include "Anticheat/Anticheat.hpp" +#include "AI/ScriptDevAI/scripts/custom/Transmogrification.h" #include #include @@ -52,6 +53,10 @@ #include "PlayerBot/Base/PlayerbotAI.h" #endif +#ifdef ENABLE_PLAYERBOTS +#include "playerbot.h" +#endif + // select opcodes appropriate for processing in Map::Update context for current session state static bool MapSessionFilterHelper(WorldSession* session, OpcodeHandler const& opHandle) { @@ -204,6 +209,15 @@ void WorldSession::SendPacket(WorldPacket const& packet, bool forcedSend /*= fal } #endif +#ifdef ENABLE_PLAYERBOTS + if (GetPlayer()) { + if (GetPlayer()->GetPlayerbotAI()) + GetPlayer()->GetPlayerbotAI()->HandleBotOutgoingPacket(packet); + else if (GetPlayer()->GetPlayerbotMgr()) + GetPlayer()->GetPlayerbotMgr()->HandleMasterOutgoingPacket(packet); + } +#endif + if (!m_Socket || (m_sessionState != WORLD_SESSION_STATE_READY && !forcedSend)) { //sLog.outDebug("Refused to send %s to %s", packet.GetOpcodeName(), _player ? _player->GetName() : "UKNOWN"); @@ -388,6 +402,10 @@ bool WorldSession::Update(uint32 diff) #ifdef BUILD_PLAYERBOT if (_player && _player->GetPlayerbotMgr()) _player->GetPlayerbotMgr()->HandleMasterIncomingPacket(*packet); +#endif +#ifdef ENABLE_PLAYERBOTS + if (_player && _player->GetPlayerbotMgr()) + _player->GetPlayerbotMgr()->HandleMasterIncomingPacket(*packet); #endif break; case STATUS_LOGGEDIN_OR_RECENTLY_LOGGEDOUT: @@ -464,6 +482,11 @@ bool WorldSession::Update(uint32 diff) } #endif +#ifdef ENABLE_PLAYERBOTS + if (GetPlayer() && GetPlayer()->GetPlayerbotMgr()) + GetPlayer()->GetPlayerbotMgr()->UpdateSessions(0); +#endif + // check if we are safe to proceed with logout // logout procedure should happen only in World::UpdateSessions() method!!! switch (m_sessionState) @@ -568,6 +591,33 @@ void WorldSession::UpdateMap(uint32 diff) } } +#ifdef ENABLE_PLAYERBOTS +void WorldSession::HandleBotPackets() +{ + while (!m_recvQueue.empty()) + { + if (_player) + _player->SetCanDelayTeleport(true); + + auto const packet = std::move(m_recvQueue.front()); + m_recvQueue.pop_front(); + OpcodeHandler const& opHandle = opcodeTable[packet->GetOpcode()]; + (this->*opHandle.handler)(*packet); + + if (_player) + { + // can be not set in fact for login opcode, but this not create porblems. + _player->SetCanDelayTeleport(false); + + // we should execute delayed teleports only for alive(!) players + // because we don't want player's ghost teleported from graveyard + if (_player->IsHasDelayedTeleport()) + _player->TeleportTo(_player->m_teleport_dest, _player->m_teleport_options); + } + } +} +#endif + /// %Log the player out void WorldSession::LogoutPlayer() { @@ -589,7 +639,17 @@ void WorldSession::LogoutPlayer() _player->GetPlayerbotMgr()->LogoutAllBots(true); #endif +#ifdef ENABLE_PLAYERBOTS + if (_player->GetPlayerbotMgr() && (!_player->GetPlayerbotAI() || _player->GetPlayerbotAI()->IsRealPlayer())) + _player->GetPlayerbotMgr()->LogoutAllBots(); + sRandomPlayerbotMgr.OnPlayerLogout(_player); +#endif + +#ifdef ENABLE_PLAYERBOTS + sLog.outChar("Account: %d (IP: %s) Logout Character:[%s] (guid: %u)", GetAccountId(), m_Socket ? GetRemoteAddress().c_str() : "bot", _player->GetName(), _player->GetGUIDLow()); +#else sLog.outChar("Account: %d (IP: %s) Logout Character:[%s] (guid: %u)", GetAccountId(), GetRemoteAddress().c_str(), _player->GetName(), _player->GetGUIDLow()); +#endif if (Loot* loot = sLootMgr.GetLoot(_player)) loot->Release(_player); @@ -684,6 +744,7 @@ void WorldSession::LogoutPlayer() ///- Leave all channels before player delete... _player->CleanupChannels(); +#ifndef ENABLE_PLAYERBOTS ///- If the player is in a group (or invited), remove him. If the group if then only 1 person, disband the group. _player->UninviteFromGroup(); @@ -691,6 +752,7 @@ void WorldSession::LogoutPlayer() // a) in group; b) not in raid group; c) logging out normally (not being kicked or disconnected) if (_player->GetGroup() && !_player->GetGroup()->IsRaidGroup() && m_Socket && !m_Socket->IsClosed()) _player->RemoveFromGroup(); +#endif ///- Send update to group if (Group* group = _player->GetGroup()) @@ -706,11 +768,30 @@ void WorldSession::LogoutPlayer() // GM ticket notification sTicketMgr.OnPlayerOnlineState(*_player, false); + ObjectGuid pGUID = _player->GetObjectGuid(); + for (Transmogrification::transmog2Data::const_iterator it = sTransmogrification->entryMap[pGUID].begin(); it != sTransmogrification->entryMap[pGUID].end(); ++it) + sTransmogrification->dataMap.erase(it->first); + sTransmogrification->entryMap.erase(pGUID); + +#ifdef PRESETS + if (sTransmogrification->GetEnableSets()) + sTransmogrification->UnloadPlayerSets(pGUID); +#endif + #ifdef BUILD_PLAYERBOT // Remember player GUID for update SQL below uint32 guid = _player->GetGUIDLow(); #endif +#ifdef ENABLE_PLAYERBOTS + // Remember player GUID for update SQL below + uint32 guid = _player->GetGUIDLow(); +#endif + + //Start Solocraft Function + CharacterDatabase.PExecute("DELETE FROM custom_solocraft_character_stats WHERE GUID = %u", _player->GetGUIDLow()); + //End Solocraft Function + ///- Remove the player from the world // the player may not be in the world when logging out // e.g if he got disconnected during a transfer to another map @@ -743,11 +824,18 @@ void WorldSession::LogoutPlayer() // Different characters can be alive as bots SqlStatement stmt = CharacterDatabase.CreateStatement(updChars, "UPDATE characters SET online = 0 WHERE guid = ?"); stmt.PExecute(guid); +#else +#ifdef ENABLE_PLAYERBOTS + // Set for only character instead of accountid + // Different characters can be alive as bots + stmt = CharacterDatabase.CreateStatement(updChars, "UPDATE characters SET online = 0 WHERE guid = ?"); + stmt.PExecute(guid); #else ///- Since each account can only have one online character at any given time, ensure all characters for active account are marked as offline // No SQL injection as AccountId is uint32 stmt = CharacterDatabase.CreateStatement(updChars, "UPDATE characters SET online = 0 WHERE account = ?"); stmt.PExecute(GetAccountId()); +#endif #endif DEBUG_LOG("SESSION: Sent SMSG_LOGOUT_COMPLETE Message"); @@ -772,12 +860,12 @@ void WorldSession::LogoutPlayer() } /// Kick a player out of the World -void WorldSession::KickPlayer(bool save, bool inPlace) +void WorldSession::KickPlayer(bool save, bool inPlace, bool kickSession) { m_playerSave = save; if (inPlace) { - m_kickSession = true; + m_kickSession = kickSession; LogoutPlayer(); return; } @@ -796,7 +884,7 @@ void WorldSession::KickPlayer(bool save, bool inPlace) else LogoutRequest(time(nullptr) - 20, false); #else - LogoutRequest(time(nullptr) - 20, false, true); + LogoutRequest(time(nullptr) - 20, save, true); #endif } @@ -1262,6 +1350,15 @@ void WorldSession::SetNoAnticheat() #endif +#ifdef ENABLE_PLAYERBOTS + +void WorldSession::SetNoAnticheat() +{ + m_anticheat.reset(new NullSessionAnticheat(this)); +} + +#endif + void WorldSession::HandleWardenDataOpcode(WorldPacket& recv_data) { m_anticheat->WardenPacket(recv_data); diff --git a/src/game/Server/WorldSession.h b/src/game/Server/WorldSession.h index 716fcc460e..f2f2e08456 100644 --- a/src/game/Server/WorldSession.h +++ b/src/game/Server/WorldSession.h @@ -148,6 +148,7 @@ enum AccountFlags ACCOUNT_FLAG_SILENCED = 0x02, ACCOUNT_FLAG_SHOW_ANTISPAM = 0x04, ACCOUNT_FLAG_HIDDEN = 0x08, + ACCOUNT_FLAG_COLLECTOR_CLASSIC = 0x10, }; // class to deal with packet processing @@ -240,8 +241,13 @@ class WorldSession #ifdef BUILD_PLAYERBOT // Players connected without socket are bot const std::string GetRemoteAddress() const { return m_Socket ? m_Socket->GetRemoteAddress() : "disconnected/bot"; } +#else +#ifdef ENABLE_PLAYERBOTS + // Players connected without socket are bot + const std::string GetRemoteAddress() const { return m_Socket ? m_Socket->GetRemoteAddress() : "disconnected/bot"; } #else const std::string GetRemoteAddress() const { return m_Socket ? m_Socket->GetRemoteAddress() : "disconnected"; } +#endif #endif const std::string& GetLocalAddress() const { return m_localAddress; } @@ -256,6 +262,10 @@ class WorldSession void SetNoAnticheat(); #endif +#ifdef ENABLE_PLAYERBOTS + void SetNoAnticheat(); +#endif + /// Session in auth.queue currently void SetInQueue(bool state) { m_inQueue = state; } @@ -282,7 +292,7 @@ class WorldSession } void LogoutPlayer(); - void KickPlayer(bool save = false, bool inPlace = false); // inplace variable needed for shutdown + void KickPlayer(bool save = false, bool inPlace = false, bool kickSession = true); // inplace variable needed for shutdown void QueuePacket(std::unique_ptr new_packet); @@ -408,6 +418,7 @@ class WorldSession // Misc void SendKnockBack(Unit* who, float angle, float horizontalSpeed, float verticalSpeed); void SendPlaySpellVisual(ObjectGuid guid, uint32 spellArtKit) const; + void SendTeleportToObservers(float x, float y, float z, float orientation); void SendAuthOk() const; void SendAuthQueued() const; @@ -589,6 +600,8 @@ class WorldSession void HandleBuyBankSlotOpcode(WorldPacket& recvPacket); void HandleTrainerListOpcode(WorldPacket& recvPacket); void HandleTrainerBuySpellOpcode(WorldPacket& recvPacket); + void SendTrainingSuccess(ObjectGuid guid, uint32 spellId); + void SendTrainingFailure(ObjectGuid guid, uint32 serviceId, uint32 errorCode); void HandlePetitionShowListOpcode(WorldPacket& recvPacket); void HandleGossipHelloOpcode(WorldPacket& recvPacket); @@ -796,6 +809,11 @@ class WorldSession std::deque GetOutOpcodeHistory(); std::deque GetIncOpcodeHistory(); +#ifdef ENABLE_PLAYERBOTS + // Playerbots + void HandleBotPackets(); +#endif + Messager& GetMessager() { return m_messager; } void SetPacketLogging(bool state); diff --git a/src/game/Social/SocialMgr.cpp b/src/game/Social/SocialMgr.cpp index 06662cca06..bf9fc2ce99 100644 --- a/src/game/Social/SocialMgr.cpp +++ b/src/game/Social/SocialMgr.cpp @@ -271,12 +271,15 @@ void SocialMgr::BroadcastToFriendListers(Player* player, WorldPacket const& pack AccountTypes gmLevelInWhoList = AccountTypes(sWorld.getConfig(CONFIG_UINT32_GM_LEVEL_IN_WHO_LIST)); bool allowTwoSideWhoList = sWorld.getConfig(CONFIG_BOOL_ALLOW_TWO_SIDE_WHO_LIST); - for (SocialMap::const_iterator itr = m_socialMap.begin(); itr != m_socialMap.end(); ++itr) + for (const auto& itr : m_socialMap) { - PlayerSocialMap::const_iterator itr2 = itr->second.m_playerSocialMap.find(guid); - if (itr2 != itr->second.m_playerSocialMap.end() && (itr2->second.Flags & SOCIAL_FLAG_FRIEND)) + if (!itr.second.m_playerSocialMap.size()) + continue; + + PlayerSocialMap::const_iterator itr2 = itr.second.m_playerSocialMap.find(guid); + if (itr2 != itr.second.m_playerSocialMap.end() && (itr2->second.Flags & SOCIAL_FLAG_FRIEND)) { - Player* pFriend = ObjectAccessor::FindPlayer(ObjectGuid(HIGHGUID_PLAYER, itr->first)); + Player* pFriend = ObjectAccessor::FindPlayer(ObjectGuid(HIGHGUID_PLAYER, itr.first)); // PLAYER see his team only and PLAYER can't see MODERATOR, GAME MASTER, ADMINISTRATOR characters // MODERATOR, GAME MASTER, ADMINISTRATOR can see all diff --git a/src/game/Spells/Scripts/Scripting/ClassScripts/Mage.cpp b/src/game/Spells/Scripts/Scripting/ClassScripts/Mage.cpp index 84a38591cb..147bc57a8d 100644 --- a/src/game/Spells/Scripts/Scripting/ClassScripts/Mage.cpp +++ b/src/game/Spells/Scripts/Scripting/ClassScripts/Mage.cpp @@ -120,7 +120,8 @@ struct Blizzard : public AuraScript spellId = 12485; if (caster->HasOverrideScript(989)) // Improved Blizzard (Rank 3) spellId = 12486; - caster->CastSpell(aura->GetTarget(), spellId, TRIGGERED_OLD_TRIGGERED); + if (spellId) + caster->CastSpell(aura->GetTarget(), spellId, TRIGGERED_OLD_TRIGGERED); } } }; diff --git a/src/game/Spells/Spell.cpp b/src/game/Spells/Spell.cpp index 00919b8620..794576bb2f 100644 --- a/src/game/Spells/Spell.cpp +++ b/src/game/Spells/Spell.cpp @@ -47,6 +47,10 @@ #include "Spells/Scripts/SpellScript.h" #include "Entities/ObjectGuid.h" +#ifdef ENABLE_PLAYERBOTS +#include "PlayerbotAI.h" +#endif + extern pEffect SpellEffects[MAX_SPELL_EFFECTS]; class PrioritizeManaUnitWraper @@ -1383,6 +1387,21 @@ void Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, TargetInfo* target, } } +#ifdef USE_ACHIEVEMENTS + if (m_caster && unit && unit->GetTypeId() == TYPEID_PLAYER) + { + ((Player*)unit)->StartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_SPELL_TARGET, m_spellInfo->Id); + ((Player*)unit)->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, m_spellInfo->Id, 0, m_caster); + ((Player*)unit)->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2, m_spellInfo->Id, 0, m_caster); + } + + if (m_caster && unit && m_caster->GetTypeId() == TYPEID_PLAYER) + { + ((Player*)m_caster)->StartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_SPELL_CASTER, m_spellInfo->Id); + ((Player*)m_caster)->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2, m_spellInfo->Id, 0, unit); + } +#endif + if (traveling && m_trueCaster != unit) { if (m_trueCaster->CanAttackSpell(unit, m_spellInfo)) @@ -3152,6 +3171,19 @@ SpellCastResult Spell::cast(bool skipCheck) m_duration = CalculateSpellDuration(m_spellInfo, m_caster, nullptr, m_auraScript); +#ifdef USE_ACHIEVEMENTS + if (m_caster && m_caster->GetTypeId() == TYPEID_PLAYER) + { + if (m_CastItem) + { + ((Player*)m_caster)->StartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_ITEM, m_CastItem->GetEntry()); + ((Player*)m_caster)->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM, m_CastItem->GetEntry()); + } + + ((Player*)m_caster)->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL, m_spellInfo->Id, 0, (m_targets.getUnitTarget() ? m_targets.getUnitTarget() : m_caster)); + } +#endif + FillTargetMap(); if (m_spellState == SPELL_STATE_FINISHED) // stop cast if spell marked as finish somewhere in FillTargetMap @@ -3393,14 +3425,6 @@ void Spell::_handle_finish_phase() // spell log if (m_needSpellLog) m_spellLog.SendToSet(); - - if (m_caster && m_caster->m_extraAttacks && IsSpellHaveEffect(m_spellInfo, SPELL_EFFECT_ADD_EXTRA_ATTACKS)) - { - if (Unit* target = m_caster->GetVictim()) - m_caster->DoExtraAttacks(target); - else - m_caster->m_extraAttacks = 0; - } } void Spell::SetCastItem(Item* item) @@ -3952,6 +3976,7 @@ void Spell::WriteSpellGoTargets(WorldPacket& data) // m_needAliveTargetMask req for stop channeling if one target die uint32 hit = m_UniqueGOTargetInfo.size(); // Always hits on GO uint32 miss = 0; + bool isAoESpell = IsAreaOfEffectSpell(m_spellInfo); for (auto& ihit : m_UniqueTargetInfo) { @@ -3960,8 +3985,11 @@ void Spell::WriteSpellGoTargets(WorldPacket& data) // possibly SPELL_MISS_IMMUNE2 for this?? if (IsChanneledSpell(m_spellInfo) && ihit.targetGUID == m_targets.getUnitTargetGuid()) // can happen due to DR { - m_duration = 0; // cancel aura to avoid visual effect continue - ihit.effectDuration = 0; + if (!isAoESpell) // if it's an AoE spell we do not cancel the cast if we miss + { + m_duration = 0; // cancel aura to avoid visual effect continue + ihit.effectDuration = 0; + } } ihit.missCondition = SPELL_MISS_IMMUNE2; ++miss; @@ -3979,8 +4007,11 @@ void Spell::WriteSpellGoTargets(WorldPacket& data) { if (IsChanneledSpell(m_spellInfo) && (ihit.missCondition == SPELL_MISS_RESIST || ihit.missCondition == SPELL_MISS_REFLECT)) { - m_duration = 0; // cancel aura to avoid visual effect continue - ihit.effectDuration = 0; + if (!isAoESpell) // if it's an AoE spell we do not cancel the cast if we miss + { + m_duration = 0; // cancel aura to avoid visual effect continue + ihit.effectDuration = 0; + } } ++miss; } @@ -4017,13 +4048,7 @@ void Spell::WriteSpellGoTargets(WorldPacket& data) void Spell::SendInterrupted(SpellCastResult result) const { - WorldPacket data(SMSG_SPELL_FAILURE, (8 + 4 + 1)); - data << m_trueCaster->GetPackGUID(); - data << m_spellInfo->Id; - data << uint8(result); - m_trueCaster->SendMessageToSet(data, true); - - data.Initialize(SMSG_SPELL_FAILED_OTHER, (8 + 4)); + WorldPacket data(SMSG_SPELL_FAILED_OTHER, (8 + 4)); data << m_trueCaster->GetObjectGuid(); data << m_spellInfo->Id; m_trueCaster->SendMessageToSet(data, true); @@ -4916,6 +4941,17 @@ SpellCastResult Spell::CheckCast(bool strict) if (m_spellInfo->MaxTargetLevel && target->GetLevel() > m_spellInfo->MaxTargetLevel) return SPELL_FAILED_HIGHLEVEL; + +#ifdef ENABLE_PLAYERBOTS + if (target->IsPlayer()) + { + PlayerbotAI* bot = ((Player*)target)->GetPlayerbotAI(); + if (bot && bot->IsImmuneToSpell(m_spellInfo->Id)) + { + return SPELL_FAILED_IMMUNE; + } + } +#endif } } @@ -7052,6 +7088,17 @@ bool Spell::CheckTarget(Unit* target, SpellEffectIndex eff, bool targetB, CheckE if (m_spellInfo->MaxTargetLevel && target->GetLevel() > m_spellInfo->MaxTargetLevel) return false; +#ifdef ENABLE_PLAYERBOTS + if (target->IsPlayer()) + { + PlayerbotAI* bot = ((Player*)target)->GetPlayerbotAI(); + if (bot && bot->IsImmuneToSpell(m_spellInfo->Id)) + { + return false; + } + } +#endif + return OnCheckTarget(target, eff); } diff --git a/src/game/Spells/SpellAuraDefines.h b/src/game/Spells/SpellAuraDefines.h index 6ee57736ad..932a18c365 100644 --- a/src/game/Spells/SpellAuraDefines.h +++ b/src/game/Spells/SpellAuraDefines.h @@ -26,9 +26,9 @@ enum AuraFlags { AFLAG_NONE = 0x00, AFLAG_CANCELABLE = 0x01, - ALFAG_UNK2 = 0x02, - AFLAG_UNK3 = 0x04, - AFLAG_UNK4 = 0x08, + AFLAG_EFF_INDEX_2 = 0x02, + AFLAG_EFF_INDEX_1 = 0x04, + AFLAG_EFF_INDEX_0 = 0x08, AFLAG_MASK_ALL = 0x0F }; diff --git a/src/game/Spells/SpellAuras.cpp b/src/game/Spells/SpellAuras.cpp index 1327c7d341..80f0691b33 100644 --- a/src/game/Spells/SpellAuras.cpp +++ b/src/game/Spells/SpellAuras.cpp @@ -1357,6 +1357,12 @@ void Aura::HandleAuraDummy(bool apply, bool Real) caster->CastCustomSpell(target, 28836, &damage, nullptr, nullptr, TRIGGERED_OLD_TRIGGERED, nullptr, this); return; } + case 24984: // Murloc Critter Dance + case 25165: + { + target->HandleEmoteCommand(EMOTE_STATE_DANCE); + break; + } } break; } @@ -5934,10 +5940,14 @@ void SpellAuraHolder::SetAuraFlag(uint32 slot, bool add) { if (!m_spellProto->HasAttribute(SPELL_ATTR_NO_AURA_CANCEL)) flags |= AFLAG_CANCELABLE; - flags |= AFLAG_UNK3; } - else - flags |= AFLAG_UNK4; + + if (GetAuraByEffectIndex(EFFECT_INDEX_0)) + flags |= AFLAG_EFF_INDEX_0; + if (GetAuraByEffectIndex(EFFECT_INDEX_1)) + flags |= AFLAG_EFF_INDEX_1; + if (GetAuraByEffectIndex(EFFECT_INDEX_2)) + flags |= AFLAG_EFF_INDEX_2; val |= (flags << byte); } diff --git a/src/game/Spells/SpellEffects.cpp b/src/game/Spells/SpellEffects.cpp index e8a12158de..dd20d63ff4 100644 --- a/src/game/Spells/SpellEffects.cpp +++ b/src/game/Spells/SpellEffects.cpp @@ -3368,7 +3368,7 @@ void Spell::EffectTameCreature(SpellEffectIndex /*eff_idx*/) if (plr->IsPvP()) pet->SetPvP(true); - pet->GetCharmInfo()->SetPetNumber(sObjectMgr.GeneratePetNumber(), (m_caster->GetTypeId() == TYPEID_PLAYER)); + pet->GetCharmInfo()->SetPetNumber(pet->GetObjectGuid().GetEntry(), (m_caster->GetTypeId() == TYPEID_PLAYER)); uint32 level = creatureTarget->GetLevel(); pet->SetCanModifyStats(true); @@ -3863,6 +3863,79 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx) { switch (m_spellInfo->Id) { + case 456: // SHOWLABEL Only OFF + { + if (Player* pPlayer = static_cast(m_caster)) + { + pPlayer->SetGMChat(false); + pPlayer->GetSession()->SendNotification(LANG_GM_CHAT_OFF); + } + return; + } + case 2765: // SHOWLABEL Only ON + { + if (Player* pPlayer = static_cast(m_caster)) + if (Player* pPlayer = static_cast(m_caster)) + { + pPlayer->SetGMChat(true); + pPlayer->GetSession()->SendNotification(LANG_GM_CHAT_ON); + } + return; + } + case 1509: // GM Only OFF + { + if (Player* pPlayer = static_cast(m_caster)) + { + pPlayer->SetGameMaster(false); + pPlayer->GetSession()->SendNotification(LANG_GM_OFF); + } + return; + } + case 18139: // GM Only ON + { + if (Player* pPlayer = static_cast(m_caster)) + { + pPlayer->SetGameMaster(true); + pPlayer->GetSession()->SendNotification(LANG_GM_ON); + } + return; + } + case 6147: // INVIS Only OFF + { + if (Player* pPlayer = static_cast(m_caster)) + { + pPlayer->SetGMVisible(false); + pPlayer->GetSession()->SendNotification(LANG_INVISIBLE_VISIBLE); + } + return; + } + case 2763: // INVIS Only ON + { + if (Player* pPlayer = static_cast(m_caster)) + { + pPlayer->SetGMVisible(true); + pPlayer->GetSession()->SendNotification(LANG_INVISIBLE_INVISIBLE); + } + return; + } + //case 20114: // BM Only OFF + //{ + // if (Player* pPlayer = static_cast(m_caster)) + // pPlayer->SetCheatGod(false, true); + // return; + //} + //case 20115: // BM Only ON + //{ + // if (Player* pPlayer = static_cast(m_caster)) + // pPlayer->SetCheatGod(true, true); + // return; + //} + case 29313: // CooldownAll + { + if (m_caster) + m_caster->RemoveAllCooldowns(); + return; + } case 5249: // Ice Lock { if (unitTarget) @@ -5129,13 +5202,23 @@ void Spell::EffectResurrect(SpellEffectIndex eff_idx) void Spell::EffectAddExtraAttacks(SpellEffectIndex /*eff_idx*/) { - if (!unitTarget || !unitTarget->IsAlive()) + if (!unitTarget || !unitTarget->IsAlive() || unitTarget->IsExtraAttacksLocked()) return; - if (unitTarget->m_extraAttacks) - return; + if (m_spellInfo->Id == 20178) // Reckoning + { + if (unitTarget->GetExtraAttacks() < 4) + unitTarget->AddExtraAttack(); + } + else + { + if (unitTarget->GetExtraAttacks()) + return; + + unitTarget->AddExtraAttackOnUpdate(); + unitTarget->SetExtraAttaks(damage); + } - unitTarget->m_extraAttacks = damage; m_spellLog.AddLog(uint32(SPELL_EFFECT_ADD_EXTRA_ATTACKS), unitTarget->GetObjectGuid(), damage); } @@ -5745,6 +5828,7 @@ void Spell::EffectSpiritHeal(SpellEffectIndex /*eff_idx*/) if (Player* player = static_cast(unitTarget)) { + player->RemoveAurasDueToSpell(2584); player->ResurrectPlayer(1.0f); player->SpawnCorpseBones(); @@ -5807,7 +5891,7 @@ void Spell::EffectSkinPlayerCorpse(SpellEffectIndex /*eff_idx*/) return; } - static_cast(target)->RemovedInsignia(static_cast(m_caster)); + ((Player*)target)->RemovedInsignia((Player*)m_caster); m_spellLog.AddLog(uint32(SPELL_EFFECT_SKIN_PLAYER_CORPSE), target->GetObjectGuid()); } diff --git a/src/game/Spells/SpellHandler.cpp b/src/game/Spells/SpellHandler.cpp index 8c93a838a6..44adf20992 100644 --- a/src/game/Spells/SpellHandler.cpp +++ b/src/game/Spells/SpellHandler.cpp @@ -309,6 +309,10 @@ void WorldSession::HandleGameObjectUseOpcode(WorldPacket& recv_data) } obj->Use(_player); + +#ifdef USE_ACHIEVEMENTS + _player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT, obj->GetEntry()); +#endif } void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket) diff --git a/src/game/Spells/UnitAuraProcHandler.cpp b/src/game/Spells/UnitAuraProcHandler.cpp index 2b7df4819b..3d066ba267 100644 --- a/src/game/Spells/UnitAuraProcHandler.cpp +++ b/src/game/Spells/UnitAuraProcHandler.cpp @@ -1104,15 +1104,24 @@ SpellAuraProcResult Unit::HandleDummyAuraProc(ProcExecutionData& data) coeff = .092f * speed; } + // Apply Improved Seal of Rightousness talent + // Modifier is applied on base damage only (changed patch 2.1.0) + uint32 impSoRList[] = { 20224, 20225, 20330, 20331, 20332 }; + for (uint32 i : impSoRList) { + SpellModifier* mod = ((Player*)this)->GetSpellMod(SPELLMOD_ALL_EFFECTS, i); + if (mod && mod->type == SPELLMOD_PCT && mod->value > 0) + damageBasePoints += damageBasePoints * (float)mod->value / 100.0f; + } + int32 damagePoint = int32(damageBasePoints + 0.03f * (GetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE) + GetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE)) / 2.0f) + 1; // apply damage bonuses manually if (damagePoint >= 0) { // currently uses same spell damage fetch as flametongue - need to verify whether SP is supposed to be applied pre-triggered spell bonuses or post - int32 bonusDamage = SpellBaseDamageBonusDone(GetSpellSchoolMask(dummySpell)) + pVictim->SpellBaseDamageBonusTaken(GetSpellSchoolMask(dummySpell)); - if (Aura* aura = GetAura(43743, EFFECT_INDEX_0)) // Improved Seal of Righteousness - bonusDamage += aura->GetAmount(); + int32 bonusDamage = SpellDamageBonusDone(pVictim, GetSpellSchoolMask(dummySpell), dummySpell, damagePoint, SPELL_DIRECT_DAMAGE); + pVictim->SpellBaseDamageBonusTaken(GetSpellSchoolMask(dummySpell)); + //if (Aura* aura = GetAura(43743, EFFECT_INDEX_0)) // Improved Seal of Righteousness + // bonusDamage += aura->GetAmount(); damagePoint += bonusDamage * coeff * CalculateLevelPenalty(dummySpell); } diff --git a/src/game/Tools/Language.h b/src/game/Tools/Language.h index ba4df8e665..be1745a488 100644 --- a/src/game/Tools/Language.h +++ b/src/game/Tools/Language.h @@ -1116,5 +1116,29 @@ enum MangosStrings // Use for custom patches 11000-11999 // NOT RESERVED IDS 12000-1999999999 + + // Immersive Mod + LANG_IMMERSIVE_MANUAL_ATTR_DISABLED = 12100, + LANG_IMMERSIVE_MANUAL_ATTR_LOST = 12101, + LANG_IMMERSIVE_MANUAL_ATTR_STRENGTH = 12102, + LANG_IMMERSIVE_MANUAL_ATTR_AGILITY = 12103, + LANG_IMMERSIVE_MANUAL_ATTR_STAMINA = 12104, + LANG_IMMERSIVE_MANUAL_ATTR_INTELLECT = 12105, + LANG_IMMERSIVE_MANUAL_ATTR_SPIRIT = 12106, + LANG_IMMERSIVE_MANUAL_ATTR_AVAILABLE = 12107, + LANG_IMMERSIVE_MANUAL_ATTR_ASSIGNED = 12108, + LANG_IMMERSIVE_MANUAL_ATTR_MODIFIER = 12109, + LANG_IMMERSIVE_MANUAL_ATTR_SUGGESTED = 12110, + LANG_IMMERSIVE_MANUAL_ATTR_MOD_CHANGED = 12111, + LANG_IMMERSIVE_MANUAL_ATTR_MOD_DISABLED = 12112, + LANG_IMMERSIVE_MANUAL_ATTR_MISSING = 12113, + LANG_IMMERSIVE_MANUAL_ATTR_MISSING_GOLD = 12114, + LANG_IMMERSIVE_MANUAL_ATTR_GAINED = 12115, + LANG_IMMERSIVE_MANUAL_ATTR_RESET = 12116, + LANG_IMMERSIVE_EXP_GAINED = 12117, + LANG_IMMERSIVE_MANUAL_ATTR_POINTS_ADDED = 12118, + LANG_IMMERSIVE_MONEY_GAINED = 12119, + LANG_IMMERSIVE_REPUTATION_GAINED = 12120, + LANG_IMMERSIVE_QUEST_COMPLETED = 12121, }; #endif diff --git a/src/game/Tools/PlayerDump.cpp b/src/game/Tools/PlayerDump.cpp index 2377479ed5..a9db142c05 100644 --- a/src/game/Tools/PlayerDump.cpp +++ b/src/game/Tools/PlayerDump.cpp @@ -35,6 +35,10 @@ struct DumpTable static DumpTable dumpTables[] = { { "characters", DTT_CHARACTER }, // -> guid, must be first for name check +#ifdef USE_ACHIEVEMENTS + { "character_achievement", DTT_CHAR_TABLE }, + { "character_achievement_progress", DTT_CHAR_TABLE }, +#endif { "character_action", DTT_CHAR_TABLE }, { "character_aura", DTT_CHAR_TABLE }, { "character_homebind", DTT_CHAR_TABLE }, diff --git a/src/game/World/World.cpp b/src/game/World/World.cpp index 48ec6a173e..49f9fbfa08 100644 --- a/src/game/World/World.cpp +++ b/src/game/World/World.cpp @@ -52,6 +52,7 @@ #include "VMapFactory.h" #include "MotionGenerators/MoveMap.h" #include "GameEvents/GameEventMgr.h" +#include "Hardcore/HardcoreMgr.h" #include "Pools/PoolManager.h" #include "Database/DatabaseImpl.h" #include "Grids/GridNotifiersImpl.h" @@ -68,6 +69,7 @@ #include "Maps/TransportMgr.h" #include "Anticheat/Anticheat.hpp" #include "LFG/LFGMgr.h" +#include "AI/ScriptDevAI/scripts/custom/Transmogrification.h" #ifdef BUILD_AHBOT #include "AuctionHouseBot/AuctionHouseBot.h" @@ -77,6 +79,19 @@ #include "Metric/Metric.h" #endif +#ifdef ENABLE_PLAYERBOTS +#include "AhBot.h" +#include "PlayerbotAIConfig.h" +#include "RandomPlayerbotMgr.h" +#endif + +#include "Immersive/Immersive.h" + +#if USE_ACHIEVEMENTS +#include "Achievements/AchievementMgr.h" +#include "Achievements/AchievementScriptMgr.h" +#endif + #include #include #include @@ -100,6 +115,11 @@ uint32 World::m_relocation_ai_notify_delay = 1000u; uint32 World::m_currentMSTime = 0; TimePoint World::m_currentTime = TimePoint(); uint32 World::m_currentDiff = 0; +uint32 World::m_currentDiffSum = 0; +uint32 World::m_currentDiffSumIndex = 0; +uint32 World::m_averageDiff = 0; +uint32 World::m_maxDiff = 0; +std::list World::m_histDiff; /// World constructor World::World(): mail_timer(0), mail_timer_expires(0), m_NextWeeklyQuestReset(0), m_opcodeCounters(NUM_MSG_TYPES) @@ -154,6 +174,9 @@ World::~World() /// Cleanups before world stop void World::CleanupsBeforeStop() { +#ifdef ENABLE_PLAYERBOTS + sRandomPlayerbotMgr.LogoutAllBots(); +#endif KickAll(true); // save and kick all players UpdateSessions(1); // real players unload required UpdateSessions call sBattleGroundMgr.DeleteAllBattleGrounds(); // unload battleground templates before different singletons destroyed @@ -537,11 +560,19 @@ void World::LoadConfigSettings(bool reload) setConfigMin(CONFIG_UINT32_MIN_HONOR_KILLS, "MinHonorKills", HONOR_STANDING_MIN_KILL, 1); + setConfig(CONFIG_BOOL_ENABLE_CITY_PROTECTOR, "PvP.CityProtector", true); + + setConfig(CONFIG_BOOL_COLLECTORS_EDITION, "Custom.CollectorsEdition", true); + + setConfig(CONFIG_BOOL_ANTICRASH, "Anticrash.Enabled", false); + setConfigMinMax(CONFIG_UINT32_MAINTENANCE_DAY, "MaintenanceDay", 4, 0, 6); setConfig(CONFIG_BOOL_TAXI_FLIGHT_CHAT_FIX, "TaxiFlightChatFix", false); setConfig(CONFIG_BOOL_LONG_TAXI_PATHS_PERSISTENCE, "LongFlightPathsPersistence", false); setConfig(CONFIG_BOOL_ALL_TAXI_PATHS, "AllFlightPaths", false); + setConfig(CONFIG_BOOL_INSTANT_TAXI, "InstantFlightPaths", false); + setConfig(CONFIG_BOOL_FAR_VISIBLE_TAXI, "TaxiFlightFarVisibility", false); setConfig(CONFIG_BOOL_INSTANCE_IGNORE_LEVEL, "Instance.IgnoreLevel", false); setConfig(CONFIG_BOOL_INSTANCE_IGNORE_RAID, "Instance.IgnoreRaid", false); @@ -712,7 +743,11 @@ void World::LoadConfigSettings(bool reload) setConfig(CONFIG_BOOL_AUTO_DOWNRANK, "AutoDownrank", false); + setConfig(CONFIG_FLOAT_WAREFFORT_RATES, "WarEffort.Rates", 1.0f); + setConfig(CONFIG_BOOL_WAREFFORT_ENABLE, "WarEffort.Enable", false); + setConfig(CONFIG_BOOL_LFG_MATCHMAKING, "LFG.Matchmaking", false); + setConfig(CONFIG_BOOL_LFG_TELEPORT, "LFG.Teleport", false); setConfig(CONFIG_UINT32_LFG_MATCHMAKING_TIMER, "LFG.MatchmakingTimer", 600); m_relocation_ai_notify_delay = sConfig.GetIntDefault("Visibility.AIRelocationNotifyDelay", 1000u); @@ -809,6 +844,142 @@ void World::LoadConfigSettings(bool reload) setConfig(CONFIG_BOOL_PATH_FIND_OPTIMIZE, "PathFinder.OptimizePath", true); setConfig(CONFIG_BOOL_PATH_FIND_NORMALIZE_Z, "PathFinder.NormalizeZ", false); + // Start Hardcore Config + setConfig(CONFIG_BOOL_HARDCORE_ENABLED, "Hardcore.Enable", false); + setConfig(CONFIG_BOOL_HARDCORE_SPAWN_GRAVE, "Hardcore.SpawnGrave", false); + setConfig(CONFIG_UINT32_HARDCORE_GRAVE_GAMEOBJECT_ID, "Hardcore.GraveGameObjectID", 61); + setConfig(CONFIG_FLOAT_HARDCORE_DROP_GEAR, "Hardcore.DropGear", 0.0f); + setConfig(CONFIG_FLOAT_HARDCORE_DROP_ITEMS, "Hardcore.DropItems", 0.0f); + setConfig(CONFIG_FLOAT_HARDCORE_DROP_MONEY, "Hardcore.DropMoney", 0.0f); + setConfig(CONFIG_FLOAT_HARDCORE_BOT_DROP_GEAR, "Hardcore.BotDropGear", 0.0f); + setConfig(CONFIG_FLOAT_HARDCORE_BOT_DROP_ITEMS, "Hardcore.BotDropItems", 0.0f); + setConfig(CONFIG_FLOAT_HARDCORE_BOT_DROP_MONEY, "Hardcore.BotDropMoney", 0.0f); + setConfig(CONFIG_UINT32_HARDCORE_LOOT_GAMEOBJECT_ID, "Hardcore.LootGameObjectID", 2850); + setConfig(CONFIG_UINT32_HARDCORE_MAX_PLAYER_LOOT, "Hardcore.MaxPlayerLoot", 1); + setConfig(CONFIG_BOOL_HARDCORE_REVIVE_DISABLED, "Hardcore.ReviveDisabled", false); + setConfig(CONFIG_BOOL_HARDCORE_REVIVE_ON_GRAVEYARD, "Hardcore.ReviveOnGraveyard", false); + setConfig(CONFIG_FLOAT_HARDCORE_LEVEL_DOWN, "Hardcore.LevelDown", 0.0f); + // End Hardcore Config + + // Start Immersive Config + setConfig(CONFIG_BOOL_IMMERSIVE_ENABLED, "Immersive.Enable", false); + setConfig(CONFIG_BOOL_IMMERSIVE_MANUAL_ATTRIBUTES, "Immersive.ManualAttributes", false); + setConfig(CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_PCT, "Immersive.ManualAttributesPercent", 100); + setConfig(CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_INCREASE, "Immersive.ManualAttributesIncrease", 5); + setConfig(CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_COST_MULT, "Immersive.ManualAttributesCostMult", 5); + setConfig(CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_MAX_POINTS, "Immersive.ManualAttributesMaxPoints", 0); + setConfig(CONFIG_UINT32_IMMERSIVE_SHARED_XP_PCT, "Immersive.SharedXpPercent", 0); + setConfig(CONFIG_UINT32_IMMERSIVE_SHARED_REP_PCT, "Immersive.SharedRepPercent", 0); + setConfig(CONFIG_UINT32_IMMERSIVE_SHARED_MONEY_PCT, "Immersive.SharedMoneyPercent", 0); + setConfig(CONFIG_UINT32_IMMERSIVE_SHARED_QUEST_MONEY_PCT, "Immersive.SharedQuestMoneyPercent", 0); + setConfig(CONFIG_BOOL_IMMERSIVE_SHARED_QUESTS, "Immersive.SharedQuests", false); + setConfig(CONFIG_BOOL_IMMERSIVE_FISHING_BAUBLES, "Immersive.FishingBaubles", false); + setConfig(CONFIG_UINT32_IMMERSIVE_SHARED_PCT_RACE_RESTR, "Immersive.SharedPercentRaceRestriction", 0); + setConfig(CONFIG_UINT32_IMMERSIVE_SHARED_PCT_CLASS_RESTR, "Immersive.SharedPercentClassRestriction", 0); + setConfig(CONFIG_BOOL_IMMERSIVE_SHARED_PCT_GUILD_RESTR, "Immersive.SharedPercentGuildRestriction", false); + setConfig(CONFIG_BOOL_IMMERSIVE_SHARED_PCT_FACTION_RESTR, "Immersive.SharedPercentFactionRestriction", false); + setConfig(CONFIG_UINT32_IMMERSIVE_SHARED_PCT_MIN_LVL, "Immersive.SharedPercentMinLevel", 1); + setConfig(CONFIG_UINT32_IMMERSIVE_ATTR_LOSS_PER_DEATH, "Immersive.AttributeLossPerDeath", 1); + setConfig(CONFIG_FLOAT_IMMERSIVE_FALL_DAMAGE_MULT, "Immersive.FallDamageMultiplier", 1.0f); + setConfig(CONFIG_UINT32_IMMERSIVE_SHARED_XP_PCT_LEVEL_DIFF, "Immersive.SharedXpPercentLevelDiff", 0); + setConfig(CONFIG_BOOL_IMMERSIVE_SCALE_MOD_WORKAROUND, "Immersive.ScaleModifierWorkaround", false); + setConfig(CONFIG_UINT32_IMMERSIVE_SHARED_RANDOM_PCT, "Immersive.SharedRandomPercent", 0); + setConfig(CONFIG_BOOL_IMMERSIVE_DISABLE_OFFLINE_RESPAWN, "Immersive.DisableOfflineRespawn", 0); + // End Immersive Config + +#ifdef USE_ACHIEVEMENTS + // Start Achievements + setConfig(CONFIG_BOOL_ACHIEVEMENTS_ENABLED, "Achievements.Enable", true); + setConfig(CONFIG_BOOL_ACHIEVEMENTS_SEND_MESSAGE, "Achievements.SendMessage", true); + setConfig(CONFIG_BOOL_ACHIEVEMENTS_SEND_ADDON, "Achievements.SendAddon", true); + setConfig(CONFIG_BOOL_ACHIEVEMENTS_SEND_VISUAL, "Achievements.SendVisual", true); + setConfig(CONFIG_BOOL_ACHIEVEMENTS_FOR_BOTS, "Achievements.RandomBots", true); + setConfig(CONFIG_BOOL_ACHIEVEMENTS_REALM_FIRST_FOR_BOTS, "Achievements.RandomBotsRealmFirst", false); + setConfig(CONFIG_BOOL_ACHIEVEMENTS_ACCOUNT_ACHIEVEMENTS, "Achievements.AccountAcchievenemts", false); + setConfig(CONFIG_UINT32_ACHIEVEMENTS_EFFECT_ID, "Achievements.EffectId", 146); + // End Achievements +#endif + + // Start Solocraft Config + setConfig(CONFIG_BOOL_SOLOCRAFT_ENABLED, "Solocraft.Enable", true); + setConfig(CONFIG_BOOL_SOLOCRAFT_ANNOUNCE, "Solocraft.Announce", true); + + //Balancing + setConfig(CONFIG_BOOL_SOLOCRAFT_DEBUFF_ENABLE, "SoloCraft.Debuff.Enable", 1); + setConfig(CONFIG_FLOAT_SOLOCRAFT_SPELLPOWER_MULT, "SoloCraft.Spellpower.Mult", 2.5); + setConfig(CONFIG_FLOAT_SOLOCRAFT_STATS_MULT, "SoloCraft.Stats.Mult", 100.0); + //Level Thresholds + setConfig(CONFIG_UINT32_SOLOCRAFT_MAX_LEVEL_DIFF, "Solocraft.Max.Level.Diff", 10); + //Dungeon Values + //Default + setConfig(CONFIG_UINT32_DUNGEON_LEVEL, "Solocraft.Dungeon.Level", 60); + //Classic Instances + setConfig(CONFIG_UINT32_ORGRIMMARINSTANCE_LEVEL, "Solocraft.OrgrimmarInstance.Level", 15); + setConfig(CONFIG_UINT32_SHADOWFANGKEEP_LEVEL, "Solocraft.ShadowfangKeep.Level", 15); + setConfig(CONFIG_UINT32_WAILINGCAVERNS_LEVEL, "Solocraft.WailingCaverns.Level", 17); + setConfig(CONFIG_UINT32_DEADMINES_LEVEL, "Solocraft.Deadmines.Level", 18); + setConfig(CONFIG_UINT32_BLACKFATHOM_LEVEL, "Solocraft.Blackfathom.Level", 20); + setConfig(CONFIG_UINT32_STOCKADES_LEVEL, "Solocraft.Stockades.Level", 22); + setConfig(CONFIG_UINT32_GNOMERAGONINSTANCE_LEVEL, "Solocraft.GnomeragonInstance.Level", 24); + setConfig(CONFIG_UINT32_RAZORFENKRAULINSTANCE_LEVEL, "Solocraft.RazorfenKraulInstance.Level", 30); + setConfig(CONFIG_UINT32_MONASTERYINSTANCES_LEVEL, "Solocraft.MonasteryInstances.Level", 35); + setConfig(CONFIG_UINT32_RAZORFENDOWNS_LEVEL, "Solocraft.RazorfenDowns.Level", 40); + setConfig(CONFIG_UINT32_ULDAMAN_LEVEL, "Solocraft.Uldaman.Level", 40); + setConfig(CONFIG_UINT32_TANARISINSTANCE_LEVEL, "Solocraft.TanarisInstance.Level", 44); + setConfig(CONFIG_UINT32_MAURADON_LEVEL, "Solocraft.Mauradon.Level", 48); + setConfig(CONFIG_UINT32_DIREMAUL_LEVEL, "Solocraft.DireMaul.Level", 48); + setConfig(CONFIG_UINT32_SUNKENTEMPLE_LEVEL, "Solocraft.SunkenTemple.Level", 50); + setConfig(CONFIG_UINT32_BLACKROCKDEPTHS_LEVEL, "Solocraft.BlackrockDepths.Level", 50); + setConfig(CONFIG_UINT32_BLACKROCKSPIRE_LEVEL, "Solocraft.BlackRockSpire.Level", 55); + setConfig(CONFIG_UINT32_SCHOOLOFNECROMANCY_LEVEL, "Solocraft.SchoolofNecromancy.Level", 55); + setConfig(CONFIG_UINT32_STRATHOLME_LEVEL, "Solocraft.Stratholme.Level", 55); + setConfig(CONFIG_UINT32_ONYXIALAIRINSTANCE_LEVEL, "Solocraft.OnyxiaLairInstance.Level", 60); + setConfig(CONFIG_UINT32_MOLTENCORE_LEVEL, "Solocraft.MoltenCore.Level", 60); + setConfig(CONFIG_UINT32_BLACKWINGLAIR_LEVEL, "Solocraft.BlackwingLair.Level", 40); + setConfig(CONFIG_UINT32_ZULGURUB_LEVEL, "Solocraft.Zul'gurub.Level", 60); + setConfig(CONFIG_UINT32_AHNQIRAJ_LEVEL, "Solocraft.AhnQiraj.Level", 60); + setConfig(CONFIG_UINT32_AHNQIRAJTEMPLE_LEVEL, "Solocraft.AhnQirajTemple.Level", 60); + setConfig(CONFIG_UINT32_STRATHOLMERAID_LEVEL, "Solocraft.StratholmeRaid.Level", 60); + + //Dungeon Difficulty + //Catch alls + setConfig(CONFIG_FLOAT_DUNGEON_DIFF, "Solocraft.Dungeon", 5.0); + setConfig(CONFIG_FLOAT_RAID25_DIFF, "Solocraft.Raid25", 25.0); + setConfig(CONFIG_FLOAT_RAID40_DIFF, "Solocraft.Raid40", 40.0); + //Classic Instances + setConfig(CONFIG_FLOAT_ORGRIMMARINSTANCE_DIFF, "Solocraft.OrgrimmarInstance", 5.0); + setConfig(CONFIG_FLOAT_SHADOWFANGKEEP_DIFF, "Solocraft.ShadowfangKeep", 5.0); + setConfig(CONFIG_FLOAT_WAILINGCAVERNS_DIFF, "Solocraft.WailingCaverns", 5.0); + setConfig(CONFIG_FLOAT_DEADMINES_DIFF, "Solocraft.Deadmines", 5.0); + setConfig(CONFIG_FLOAT_BLACKFATHOM_DIFF, "Solocraft.Blackfathom", 5.0); + setConfig(CONFIG_FLOAT_STOCKADES_DIFF, "Solocraft.Stockades", 5.0); + setConfig(CONFIG_FLOAT_GNOMERAGONINSTANCE_DIFF, "Solocraft.GnomeragonInstance", 5.0); + setConfig(CONFIG_FLOAT_RAZORFENKRAULINSTANCE_DIFF, "Solocraft.RazorfenKraulInstance", 5.0); + setConfig(CONFIG_FLOAT_MONASTERYINSTANCES_DIFF, "Solocraft.MonasteryInstances", 5.0); + setConfig(CONFIG_FLOAT_RAZORFENDOWNS_DIFF, "Solocraft.RazorfenDowns", 5.0); + setConfig(CONFIG_FLOAT_ULDAMAN_DIFF, "Solocraft.Uldaman", 5.0); + setConfig(CONFIG_FLOAT_TANARISINSTANCE_DIFF, "Solocraft.TanarisInstance", 5.0); + setConfig(CONFIG_FLOAT_MAURADON_DIFF, "Solocraft.Mauradon", 5.0); + setConfig(CONFIG_FLOAT_DIREMAUL_DIFF, "Solocraft.DireMaul", 5.0); + setConfig(CONFIG_FLOAT_SUNKENTEMPLE_DIFF, "Solocraft.SunkenTemple", 5.0); + setConfig(CONFIG_FLOAT_BLACKROCKDEPTHS_DIFF, "Solocraft.BlackrockDepths", 5.0); + setConfig(CONFIG_FLOAT_BLACKROCKSPIRE_DIFF, "Solocraft.BlackRockSpire", 10.0); + setConfig(CONFIG_FLOAT_SCHOOLOFNECROMANCY_DIFF, "Solocraft.SchoolofNecromancy", 5.0); + setConfig(CONFIG_FLOAT_STRATHOLME_DIFF, "Solocraft.Stratholme", 5.0); + setConfig(CONFIG_FLOAT_ONYXIALAIRINSTANCE_DIFF, "Solocraft.OnyxiaLairInstance", 40.0); + setConfig(CONFIG_FLOAT_MOLTENCORE_DIFF, "Solocraft.MoltenCore", 40.0); + setConfig(CONFIG_FLOAT_BLACKWINGLAIR_DIFF, "Solocraft.BlackwingLair", 40.0); + setConfig(CONFIG_FLOAT_ZULGURUB_DIFF, "Solocraft.Zul'gurub", 20.0); + setConfig(CONFIG_FLOAT_AHNQIRAJ_DIFF, "Solocraft.AhnQiraj", 20.0); + setConfig(CONFIG_FLOAT_AHNQIRAJTEMPLE_DIFF, "Solocraft.AhnQirajTemple", 40.0); + setConfig(CONFIG_FLOAT_STRATHOLMERAID_DIFF, "Solocraft.StratholmeRaid", 40.0); + //End Solocraft Config + + sTransmogrification->LoadConfig(reload); + + setConfig(CONFIG_UINT32_DUAL_SPEC_ITEM_ID, "Custom.DualSpecItemId", 17731); + setConfig(CONFIG_UINT32_DUAL_SPEC_COST, "Custom.DualSpecCost", 10000000); + sLog.outString(); } @@ -859,6 +1030,19 @@ void World::SetInitialWorldSettings() ///- Remove the bones (they should not exist in DB though) and old corpses after a restart CharacterDatabase.PExecute("DELETE FROM corpse WHERE corpse_type = '0' OR time < (UNIX_TIMESTAMP()-'%u')", 3 * DAY); + // Load Hardcore manager + if(sWorld.getConfig(CONFIG_BOOL_HARDCORE_ENABLED)) + { + sLog.outString("Loading hardcore manager initial config..."); + sHardcoreMgr.PreLoad(); + } + + if(sWorld.getConfig(CONFIG_BOOL_IMMERSIVE_ENABLED)) + { + sLog.outString("Initializing Immersive..."); + sImmersive.Init(); + } + /// load spell_dbc first! dbc's need them sLog.outString("Loading spell_template..."); sObjectMgr.LoadSpellTemplate(); @@ -1152,6 +1336,16 @@ void World::SetInitialWorldSettings() sLog.outString(">>> Loot Tables loaded"); sLog.outString(); +#ifdef USE_ACHIEVEMENTS + if (sWorld.getConfig(CONFIG_BOOL_ACHIEVEMENTS_ENABLED)) + { + sAchievementStore.Load(); + sAchievementCategoryStore.Load(); + sAchievementCriteriaStore.Load(); + sAchievementMgr.LoadAllData(); + } +#endif + sLog.outString("Loading Skill Fishing base level requirements..."); sObjectMgr.LoadFishingBaseSkillLevel(); @@ -1235,6 +1429,9 @@ void World::SetInitialWorldSettings() sLog.outString(">>> Localization strings loaded"); sLog.outString(); + sLog.outString("Loading Meeting Stones..."); // After load all static data + sWorld.GetLFGQueue().LoadMeetingStones(); + ///- Load dynamic data tables from the database sLog.outString("Loading Auctions..."); sAuctionMgr.LoadAuctionItems(); @@ -1388,6 +1585,26 @@ void World::SetInitialWorldSettings() #ifdef BUILD_PLAYERBOT PlayerbotMgr::SetInitialWorldSettings(); #endif + +#ifdef ENABLE_PLAYERBOTS + sPlayerbotAIConfig.Initialize(); +#endif + + // Load Hardcore manager + if (sWorld.getConfig(CONFIG_BOOL_HARDCORE_ENABLED)) + { + sLog.outString("Loading hardcore manager..."); + sHardcoreMgr.Load(); + } + + sTransmogrification->LoadConfig(false); + CharacterDatabase.Execute("DELETE FROM custom_transmogrification WHERE NOT EXISTS (SELECT 1 FROM item_instance WHERE item_instance.guid = custom_transmogrification.GUID)"); +#ifdef PRESETS + // Clean even if disabled + // Dont delete even if player has more presets than should + CharacterDatabase.Execute("DELETE FROM `custom_transmogrification_sets` WHERE NOT EXISTS(SELECT 1 FROM characters WHERE characters.guid = custom_transmogrification_sets.Owner)"); +#endif + sLog.outString("---------------------------------------"); sLog.outString(" CMANGOS: World initialized "); sLog.outString("---------------------------------------"); @@ -1402,9 +1619,9 @@ void World::DetectDBCLang() { uint32 m_lang_confid = sConfig.GetIntDefault("DBC.Locale", 255); - if (m_lang_confid != 255 && m_lang_confid >= MAX_LOCALE) + if (m_lang_confid != 255 && m_lang_confid >= MAX_DBC_LOCALE) { - sLog.outError("Incorrect DBC.Locale! Must be >= 0 and < %d (set to 0)", MAX_LOCALE); + sLog.outError("Incorrect DBC.Locale! Must be >= 0 and < %d (set to 0)", MAX_DBC_LOCALE); m_lang_confid = DEFAULT_LOCALE; } @@ -1413,8 +1630,8 @@ void World::DetectDBCLang() std::string availableLocalsStr; - uint32 default_locale = MAX_LOCALE; - for (int i = MAX_LOCALE - 1; i >= 0; --i) + uint32 default_locale = MAX_DBC_LOCALE; + for (int i = MAX_DBC_LOCALE - 1; i >= 0; --i) { if (strlen(race->name[i]) > 0) // check by race names { @@ -1425,13 +1642,13 @@ void World::DetectDBCLang() } } - if (default_locale != m_lang_confid && m_lang_confid < MAX_LOCALE && + if (default_locale != m_lang_confid && m_lang_confid < MAX_DBC_LOCALE && (m_availableDbcLocaleMask & (1 << m_lang_confid))) { default_locale = m_lang_confid; } - if (default_locale >= MAX_LOCALE) + if (default_locale >= MAX_DBC_LOCALE) { sLog.outError("Unable to determine your DBC Locale! (corrupt DBC?)"); Log::WaitBeforeContinueIfNeed(); @@ -1450,6 +1667,60 @@ void World::Update(uint32 diff) m_currentMSTime = WorldTimer::getMSTime(); m_currentTime = std::chrono::time_point_cast(Clock::now()); m_currentDiff = diff; + m_currentDiffSum += diff; + m_currentDiffSumIndex++; + + m_histDiff.push_back(diff); + m_maxDiff = std::max(m_maxDiff, diff); + + while(m_histDiff.size() >= 600) + { + m_currentDiffSum -= m_histDiff.front(); + m_histDiff.pop_front(); + } + + m_averageDiff = (uint32)(m_currentDiffSum / m_histDiff.size()); + + if (m_currentDiffSumIndex && m_currentDiffSumIndex % 60 == 0) + { + //m_averageDiff = (uint32)(m_currentDiffSum / m_currentDiffSumIndex); + //if (m_maxDiff < m_averageDiff) + // m_maxDiff = m_averageDiff; + sLog.outBasic("Avg Diff: %u. Sessions online: %u.", m_averageDiff, (uint32)GetActiveSessionCount()); + sLog.outBasic("Max Diff: %u.", m_maxDiff); + } + if (m_currentDiffSum % 3000 == 0) + { + m_maxDiff = *std::max_element(m_histDiff.begin(), m_histDiff.end()); + } + /* + if (m_currentDiffSum > 300000) + { + m_currentDiffSum = 0; + m_currentDiffSumIndex = 0; + if (m_maxDiff > m_averageDiff) + { + m_maxDiff = m_averageDiff; + sLog.outBasic("Max Diff reset to: %u.", m_maxDiff); + } + } + if (GetActiveSessionCount()) + { + if (m_currentDiffSumIndex && (m_currentDiffSumIndex % 5 == 0)) + { + uint32 tempDiff = (uint32)(m_currentDiffSum / m_currentDiffSumIndex); + if (tempDiff > m_averageDiff) + { + m_averageDiff = tempDiff; + } + if (m_maxDiff < tempDiff) + { + m_maxDiff = tempDiff; + sLog.outBasic("Max Diff Increased: %u.", m_maxDiff); + } + } + } + */ ///- Update the different timers for (auto& m_timer : m_timers) @@ -1498,6 +1769,21 @@ void World::Update(uint32 diff) } #endif +#ifdef ENABLE_PLAYERBOTS +#ifndef BUILD_AHBOT + ///
  • Handle AHBot operations + if (m_timers[WUPDATE_AHBOT].Passed()) + { + auctionbot.Update(); + m_timers[WUPDATE_AHBOT].Reset(); + } +#endif + sRandomPlayerbotMgr.UpdateAI(diff); + sRandomPlayerbotMgr.UpdateSessions(diff); +#endif + + sImmersive.Update(diff); + ///
  • Handle session updates #ifdef BUILD_METRICS auto preSessionTime = std::chrono::time_point_cast(Clock::now()); @@ -2008,6 +2294,10 @@ void World::ShutdownServ(uint32 time, uint32 options, uint8 exitcode) m_ShutdownTimer = time; ShutdownMsg(true); } + +#ifdef ENABLE_PLAYERBOTS + //sRandomPlayerbotMgr.LogoutAllBots(); +#endif } /// Display a shutdown message to the user(s) @@ -2156,6 +2446,7 @@ void World::UpdateResultQueue() CharacterDatabase.ProcessResultQueue(); WorldDatabase.ProcessResultQueue(); LoginDatabase.ProcessResultQueue(); + PlayerbotDatabase.ProcessResultQueue(); } void World::UpdateRealmCharCount(uint32 accountId) diff --git a/src/game/World/World.h b/src/game/World/World.h index 49f0d5aab1..4a42c53d0f 100644 --- a/src/game/World/World.h +++ b/src/game/World/World.h @@ -197,6 +197,67 @@ enum eConfigUInt32Values CONFIG_UINT32_CREATURE_PICKPOCKET_RESTOCK_DELAY, CONFIG_UINT32_CHANNEL_STATIC_AUTO_TRESHOLD, CONFIG_UINT32_LFG_MATCHMAKING_TIMER, + //Start Solocraft Defines + //Level Thresholds + CONFIG_UINT32_SOLOCRAFT_MAX_LEVEL_DIFF, + //Default Instance Level + CONFIG_UINT32_DUNGEON_LEVEL, + //Classic Instances + CONFIG_UINT32_ORGRIMMARINSTANCE_LEVEL, + CONFIG_UINT32_SHADOWFANGKEEP_LEVEL, + CONFIG_UINT32_WAILINGCAVERNS_LEVEL, + CONFIG_UINT32_DEADMINES_LEVEL, + CONFIG_UINT32_BLACKFATHOM_LEVEL, + CONFIG_UINT32_STOCKADES_LEVEL, + CONFIG_UINT32_GNOMERAGONINSTANCE_LEVEL, + CONFIG_UINT32_RAZORFENKRAULINSTANCE_LEVEL, + CONFIG_UINT32_MONASTERYINSTANCES_LEVEL, + CONFIG_UINT32_RAZORFENDOWNS_LEVEL, + CONFIG_UINT32_ULDAMAN_LEVEL, + CONFIG_UINT32_TANARISINSTANCE_LEVEL, + CONFIG_UINT32_MAURADON_LEVEL, + CONFIG_UINT32_DIREMAUL_LEVEL, + CONFIG_UINT32_SUNKENTEMPLE_LEVEL, + CONFIG_UINT32_BLACKROCKDEPTHS_LEVEL, + CONFIG_UINT32_BLACKROCKSPIRE_LEVEL, + CONFIG_UINT32_SCHOOLOFNECROMANCY_LEVEL, + CONFIG_UINT32_STRATHOLME_LEVEL, + CONFIG_UINT32_ONYXIALAIRINSTANCE_LEVEL, + CONFIG_UINT32_MOLTENCORE_LEVEL, + CONFIG_UINT32_BLACKWINGLAIR_LEVEL, + CONFIG_UINT32_ZULGURUB_LEVEL, + CONFIG_UINT32_AHNQIRAJ_LEVEL, + CONFIG_UINT32_AHNQIRAJTEMPLE_LEVEL, + CONFIG_UINT32_STRATHOLMERAID_LEVEL, + //End Solocraft Defines + //Start Hardcore Defines + CONFIG_UINT32_HARDCORE_GRAVE_GAMEOBJECT_ID, + CONFIG_UINT32_HARDCORE_LOOT_GAMEOBJECT_ID, + CONFIG_UINT32_HARDCORE_MAX_PLAYER_LOOT, + //End Hardcore Defines +#ifdef USE_ACHIEVEMENTS + // Start Achievements Defines + CONFIG_UINT32_ACHIEVEMENTS_EFFECT_ID, + // End Achievements Defines +#endif + CONFIG_UINT32_DUAL_SPEC_ITEM_ID, + CONFIG_UINT32_DUAL_SPEC_COST, + //Start Immersive Defines + CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_PCT, + CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_INCREASE, + CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_COST_MULT, + CONFIG_UINT32_IMMERSIVE_MANUAL_ATTR_MAX_POINTS, + CONFIG_UINT32_IMMERSIVE_SHARED_XP_PCT, + CONFIG_UINT32_IMMERSIVE_SHARED_REP_PCT, + CONFIG_UINT32_IMMERSIVE_SHARED_MONEY_PCT, + CONFIG_UINT32_IMMERSIVE_SHARED_QUEST_MONEY_PCT, + CONFIG_UINT32_IMMERSIVE_SHARED_PCT_RACE_RESTR, + CONFIG_UINT32_IMMERSIVE_SHARED_PCT_CLASS_RESTR, + CONFIG_UINT32_IMMERSIVE_SHARED_PCT_MIN_LVL, + CONFIG_UINT32_IMMERSIVE_ATTR_LOSS_PER_DEATH, + CONFIG_UINT32_IMMERSIVE_SHARED_XP_PCT_LEVEL_DIFF, + CONFIG_UINT32_IMMERSIVE_SHARED_RANDOM_PCT, + //End Immersive Defines CONFIG_UINT32_VALUE_COUNT }; @@ -282,6 +343,55 @@ enum eConfigFloatValues CONFIG_FLOAT_GHOST_RUN_SPEED_WORLD, CONFIG_FLOAT_GHOST_RUN_SPEED_BG, CONFIG_FLOAT_LEASH_RADIUS, + CONFIG_FLOAT_WAREFFORT_RATES, + //Start Solocraft Defines + //Balancing + CONFIG_FLOAT_SOLOCRAFT_SPELLPOWER_MULT, + CONFIG_FLOAT_SOLOCRAFT_STATS_MULT, + //Dungeon Catch-all + CONFIG_FLOAT_DUNGEON_DIFF, + CONFIG_FLOAT_RAID25_DIFF, + CONFIG_FLOAT_RAID40_DIFF, + //Classic Instances + CONFIG_FLOAT_ORGRIMMARINSTANCE_DIFF, + CONFIG_FLOAT_SHADOWFANGKEEP_DIFF, + CONFIG_FLOAT_WAILINGCAVERNS_DIFF, + CONFIG_FLOAT_DEADMINES_DIFF, + CONFIG_FLOAT_BLACKFATHOM_DIFF, + CONFIG_FLOAT_STOCKADES_DIFF, + CONFIG_FLOAT_GNOMERAGONINSTANCE_DIFF, + CONFIG_FLOAT_RAZORFENKRAULINSTANCE_DIFF, + CONFIG_FLOAT_MONASTERYINSTANCES_DIFF, + CONFIG_FLOAT_RAZORFENDOWNS_DIFF, + CONFIG_FLOAT_ULDAMAN_DIFF, + CONFIG_FLOAT_TANARISINSTANCE_DIFF, + CONFIG_FLOAT_MAURADON_DIFF, + CONFIG_FLOAT_DIREMAUL_DIFF, + CONFIG_FLOAT_SUNKENTEMPLE_DIFF, + CONFIG_FLOAT_BLACKROCKDEPTHS_DIFF, + CONFIG_FLOAT_BLACKROCKSPIRE_DIFF, + CONFIG_FLOAT_SCHOOLOFNECROMANCY_DIFF, + CONFIG_FLOAT_STRATHOLME_DIFF, + CONFIG_FLOAT_ONYXIALAIRINSTANCE_DIFF, + CONFIG_FLOAT_MOLTENCORE_DIFF, + CONFIG_FLOAT_BLACKWINGLAIR_DIFF, + CONFIG_FLOAT_ZULGURUB_DIFF, + CONFIG_FLOAT_AHNQIRAJ_DIFF, + CONFIG_FLOAT_AHNQIRAJTEMPLE_DIFF, + CONFIG_FLOAT_STRATHOLMERAID_DIFF, + //End Solocraft Defines + //Start Hardcore Defines + CONFIG_FLOAT_HARDCORE_LEVEL_DOWN, + CONFIG_FLOAT_HARDCORE_DROP_GEAR, + CONFIG_FLOAT_HARDCORE_DROP_ITEMS, + CONFIG_FLOAT_HARDCORE_DROP_MONEY, + CONFIG_FLOAT_HARDCORE_BOT_DROP_GEAR, + CONFIG_FLOAT_HARDCORE_BOT_DROP_ITEMS, + CONFIG_FLOAT_HARDCORE_BOT_DROP_MONEY, + //End Hardcore Defines + //Start Immersive Defines + CONFIG_FLOAT_IMMERSIVE_FALL_DAMAGE_MULT, + //End Immersive Defines CONFIG_FLOAT_VALUE_COUNT }; @@ -327,6 +437,8 @@ enum eConfigBoolValues CONFIG_BOOL_TAXI_FLIGHT_CHAT_FIX, CONFIG_BOOL_LONG_TAXI_PATHS_PERSISTENCE, CONFIG_BOOL_ALL_TAXI_PATHS, + CONFIG_BOOL_INSTANT_TAXI, + CONFIG_BOOL_FAR_VISIBLE_TAXI, CONFIG_BOOL_SKILL_FAIL_LOOT_FISHING, CONFIG_BOOL_SKILL_FAIL_GAIN_FISHING, CONFIG_BOOL_SKILL_FAIL_POSSIBLE_FISHINGPOOL, @@ -349,6 +461,43 @@ enum eConfigBoolValues CONFIG_BOOL_PATH_FIND_NORMALIZE_Z, CONFIG_BOOL_LFG_MATCHMAKING, CONFIG_BOOL_DISABLE_INSTANCE_RELOCATE, + CONFIG_BOOL_LFG_TELEPORT, + CONFIG_BOOL_WAREFFORT_ENABLE, + //Start Solocraft Defines + CONFIG_BOOL_SOLOCRAFT_ENABLED, + CONFIG_BOOL_SOLOCRAFT_ANNOUNCE, + CONFIG_BOOL_SOLOCRAFT_DEBUFF_ENABLE, + //End Solocraft Defines + CONFIG_BOOL_ENABLE_CITY_PROTECTOR, + CONFIG_BOOL_COLLECTORS_EDITION, + CONFIG_BOOL_ANTICRASH, + // Start Hardcore Defines + CONFIG_BOOL_HARDCORE_ENABLED, + CONFIG_BOOL_HARDCORE_SPAWN_GRAVE, + CONFIG_BOOL_HARDCORE_REVIVE_DISABLED, + CONFIG_BOOL_HARDCORE_REVIVE_ON_GRAVEYARD, + // End Hardcore Defines +#ifdef USE_ACHIEVEMENTS + // Start Achievements Defines + CONFIG_BOOL_ACHIEVEMENTS_ENABLED, + CONFIG_BOOL_ACHIEVEMENTS_SEND_MESSAGE, + CONFIG_BOOL_ACHIEVEMENTS_SEND_ADDON, + CONFIG_BOOL_ACHIEVEMENTS_SEND_VISUAL, + CONFIG_BOOL_ACHIEVEMENTS_FOR_BOTS, + CONFIG_BOOL_ACHIEVEMENTS_REALM_FIRST_FOR_BOTS, + CONFIG_BOOL_ACHIEVEMENTS_ACCOUNT_ACHIEVEMENTS, + // End Achievements Defines +#endif + // Start Immersive Defines + CONFIG_BOOL_IMMERSIVE_ENABLED, + CONFIG_BOOL_IMMERSIVE_MANUAL_ATTRIBUTES, + CONFIG_BOOL_IMMERSIVE_SHARED_QUESTS, + CONFIG_BOOL_IMMERSIVE_SHARED_PCT_GUILD_RESTR, + CONFIG_BOOL_IMMERSIVE_SHARED_PCT_FACTION_RESTR, + CONFIG_BOOL_IMMERSIVE_FISHING_BAUBLES, + CONFIG_BOOL_IMMERSIVE_SCALE_MOD_WORKAROUND, + CONFIG_BOOL_IMMERSIVE_DISABLE_OFFLINE_RESPAWN, + // End Immersive Defines CONFIG_BOOL_VALUE_COUNT }; @@ -609,6 +758,8 @@ class World static uint32 GetCurrentMSTime() { return m_currentMSTime; } static TimePoint GetCurrentClockTime() { return m_currentTime; } static uint32 GetCurrentDiff() { return m_currentDiff; } + static uint32 GetAverageDiff() { return m_averageDiff; } + static uint32 GetMaxDiff() { return m_maxDiff; } template void ExecuteForAllSessions(T executor) const @@ -729,6 +880,11 @@ class World static uint32 m_currentMSTime; static TimePoint m_currentTime; static uint32 m_currentDiff; + static uint32 m_currentDiffSum; + static uint32 m_currentDiffSumIndex; + static uint32 m_averageDiff; + static uint32 m_maxDiff; + static std::list m_histDiff; Messager m_messager; diff --git a/src/game/World/WorldState.cpp b/src/game/World/WorldState.cpp index 28b96bec06..8955fa1cb9 100644 --- a/src/game/World/WorldState.cpp +++ b/src/game/World/WorldState.cpp @@ -98,8 +98,21 @@ WorldState::WorldState() : m_emeraldDragonsState(0xF), m_emeraldDragonsTimer(0), for (auto& data : aqWorldstateMap) m_aqWorldstateMapReverse.emplace(data.second, data.first); -} + // apply war efforts rates + if (sWorld.getConfig(CONFIG_FLOAT_WAREFFORT_RATES) != 1.0f) + { + for (auto itr = aqWorldStateTotalsMap.begin(); itr != aqWorldStateTotalsMap.end(); ++itr) + { + uint32 search = itr->first == WORLD_STATE_AQ_PEACEBLOOM_TOTAL ? (itr->first + 1) : (itr->first - 1); + auto itr2 = m_aqWorldstateMapReverse.find(search); + if (itr2 != m_aqWorldstateMapReverse.end()) + { + itr->second = GetModMaxResources((*itr2).second, itr->second); + } + } + } +} WorldState::~WorldState() { @@ -156,7 +169,7 @@ void WorldState::Load() } for (uint32 i = 0; i < RESOURCE_MAX; ++i) loadStream >> m_aqData.m_WarEffortCounters[i]; - loadStream >> m_aqData.m_phase2Tier >> m_aqData.m_killedBosses; + loadStream >> m_aqData.m_phase2Tier >> m_aqData.m_killedBosses >> m_aqData.IsGateClosed; } catch (std::exception& e) { @@ -213,6 +226,7 @@ void WorldState::Load() while (result->NextRow()); } StartWarEffortEvent(); + HandleAQGate(); SpawnWarEffortGos(); if (m_siData.m_state == STATE_1_ENABLED) { @@ -410,6 +424,9 @@ bool WorldState::IsConditionFulfilled(uint32 conditionId, uint32 state) const if (conditionId == WAR_EFFORT_DAYS_LEFT) return m_aqData.GetDaysRemaining() == state; + if (conditionId == WAR_EFFORT_GATES_OPEN) + return m_aqData.IsGateClosed ? 0 : 1 == state; + auto itr = m_aqWorldstateMapReverse.find(conditionId); if (itr != m_aqWorldstateMapReverse.end()) { @@ -666,6 +683,7 @@ void WorldState::HandleWarEffortPhaseTransition(uint32 newPhase) { StopWarEffortEvent(); m_aqData.m_phase = newPhase; + m_aqData.IsGateClosed = true; switch (m_aqData.m_phase) { case PHASE_2_TRANSPORTING_RESOURCES: @@ -681,15 +699,40 @@ void WorldState::HandleWarEffortPhaseTransition(uint32 newPhase) case PHASE_4_10_HOUR_WAR: m_aqData.m_phase = PHASE_4_10_HOUR_WAR; m_aqData.m_timer = 10 * HOUR * IN_MILLISECONDS; + m_aqData.IsGateClosed = false; + break; + case PHASE_5_DONE: + case PHASE_0_DISABLED: + m_aqData.IsGateClosed = false; break; default: break; } StartWarEffortEvent(); + HandleAQGate(); + Save(SAVE_ID_AHN_QIRAJ); +} + +void WorldState::HandleWarEffortGateSwitch(bool close) +{ + m_aqData.IsGateClosed = close; + HandleAQGate(); Save(SAVE_ID_AHN_QIRAJ); } void WorldState::StartWarEffortEvent() { + if (m_aqData.m_phase == PHASE_0_DISABLED && sWorld.getConfig(CONFIG_BOOL_WAREFFORT_ENABLE)) // force enable if phase != DONE + { + HandleWarEffortPhaseTransition(PHASE_1_GATHERING_RESOURCES); + return; + } + + if (m_aqData.m_phase != PHASE_0_DISABLED && !sWorld.getConfig(CONFIG_BOOL_WAREFFORT_ENABLE)) // force disable + { + HandleWarEffortPhaseTransition(PHASE_0_DISABLED); + return; + } + switch (m_aqData.m_phase) { case PHASE_1_GATHERING_RESOURCES: sGameEventMgr.StartEvent(GAME_EVENT_AHN_QIRAJ_EFFORT_PHASE_1); break; @@ -727,8 +770,30 @@ void WorldState::StopWarEffortEvent() } } +void WorldState::HandleAQGate() +{ + Map* mapPtr = sMapMgr.FindMap(1); + if (!mapPtr) + return; + + for (auto& goGuid : m_aqGateGuids) + { + if (!goGuid.second) + continue; + + if (GameObject* obj = mapPtr->GetGameObject(goGuid.second)) + { + obj->UseOpenableObject(!m_aqData.IsGateClosed); + obj->SendForcedObjectUpdate(); + } + } +} + void WorldState::SpawnWarEffortGos() { + if (!sWorld.getConfig(CONFIG_BOOL_WAREFFORT_ENABLE)) + return; + if (m_aqData.m_phase > PHASE_2_TRANSPORTING_RESOURCES) return; @@ -936,6 +1001,74 @@ void WorldState::SetSilithusBossKilled(AQSilithusBoss boss) Save(SAVE_ID_AHN_QIRAJ); } +uint32 WorldState::GetModMaxResources(AQResources resource, uint32 defaultMax) +{ + if (sWorld.getConfig(CONFIG_FLOAT_WAREFFORT_RATES) == 1.0f || sWorld.getConfig(CONFIG_FLOAT_WAREFFORT_RATES) == 0.f) + return defaultMax; + + uint32 itemStackSize = GetResourceItemStack(resource); + uint32 tempMod = defaultMax * sWorld.getConfig(CONFIG_FLOAT_WAREFFORT_RATES); // raw calculation + if (tempMod < itemStackSize) // minimum + return itemStackSize; + + uint32 remainder = tempMod % itemStackSize; // check if result is multiple of stackSize + tempMod -= remainder; // substract remainder + if (remainder >= itemStackSize / 2) // if remainder >= half stackSize, add stackSize + tempMod += itemStackSize; + + return tempMod; +} + +uint32 WorldState::GetResourceItemStack(AQResources resource) +{ + uint32 resourceStack = 20; + uint32 questId = 0; + switch (resource) + { + // common + case AQ_COPPER_BAR_HORDE: questId = QUEST_HORDE_COPPER_BARS_1; break; + case AQ_COPPER_BAR_ALLY: questId = QUEST_ALLIANCE_COPPER_BARS_1; break; + case AQ_PURPLE_LOTUS_ALLY: questId = QUEST_ALLIANCE_PURPLE_LOTUS_1; break; + case AQ_SPOTTED_YELLOWTAIL_ALLY: questId = QUEST_ALLIANCE_SPOTTED_YELLOWTAIL_1; break; + case AQ_SPOTTED_YELLOWTAIL_HORDE: questId = QUEST_HORDE_SPOTTED_YELLOWTAIL_1; break; + case AQ_THICK_LEATHER_ALLY: questId = QUEST_ALLIANCE_THICK_LEATHER_1; break; + case AQ_THICK_LEATHER_HORDE: questId = QUEST_HORDE_THICK_LEATHER_1; break; + case AQ_RUNECLOTH_BANDAGE_ALLY: questId = QUEST_ALLIANCE_RUNECLOTH_BANDAGES_1; break; + case AQ_RUNECLOTH_BANDAGE_HORDE: questId = QUEST_HORDE_RUNECLOTH_BANDAGES_1; break; + case AQ_PURPLE_LOTUS_HORDE: questId = QUEST_HORDE_PURPLE_LOTUS_1; break; + // horde + case AQ_PEACEBLOOM: questId = QUEST_HORDE_PEACEBLOOM_1; break; + case AQ_WOOL_BANDAGE: questId = QUEST_HORDE_WOOL_BANDAGES_1; break; + case AQ_LEAN_WOLF_STEAK: questId = QUEST_HORDE_LEAN_WOLF_STEAKS_1; break; + case AQ_TIN_BAR: questId = QUEST_HORDE_TIN_BARS_1; break; + case AQ_FIREBLOOM: questId = QUEST_HORDE_FIREBLOOM_1; break; + case AQ_HEAVY_LEATHER: questId = QUEST_HORDE_HEAVY_LEATHER_1; break; + case AQ_MITHRIL_BAR: questId = QUEST_HORDE_MITHRIL_BARS_1; break; + case AQ_BAKED_SALMON: questId = QUEST_HORDE_BAKED_SALMON_1; break; + case AQ_RUGGED_LEATHER: questId = QUEST_HORDE_RUGGED_LEATHER_1; break; + case AQ_MAGEWEAVE_BANDAGE: questId = QUEST_HORDE_MAGEWEAVE_BANDAGE_1; break; + // alliance + case AQ_LINEN_BANDAGE: questId = QUEST_ALLIANCE_LINEN_BANDAGE_1; break; + case AQ_RAINBOW_FIN_ALBACORE: questId = QUEST_ALLIANCE_RAINBOW_FIN_ALBACORE_1; break; + case AQ_LIGHT_LEATHER: questId = QUEST_ALLIANCE_LIGHT_LEATHER_1; break; + case AQ_STRANGLEKELP: questId = QUEST_ALLIANCE_STRANGLEKELP_1; break; + case AQ_MEDIUM_LEATHER: questId = QUEST_ALLIANCE_MEDIUM_LEATHER_1; break; + case AQ_SILK_BANDAGE: questId = QUEST_ALLIANCE_SILK_BANDAGES_1; break; + case AQ_IRON_BAR: questId = QUEST_ALLIANCE_IRON_BARS_1; break; + case AQ_ROAST_RAPTOR: questId = QUEST_ALLIANCE_ROAST_RAPTOR_1; break; + case AQ_ARTHAS_TEARS: questId = QUEST_ALLIANCE_ARTHAS_TEARS_1; break; + case AQ_THORIUM_BAR: questId = QUEST_ALLIANCE_THORIUM_BARS_1; break; + default: return resourceStack; + } + + if (questId) + { + if (const Quest* qInfo = sObjectMgr.GetQuestTemplate(questId)) + resourceStack = qInfo->ReqItemCount[0]; + } + return resourceStack; +} + std::pair WorldState::GetResourceInfo(AQResources resource) { switch (resource) @@ -989,7 +1122,7 @@ std::pair WorldState::GetResourceCounterAndMax(AQResourceGroup g std::string WorldState::GetAQPrintout() { - std::string output = "Phase: " + std::to_string(m_aqData.m_phase) + " Timer: " + std::to_string(m_aqData.m_timer) + "\nValues:"; + std::string output = "Phase: " + std::to_string(m_aqData.m_phase) + " Gate: " + std::to_string(m_aqData.IsGateClosed) + " Timer: " + std::to_string(m_aqData.m_timer) + "\nValues:"; for (uint32 value : m_aqData.m_WarEffortCounters) output += " " + std::to_string(value); return output; @@ -1002,7 +1135,7 @@ std::string AhnQirajData::GetData() std::string output = std::to_string(m_phase) + " " + std::to_string(uint64(Clock::to_time_t(respawnTime))); for (uint32 value : m_WarEffortCounters) output += " " + std::to_string(value); - output += " " + std::to_string(m_phase2Tier) + " " + std::to_string(m_killedBosses); + output += " " + std::to_string(m_phase2Tier) + " " + std::to_string(m_killedBosses) + " " + std::to_string(IsGateClosed ? 1 : 0); return output; } diff --git a/src/game/World/WorldState.h b/src/game/World/WorldState.h index 1f500004c1..25014ff12f 100644 --- a/src/game/World/WorldState.h +++ b/src/game/World/WorldState.h @@ -66,6 +66,7 @@ enum GoId enum Conditions { WAR_EFFORT_DAYS_LEFT = 2113, + WAR_EFFORT_GATES_OPEN = 2114, }; enum Events @@ -136,6 +137,99 @@ enum GameEvents GAME_EVENT_SCOURGE_INVASION_INVASIONS_DONE = 99, }; +enum AQQuests +{ + QUEST_ALLIANCE_COPPER_BARS_1 = 8492, + QUEST_ALLIANCE_COPPER_BARS_2 = 8493, + QUEST_HORDE_COPPER_BARS_1 = 8532, + QUEST_HORDE_COPPER_BARS_2 = 8533, + + QUEST_ALLIANCE_PURPLE_LOTUS_1 = 8505, + QUEST_ALLIANCE_PURPLE_LOTUS_2 = 8506, + QUEST_HORDE_PURPLE_LOTUS_1 = 8582, + QUEST_HORDE_PURPLE_LOTUS_2 = 8583, + + QUEST_HORDE_PEACEBLOOM_1 = 8549, + QUEST_HORDE_PEACEBLOOM_2 = 8550, + + QUEST_ALLIANCE_LINEN_BANDAGE_1 = 8517, + QUEST_ALLIANCE_LINEN_BANDAGE_2 = 8518, + + QUEST_ALLIANCE_RAINBOW_FIN_ALBACORE_1 = 8524, + QUEST_ALLIANCE_RAINBOW_FIN_ALBACORE_2 = 8525, + + QUEST_ALLIANCE_LIGHT_LEATHER_1 = 8511, + QUEST_ALLIANCE_LIGHT_LEATHER_2 = 8512, + + QUEST_HORDE_WOOL_BANDAGES_1 = 8604, + QUEST_HORDE_WOOL_BANDAGES_2 = 8605, + + QUEST_ALLIANCE_STRANGLEKELP_1 = 8503, + QUEST_ALLIANCE_STRANGLEKELP_2 = 8504, + + QUEST_ALLIANCE_MEDIUM_LEATHER_1 = 8513, + QUEST_ALLIANCE_MEDIUM_LEATHER_2 = 8514, + + QUEST_HORDE_LEAN_WOLF_STEAKS_1 = 8611, + QUEST_HORDE_LEAN_WOLF_STEAKS_2 = 8612, + + QUEST_HORDE_TIN_BARS_1 = 8542, + QUEST_HORDE_TIN_BARS_2 = 8543, + + QUEST_ALLIANCE_SILK_BANDAGES_1 = 8520, + QUEST_ALLIANCE_SILK_BANDAGES_2 = 8521, + + QUEST_ALLIANCE_IRON_BARS_1 = 8494, + QUEST_ALLIANCE_IRON_BARS_2 = 8495, + + QUEST_ALLIANCE_ROAST_RAPTOR_1 = 8526, + QUEST_ALLIANCE_ROAST_RAPTOR_2 = 8527, + + QUEST_HORDE_FIREBLOOM_1 = 8580, + QUEST_HORDE_FIREBLOOM_2 = 8581, + + QUEST_HORDE_HEAVY_LEATHER_1 = 8588, + QUEST_HORDE_HEAVY_LEATHER_2 = 8589, + + QUEST_ALLIANCE_SPOTTED_YELLOWTAIL_1 = 8528, + QUEST_ALLIANCE_SPOTTED_YELLOWTAIL_2 = 8529, + QUEST_HORDE_SPOTTED_YELLOWTAIL_1 = 8613, + QUEST_HORDE_SPOTTED_YELLOWTAIL_2 = 8614, + + QUEST_ALLIANCE_THICK_LEATHER_1 = 8515, + QUEST_ALLIANCE_THICK_LEATHER_2 = 8516, + QUEST_HORDE_THICK_LEATHER_1 = 8590, + QUEST_HORDE_THICK_LEATHER_2 = 8591, + + QUEST_HORDE_MITHRIL_BARS_1 = 8545, + QUEST_HORDE_MITHRIL_BARS_2 = 8546, + + QUEST_ALLIANCE_RUNECLOTH_BANDAGES_1 = 8522, + QUEST_ALLIANCE_RUNECLOTH_BANDAGES_2 = 8523, + QUEST_HORDE_RUNECLOTH_BANDAGES_1 = 8609, + QUEST_HORDE_RUNECLOTH_BANDAGES_2 = 8610, + + QUEST_ALLIANCE_ARTHAS_TEARS_1 = 8509, + QUEST_ALLIANCE_ARTHAS_TEARS_2 = 8510, + + QUEST_ALLIANCE_THORIUM_BARS_1 = 8499, + QUEST_ALLIANCE_THORIUM_BARS_2 = 8500, + + QUEST_HORDE_BAKED_SALMON_1 = 8615, + QUEST_HORDE_BAKED_SALMON_2 = 8616, + + QUEST_HORDE_RUGGED_LEATHER_1 = 8600, + QUEST_HORDE_RUGGED_LEATHER_2 = 8601, + + QUEST_HORDE_MAGEWEAVE_BANDAGE_1 = 8607, + QUEST_HORDE_MAGEWEAVE_BANDAGE_2 = 8608, + + QUEST_BANG_A_GONG = 8743, + + SAY_BANG_GONG = 11427, + SAY_QIRAJI_BREAK = 11432, +}; + enum AQResources { // Horde @@ -211,7 +305,8 @@ struct AhnQirajData std::set m_spawnedDbGuids; uint32 m_phase2Tier; uint32 m_killedBosses; - AhnQirajData() : m_phase(PHASE_0_DISABLED), m_timer(0), m_phase2Tier(0), m_killedBosses(0) + bool IsGateClosed; + AhnQirajData() : m_phase(PHASE_0_DISABLED), m_timer(0), m_phase2Tier(0), m_killedBosses(0), IsGateClosed(false) { memset(m_WarEffortCounters, 0, sizeof(m_WarEffortCounters)); } @@ -358,14 +453,20 @@ class WorldState void AddWarEffortProgress(AQResources resource, uint32 count); void HandleWarEffortPhaseTransition(uint32 newPhase); + void HandleWarEffortGateSwitch(bool close); void StartWarEffortEvent(); void StopWarEffortEvent(); + void HandleAQGate(); + void SetAQGateGuid(uint32 entry, uint32 dbGuid) { m_aqGateGuids[entry] = dbGuid; } void SpawnWarEffortGos(); void ChangeWarEffortGoSpawns(AQResources resource, int32 forcedTier = -1); void ChangeWarEffortPhase2Tier(uint32 remainingDays); void DespawnWarEffortGuids(std::set>& guids); void SetSilithusBossKilled(AQSilithusBoss boss); AQPhase GetAqPhase() { return (AQPhase)m_aqData.m_phase; } + bool IsGateClosed() { return (AQPhase)m_aqData.IsGateClosed; } + uint32 GetModMaxResources(AQResources resource, uint32 defaultMax); + uint32 GetResourceItemStack(AQResources resource); std::pair GetResourceInfo(AQResources resource); std::pair GetResourceCounterAndMax(AQResourceGroup group, Team team); std::string GetAQPrintout(); @@ -443,6 +544,7 @@ class WorldState std::vector m_emeraldDragonsChosenPositions; AhnQirajData m_aqData; std::map m_aqWorldstateMapReverse; + std::map m_aqGateGuids; LoveIsInTheAir m_loveIsInTheAirData; GuidVector m_loveIsInTheAirCapitalsPlayers; diff --git a/src/game/vmap/GameObjectModel.cpp b/src/game/vmap/GameObjectModel.cpp index 729a017c19..3272693bcd 100644 --- a/src/game/vmap/GameObjectModel.cpp +++ b/src/game/vmap/GameObjectModel.cpp @@ -93,6 +93,9 @@ bool GameObjectModel::initialize(const GameObject* const pGo, const GameObjectDi if (!iModel) return false; + if (it->second.name.find(".m2") != std::string::npos) + iModel->setModelFlags(VMAP::MOD_M2); + name = it->second.name; iPos = Vector3(pGo->GetPositionX(), pGo->GetPositionY(), pGo->GetPositionZ()); collision_enabled = true; diff --git a/src/game/vmap/IVMapManager.h b/src/game/vmap/IVMapManager.h index f4d3d7704f..3be8d39023 100644 --- a/src/game/vmap/IVMapManager.h +++ b/src/game/vmap/IVMapManager.h @@ -94,6 +94,7 @@ namespace VMAP \param z gets adjusted to the ground height for which this are info is valid */ virtual bool getAreaInfo(unsigned int pMapId, float x, float y, float& z, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const = 0; + virtual bool isUnderModel(unsigned int pMapId, float x, float y, float z, float* outDist = nullptr, float* inDist = nullptr) const = 0; virtual bool GetLiquidLevel(uint32 pMapId, float x, float y, float z, uint8 ReqLiquidType, float& level, float& floor, uint32& type) const = 0; }; } diff --git a/src/game/vmap/MapTree.cpp b/src/game/vmap/MapTree.cpp index 6cfad64249..7ca6df5158 100644 --- a/src/game/vmap/MapTree.cpp +++ b/src/game/vmap/MapTree.cpp @@ -112,6 +112,42 @@ namespace VMAP return false; } + class UnderModelCallback + { + public: + UnderModelCallback(ModelInstance* val) : prims(val), outDist(-1), inDist(-1) {} + void operator()(Vector3 const& point, uint32 entry) + { + float newOut = -1; + float newIn = -1; + prims[entry].isUnderModel(point, &newOut, &newIn); + if (outDist < 0 || (newOut >= 0 && newOut < outDist)) + outDist = newOut; + if (inDist < 0 || (newIn >= 0 && newIn < inDist)) + inDist = newIn; + } + bool UnderModel() const + { + return (outDist < 0 && inDist >= 0) || (0 <= inDist && inDist < outDist); + } + + ModelInstance* prims; + float outDist; + float inDist; + }; + + + bool StaticMapTree::isUnderModel(Vector3& pos, float* outDist, float* inDist) const + { + UnderModelCallback intersectionCallBack(iTreeValues); + iTree.intersectPoint(pos, intersectionCallBack); + if (outDist) + *outDist = intersectionCallBack.outDist; + if (inDist) + *inDist = intersectionCallBack.inDist; + return intersectionCallBack.UnderModel(); + } + bool StaticMapTree::GetLocationInfo(const Vector3& pos, LocationInfo& info) const { LocationInfoCallback intersectionCallBack(iTreeValues, info); diff --git a/src/game/vmap/MapTree.h b/src/game/vmap/MapTree.h index 97ae773364..81215d8905 100644 --- a/src/game/vmap/MapTree.h +++ b/src/game/vmap/MapTree.h @@ -79,6 +79,7 @@ namespace VMAP bool getObjectHitPos(const G3D::Vector3& pPos1, const G3D::Vector3& pPos2, G3D::Vector3& pResultHitPos, float pModifyDist) const; float getHeight(const G3D::Vector3& pPos, float maxSearchDist) const; bool getAreaInfo(G3D::Vector3& pos, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const; + bool isUnderModel(G3D::Vector3& pos, float* outDist = nullptr, float* inDist = nullptr) const; bool GetLocationInfo(const Vector3& pos, LocationInfo& info) const; bool InitMap(const std::string& fname, VMapManager2* vm); diff --git a/src/game/vmap/ModelInstance.cpp b/src/game/vmap/ModelInstance.cpp index 0ac018af1a..2904b6c0e4 100644 --- a/src/game/vmap/ModelInstance.cpp +++ b/src/game/vmap/ModelInstance.cpp @@ -96,6 +96,31 @@ namespace VMAP } } + bool ModelInstance::isUnderModel(G3D::Vector3 const& p, float* outDist, float* inDist) const + { + if (!iModel) + { +#ifdef VMAP_DEBUG + printf(""); +#endif + return false; + } + + // M2 files don't have bounds + if (flags & MOD_M2) + { + //if (p. + } + else if (!iBound.contains(p)) + return false; + // child bounds are defined in object space: + Vector3 up(0, 0, 1); + Vector3 pModel = iInvRot * (p - iPos) * iInvScale; + up = iInvRot * up * iInvScale; + + return iModel->IsUnderObject(pModel, up, flags & MOD_M2, outDist, inDist); + } + bool ModelInstance::GetLocationInfo(const G3D::Vector3& p, LocationInfo& info) const { if (!iModel) diff --git a/src/game/vmap/ModelInstance.h b/src/game/vmap/ModelInstance.h index 543eb38a5b..1faa1c2905 100644 --- a/src/game/vmap/ModelInstance.h +++ b/src/game/vmap/ModelInstance.h @@ -69,6 +69,7 @@ namespace VMAP void setUnloaded() { iModel = nullptr; } bool intersectRay(const G3D::Ray& pRay, float& pMaxDist, bool pStopAtFirstHit, bool ignoreM2Model = false) const; void intersectPoint(const G3D::Vector3& p, AreaInfo& info) const; + bool isUnderModel(G3D::Vector3 const& p, float* outDist = nullptr, float* inDist = nullptr) const; bool GetLocationInfo(const G3D::Vector3& p, LocationInfo& info) const; bool GetLiquidLevel(const G3D::Vector3& p, LocationInfo& info, float& liqHeight) const; protected: diff --git a/src/game/vmap/VMapManager2.cpp b/src/game/vmap/VMapManager2.cpp index 540792c40b..29c9d650a3 100644 --- a/src/game/vmap/VMapManager2.cpp +++ b/src/game/vmap/VMapManager2.cpp @@ -242,6 +242,18 @@ namespace VMAP return result; } + bool VMapManager2::isUnderModel(unsigned int pMapId, float x, float y, float z, float* outDist, float* inDist) const + { + bool result = false; + InstanceTreeMap::const_iterator instanceTree = iInstanceMapTrees.find(pMapId); + if (instanceTree != iInstanceMapTrees.end()) + { + Vector3 pos = convertPositionToInternalRep(x, y, z); + result = instanceTree->second->isUnderModel(pos, outDist, inDist); + } + return result; + } + uint8 GetLiquidMask(uint32 type) // wotlk uses dbc { switch (type) diff --git a/src/game/vmap/VMapManager2.h b/src/game/vmap/VMapManager2.h index e0772e9a52..1f1e0f4b20 100644 --- a/src/game/vmap/VMapManager2.h +++ b/src/game/vmap/VMapManager2.h @@ -101,6 +101,7 @@ namespace VMAP bool processCommand(char* /*pCommand*/) override { return false; } // for debug and extensions bool getAreaInfo(unsigned int pMapId, float x, float y, float& z, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const override; + bool isUnderModel(unsigned int pMapId, float x, float y, float z, float* outDist = nullptr, float* inDist = nullptr) const override; bool GetLiquidLevel(uint32 pMapId, float x, float y, float z, uint8 ReqLiquidTypeMask, float& level, float& floor, uint32& type) const override; WorldModel* acquireModelInstance(const std::string& basepath, const std::string& filename); diff --git a/src/game/vmap/WorldModel.cpp b/src/game/vmap/WorldModel.cpp index 2f1607264c..3cb1ee8ce8 100644 --- a/src/game/vmap/WorldModel.cpp +++ b/src/game/vmap/WorldModel.cpp @@ -390,6 +390,46 @@ namespace VMAP return hit; } + class UnderObjectCheckerCallback + { + public: + UnderObjectCheckerCallback(std::vector const& vals, Vector3 const& up, bool _ism2) : + prims(vals.begin()), hit(vals.end()), m2(_ism2), zVec(up), outDist(-1), inDist(-1) {} + std::vector::const_iterator prims; + std::vector::const_iterator hit; + bool m2; + Vector3 zVec; + float outDist; + float inDist; + void operator()(Vector3 const& point, uint32 entry) + { + float currentOutDist = -1.0f; + float currentInDist = -1.0f; + prims[entry].IsUnderObject(point, zVec, m2, ¤tOutDist, ¤tInDist); + if (outDist < 0 || (currentOutDist >= 0 && currentOutDist <= outDist)) + outDist = currentOutDist; + if (inDist < 0 || (currentInDist >= 0 && currentInDist <= inDist)) + inDist = currentInDist; + } + bool UnderModel() const + { + return (outDist < 0 && inDist >= 0) || (0 <= inDist && inDist < outDist); + } + }; + + bool WorldModel::IsUnderObject(G3D::Vector3 const& p, G3D::Vector3 const& up, bool m2, float* outDist, float* inDist) const + { + if (groupModels.empty()) + return false; + UnderObjectCheckerCallback callback(groupModels, up, m2); + groupTree.intersectPoint(p, callback); + if (outDist) + *outDist = callback.outDist; + if (inDist) + *inDist = callback.inDist; + return callback.UnderModel(); + } + bool GroupModel::GetLiquidLevel(const Vector3& pos, float& liqHeight) const { if (iLiquid) @@ -580,4 +620,70 @@ namespace VMAP fclose(rf); return result; } + + // Triangle oriented intersection: in -> out + bool IsGoingOut(Vector3 const& p0, Vector3 const& p1, Vector3 const& p2, Vector3 const& direction) + { + Vector3 e0 = p1 - p0; + Vector3 e1 = p2 - p0; + Vector3 norm = e0.cross(e1); + return norm.dot(direction) < 0; + } + + struct GModelRayOrientedCallback + { + GModelRayOrientedCallback(std::vector const& tris, std::vector const& vert, bool isM2) : + vertices(vert.begin()), triangles(tris.begin()), minOutDist(-1), minInDist(-1), m2(isM2) {} + bool operator()(G3D::Ray const& ray, uint32 entry, float& unusedD, bool /*pStopAtFirstHit*/, bool /*ignoreM2Model*/) + { + // Dont modify unusedD. Keep it to infinity. We want to traverse every triangle. + float distance = unusedD; + if (IntersectTriangle(triangles[entry], vertices, ray, distance)) + { + // Going in or out ? + bool inToOutCollision = false; + if (m2) + inToOutCollision = IsGoingOut(vertices[triangles[entry].idx2], vertices[triangles[entry].idx1], vertices[triangles[entry].idx0], ray.direction()); + else + inToOutCollision = IsGoingOut(vertices[triangles[entry].idx0], vertices[triangles[entry].idx1], vertices[triangles[entry].idx2], ray.direction()); + if (inToOutCollision) + { + if (minOutDist > distance || minOutDist < 0) + minOutDist = distance; + } + else + { + if (minInDist > distance || minInDist < -0) + minInDist = distance; + } + } + return true; + } + bool UnderModel() const + { + return (minOutDist < 0 && minInDist >= 0) || (0 <= minInDist && minInDist < minOutDist); + } + std::vector::const_iterator vertices; + std::vector::const_iterator triangles; + float minOutDist; // in -> out + float minInDist; // out-> in + bool m2; + }; + + bool GroupModel::IsUnderObject(Vector3 const& pos, Vector3 const& up, bool isM2, float* outDist, float* inDist) const + { + // M2 models do not have bounds defined. + if (triangles.empty()) + return false; + Vector3 rPos = pos; + float dist = G3D::inf(); + G3D::Ray rayUp(rPos, up); + GModelRayOrientedCallback callback(triangles, vertices, isM2); + meshTree.intersectRay(rayUp, callback, dist, false); + if (outDist) + *outDist = callback.minOutDist; + if (inDist) + *inDist = callback.minInDist; + return callback.UnderModel(); + } } diff --git a/src/game/vmap/WorldModel.h b/src/game/vmap/WorldModel.h index 88fecacfeb..d94e5eb09b 100644 --- a/src/game/vmap/WorldModel.h +++ b/src/game/vmap/WorldModel.h @@ -88,6 +88,7 @@ namespace VMAP void setLiquidData(WmoLiquid*& liquid) { iLiquid = liquid; liquid = nullptr; } bool IntersectRay(const G3D::Ray& ray, float& distance, bool stopAtFirstHit, bool ignoreM2Model = false) const; bool IsInsideObject(const Vector3& pos, const Vector3& down, float& z_dist) const; + bool IsUnderObject(Vector3 const& pos, Vector3 const& up, bool isM2, float* outDist = nullptr, float* inDist = nullptr) const; // Use client triangles orientation. You can see bot->top through the floor. bool GetLiquidLevel(const Vector3& pos, float& liqHeight) const; uint32 GetLiquidType() const; bool writeToFile(FILE* wf); @@ -120,6 +121,7 @@ namespace VMAP void setRootWmoID(uint32 id) { RootWMOID = id; } bool IntersectRay(const G3D::Ray& ray, float& distance, bool stopAtFirstHit, bool ignoreM2Model = false) const; bool IntersectPoint(const G3D::Vector3& p, const G3D::Vector3& down, float& dist, AreaInfo& info) const; + bool IsUnderObject(G3D::Vector3 const& p, G3D::Vector3 const& up, bool m2, float* outDist = nullptr, float* inDist = nullptr) const; bool GetLocationInfo(const G3D::Vector3& p, const G3D::Vector3& down, float& dist, GroupLocationInfo& info) const; bool writeFile(const std::string& filename); bool readFile(const std::string& filename); diff --git a/src/mangosd/CMakeLists.txt b/src/mangosd/CMakeLists.txt index 868c4d5741..eaf4310b72 100644 --- a/src/mangosd/CMakeLists.txt +++ b/src/mangosd/CMakeLists.txt @@ -134,6 +134,11 @@ if (BUILD_AHBOT) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ahbot.conf.dist DESTINATION ${CONF_DIR}) endif() +# Define Achievements USE_ACHIEVEMENTS if need +if (BUILD_ACHIEVEMENTS) + add_definitions(-DUSE_ACHIEVEMENTS) +endif() + if(MSVC) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/\${BUILD_TYPE}/${EXECUTABLE_NAME}.pdb DESTINATION ${BIN_DIR} CONFIGURATIONS Debug) endif() diff --git a/src/mangosd/Main.cpp b/src/mangosd/Main.cpp index c5a564a92f..0073a79369 100644 --- a/src/mangosd/Main.cpp +++ b/src/mangosd/Main.cpp @@ -62,6 +62,7 @@ DatabaseType WorldDatabase; ///< Accessor to the DatabaseType CharacterDatabase; ///< Accessor to the character database DatabaseType LoginDatabase; ///< Accessor to the realm/login database DatabaseType LogsDatabase; ///< Accessor to the logs database +DatabaseType PlayerbotDatabase; ///< Accessor to the playerbot database uint32 realmID; ///< Id of the realm diff --git a/src/mangosd/Master.cpp b/src/mangosd/Master.cpp index c8b4e45887..0f938346f9 100644 --- a/src/mangosd/Master.cpp +++ b/src/mangosd/Master.cpp @@ -132,6 +132,7 @@ int Master::Run() WorldDatabase.AllowAsyncTransactions(); LoginDatabase.AllowAsyncTransactions(); LogsDatabase.AllowAsyncTransactions(); + PlayerbotDatabase.AllowAsyncTransactions(); ///- Catch termination signals _HookSignals(); @@ -262,6 +263,9 @@ int Master::Run() // send all still queued mass mails (before DB connections shutdown) sMassMailMgr.Update(true); + // kick and save all players + sWorld.KickAll(true); + ///- Wait for DB delay threads to end CharacterDatabase.HaltDelayThread(); WorldDatabase.HaltDelayThread(); @@ -363,6 +367,31 @@ bool Master::_StartDB() return false; } + /// Playerbot Database + dbstring = sConfig.GetStringDefault("PlayerbotDatabaseInfo", ""); + nConnections = sConfig.GetIntDefault("PlayerbotDatabaseConnections", 1); + if (dbstring.empty()) + { + sLog.outError("Playerbot Database not specified in configuration file"); + + ///- Wait for already started DB delay threads to end + WorldDatabase.HaltDelayThread(); + CharacterDatabase.HaltDelayThread(); + return false; + } + sLog.outString("Playerbot Database total connections: %i", nConnections + 1); + + ///- Initialise the Playerbot database + if (!PlayerbotDatabase.Initialize(dbstring.c_str(), nConnections)) + { + sLog.outError("Can not connect to Playerbot database %s", dbstring.c_str()); + + ///- Wait for already started DB delay threads to end + CharacterDatabase.HaltDelayThread(); + WorldDatabase.HaltDelayThread(); + return false; + } + ///- Get login database info from configuration file dbstring = sConfig.GetStringDefault("LoginDatabaseInfo"); nConnections = sConfig.GetIntDefault("LoginDatabaseConnections", 1); @@ -373,6 +402,7 @@ bool Master::_StartDB() ///- Wait for already started DB delay threads to end WorldDatabase.HaltDelayThread(); CharacterDatabase.HaltDelayThread(); + PlayerbotDatabase.HaltDelayThread(); return false; } @@ -385,6 +415,7 @@ bool Master::_StartDB() ///- Wait for already started DB delay threads to end WorldDatabase.HaltDelayThread(); CharacterDatabase.HaltDelayThread(); + PlayerbotDatabase.HaltDelayThread(); return false; } @@ -393,6 +424,7 @@ bool Master::_StartDB() ///- Wait for already started DB delay threads to end WorldDatabase.HaltDelayThread(); CharacterDatabase.HaltDelayThread(); + PlayerbotDatabase.HaltDelayThread(); LoginDatabase.HaltDelayThread(); return false; } @@ -444,6 +476,7 @@ bool Master::_StartDB() ///- Wait for already started DB delay threads to end WorldDatabase.HaltDelayThread(); CharacterDatabase.HaltDelayThread(); + PlayerbotDatabase.HaltDelayThread(); LoginDatabase.HaltDelayThread(); return false; } diff --git a/src/mangosd/mangosd.conf.dist.in b/src/mangosd/mangosd.conf.dist.in index e3d57c7b46..f42a8dc2ec 100644 --- a/src/mangosd/mangosd.conf.dist.in +++ b/src/mangosd/mangosd.conf.dist.in @@ -3,7 +3,7 @@ ##################################### [MangosdConf] -ConfVersion=2022012301 +ConfVersion=2022021201 ################################################################################################################### # CONNECTIONS AND DIRECTORIES @@ -71,10 +71,12 @@ LoginDatabaseInfo = "127.0.0.1;3306;mangos;mangos;classicrealmd" WorldDatabaseInfo = "127.0.0.1;3306;mangos;mangos;classicmangos" CharacterDatabaseInfo = "127.0.0.1;3306;mangos;mangos;classiccharacters" LogsDatabaseInfo = "127.0.0.1;3306;mangos;mangos;classiclogs" +PlayerbotDatabaseInfo = "127.0.0.1;3306;mangos;mangos;classicplayerbots" LoginDatabaseConnections = 1 WorldDatabaseConnections = 1 CharacterDatabaseConnections = 1 LogsDatabaseConnections = 1 +PlayerbotDatabaseConnections = 1 MaxPingTime = 30 WorldServerPort = 8085 BindIP = "0.0.0.0" @@ -596,6 +598,16 @@ LogColors = "" # Default: 0 (true) # 1 (false) # +# InstantFlightPaths +# Flight paths will take players to their destination instantly, instead of making them wait to fly there. +# Default: 0 (false) +# 1 (true) +# +# TaxiFlightFarVisibility +# Visibility of taxi flying characters is increased up to 400y, making them visible from afar. +# Default: 0 (false) +# 1 (true) +# # AlwaysMaxSkillForLevel # Players will automatically gain max level dependent (weapon/defense) skill when logging in, leveling up etc. # Default: 0 (false) @@ -807,6 +819,8 @@ InstantLogout = 1 TaxiFlightChatFix = 0 LongFlightPathsPersistence = 0 AllFlightPaths = 0 +InstantFlightPaths = 0 +TaxiFlightFarVisibility = 0 AlwaysMaxSkillForLevel = 0 ActivateWeather = 1 CastUnstuck = 1 @@ -1580,6 +1594,24 @@ BattleGround.PremadeGroupWaitForMatch = 0 OutdoorPvp.SIEnabled = 1 OutdoorPvp.EPEnabled = 1 +################################################################################################################### +# AQ WAR EFFORT CONFIG +# +# WarEffort.Enable +# Enable AQ War Effort +# Default: 1 (enable - starts last saved phase or phase 1, gates closed if phase < 4) +# 0 (disable - disables war effort, gates open) +# +# WarEffort.Rates +# Change modifier for amount of resources required for War Effort +# Default: 1 (full amount) +# Examples: 0.5 - 2 times less items required, 0.1 - 10 times less items required +# +################################################################################################################### + +WarEffort.Enable = 1 +WarEffort.Rates = 1 + ################################################################################################################### # MEETING STONE LFG CONFIG # @@ -1598,6 +1630,615 @@ OutdoorPvp.EPEnabled = 1 LFG.Matchmaking = 0 LFG.MatchmakingTimer = 600 +################################################################################################################### +# SOLOCRAFT SETTINGS +# +# Solocraft.Enable +# Enable Solocraft module +# Default: 1 (Enabled) +# 0 (Disabled) +# +# Solocraft.Announce +# Announce the module when the player logs in? +# Default: 1 (Enabled) +# 0 (Disabled) +# +# Solocraft.Debuff.Enable +# Enable Debuff of new party members who enter the dungeon to avoid overloading the dungeon? +# Overloading is when a group member already in the dungeon has the full offset/buff of the +# dungeon applied then they invite new group members who enter the dungeon and also receive an +# offset which creates a huge imbalance. +# The debuff will make the new members weak until all members leave the instance/dungeon +# instance/dungeon and re-enter which will then split the offset among all the group members. +# Default: 1 (Enabled) +# 0 (Disabled) +# +# SoloCraft.Spellpower.Mult +# Spellpower Bonus Multiplier +# Spellcasters spellpower bonus multiplier to offset no spellpower received from stats +# Formula: (player->level * multiplier) * difficulty +# Example Level 24 Mage with default modifier and a dungeon difficulty of 5 will receive a base +# Spellpower increase of 300. +# Default: 2.5 +# 0.0 (Disabled) +# +# SoloCraft.Stats.Mult +# Stats Percentage Bonus Multiplier +# Forumla: player->Stats * (difficulty * multiplier) +# Default: 100.0 +# 0.0 (Disable) +# +# Solocraft.Max.Level.Diff +# Max player level difference over the Dungeon's Level for Solocraft to apply the difficulty offset buff. +# Default: 10 +# Disable: 60 +# +# Solocraft.Dungeon +# Difficulty offset for unhandled/undefined dungeons +# Default: 5.0 +# +# Solocraft.Raid25 +# Difficulty offset for unhandled/undefined 25-man raids +# Default: 25.0 +# +# Solocraft.Raid40 +# Difficulty offset for unhandled/undefined 40-man raids +# Default: 40.0 +# +# Solocraft.Dungeon.Level +# Base level for unhandled/undefined dungeons/raids +# Default: 60 +# +# Solocraft.OrgrimmarInstance +# Difficulty offset for Ragefire Chasm +# Default: 5.0 +# +# Solocraft.ShadowfangKeep +# Difficulty offset for Shadowfang Keep +# Default: 5.0 +# +# Solocraft.WailingCaverns +# Difficulty offset for Wailing Caverns +# Default: 5.0 +# +# Solocraft.Deadmines +# Difficulty offset for Deadmines +# Default: 5.0 +# +# Solocraft.Blackfathom +# Difficulty offset for Blackfathom Deeps +# Default: 5.0 +# +# Solocraft.Stockades +# Difficulty offset for Stormwind Stockades +# Default: 5.0 +# +# Solocraft.GnomeragonInstance +# Difficulty offset for Gnomeragon +# Default: 5.0 +# +# Solocraft.RazorfenKraulInstance +# Difficulty offset for Razorfen Kraul +# Default: 5.0 +# +# Solocraft.MonasteryInstances +# Difficulty offset for Scarlet Monastery Dungeons +# Default: 5.0 +# +# Solocraft.RazorfenDowns +# Difficulty offset for Razonfen Downs +# Default: 5.0 +# +# Solocraft.Uldaman +# Difficulty offset for Uldaman +# Default: 5.0 +# +# Solocraft.TanarisInstance +# Difficulty offset for Zul'Farrak +# Default: 5.0 +# +# Solocraft.Mauradon +# Difficulty offset for Maruadon +# Default: 5.0 +# +# Solocraft.DireMaul +# Difficulty offset for Dire Maul +# Default: 5.0 +# +# Solocraft.SunkenTemple +# Difficulty offset for The Temple of Atal'Hakkar aka Sunken Temple +# Default: 5.0 +# +# Solocraft.BlackrockDepths +# Difficulty offset for Blackrock Depths +# Default: 5.0 +# +# Solocraft.BlackRockSpire +# Difficulty offset for Blackrock Spire, both lower and upper +# Default: 10.0 +# +# Solocraft.SchoolofNecromancy +# Difficulty offset for Scholomance +# Default: 5.0 +# +# Solocraft.Stratholme +# Difficulty offset for Stratholme +# Default: 5.0 +# +# Solocraft.OnyxiaLairInstance +# Difficulty offset for Onyxia's Lair +# Default: 40.0 +# +# Solocraft.MoltenCore +# Difficulty offset for Molten Core +# Default: 40.0 +# +# Solocraft.BlackwingLair +# Difficulty offset for Blackwing Lair +# Default: 40.0 +# +# Solocraft.Zul'gurub +# Difficulty offset for Zul'gurub +# Default: 20.0 +# +# Solocraft.AhnQiraj +# Difficulty offset for the Ruins of Ahn'Qiraj +# Default: 20.0 +# +# Solocraft.AhnQirajTemple +# Difficulty offset for the Temple of Ahn'Qiraj +# Default: 40.0 +# +# Solocraft.StratholmeRaid +# Difficulty offset for Naxxramas +# Default: 40.0 +# +# Solocraft.OrgrimmarInstance.Level +# Base level for Ragefire Chasm +# Default: 15 +# +# Solocraft.ShadowfangKeep.Level +# Base level for Shadowfang Keep +# Default: 15 +# +# Solocraft.WailingCaverns.Level +# Base level for Wailing Caverns +# Default: 17 +# +# Solocraft.Deadmines.Level +# Base level for Deadmines +# Default: 18 +# +# Solocraft.Blackfathom.Level +# Base level for Blackfathom Deeps +# Default: 20 +# +# Solocraft.Stockades.Level +# Base level for Stormwind Stockades +# Default: 22 +# +# Solocraft.GnomeragonInstance.Level +# Base level for Gnomeragon +# Default: 24 +# +# Solocraft.RazorfenKraulInstance.Level +# Base level for Razonfen Kraul +# Default: 30 +# +# Solocraft.MonasteryInstances.Level +# Base level for Scarlet Monastery dungeons +# Default: 35 +# +# Solocraft.RazorfenDowns.Level +# Base level for Razorfen Downs +# Default: 40 +# +# Solocraft.Uldaman.Level +# Base level for Uldaman +# Default: 40 +# +# Solocraft.TanarisInstance.Level +# Base level for Zul'Farrak +# Default: 44 +# +# Solocraft.Mauradon.Level +# Base level for Mauradon +# Default: 48 +# +# Solocraft.DireMaul.Level +# Base level for Dire Maul +# Default: 48 +# +# Solocraft.SunkenTemple.Level +# Base level for The Temple of Atal'Hakkar aka Sunken Temple +# Default: 50 +# +# Solocraft.BlackrockDepths.Level +# Base level for Blackrock Depths +# Default: 50 +# +# Solocraft.BlackRockSpire.Level +# Base level for Blackrock Spire, both lower and upper +# Default: 55 +# +# Solocraft.SchoolofNecromancy.Level +# Base level for Scholomance +# Default: 55 +# +# Solocraft.Stratholme.Level +# Base level for Stratholme +# Default: 55 +# +# Solocraft.OnyxiaLairInstance.Level +# Base level for Onyxia's Lair +# Default: 60 +# +# Solocraft.MoltenCore.Level +# Base level for Molten Core +# Default: 60 +# +# Solocraft.BlackwingLair.Level +# Base level for Blackwing Lair +# Default: 60 +# +# Solocraft.Zul'gurub.Level +# Base level for Zul'gurub +# Default: 60 +# +# Solocraft.AhnQiraj.Level +# Base level for the Ruins of Ahn'Qiraj +# Default: 60 +# +# Solocraft.AhnQirajTemple.Level +# Base level for the Temple of Ahn'Qiraj +# Default: 60 +# +# Solocraft.StratholmeRaid.Level +# Base level for Naxxramas +# Default: 60 +################################################################################################################### +Solocraft.Enable = 1 +Solocraft.Announce = 1 +SoloCraft.Debuff.Enable = 1 +SoloCraft.Spellpower.Mult = 2.5 +SoloCraft.Stats.Mult = 100.0 +Solocraft.Max.Level.Diff = 10 +Solocraft.Dungeon = 5.0 +Solocraft.Raid25 = 25.0 +Solocraft.Raid40 = 40.0 +Solocraft.Dungeon.Level = 60 +Solocraft.OrgrimmarInstance = 5.0 +Solocraft.ShadowfangKeep = 5.0 +Solocraft.WailingCaverns = 5.0 +Solocraft.Deadmines = 5.0 +Solocraft.Blackfathom = 5.0 +Solocraft.Stockades = 5.0 +Solocraft.GnomeragonInstance = 5.0 +Solocraft.RazorfenKraulInstance = 5.0 +Solocraft.MonasteryInstances = 5.0 +Solocraft.RazorfenDowns = 5.0 +Solocraft.Uldaman = 5.0 +Solocraft.TanarisInstance = 5.0 +Solocraft.Mauradon = 5.0 +Solocraft.DireMaul = 5.0 +Solocraft.SunkenTemple = 5.0 +Solocraft.BlackrockDepths = 5.0 +Solocraft.BlackRockSpire = 10.0 +Solocraft.SchoolofNecromancy = 5.0 +Solocraft.Stratholme = 5.0 +Solocraft.OnyxiaLairInstance = 40.0 +Solocraft.MoltenCore = 40.0 +Solocraft.BlackwingLair = 40.0 +Solocraft.Zul'gurub = 20.0 +Solocraft.AhnQiraj = 20.0 +Solocraft.AhnQirajTemple = 40.0 +Solocraft.StratholmeRaid = 40.0 +Solocraft.OrgrimmarInstance.Level = 15 +Solocraft.ShadowfangKeep.Level = 15 +Solocraft.WailingCaverns.Level = 17 +Solocraft.Deadmines.Level = 18 +Solocraft.Blackfathom.Level = 20 +Solocraft.Stockades.Level = 22 +Solocraft.GnomeragonInstance.Level = 24 +Solocraft.RazorfenKraulInstance.Level = 30 +Solocraft.MonasteryInstances.Level = 35 +Solocraft.RazorfenDowns.Level = 40 +Solocraft.Uldaman.Level = 40 +Solocraft.TanarisInstance.Level = 44 +Solocraft.Mauradon.Level = 48 +Solocraft.DireMaul.Level = 48 +Solocraft.SunkenTemple.Level = 50 +Solocraft.BlackrockDepths.Level = 50 +Solocraft.BlackRockSpire.Level = 55 +Solocraft.SchoolofNecromancy.Level = 55 +Solocraft.Stratholme.Level = 55 +Solocraft.OnyxiaLairInstance.Level = 60 +Solocraft.MoltenCore.Level = 60 +Solocraft.BlackwingLair.Level = 60 +Solocraft.Zul'gurub.Level = 60 +Solocraft.AhnQiraj.Level = 60 +Solocraft.AhnQirajTemple.Level = 60 +Solocraft.StratholmeRaid.Level = 60 + +################################################################################################################### +# HARDCORE SETTINGS +# +# Hardcore.Enable +# Enable Hardcore module +# Default: 0 (Disabled) +# 1 (Enabled) +# +# Hardcore.SpawnGrave +# If a gravestone should spawn when the player dies. To reset the graves use the command ".hardcore resetgraves" +# Default: 1 (Enabled) +# 0 (Disabled) +# +# Hardcore.GraveGameObjectID +# The game object to use for the graves (http://wowadd.blogspot.com/2007/12/game-master-game-object-list.html) +# Default: 61 +# +# Hardcore.GraveMessage +# The message on the gravestone. Separate with | for having multiple messages randomly selected +# Default: "Here lies " +# +# Hardcore.DropGear +# If the player drops his gear after dying. A percentage of gear to drop from 0.0 to 1.0, 0 being no drop, 0.5 half drops and 1 all drops +# Default: 0 (No drop) +# +# Hardcore.DropItems +# If the player drops his bag items after dying. A percentage of bag items to drop from 0.0 to 1.0, 0 being no drop, 0.5 half drops and 1 all drops +# Default: 0 (No drop) +# +# Hardcore.DropMoney +# If the player drops his money after dying. A percentage of money to drop from 0.0 to 1.0, 0 being no drop, 0.5 half drops and 1 all drops +# Default: 0 (No drop) +# +# Hardcore.BotDropGear +# If the player bot drops his gear after dying. A percentage of gear to drop from 0.0 to 1.0, 0 being no drop, 0.5 half drops and 1 all drops +# Default: 0 (No drop) +# +# Hardcore.BotDropItems +# If the player bot drops his bag items after dying. A percentage of bag items to drop from 0.0 to 1.0, 0 being no drop, 0.5 half drops and 1 all drops +# Default: 0 (No drop) +# +# Hardcore.BotDropMoney +# If the player bot drops his money after dying. A percentage of money to drop from 0.0 to 1.0, 0 being no drop, 0.5 half drops and 1 all drops +# Default: 0 (No drop) +# +# Hardcore.LootGameObjectID +# The game object to use for the loot. MUST BE TYPE CHEST(3) (http://wowadd.blogspot.com/2007/12/game-master-game-object-list.html) +# Default: 2850 +# +# Hardcore.ReviveDisabled +# If the player can't revive after dead (If you want to revive you have to disable this or the hardcore mod altogether) +# Default: 1 (Enabled) +# 0 (Disabled) +# +# Hardcore.ReviveOnGraveyard +# If the player should be automatically revived on the graveyard (instead of running back as a ghost to the corpse) +# Default: 0 (Disabled) +# 1 (Enabled) +# +# Hardcore.LevelDown +# If the player gets level down after dying. A percentage of xp to lose being 0 none, 0.5 half a level, 1.0 one level and 2.0 two levels +# Default: 0 +# +# Hardcore.MaxPlayerLoot +# The amount of loot droped after death allowed. E.g If the player died 3 times and this value is set to 2, the game will spawn a new loot and the oldest spawned loot will get deleted +# Default: 1 +# +# COMMANDS +# +# .hardcore reset +# Resets the state of the hardcore mod (loot and graves). Recommended to delete WDB folder and server reset after this +# +# .hardcore resetloot +# Removes all the loot spawned in the world +# +# .hardcore resetgraves +# Removes all the graves spawned in the world (Recommended to delete WDB folder and server reset after this) +# +################################################################################################################### + +Hardcore.Enable = 0 +Hardcore.SpawnGrave = 1 +Hardcore.GraveGameObjectID = 61 +Hardcore.GraveMessage = "Shit happens. | Well, this sucks. | It's really dark down here. | Finally some peace and quiet. | Shhh! I'm sleeping. | At least we had fun. | was so brave until he forgot his parachute." +Hardcore.DropGear = 0 +Hardcore.DropItems = 0 +Hardcore.DropMoney = 0 +Hardcore.BotDropGear = 0 +Hardcore.BotDropItems = 0 +Hardcore.BotDropMoney = 0 +Hardcore.LootGameObjectID = 2850 +Hardcore.ReviveDisabled = 1 +Hardcore.ReviveOnGraveyard = 0 +Hardcore.LevelDown = 0 +Hardcore.MaxPlayerLoot = 1 + +################################################################################################################### +# ACHIEVEMENTS SETTINGS +# +# Achievements.Enable +# Enable Achievements system +# Default: 1 (enable - tracks all achievements and statistics) +# 0 (disable - disables achievements) +# +# Achievements.SendMessage +# Send message in chat and in guild when someone earns an achievement +# Default: 1 (send message) +# 0 (do not send message) +# +# Achievements.SendAddon +# Enable support for Achiever addon +# Default: 1 (send special messages to make addon work) +# 0 (do not send messages, Achiever addon will not work) +# +# Achievements.SendVisual +# Enable showing visual effect on player when earning achievement +# Default: 1 (show visual effect on player) +# 0 (do not show visual effect on player) +# +# Achievements.RandomBots +# Enable achievement system for random bots +# Default: 1 (enable, random bots can earn achievements or statistics) +# 0 (disable, random bots do not earn achievements or statistics) +# +# Achievements.RandomBotsRealmFirst +# Enable Realm First achievements for random bots +# Default: 0 (random bots do not earn Realm First achievements) +# 1 (random bots can earn Realm First achievements) +# +# Achievements.AccountAcchievenemts +# Sync all achievements for the characters on the same account +# Default: 0 (disabled) +# 1 (enabled) +# +# Achievements.EffectId +# ID of visual effect sent if visual effect is enabled +# Default: 146 +# +################################################################################################################### + +Achievements.Enable = 1 +Achievements.SendMessage = 1 +Achievements.SendAddon = 1 +Achievements.SendVisual = 1 +Achievements.RandomBots = 1 +Achievements.RandomBotsRealmFirst = 0 +Achievements.AccountAcchievenemts = 0 +Achievements.EffectId = 146 + +################################################################################################################### +# IMMERSIVE SETTINGS +# +# Immersive.Enable +# Enable Immersive module +# Default: 0 (Disabled) +# 1 (Enabled) +# +# Immersive.ManualAttributes +# Player must spend gold buying the attributes from your class trainer +# Default: 0 (Disabled) +# 1 (Enabled) +# +# Immersive.ManualAttributesPercent +# Default: 100 +# +# Immersive.ManualAttributesIncrease +# The amount of attributes you can get per level +# Default: 5 +# +# Immersive.ManualAttributesCostMult +# The money multiplier per attribute (increases gradually per stat applied) +# Default: 5 +# +# Immersive.ManualAttributesMax +# The total amount of attributes that you can get at max level +# Default: 0 (Automatically assign it based on blizzlike stats) (A good blizzlike value would be 390) +# +# Immersive.SharedXpPercent +# All your alts get a percent of your XP whenever you get it (From 0 to 100) (Must have alt character logged in as a bot) +# Default: 0 +# +# Immersive.SharedRepPercent +# All your alts get a percent of your reputation whenever you get it (From 0 to 100) (Must have alt character logged in as a bot) +# Default: 0 +# +# Immersive.SharedMoneyPercent +# All your alts get a percent of your money whenever you get it (From 0 to 100) (Must have alt character logged in as a bot) +# Default: 0 +# +# Immersive.SharedQuestMoneyPercent +# All your alts get a percent of max-level quest money rewards (From 0 to 100) (Must have alt character logged in as a bot) +# Alternative to Immersive.SharedMoneyPercent but restricted to quest rewards only +# Default: 0 +# +# Immersive.SharedQuests +# All your alts complete quests when you have completed them. Can be used as a compensation for Immersive.sharedXpPercent and Immersive.sharedRepPercent (Must have alt character logged in as a bot) +# Default: 0 (Disabled) +# 1 (Enabled) +# +# Immersive.FishingBaubles +# Fishing requires a bauble otherwise any fish will run away +# Default: 0 (Disabled) +# 1 (Enabled) +# +# Immersive.SharedPercentRaceRestriction +# Shared Percent gains are restricted to your race (1). (2) makes dwarf and gnome (orc and troll) the same race in terms of restriction +# Default: 0 (Disabled) +# 1 (Enabled) +# +# Immersive.SharedPercentClassRestriction +# Default: 0 (Disabled) +# 1 (Enabled) +# +# Immersive.SharedPercentGuildRestriction +# Default: 0 (Disabled) +# 1 (Enabled) +# +# Immersive.SharedPercentFactionRestriction +# Default: 0 (Disabled) +# 1 (Enabled) +# +# Immersive.SharedPercentMinLevel +# Minimum player level to enable Shared Percent gains +# Default: 1 +# +# Immersive.AttributeLossPerDeath +# How many attributes is lost on death (release spirit) +# Default: 1 +# +# Immersive.FallDamageMultiplier +# Fall damage multiplier +# Default: 1.0 +# +# Immersive.SharedXpPercentLevelDiff +# Only share experience if the level difference between your alt characters and your current character is less than this +# Default: 0 +# +# Immersive.ScaleModifierWorkaround +# ??? +# Default: 0 (Disabled) +# 1 (Enabled) +# +# Immersive.SharedRandomPercent +# Default: 0 +# +# Immersive.DisableOfflineRespawn +# Creature/GO respawn and instance reset timers tick only if the server is up. +# Allows the player to take a break in a dungeon, shutdown the server and continue later on from the same point. +# Recommended to set: +# Instance.ResetTimeHour to a latter hour (e.g. 23 to work) +# Instance.DisableRelocate = 1 to prevent player to be teleported to the entrance +# PlayerSave.Interval = 60000 to save progress more often +# Default: 0 +# +################################################################################################################### + +Immersive.Enable = 0 +Immersive.ManualAttributes = 0 +Immersive.ManualAttributesIncrease = 5 +Immersive.ManualAttributesPercent = 100 +Immersive.ManualAttributesCostMult = 5 +Immersive.ManualAttributesMaxPoints = 0 +Immersive.SharedXpPercent = 0 +Immersive.SharedRepPercent = 0 +Immersive.SharedMoneyPercent = 0 +Immersive.SharedQuests = 0 +Immersive.FishingBaubles = 0 +Immersive.SharedPercentRaceRestriction = 0 +Immersive.SharedPercentClassRestriction = 0 +Immersive.SharedPercentGuildRestriction = 0 +Immersive.SharedPercentFactionRestriction = 0 +Immersive.SharedPercentMinLevel = 1 +Immersive.AttributeLossPerDeath = 2 +Immersive.FallDamageMultiplier = 1.0 +Immersive.SharedXpPercentLevelDiff = 0 +Immersive.ScaleModifierWorkaround = 0 +Immersive.SharedRandomPercent = 0 +Immersive.DisableOfflineRespawn = 0 + ################################################################################################################### # NETWORK CONFIG # diff --git a/src/modules/Bots b/src/modules/Bots new file mode 160000 index 0000000000..cfcfc4010e --- /dev/null +++ b/src/modules/Bots @@ -0,0 +1 @@ +Subproject commit cfcfc4010e79fa11cf9080c32061371c9f15683c diff --git a/src/modules/CMakeLists.txt b/src/modules/CMakeLists.txt new file mode 100644 index 0000000000..10efa42e94 --- /dev/null +++ b/src/modules/CMakeLists.txt @@ -0,0 +1,24 @@ +# MaNGOS is a full featured server for World of Warcraft, supporting +# the following clients: 1.12.x, 2.4.3, 3.3.5a, 4.3.4a and 5.4.8 +# +# Copyright (C) 2005-2018 MaNGOS project +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +# Include Player Bots if enabled +if(BUILD_IKE3_BOTS) + add_subdirectory(Bots) +endif() \ No newline at end of file diff --git a/src/shared/Database/DatabaseEnv.h b/src/shared/Database/DatabaseEnv.h index ea7b4658ef..7581c282b2 100644 --- a/src/shared/Database/DatabaseEnv.h +++ b/src/shared/Database/DatabaseEnv.h @@ -50,5 +50,6 @@ extern DatabaseType WorldDatabase; extern DatabaseType CharacterDatabase; extern DatabaseType LoginDatabase; extern DatabaseType LogsDatabase; +extern DatabaseType PlayerbotDatabase; #endif diff --git a/src/shared/Util/Util.h b/src/shared/Util/Util.h index 4a0fcf89d6..80b43dd43c 100644 --- a/src/shared/Util/Util.h +++ b/src/shared/Util/Util.h @@ -310,12 +310,12 @@ inline bool isEastAsianString(const std::wstring& wstr, bool numericOrSpace) inline void strToUpper(std::string& str) { - std::transform(str.begin(), str.end(), str.begin(), toupper); + std::transform(str.begin(), str.end(), str.begin(), ::toupper); } inline void strToLower(std::string& str) { - std::transform(str.begin(), str.end(), str.begin(), tolower); + std::transform(str.begin(), str.end(), str.begin(), ::tolower); } inline wchar_t wcharToUpper(wchar_t wchar)