aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/base/world_database.sql32
-rw-r--r--sql/updates/world/2011_04_03_07_achievement_dbc.sql31
-rwxr-xr-xsrc/server/game/DataStores/DBCStores.cpp2
-rwxr-xr-xsrc/server/game/DataStores/DBCfmt.h2
4 files changed, 66 insertions, 1 deletions
diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql
index 2d17676e89b..3fdec661001 100644
--- a/sql/base/world_database.sql
+++ b/sql/base/world_database.sql
@@ -76,6 +76,38 @@ LOCK TABLES `achievement_criteria_data` WRITE;
UNLOCK TABLES;
--
+-- Table structure for table `achievement_dbc`
+--
+
+DROP TABLE IF EXISTS `achievement_dbc`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `achievement_dbc` (
+ `ID` int(10) unsigned NOT NULL,
+ `requiredFaction` int(11) NOT NULL DEFAULT '-1',
+ `mapID` int(11) NOT NULL DEFAULT '-1',
+ `points` int(10) unsigned NOT NULL DEFAULT '0',
+ `flags` int(10) unsigned NOT NULL DEFAULT '0',
+ `count` int(10) unsigned NOT NULL DEFAULT '0',
+ `refAchievement` int(10) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `achievement_dbc`
+--
+
+LOCK TABLES `achievement_dbc` WRITE;
+/*!40000 ALTER TABLE `achievement_dbc` DISABLE KEYS */;
+INSERT INTO `achievement_dbc` VALUES
+(3696,-1,-1,0,2,1,0), -- Earned the right to represent a city in the Argent Tournament
+(4788,-1,-1,0,2,1,0), -- Is exalted with The Aldor or has any of exalted rewards
+(4789,-1,-1,0,2,1,0); -- Is exalted with The Scryers or has any of exalted rewards
+/*!40000 ALTER TABLE `achievement_dbc` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
-- Table structure for table `achievement_reward`
--
diff --git a/sql/updates/world/2011_04_03_07_achievement_dbc.sql b/sql/updates/world/2011_04_03_07_achievement_dbc.sql
new file mode 100644
index 00000000000..1f764a75458
--- /dev/null
+++ b/sql/updates/world/2011_04_03_07_achievement_dbc.sql
@@ -0,0 +1,31 @@
+--
+-- Table structure for table `achievement_dbc`
+--
+
+DROP TABLE IF EXISTS `achievement_dbc`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `achievement_dbc` (
+ `ID` int(10) unsigned NOT NULL,
+ `requiredFaction` int(11) NOT NULL DEFAULT '-1',
+ `mapID` int(11) NOT NULL DEFAULT '-1',
+ `points` int(10) unsigned NOT NULL DEFAULT '0',
+ `flags` int(10) unsigned NOT NULL DEFAULT '0',
+ `count` int(10) unsigned NOT NULL DEFAULT '0',
+ `refAchievement` int(10) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `achievement_dbc`
+--
+
+LOCK TABLES `achievement_dbc` WRITE;
+/*!40000 ALTER TABLE `achievement_dbc` DISABLE KEYS */;
+INSERT INTO `achievement_dbc` VALUES
+(3696,-1,-1,0,2,1,0), -- Earned the right to represent a city in the Argent Tournament
+(4788,-1,-1,0,2,1,0), -- Is exalted with The Aldor or has any of exalted rewards
+(4789,-1,-1,0,2,1,0); -- Is exalted with The Scryers or has any of exalted rewards
+/*!40000 ALTER TABLE `achievement_dbc` ENABLE KEYS */;
+UNLOCK TABLES;
diff --git a/src/server/game/DataStores/DBCStores.cpp b/src/server/game/DataStores/DBCStores.cpp
index 07d0ec037e3..00146a56066 100755
--- a/src/server/game/DataStores/DBCStores.cpp
+++ b/src/server/game/DataStores/DBCStores.cpp
@@ -268,7 +268,7 @@ void LoadDBCStores(const std::string& dataPath)
}
}
- LoadDBC(availableDbcLocales,bad_dbc_files,sAchievementStore, dbcPath,"Achievement.dbc");
+ LoadDBC(availableDbcLocales,bad_dbc_files,sAchievementStore, dbcPath,"Achievement.dbc", &CustomAchievementfmt, &CustomAchievementIndex);
LoadDBC(availableDbcLocales,bad_dbc_files,sAchievementCriteriaStore, dbcPath,"Achievement_Criteria.dbc");
LoadDBC(availableDbcLocales,bad_dbc_files,sAreaTriggerStore, dbcPath,"AreaTrigger.dbc");
LoadDBC(availableDbcLocales,bad_dbc_files,sAreaGroupStore, dbcPath,"AreaGroup.dbc");
diff --git a/src/server/game/DataStores/DBCfmt.h b/src/server/game/DataStores/DBCfmt.h
index 89495b786dd..335ad48babf 100755
--- a/src/server/game/DataStores/DBCfmt.h
+++ b/src/server/game/DataStores/DBCfmt.h
@@ -20,6 +20,8 @@
#define TRINITY_DBCSFRM_H
const char Achievementfmt[]="niixssssssssssssssssxxxxxxxxxxxxxxxxxxiixixxxxxxxxxxxxxxxxxxii";
+const std::string CustomAchievementfmt="pppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapapaaaaaaaaaaaaaaaaaapp";
+const std::string CustomAchievementIndex = "ID";
const char AchievementCriteriafmt[]="niiiiiiiixxxxxxxxxxxxxxxxxiiiix";
const char AreaTableEntryfmt[]="iiinixxxxxissssssssssssssssxixxxxxxx";
const char AreaGroupEntryfmt[]="niiiiiii";