aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKingPin <none@none>2008-10-19 17:27:18 -0500
committerKingPin <none@none>2008-10-19 17:27:18 -0500
commit0cb3a7951811140c2619353c0e3c3b4dd727a63c (patch)
tree156b09f8b2a12b1d62fb1b2f469c4decfe811ff4
parent0d8d686d812ac0d4d9fde880401107a74f594451 (diff)
[svn] * DB data for item 28356 and related, and also for 28602, 30317, 28578. source: Mangos
* List fake data for last spells expected to listed in `spell_affect`. source: Mangos * Fixed: wrong arg name for va_start call in WorldSession::SendNotification. source: Mangos * Implemented dummy aura of spell 43873. source: Mangos --HG-- branch : trunk
-rw-r--r--sql/updates/78_world.sql23
-rw-r--r--src/game/SpellAuras.cpp6
-rw-r--r--src/game/SpellMgr.cpp5
-rw-r--r--src/game/WorldSession.cpp2
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);