aboutsummaryrefslogtreecommitdiff
path: root/sql/tools
diff options
context:
space:
mode:
authormegamage <none@none>2009-06-13 20:45:01 -0500
committermegamage <none@none>2009-06-13 20:45:01 -0500
commitc75bc47c7be9c0563d038920702dff9f70a0a3ba (patch)
treec72198e7229ee6780451691e8fb3f4be541821d5 /sql/tools
parenteb2ee21b38b76c7673676ce203d1d553369bf096 (diff)
*Update db merging tool. Allow merge creature_template and model
--HG-- branch : trunk
Diffstat (limited to 'sql/tools')
-rw-r--r--sql/tools/world_merge_db/world_merge_creature.sql44
-rw-r--r--sql/tools/world_merge_db/world_remove_merged_creature.sql6
2 files changed, 48 insertions, 2 deletions
diff --git a/sql/tools/world_merge_db/world_merge_creature.sql b/sql/tools/world_merge_db/world_merge_creature.sql
index 810031e6d3e..8e8b14cbd5f 100644
--- a/sql/tools/world_merge_db/world_merge_creature.sql
+++ b/sql/tools/world_merge_db/world_merge_creature.sql
@@ -1,13 +1,53 @@
-DROP TABLE IF EXISTS merge_creature;
+-- --------
+-- creature_template
+-- --------
+
+DROP TABLE IF EXISTS merge_creature_template;
+CREATE TABLE merge_creature_template
+SELECT * FROM world2.creature_template WHERE entry NOT IN (SELECT DISTINCT entry FROM creature_template);
+
+ALTER TABLE merge_creature_template ADD INDEX entry (entry);
+
+ALTER TABLE merge_creature_template ADD COLUMN spell5 mediumint(8) unsigned NOT NULL default '0' AFTER spell4;
+ALTER TABLE merge_creature_template ADD COLUMN spell6 mediumint(8) unsigned NOT NULL default '0' AFTER spell5;
+ALTER TABLE merge_creature_template ADD COLUMN spell7 mediumint(8) unsigned NOT NULL default '0' AFTER spell6;
+ALTER TABLE merge_creature_template ADD COLUMN spell8 mediumint(8) unsigned NOT NULL default '0' AFTER spell7;
+ALTER TABLE merge_creature_template ADD COLUMN VehicleId mediumint(8) unsigned NOT NULL DEFAULT '0' AFTER PetSpellDataId;
+
+INSERT creature_template SELECT * FROM merge_creature_template;
+
+
+-- --------
+-- creature_model_info
+-- --------
+
+DROP TABLE IF EXISTS merge_creature_model_info;
+CREATE TABLE merge_creature_model_info
+SELECT * FROM world2.creature_model_info WHERE modelid NOT IN (SELECT DISTINCT modelid FROM creature_model_info);
+
+ALTER TABLE merge_creature_model_info ADD INDEX modelid (modelid);
+INSERT creature_model_info SELECT * FROM merge_creature_model_info;
+
+
+-- --------
+-- creature
+-- --------
+
+DROP TABLE IF EXISTS merge_creature;
CREATE TABLE merge_creature
(guid_new INT NOT NULL AUTO_INCREMENT PRIMARY KEY)
SELECT * FROM world2.creature WHERE id NOT IN (SELECT DISTINCT id FROM creature);
ALTER TABLE merge_creature ADD INDEX guid (guid);
-
UPDATE merge_creature SET guid = guid_new + (SELECT MAX(guid) FROM creature);
+UPDATE `merge_creature`, `creature_template` SET
+
+`merge_creature`.`curhealth`=`creature_template`.`minhealth`,`merge_creature`.`curmana`=`creature_template`.`minmana` WHERE `merge_creature`.`id`=`creature_template`.`entry` and
+`creature_template`.`RegenHealth` = '1';
ALTER TABLE merge_creature DROP COLUMN guid_new;
INSERT creature SELECT * FROM merge_creature;
+
+
diff --git a/sql/tools/world_merge_db/world_remove_merged_creature.sql b/sql/tools/world_merge_db/world_remove_merged_creature.sql
index c9b95bd9f17..ad3fd85edb6 100644
--- a/sql/tools/world_merge_db/world_remove_merged_creature.sql
+++ b/sql/tools/world_merge_db/world_remove_merged_creature.sql
@@ -1,2 +1,8 @@
DELETE FROM creature WHERE guid IN (SELECT guid FROM merge_creature);
DROP TABLE IF EXISTS merge_creature;
+
+DELETE FROM creature_model_info WHERE modelid IN (SELECT modelid FROM merge_creature_model_info);
+DROP TABLE IF EXISTS merge_creature_model_info;
+
+DELETE FROM creature_template WHERE entry IN (SELECT entry FROM merge_creature_template);
+DROP TABLE IF EXISTS merge_creature_template;