mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 17:27:36 +01:00
Core/Spells: Improved spell category cooldown handling
* Category cooldown is stored with the spell that started the cooldown (and only resetting cooldown on that spell will clear cooldowns on entire category - this fully mirrors client behavior)
* This significantly reduces the amount of data saved to database for cooldowns
* Spell casts from items that have a different category specified than on spell will now check for cooldown during the cast
(cherry picked from commit 1efb3f08e2)
Closes #15766
Closes #15137
Closes #14837
This commit is contained in:
@@ -1154,6 +1154,8 @@ CREATE TABLE `character_spell_cooldown` (
|
||||
`spell` mediumint(8) unsigned NOT NULL DEFAULT '0' COMMENT 'Spell Identifier',
|
||||
`item` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Item Identifier',
|
||||
`time` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`categoryId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Spell category Id',
|
||||
`categoryEnd` int(10) unsigned NOT NULL DEFAULT '0';
|
||||
PRIMARY KEY (`guid`,`spell`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
@@ -2301,6 +2303,8 @@ CREATE TABLE `pet_spell_cooldown` (
|
||||
`guid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Global Unique Identifier, Low part',
|
||||
`spell` mediumint(8) unsigned NOT NULL DEFAULT '0' COMMENT 'Spell Identifier',
|
||||
`time` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`categoryId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Spell category Id',
|
||||
`categoryEnd` int(10) unsigned NOT NULL DEFAULT '0';
|
||||
PRIMARY KEY (`guid`,`spell`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
7
sql/updates/characters/2015_10_29_00_characters_335.sql
Normal file
7
sql/updates/characters/2015_10_29_00_characters_335.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
ALTER TABLE `character_spell_cooldown`
|
||||
ADD `categoryId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Spell category Id' AFTER `time`,
|
||||
ADD `categoryEnd` int(10) unsigned NOT NULL DEFAULT '0' AFTER `categoryId`;
|
||||
|
||||
ALTER TABLE `pet_spell_cooldown`
|
||||
ADD `categoryId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Spell category Id' AFTER `time`,
|
||||
ADD `categoryEnd` int(10) unsigned NOT NULL DEFAULT '0' AFTER `categoryId`;
|
||||
Reference in New Issue
Block a user