From 0d363cc77add1ea99699d1c5ec261e7fc7b27c33 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Sun, 29 Aug 2010 06:20:33 +0400 Subject: [PATCH] [10419] Check redundant single rank spell data in `spell_chain`. Also, add empty lines to end of file and apply code style tosome sql updates. --- sql/mangos.sql | 4 +--- sql/updates/10409_01_mangos_spell_chain.sql | 4 +++- sql/updates/10411_01_mangos_spell_proc_event.sql | 2 +- sql/updates/10416_01_mangos_spell_proc_event.sql | 2 +- sql/updates/10419_01_mangos_spell_chain.sql | 4 ++++ sql/updates/Makefile.am | 2 ++ src/game/SpellMgr.cpp | 14 ++++++++++++++ src/shared/revision_nr.h | 2 +- src/shared/revision_sql.h | 2 +- 9 files changed, 28 insertions(+), 8 deletions(-) create mode 100644 sql/updates/10419_01_mangos_spell_chain.sql diff --git a/sql/mangos.sql b/sql/mangos.sql index 793ec3e29..878746c2f 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_10416_01_mangos_spell_proc_event` bit(1) default NULL + `required_10419_01_mangos_spell_chain` bit(1) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes'; -- @@ -16788,8 +16788,6 @@ INSERT INTO spell_chain VALUES (9885,9884,1126,7,0), (26990,9885,1126,8,0), (48469,26990,1126,9,0), -/*Nourish*/ -(50464,0,50464,1,0), /*Rebirth*/ (20484,0,20484,1,0), (20739,20484,20484,2,0), diff --git a/sql/updates/10409_01_mangos_spell_chain.sql b/sql/updates/10409_01_mangos_spell_chain.sql index e7cea7271..4a04cd612 100644 --- a/sql/updates/10409_01_mangos_spell_chain.sql +++ b/sql/updates/10409_01_mangos_spell_chain.sql @@ -1,3 +1,5 @@ ALTER TABLE db_version CHANGE COLUMN required_10400_01_mangos_mangos_string required_10409_01_mangos_spell_chain bit; -INSERT INTO spell_chain VALUES (47230, 0, 47230, 1, 0), (47231, 47230, 47230, 2, 0); \ No newline at end of file +INSERT INTO spell_chain VALUES +(47230, 0, 47230, 1, 0), +(47231, 47230, 47230, 2, 0); diff --git a/sql/updates/10411_01_mangos_spell_proc_event.sql b/sql/updates/10411_01_mangos_spell_proc_event.sql index c5fad7698..eae6a29eb 100644 --- a/sql/updates/10411_01_mangos_spell_proc_event.sql +++ b/sql/updates/10411_01_mangos_spell_proc_event.sql @@ -1,3 +1,3 @@ ALTER TABLE db_version CHANGE COLUMN required_10410_01_mangos_spell_chain required_10411_01_mangos_spell_proc_event bit; -insert into spell_proc_event values (47230, 0x7F, 5, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); \ No newline at end of file +insert into spell_proc_event values (47230, 0x7F, 5, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); diff --git a/sql/updates/10416_01_mangos_spell_proc_event.sql b/sql/updates/10416_01_mangos_spell_proc_event.sql index 09983c12b..c8a36bb4b 100644 --- a/sql/updates/10416_01_mangos_spell_proc_event.sql +++ b/sql/updates/10416_01_mangos_spell_proc_event.sql @@ -1,4 +1,4 @@ ALTER TABLE db_version CHANGE COLUMN required_10411_01_mangos_spell_proc_event required_10416_01_mangos_spell_proc_event bit; DELETE FROM spell_proc_event WHERE entry = 71611; -INSERT INTO spell_proc_event VALUES (71611, 0x7F, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); \ No newline at end of file +INSERT INTO spell_proc_event VALUES (71611, 0x7F, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); diff --git a/sql/updates/10419_01_mangos_spell_chain.sql b/sql/updates/10419_01_mangos_spell_chain.sql new file mode 100644 index 000000000..b9d0bb604 --- /dev/null +++ b/sql/updates/10419_01_mangos_spell_chain.sql @@ -0,0 +1,4 @@ +ALTER TABLE db_version CHANGE COLUMN required_10416_01_mangos_spell_proc_event required_10419_01_mangos_spell_chain bit; + +DELETE FROM spell_chain WHERE first_spell = 50464; + diff --git a/sql/updates/Makefile.am b/sql/updates/Makefile.am index 1c6c881e2..f4b89a02e 100644 --- a/sql/updates/Makefile.am +++ b/sql/updates/Makefile.am @@ -89,6 +89,7 @@ pkgdata_DATA = \ 10410_01_mangos_spell_chain.sql \ 10411_01_mangos_spell_proc_event.sql \ 10416_01_mangos_spell_proc_event.sql \ + 10419_01_mangos_spell_chain.sql \ README ## Additional files to include when running 'make dist' @@ -158,4 +159,5 @@ EXTRA_DIST = \ 10410_01_mangos_spell_chain.sql \ 10411_01_mangos_spell_proc_event.sql \ 10416_01_mangos_spell_proc_event.sql \ + 10419_01_mangos_spell_chain.sql \ README diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 5c2a65897..1ee0b551c 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -2520,6 +2520,20 @@ void SpellMgr::LoadSpellChains() mSpellChainsNext.insert(SpellChainMapNext::value_type(node.req,spell_id)); } + // check single rank redundant cases (single rank talents not added by default so this can be only custom cases) + for(SpellChainMap::const_iterator i = mSpellChains.begin(); i != mSpellChains.end(); ++i) + { + // skip non-first ranks, and spells with additional reqs + if (i->second.rank > 1 || i->second.req) + continue; + + if (mSpellChainsNext.find(i->first) == mSpellChainsNext.end()) + { + sLog.outErrorDb("Spell %u (prev: %u, first: %u, rank: %d, req: %u) listed in `spell_chain` has single rank data, so redundant.", + i->first,i->second.prev,i->second.first,i->second.rank,i->second.req); + } + } + sLog.outString(); sLog.outString( ">> Loaded %u spell chain records", count ); } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 237d96c53..eee9c2573 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 "10418" + #define REVISION_NR "10419" #endif // __REVISION_NR_H__ diff --git a/src/shared/revision_sql.h b/src/shared/revision_sql.h index 9c8a4e0c0..a2da28109 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_10332_02_characters_pet_aura" - #define REVISION_DB_MANGOS "required_10416_01_mangos_spell_proc_event" + #define REVISION_DB_MANGOS "required_10419_01_mangos_spell_chain" #define REVISION_DB_REALMD "required_10008_01_realmd_realmd_db_version" #endif // __REVISION_SQL_H__