diff options
-rw-r--r-- | sql/updates/78_world.sql | 23 | ||||
-rw-r--r-- | src/game/SpellAuras.cpp | 6 | ||||
-rw-r--r-- | src/game/SpellMgr.cpp | 5 | ||||
-rw-r--r-- | src/game/WorldSession.cpp | 2 |
4 files changed, 31 insertions, 5 deletions
diff --git a/sql/updates/78_world.sql b/sql/updates/78_world.sql new file mode 100644 index 00000000000..771cde6a749 --- /dev/null +++ b/sql/updates/78_world.sql @@ -0,0 +1,23 @@ +DELETE FROM spell_affect WHERE entry IN (30017,30280,44373) AND effectId = 0;
+INSERT INTO spell_affect (entry, effectId, SpellFamilyMask) VALUES
+(30017,0,0x0000000000000000),
+(30280,0,0x0000000000000000),
+(44373,0,0x0000000000000000);
+
+DELETE FROM spell_affect WHERE entry IN (34520,37508) AND effectId = 1;
+INSERT INTO spell_affect (entry, effectId, SpellFamilyMask) VALUES
+(34520,1,0x0000000000000000),
+(37508,1,0x0000000000000000);
+
+DELETE FROM spell_proc_event WHERE entry IN (34139,42368,43726,46092);
+INSERT INTO spell_proc_event (entry, SchoolMask, Category, SkillID, SpellFamilyName, SpellFamilyMask, procFlags, ppmRate, cooldown) VALUES
+(34139,0,0,0,10,0x0000000040000000,0x08000000,0,0),
+(42368,0,0,0,10,0x0000000040000000,0x08000000,0,0),
+(43726,0,0,0,10,0x0000000040000000,0x08000000,0,0),
+(46092,0,0,0,10,0x0000000040000000,0x08000000,0,0);
+
+DELETE FROM spell_proc_event where entry IN (34598, 34584, 36488);
+INSERT INTO spell_proc_event (entry, SchoolMask, Category, SkillID, SpellFamilyName, SpellFamilyMask, procFlags, ppmRate, cooldown) VALUES
+(34598,0,0,0,0,0x0000000000000000,0x00020000,0,45),
+(36488,0,0,0,0,0x0000000000000000,0x08000000,0,0),
+(34584,0,0,0,0,0x0000000000000000,0x00004000,0,30);
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 0027d0b3f68..600d9a27cf1 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -1950,6 +1950,12 @@ void Aura::HandleAuraDummy(bool apply, bool Real) if(roll_chance_i(20)) // backfire stun m_target->CastSpell(m_target, 51581, true, NULL, this); return; + case 43873: // Headless Horseman Laugh + if(caster->GetTypeId() == TYPEID_PLAYER) + { + ((Player*)caster)->PlaySound(11965, false); + } + return; case 46354: // Blood Elf Illusion if(caster) { diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index f398f224286..02ff2395c1e 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -742,8 +742,6 @@ void SpellMgr::LoadSpellAffects() sLog.outString(); sLog.outString( ">> Loaded %u spell affect definitions", count ); - /* - // Commented for now, as it still produces many errors (still quite many spells miss spell_affect) for (uint32 id = 0; id < sSpellStore.GetNumRows(); ++id) { SpellEntry const* spellInfo = sSpellStore.LookupEntry(id); @@ -764,10 +762,9 @@ void SpellMgr::LoadSpellAffects() if(mSpellAffectMap.find((id<<8) + effectId) != mSpellAffectMap.end()) continue; - sLog.outErrorDb("Spell %u (%s) misses spell_affect for effect %u",id,spellInfo->SpellName[sWorld.GetDBClang()], effectId); + sLog.outErrorDb("Spell %u (%s) misses spell_affect for effect %u",id,spellInfo->SpellName[sWorld.GetDefaultDbcLocale()], effectId); } } - */ } bool SpellMgr::IsAffectedBySpell(SpellEntry const *spellInfo, uint32 spellId, uint8 effectId, uint64 familyFlags) const diff --git a/src/game/WorldSession.cpp b/src/game/WorldSession.cpp index 3123544efaf..fe605df17ab 100644 --- a/src/game/WorldSession.cpp +++ b/src/game/WorldSession.cpp @@ -453,7 +453,7 @@ void WorldSession::SendNotification(int32 string_id,...) va_list ap; char szStr [1024]; szStr[0] = '\0'; - va_start(ap, format); + va_start(ap, string_id); vsnprintf( szStr, 1024, format, ap ); va_end(ap); |