diff options
| author | tobmaps <spambot42@yandex.ru> | 2011-05-13 03:05:35 +0700 |
|---|---|---|
| committer | tobmaps <spambot42@yandex.ru> | 2011-05-13 03:05:35 +0700 |
| commit | a687c867e9127f816c6ffde36000f6e2474f80e7 (patch) | |
| tree | b98578da759f828e8c34ce715d540f02cad15b5f | |
| parent | 5652400557f75318fa30a6e31b99a0c77bdba82b (diff) | |
Core/Spells: Fix cooldown of Bone Shield
Closes #1370
| -rw-r--r-- | sql/base/world_database.sql | 3 | ||||
| -rw-r--r-- | sql/updates/world/2011_05_12_13_world_spell_dbc.sql | 2 | ||||
| -rw-r--r-- | sql/updates/world/2011_05_12_13_world_spell_proc_event.sql | 1 | ||||
| -rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 14 |
4 files changed, 18 insertions, 2 deletions
diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql index 53c6d799997..ef426634725 100644 --- a/sql/base/world_database.sql +++ b/sql/base/world_database.sql @@ -17274,6 +17274,7 @@ INSERT INTO `spell_dbc` (`Id`,`Dispel`,`Mechanic`,`Attributes`,`AttributesEx`,`A (34145, 0, 0, 0, 0, 0, 67108864, 0, 0, 0, 0, 0, 1, 0, 0, 101, 0, 0, 80, 80, 0, 1, 0, -1, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 'Ritual of Souls Rank 1 - Trigger Create Soulwell (29886)'), (58888, 0, 0, 0, 0, 0, 67108864, 0, 0, 0, 0, 0, 1, 0, 0, 101, 0, 0, 68, 68, 0, 1, 0, -1, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 'Ritual of Souls Rank 2 - Trigger Create Soulwell (58889)'), (61988, 0, 0, 671089024, 268436480, 4, 269484032, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 25, 13, 0, -1, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Divine Shield Exclude Aura - 61988'), +(100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, -1, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Bone Shield cooldown - serverside spell'), (200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8, 1, 0, -1, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 'Drain Soul increased damage - serverside spell'), (42876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Quest 9275 reward serverside spell'), (44987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Quest 11521 reward serverside spell'), @@ -19002,7 +19003,7 @@ INSERT INTO `spell_proc_event` (`entry`,`SchoolMask`,`SpellFamilyName`,`SpellFam ( 49543, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 9, 20), -- Bloodworms (Rank 3) ( 49208, 0x00, 15, 0x00400000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Reaping (Rank 1) ( 49219, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000000, 0, 0, 0), -- Blood-Caked Blade (Rank 1) -( 49222, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x000222A8, 0x00000000, 0, 0, 3), -- Bone Shield +( 49222, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x000222A8, 0x00000000, 0, 0, 2), -- Bone Shield ( 49280, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 3), -- Lightning Shield (Rank 10) ( 49281, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 3), -- Lightning Shield (Rank 11) ( 49283, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x000222A8, 0x00000000, 0, 0, 3), -- Earth Shield (Rank 4) diff --git a/sql/updates/world/2011_05_12_13_world_spell_dbc.sql b/sql/updates/world/2011_05_12_13_world_spell_dbc.sql new file mode 100644 index 00000000000..c3c649f2647 --- /dev/null +++ b/sql/updates/world/2011_05_12_13_world_spell_dbc.sql @@ -0,0 +1,2 @@ +DELETE FROM `spell_dbc` WHERE `id` = 100000; +INSERT INTO `spell_dbc` VALUES (100000,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,-1,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,'Bone Shield cooldown - serverside spell'); diff --git a/sql/updates/world/2011_05_12_13_world_spell_proc_event.sql b/sql/updates/world/2011_05_12_13_world_spell_proc_event.sql new file mode 100644 index 00000000000..9a533bdb810 --- /dev/null +++ b/sql/updates/world/2011_05_12_13_world_spell_proc_event.sql @@ -0,0 +1 @@ +UPDATE `spell_proc_event` SET `cooldown` = 2 WHERE `entry` = 49222; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index c62e4261cf4..9dd7f853bf0 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -7828,7 +7828,7 @@ bool Unit::HandleModDamagePctTakenAuraProc(Unit *pVictim, uint32 /*damage*/, Aur // Used in case when access to whole aura is needed // All procs should be handled like this... -bool Unit::HandleAuraProc(Unit * pVictim, uint32 damage, Aura * triggeredByAura, SpellEntry const * procSpell, uint32 /*procFlag*/, uint32 procEx, uint32 /*cooldown*/, bool * handled) +bool Unit::HandleAuraProc(Unit * pVictim, uint32 damage, Aura * triggeredByAura, SpellEntry const * procSpell, uint32 /*procFlag*/, uint32 procEx, uint32 cooldown, bool * handled) { SpellEntry const *dummySpell = triggeredByAura->GetSpellProto(); @@ -8013,6 +8013,18 @@ bool Unit::HandleAuraProc(Unit * pVictim, uint32 damage, Aura * triggeredByAura, switch(dummySpell->Id) { + // Bone Shield cooldown + case 49222: + { + *handled = true; + if (cooldown && GetTypeId() == TYPEID_PLAYER) + { + if (ToPlayer()->HasSpellCooldown(100000)) + return false; + ToPlayer()->AddSpellCooldown(100000, 0, time(NULL) + cooldown); + } + return true; + } // Hungering Cold aura drop case 51209: *handled = true; |
