Skip to content

Commit

Permalink
[c12714] Add database changes to support more data for DB Script texts
Browse files Browse the repository at this point in the history
(based on commit [12522] - 2728e04)

Signed-off-by: Dramacydal <PulLumBerMal@gmail.com>
  • Loading branch information
xfurry authored and Dramacydal committed Aug 19, 2013
1 parent ff0222a commit 5b3dfd3
Show file tree
Hide file tree
Showing 4 changed files with 194 additions and 4 deletions.
9 changes: 7 additions & 2 deletions sql/mangos.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1355,6 +1355,11 @@ CREATE TABLE `db_script_string` (
`content_loc6` text,
`content_loc7` text,
`content_loc8` text,
`sound` mediumint(8) unsigned NOT NULL DEFAULT '0',
`type` tinyint(3) unsigned NOT NULL DEFAULT '0',
`language` tinyint(3) unsigned NOT NULL DEFAULT '0',
`emote` smallint(5) unsigned NOT NULL DEFAULT '0',
`comment` text
PRIMARY KEY (`entry`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
Expand Down Expand Up @@ -1425,7 +1430,7 @@ CREATE TABLE `db_version` (
`version` varchar(120) DEFAULT NULL,
`creature_ai_version` varchar(120) DEFAULT NULL,
`cache_id` int(10) DEFAULT '0',
`required_c12699_01_mangos_spell_proc_event` bit(1) default NULL
`required_c12714_01_mangos_db_script_string` bit(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
/*!40101 SET character_set_client = @saved_cs_client */;

Expand All @@ -1435,7 +1440,7 @@ CREATE TABLE `db_version` (

LOCK TABLES `db_version` WRITE;
/*!40000 ALTER TABLE `db_version` DISABLE KEYS */;
INSERT INTO `db_version` (`version`, `creature_ai_version`, `cache_id`, `required_c12699_01_mangos_spell_proc_event`) VALUES
INSERT INTO `db_version` (`version`, `creature_ai_version`, `cache_id`, `required_c12714_01_mangos_db_script_string`) VALUES
('Mangos default database.','Creature EventAI not provided.',0,NULL);
/*!40000 ALTER TABLE `db_version` ENABLE KEYS */;
UNLOCK TABLES;
Expand Down
185 changes: 185 additions & 0 deletions sql/updates/c12714_01_mangos_db_script_string.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
ALTER TABLE db_version CHANGE COLUMN required_c12699_01_mangos_spell_proc_event required_c12714_01_mangos_db_script_string bit;

ALTER TABLE db_script_string ADD COLUMN sound mediumint(8) unsigned NOT NULL DEFAULT '0' AFTER content_loc8;
ALTER TABLE db_script_string ADD COLUMN type tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER sound;
ALTER TABLE db_script_string ADD COLUMN language tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER type;
ALTER TABLE db_script_string ADD COLUMN emote smallint(5) unsigned NOT NULL DEFAULT '0' AFTER language;
ALTER TABLE db_script_string ADD COLUMN comment text AFTER emote;

-- Update Dbscript_string with the type and language from Dbscripts_on_*
CREATE TEMPORARY TABLE IF NOT EXISTS db_script_temp AS
-- dbscripts_on_creature_death
SELECT A.entry
,A.content_default
,A.content_loc1
,A.content_loc2
,A.content_loc3
,A.content_loc4
,A.content_loc5
,A.content_loc6
,A.content_loc7
,A.content_loc8
,0 AS sound
,B.datalong AS type
,B.datalong2 AS language
,0 AS emote
,NULL AS comment
FROM db_script_string A
INNER JOIN dbscripts_on_creature_death B ON (A.entry = B.dataint OR A.entry = B.dataint2 OR A.entry = B.dataint3 OR A.entry = B.dataint4)
-- dbscripts_on_creature_movement
UNION ALL
SELECT A.entry
,A.content_default
,A.content_loc1
,A.content_loc2
,A.content_loc3
,A.content_loc4
,A.content_loc5
,A.content_loc6
,A.content_loc7
,A.content_loc8
,0 AS sound
,B.datalong AS type
,B.datalong2 AS language
,0 AS emote
,NULL AS comment
FROM db_script_string A
INNER JOIN dbscripts_on_creature_movement B ON (A.entry = B.dataint OR A.entry = B.dataint2 OR A.entry = B.dataint3 OR A.entry = B.dataint4)
-- dbscripts_on_event
UNION ALL
SELECT A.entry
,A.content_default
,A.content_loc1
,A.content_loc2
,A.content_loc3
,A.content_loc4
,A.content_loc5
,A.content_loc6
,A.content_loc7
,A.content_loc8
,0 AS sound
,B.datalong AS type
,B.datalong2 AS language
,0 AS emote
,NULL AS comment
FROM db_script_string A
INNER JOIN dbscripts_on_event B ON (A.entry = B.dataint OR A.entry = B.dataint2 OR A.entry = B.dataint3 OR A.entry = B.dataint4)
-- dbscripts_on_gossip
UNION ALL
SELECT A.entry
,A.content_default
,A.content_loc1
,A.content_loc2
,A.content_loc3
,A.content_loc4
,A.content_loc5
,A.content_loc6
,A.content_loc7
,A.content_loc8
,0 AS sound
,B.datalong AS type
,B.datalong2 AS language
,0 AS emote
,NULL AS comment
FROM db_script_string A
INNER JOIN dbscripts_on_gossip B ON (A.entry = B.dataint OR A.entry = B.dataint2 OR A.entry = B.dataint3 OR A.entry = B.dataint4)
-- dbscripts_on_go_template_use
UNION ALL
SELECT A.entry
,A.content_default
,A.content_loc1
,A.content_loc2
,A.content_loc3
,A.content_loc4
,A.content_loc5
,A.content_loc6
,A.content_loc7
,A.content_loc8
,0 AS sound
,B.datalong AS type
,B.datalong2 AS language
,0 AS emote
,NULL AS comment
FROM db_script_string A
INNER JOIN dbscripts_on_go_template_use B ON (A.entry = B.dataint OR A.entry = B.dataint2 OR A.entry = B.dataint3 OR A.entry = B.dataint4)
-- dbscripts_on_go_use
UNION ALL
SELECT A.entry
,A.content_default
,A.content_loc1
,A.content_loc2
,A.content_loc3
,A.content_loc4
,A.content_loc5
,A.content_loc6
,A.content_loc7
,A.content_loc8
,0 AS sound
,B.datalong AS type
,B.datalong2 AS language
,0 AS emote
,NULL AS comment
FROM db_script_string A
INNER JOIN dbscripts_on_go_use B ON (A.entry = B.dataint OR A.entry = B.dataint2 OR A.entry = B.dataint3 OR A.entry = B.dataint4)
-- dbscripts_on_quest_end
UNION ALL
SELECT A.entry
,A.content_default
,A.content_loc1
,A.content_loc2
,A.content_loc3
,A.content_loc4
,A.content_loc5
,A.content_loc6
,A.content_loc7
,A.content_loc8
,0 AS sound
,B.datalong AS type
,B.datalong2 AS language
,0 AS emote
,NULL AS comment
FROM db_script_string A
INNER JOIN dbscripts_on_quest_end B ON (A.entry = B.dataint OR A.entry = B.dataint2 OR A.entry = B.dataint3 OR A.entry = B.dataint4)
-- dbscripts_on_quest_start
UNION ALL
SELECT A.entry
,A.content_default
,A.content_loc1
,A.content_loc2
,A.content_loc3
,A.content_loc4
,A.content_loc5
,A.content_loc6
,A.content_loc7
,A.content_loc8
,0 AS sound
,B.datalong AS type
,B.datalong2 AS language
,0 AS emote
,NULL AS comment
FROM db_script_string A
INNER JOIN dbscripts_on_quest_start B ON (A.entry = B.dataint OR A.entry = B.dataint2 OR A.entry = B.dataint3 OR A.entry = B.dataint4)
-- dbscripts_on_spell
UNION ALL
SELECT A.entry
,A.content_default
,A.content_loc1
,A.content_loc2
,A.content_loc3
,A.content_loc4
,A.content_loc5
,A.content_loc6
,A.content_loc7
,A.content_loc8
,0 AS sound
,B.datalong AS type
,B.datalong2 AS language
,0 AS emote
,NULL AS comment
FROM db_script_string A
INNER JOIN dbscripts_on_spell B ON (A.entry = B.dataint OR A.entry = B.dataint2 OR A.entry = B.dataint3 OR A.entry = B.dataint4);

-- Clean dbscript_string and insert the new updated values
DELETE FROM db_script_string WHERE entry IN (SELECT DISTINCT entry FROM db_script_temp);
INSERT INTO db_script_string SELECT DISTINCT * FROM db_script_temp;
DROP TABLE IF EXISTS db_script_temp;
2 changes: 1 addition & 1 deletion src/shared/revision_nr.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "12713"
#define REVISION_NR "12714"
#endif // __REVISION_NR_H__
2 changes: 1 addition & 1 deletion src/shared/revision_sql.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#ifndef __REVISION_SQL_H__
#define __REVISION_SQL_H__
#define REVISION_DB_CHARACTERS "required_c12678_01_characters_characters"
#define REVISION_DB_MANGOS "required_c12699_01_mangos_spell_proc_event"
#define REVISION_DB_MANGOS "required_c12714_01_mangos_db_script_string"
#define REVISION_DB_REALMD "required_c12484_02_realmd_account_access"
#endif // __REVISION_SQL_H__

0 comments on commit 5b3dfd3

Please sign in to comment.