Index: trunk/src/game/WorldSocketMgr.cpp
===================================================================
--- trunk/src/game/WorldSocketMgr.cpp (revision 44)
+++ trunk/src/game/WorldSocketMgr.cpp (revision 74)
@@ -363,5 +363,4 @@
   return m_NetThreads[min].AddSocket (sock);
 
-  return 0;
 }
 
Index: trunk/src/game/Unit.cpp
===================================================================
--- trunk/src/game/Unit.cpp (revision 71)
+++ trunk/src/game/Unit.cpp (revision 74)
@@ -7765,5 +7765,7 @@
 
     // These Spells are doing fixed amount of healing (TODO found less hack-like check)
-    if(spellProto->Id == 15290 || spellProto->Id == 39373 || spellProto->Id == 33778 || spellProto->Id == 379 || spellProto->Id == 38395)
+    if (spellProto->Id == 15290 || spellProto->Id == 39373 ||
+        spellProto->Id == 33778 || spellProto->Id == 379   ||
+        spellProto->Id == 38395 || spellProto->Id == 40972)
         return healamount;
 
Index: trunk/src/game/CharacterHandler.cpp
===================================================================
--- trunk/src/game/CharacterHandler.cpp (revision 44)
+++ trunk/src/game/CharacterHandler.cpp (revision 74)
@@ -62,5 +62,5 @@
     // NOTE: all fields in `characters` must be read to prevent lost character data at next save in case wrong DB structure.
     // !!! NOTE: including unused `zone`,`online`
-    res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADFROM,            "SELECT guid, account, data, name, race, class, position_x, position_y, position_z, map, orientation, taximask, cinematic, totaltime, leveltime, rest_bonus, logout_time, is_logout_resting, resettalents_cost, resettalents_time, trans_x, trans_y, trans_z, trans_o, transguid, gmstate, stable_slots, at_login, zone, online, death_expire_time, taxi_path, dungeon_difficulty FROM characters WHERE guid = '%u'", GUID_LOPART(m_guid));
+    res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADFROM,            "SELECT guid, account, data, name, race, class, position_x, position_y, position_z, map, orientation, taximask, cinematic, totaltime, leveltime, rest_bonus, logout_time, is_logout_resting, resettalents_cost, resettalents_time, trans_x, trans_y, trans_z, trans_o, transguid, extra_flags, stable_slots, at_login, zone, online, death_expire_time, taxi_path, dungeon_difficulty FROM characters WHERE guid = '%u'", GUID_LOPART(m_guid));
     res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADGROUP,           "SELECT leaderGuid FROM group_member WHERE memberGuid ='%u'", GUID_LOPART(m_guid));
     res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADBOUNDINSTANCES,  "SELECT id, permanent, map, difficulty, resettime FROM character_instance LEFT JOIN instance ON instance = id WHERE guid = '%u'", GUID_LOPART(m_guid));
Index: trunk/src/game/Player.cpp
===================================================================
--- trunk/src/game/Player.cpp (revision 69)
+++ trunk/src/game/Player.cpp (revision 74)
@@ -13665,5 +13665,5 @@
 {
     ////                                                     0     1        2     3     4     5      6           7           8           9    10           11        12         13         14         15          16           17                 18                 19                 20       21       22       23       24         25       26            27        [28]  [29]    30                 31         32
-    //QueryResult *result = CharacterDatabase.PQuery("SELECT guid, account, data, name, race, class, position_x, position_y, position_z, map, orientation, taximask, cinematic, totaltime, leveltime, rest_bonus, logout_time, is_logout_resting, resettalents_cost, resettalents_time, trans_x, trans_y, trans_z, trans_o, transguid, gmstate, stable_slots, at_login, zone, online, death_expire_time, taxi_path, dungeon_difficulty FROM characters WHERE guid = '%u'", guid);
+    //QueryResult *result = CharacterDatabase.PQuery("SELECT guid, account, data, name, race, class, position_x, position_y, position_z, map, orientation, taximask, cinematic, totaltime, leveltime, rest_bonus, logout_time, is_logout_resting, resettalents_cost, resettalents_time, trans_x, trans_y, trans_z, trans_o, transguid, extraflags, stable_slots, at_login, zone, online, death_expire_time, taxi_path, dungeon_difficulty FROM characters WHERE guid = '%u'", guid);
     QueryResult *result = holder->GetResult(PLAYER_LOGIN_QUERY_LOADFROM);
 
@@ -13900,5 +13900,5 @@
     m_taxi.LoadTaxiMask( fields[11].GetString() );          // must be before InitTaxiNodesForLevel
 
-    uint32 gmstate = fields[25].GetUInt32();
+    uint32 extraflags = fields[25].GetUInt32();
 
     m_stableSlots = fields[26].GetUInt32();
@@ -14090,5 +14090,5 @@
             case 1: SetGameMaster(true); break;             // enable
             case 2:                                         // save state
-                if(gmstate & PLAYER_EXTRA_GM_ON)
+                if(extraflags & PLAYER_EXTRA_GM_ON)
                     SetGameMaster(true);
                 break;
@@ -14101,5 +14101,5 @@
             case 1: SetAcceptTicket(true); break;           // enable
             case 2:                                         // save state
-            if(gmstate & PLAYER_EXTRA_GM_ACCEPT_TICKETS)
+            if(extraflags & PLAYER_EXTRA_GM_ACCEPT_TICKETS)
                 SetAcceptTicket(true);
             break;
@@ -14112,5 +14112,5 @@
             case 1: SetGMChat(true); break;                 // enable
             case 2:                                         // save state
-                if(gmstate & PLAYER_EXTRA_GM_CHAT)
+                if(extraflags & PLAYER_EXTRA_GM_CHAT)
                     SetGMChat(true);
                 break;
@@ -14123,5 +14123,5 @@
             case 1: SetAcceptWhispers(true); break;         // enable
             case 2:                                         // save state
-                if(gmstate & PLAYER_EXTRA_ACCEPT_WHISPERS)
+                if(extraflags & PLAYER_EXTRA_ACCEPT_WHISPERS)
                     SetAcceptWhispers(true);
                 break;
@@ -15110,5 +15110,5 @@
         "taximask, online, cinematic, "
         "totaltime, leveltime, rest_bonus, logout_time, is_logout_resting, resettalents_cost, resettalents_time, "
-        "trans_x, trans_y, trans_z, trans_o, transguid, gmstate, stable_slots, at_login, zone, "
+        "trans_x, trans_y, trans_z, trans_o, transguid, extraflags, stable_slots, at_login, zone, "
         "death_expire_time, taxi_path) VALUES ("
         << GetGUIDLow() << ", "
Index: trunk/src/game/SpellAuras.cpp
===================================================================
--- trunk/src/game/SpellAuras.cpp (revision 73)
+++ trunk/src/game/SpellAuras.cpp (revision 74)
@@ -1954,5 +1954,5 @@
                 if(caster->GetTypeId() == TYPEID_PLAYER)
                 {
-                    ((Player*)caster)->PlaySound(11965, false);
+                    ((Player*)caster)->SendPlaySound(11965, false);
                 }
                 return;
