diff --git a/sql/mangos.sql b/sql/mangos.sql index 51eb0816886..7259160e33b 100644 --- a/sql/mangos.sql +++ b/sql/mangos.sql @@ -24,7 +24,7 @@ CREATE TABLE `db_version` ( `version` varchar(120) default NULL, `creature_ai_version` varchar(120) default NULL, `cache_id` int(10) default '0', - `required_9854_01_mangos_spell_bonus_data` bit(1) default NULL + `required_9881_01_mangos_scripts` bit(1) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes'; -- @@ -1366,6 +1366,9 @@ CREATE TABLE `event_scripts` ( `command` mediumint(8) unsigned NOT NULL default '0', `datalong` mediumint(8) unsigned NOT NULL default '0', `datalong2` int(10) unsigned NOT NULL default '0', + `datalong3` int(10) unsigned NOT NULL default '0', + `datalong4` int(10) unsigned NOT NULL default '0', + `data_flags` tinyint(3) unsigned NOT NULL default '0', `dataint` int(11) NOT NULL default '0', `x` float NOT NULL default '0', `y` float NOT NULL default '0', @@ -1843,6 +1846,9 @@ CREATE TABLE `gameobject_scripts` ( `command` mediumint(8) unsigned NOT NULL default '0', `datalong` mediumint(8) unsigned NOT NULL default '0', `datalong2` int(10) unsigned NOT NULL default '0', + `datalong3` int(10) unsigned NOT NULL default '0', + `datalong4` int(10) unsigned NOT NULL default '0', + `data_flags` tinyint(3) unsigned NOT NULL default '0', `dataint` int(11) NOT NULL default '0', `x` float NOT NULL default '0', `y` float NOT NULL default '0', @@ -2013,6 +2019,9 @@ CREATE TABLE `gossip_scripts` ( `command` mediumint(8) unsigned NOT NULL default '0', `datalong` mediumint(8) unsigned NOT NULL default '0', `datalong2` int(10) unsigned NOT NULL default '0', + `datalong3` int(10) unsigned NOT NULL default '0', + `datalong4` int(10) unsigned NOT NULL default '0', + `data_flags` tinyint(3) unsigned NOT NULL default '0', `dataint` int(11) NOT NULL default '0', `x` float NOT NULL default '0', `y` float NOT NULL default '0', @@ -13716,6 +13725,9 @@ CREATE TABLE `quest_end_scripts` ( `command` mediumint(8) unsigned NOT NULL default '0', `datalong` mediumint(8) unsigned NOT NULL default '0', `datalong2` int(10) unsigned NOT NULL default '0', + `datalong3` int(10) unsigned NOT NULL default '0', + `datalong4` int(10) unsigned NOT NULL default '0', + `data_flags` tinyint(3) unsigned NOT NULL default '0', `dataint` int(11) NOT NULL default '0', `x` float NOT NULL default '0', `y` float NOT NULL default '0', @@ -13791,6 +13803,9 @@ CREATE TABLE `quest_start_scripts` ( `command` mediumint(8) unsigned NOT NULL default '0', `datalong` mediumint(8) unsigned NOT NULL default '0', `datalong2` int(10) unsigned NOT NULL default '0', + `datalong3` int(10) unsigned NOT NULL default '0', + `datalong4` int(10) unsigned NOT NULL default '0', + `data_flags` tinyint(3) unsigned NOT NULL default '0', `dataint` int(11) NOT NULL default '0', `x` float NOT NULL default '0', `y` float NOT NULL default '0', @@ -18764,6 +18779,9 @@ CREATE TABLE `spell_scripts` ( `command` mediumint(8) unsigned NOT NULL default '0', `datalong` mediumint(8) unsigned NOT NULL default '0', `datalong2` int(10) unsigned NOT NULL default '0', + `datalong3` int(10) unsigned NOT NULL default '0', + `datalong4` int(10) unsigned NOT NULL default '0', + `data_flags` tinyint(3) unsigned NOT NULL default '0', `dataint` int(11) NOT NULL default '0', `x` float NOT NULL default '0', `y` float NOT NULL default '0', diff --git a/sql/updates/9881_01_mangos_scripts.sql b/sql/updates/9881_01_mangos_scripts.sql new file mode 100644 index 00000000000..276e9807be9 --- /dev/null +++ b/sql/updates/9881_01_mangos_scripts.sql @@ -0,0 +1,25 @@ +ALTER TABLE db_version CHANGE COLUMN required_9854_01_mangos_spell_bonus_data required_9881_01_mangos_scripts bit; + +ALTER TABLE event_scripts ADD COLUMN datalong3 INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong2; +ALTER TABLE event_scripts ADD COLUMN datalong4 INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong3; +ALTER TABLE event_scripts ADD COLUMN data_flags TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong4; + +ALTER TABLE gameobject_scripts ADD COLUMN datalong3 INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong2; +ALTER TABLE gameobject_scripts ADD COLUMN datalong4 INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong3; +ALTER TABLE gameobject_scripts ADD COLUMN data_flags TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong4; + +ALTER TABLE gossip_scripts ADD COLUMN datalong3 INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong2; +ALTER TABLE gossip_scripts ADD COLUMN datalong4 INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong3; +ALTER TABLE gossip_scripts ADD COLUMN data_flags TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong4; + +ALTER TABLE quest_end_scripts ADD COLUMN datalong3 INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong2; +ALTER TABLE quest_end_scripts ADD COLUMN datalong4 INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong3; +ALTER TABLE quest_end_scripts ADD COLUMN data_flags TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong4; + +ALTER TABLE quest_start_scripts ADD COLUMN datalong3 INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong2; +ALTER TABLE quest_start_scripts ADD COLUMN datalong4 INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong3; +ALTER TABLE quest_start_scripts ADD COLUMN data_flags TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong4; + +ALTER TABLE spell_scripts ADD COLUMN datalong3 INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong2; +ALTER TABLE spell_scripts ADD COLUMN datalong4 INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong3; +ALTER TABLE spell_scripts ADD COLUMN data_flags TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER datalong4; diff --git a/sql/updates/Makefile.am b/sql/updates/Makefile.am index 6da2e96e340..9c96d8bba90 100644 --- a/sql/updates/Makefile.am +++ b/sql/updates/Makefile.am @@ -58,6 +58,7 @@ pkgdata_DATA = \ 9826_01_mangos_spell_script_target.sql \ 9849_01_characters_saved_variables.sql \ 9854_01_mangos_spell_bonus_data.sql \ + 9881_01_mangos_scripts.sql \ README ## Additional files to include when running 'make dist' @@ -96,4 +97,5 @@ EXTRA_DIST = \ 9826_01_mangos_spell_script_target.sql \ 9849_01_characters_saved_variables.sql \ 9854_01_mangos_spell_bonus_data.sql \ + 9881_01_mangos_scripts.sql \ README diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp index 81f0ced40f8..15fb472c5b0 100644 --- a/src/game/ObjectMgr.cpp +++ b/src/game/ObjectMgr.cpp @@ -4159,7 +4159,7 @@ void ObjectMgr::LoadScripts(ScriptMapMap& scripts, char const* tablename) scripts.clear(); // need for reload support - QueryResult *result = WorldDatabase.PQuery( "SELECT id,delay,command,datalong,datalong2,dataint, x, y, z, o FROM %s", tablename ); + QueryResult *result = WorldDatabase.PQuery( "SELECT id, delay, command, datalong, datalong2, datalong3, datalong4, data_flags, dataint, x, y, z, o FROM %s", tablename ); uint32 count = 0; @@ -4181,16 +4181,19 @@ void ObjectMgr::LoadScripts(ScriptMapMap& scripts, char const* tablename) Field *fields = result->Fetch(); ScriptInfo tmp; - tmp.id = fields[0].GetUInt32(); - tmp.delay = fields[1].GetUInt32(); - tmp.command = fields[2].GetUInt32(); - tmp.datalong = fields[3].GetUInt32(); - tmp.datalong2 = fields[4].GetUInt32(); - tmp.dataint = fields[5].GetInt32(); - tmp.x = fields[6].GetFloat(); - tmp.y = fields[7].GetFloat(); - tmp.z = fields[8].GetFloat(); - tmp.o = fields[9].GetFloat(); + tmp.id = fields[0].GetUInt32(); + tmp.delay = fields[1].GetUInt32(); + tmp.command = fields[2].GetUInt32(); + tmp.datalong = fields[3].GetUInt32(); + tmp.datalong2 = fields[4].GetUInt32(); + tmp.datalong3 = fields[5].GetUInt32(); + tmp.datalong4 = fields[6].GetUInt32(); + tmp.data_flags = fields[7].GetUInt32(); + tmp.dataint = fields[8].GetInt32(); + tmp.x = fields[9].GetFloat(); + tmp.y = fields[10].GetFloat(); + tmp.z = fields[11].GetFloat(); + tmp.o = fields[12].GetFloat(); // generic command args check switch(tmp.command) diff --git a/src/game/ObjectMgr.h b/src/game/ObjectMgr.h index ec9e89369b2..837d7fc45b5 100644 --- a/src/game/ObjectMgr.h +++ b/src/game/ObjectMgr.h @@ -75,6 +75,9 @@ struct ScriptInfo uint32 command; uint32 datalong; uint32 datalong2; + uint32 datalong3; + uint32 datalong4; + uint32 data_flags; int32 dataint; float x; float y; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index c07bfea5355..ae1780dc8a8 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9880" + #define REVISION_NR "9881" #endif // __REVISION_NR_H__ diff --git a/src/shared/revision_sql.h b/src/shared/revision_sql.h index ba8bbf791a5..2060d1dc999 100644 --- a/src/shared/revision_sql.h +++ b/src/shared/revision_sql.h @@ -1,6 +1,6 @@ #ifndef __REVISION_SQL_H__ #define __REVISION_SQL_H__ #define REVISION_DB_CHARACTERS "required_9849_01_characters_saved_variables" - #define REVISION_DB_MANGOS "required_9854_01_mangos_spell_bonus_data" + #define REVISION_DB_MANGOS "required_9881_01_mangos_scripts" #define REVISION_DB_REALMD "required_9748_01_realmd_realmlist" #endif // __REVISION_SQL_H__