View Single Post
  #1  
Old 10-12-2009, 03:42 PM
Leere
Sarnak
 
Join Date: Sep 2008
Location: Home
Posts: 31
Default Minor spell message fixes

This is aimed to get rid of the extra 'Your song ends.' messages as well as the double messages for things like Sense The Dead.

Code:
--- c:\projects\eqemu svn\EQEmuServer\zone\spells.cpp	Wed Oct  7 10:38:39 2009
+++ c:\projects\eqemu work 20091007\zone\spells.cpp	Mon Oct 12 19:49:11 2009
@@ -672,3 +672,3 @@
 	// clients need some packets
-	if (IsClient())
+	if (IsClient() && message != SONG_ENDS)
 	{
@@ -2932,3 +2932,3 @@
 	{
-		if(spelltar->IsClient())	// send to target
+		if(spelltar != this && spelltar->IsClient())	// send to target
 			spelltar->CastToClient()->QueuePacket(action_packet);
@@ -4319,3 +4319,3 @@
 {
-	if (IsClient() && (bardsong || IsBardSong(casting_spell_id)))
+	/*if (IsClient() && (bardsong || IsBardSong(casting_spell_id)))
 	{
@@ -4333,3 +4333,3 @@
 		delete outapp;
-	}
+	} /**/
 	bardsong = 0;
The first change removes two extra song ends messages. The second change removes the double messages from spells like Sense The Dead. The last two changes comment out the entire out-going packet that is created in _StopSong, the only thing it did was to create another song ends message, as far as my testing could determine.

I've tested these changes against a Titanium client on a private server. Songs were stopped and faded normally. Interrupting the casting of a song also worked fine. #melody functioned as well as ever.

If this breaks anything it wasn't obvious during a couple of hours of running around and killing things with various classes.
Reply With Quote