All pastes #984603 Raw Edit

Unnamed

public text v1 · immutable
·published 2008-04-14 12:51 UTC
rendered paste body
Index: Player.cpp
===================================================================
--- Player.cpp	(revision 5578)
+++ Player.cpp	(working copy)
@@ -15263,10 +15263,6 @@
 
 void Player::ProhibitSpellScholl(SpellSchools idSchool, uint32 unTimeMs )
 {
-                                                            // last check 2.0.10
-    WorldPacket data(SMSG_SPELL_COOLDOWN, 8+1+m_spells.size()*8);
-    data << GetGUID();
-    data << uint8(0x0);
     time_t curTime = time(NULL);
     for(PlayerSpellMap::const_iterator itr = m_spells.begin(); itr != m_spells.end(); ++itr)
     {
@@ -15281,12 +15277,21 @@
         }
         if(idSchool == SpellSchools(spellInfo->School) && GetSpellCooldownDelay(unSpellId) < unTimeMs )
         {
+            WorldPacket data(SMSG_SPELL_COOLDOWN, 8+8);
+            data << GetGUID();
+            data << uint8(0x0);
             data << unSpellId;
-            data << unTimeMs;                               // in m.secs
+            data << unTimeMs;
+            GetSession()->SendPacket(&data);
             AddSpellCooldown(unSpellId, 0, curTime + unTimeMs/1000);
+            if( GetSpellDuration(spellInfo) < 0 )
+            {
+                WorldPacket data1(SMSG_COOLDOWN_EVENT, (4+8+4));
+                data1 << uint32(unSpellId) << GetGUID();
+                SendMessageToSet(&data1,true);
+            }
         }
     }
-    GetSession()->SendPacket(&data);
 }
 
 void Player::InitDataForForm()