aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <none@none>2010-08-04 17:49:23 +0200
committerShauren <none@none>2010-08-04 17:49:23 +0200
commit362ae2d4c6393063e32c328f752b88dd1bde5db7 (patch)
treeb56a663a8d69092f7b7e887fc51a3c0eecf32a4f
parent6353e7dd8cd189a80fc6773bf653f159fc3a41d3 (diff)
Fixed pet talents: Guard Dog and Silverback
Removed pre-3.3.0 code for Improved Cower Closes issue #3198. --HG-- branch : trunk
-rw-r--r--sql/base/world_database.sql4
-rw-r--r--sql/updates/9166_world_spell_proc_event.sql6
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp28
3 files changed, 24 insertions, 14 deletions
diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql
index 0f1afc20237..81df8987fc4 100644
--- a/sql/base/world_database.sql
+++ b/sql/base/world_database.sql
@@ -7307,6 +7307,10 @@ INSERT INTO `spell_proc_event` (`entry`,`SchoolMask`,`SpellFamilyName`,`SpellFam
( 27044, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0x00000000, 0, 0, 0), -- Aspect of the Hawk
( 61846, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0x00000000, 0, 0, 0), -- Aspect of the Dragonhawk
( 61847, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0x00000000, 0, 0, 0), -- Aspect of the Dragonhawk
+( 53178, 0x00, 9, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0, 100, 0), -- Guard Dog (Rank 1)
+( 53179, 0x00, 9, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0, 100, 0), -- Guard Dog (Rank 2)
+( 62764, 0x00, 9, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0, 100, 0), -- Silverback (Rank 1)
+( 62765, 0x00, 9, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0, 100, 0), -- Silverback (Rank 2)
( 49223, 0x00, 15, 0x00000011, 0x08020000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Dirge
( 49599, 0x00, 15, 0x00000011, 0x08020000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Dirge
( 49188, 0x00, 15, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Rime
diff --git a/sql/updates/9166_world_spell_proc_event.sql b/sql/updates/9166_world_spell_proc_event.sql
new file mode 100644
index 00000000000..f1f6056770a
--- /dev/null
+++ b/sql/updates/9166_world_spell_proc_event.sql
@@ -0,0 +1,6 @@
+DELETE FROM `spell_proc_event` WHERE `entry` IN (53178,53179,62764,62765);
+INSERT INTO `spell_proc_event` (`entry`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`procFlags`,`procEx`,`ppmRate`,`CustomChance`,`Cooldown`) VALUES
+(53178,0x00,9,0x00000000,0x10000000,0x00000000,0x00000000,0x00000000,0,100,0), -- GuardDog(Rank1)
+(53179,0x00,9,0x00000000,0x10000000,0x00000000,0x00000000,0x00000000,0,100,0), -- GuardDog(Rank2)
+(62764,0x00,9,0x00000000,0x10000000,0x00000000,0x00000000,0x00000000,0,100,0), -- Silverback(Rank1)
+(62765,0x00,9,0x00000000,0x10000000,0x00000000,0x00000000,0x00000000,0,100,0); -- Silverback(Rank2)
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index c8ce0fe502c..a7226a8fb7e 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -7717,22 +7717,22 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
}
break;
}
- case SPELLFAMILY_PET:
+ case SPELLFAMILY_PET:
{
- // improved cower
- if (dummySpell->SpellIconID == 958 && procSpell->SpellIconID == 958)
+ switch (dummySpell->SpellIconID)
{
- triggered_spell_id = dummySpell->Id == 53180 ? 54200 : 54201;
- target = this;
- break;
- }
- // guard dog
- if (dummySpell->SpellIconID == 201 && procSpell->SpellIconID == 201)
- {
- triggered_spell_id = 54445;
- target = this;
- pVictim->AddThreat(this,procSpell->EffectBasePoints[0]*triggerAmount/100.0f);
- break;
+ // Guard Dog
+ case 201:
+ triggered_spell_id = 54445;
+ target = this;
+ float addThreat = SpellMgr::CalculateSpellEffectAmount(procSpell, 0, this) * triggerAmount / 100.f;
+ pVictim->AddThreat(this, addThreat);
+ break;
+ // Silverback
+ case 1582:
+ triggered_spell_id = dummySpell->Id == 62765 ? 62801 : 62800;
+ target = this;
+ break;
}
break;
}