--HG--
branch : trunk
This commit is contained in:
megamage
2009-01-25 16:38:51 -06:00
13 changed files with 945 additions and 175 deletions
+5 -1
View File
@@ -797,6 +797,10 @@ void Map::Update(const uint32 &t_diff)
void Map::Remove(Player *player, bool remove)
{
player->DestroyForNearbyPlayers();
player->m_IsInNotifyList = false;
player->m_Notified = false;
// this may be called during Map::Update
// after decrement+unlink, ++m_mapRefIter will continue correctly
// when the first element of the list is being removed
@@ -835,7 +839,7 @@ void Map::Remove(Player *player, bool remove)
SendRemoveTransports(player);
//UpdateObjectsVisibilityFor(player,cell,p);
AddUnitToNotify(player);
//AddUnitToNotify(player);
if( remove )
DeleteFromWorld(player);
+4
View File
@@ -504,6 +504,10 @@ void WorldSession::HandleListStabledPetsOpcode( WorldPacket & recv_data )
if(GetPlayer()->hasUnitState(UNIT_STAT_DIED))
GetPlayer()->RemoveSpellsCausingAura(SPELL_AURA_FEIGN_DEATH);
// remove mounts this fix bug where getting pet from stable while mounted deletes pet.
if(GetPlayer()->IsMounted())
GetPlayer()->RemoveSpellsCausingAura(SPELL_AURA_MOUNTED);
SendStablePet(npcGUID);
}
+9 -1
View File
@@ -1758,7 +1758,15 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati
ResetContestedPvP();
DestroyForNearbyPlayers();
/*DestroyForNearbyPlayers();
{
UpdateData data;
for(ClientGUIDs::iterator i = m_clientGUIDs.begin(); i != m_clientGUIDs.end(); ++i)
data.AddOutOfRangeGUID(*i);
WorldPacket packet;
data.BuildPacket(&packet);
GetSession()->SendPacket(&packet);
}*/
m_clientGUIDs.clear();
// remove player from battleground on far teleport (when changing maps)
+2
View File
@@ -501,6 +501,8 @@ bool IsPositiveEffect(uint32 spellId, uint32 effIndex)
return true;
case 28441: // not positive dummy spell
case 37675: // Chaos Blast
case 41519: // Mark of Stormrage
case 34877: // Custodian of Time
return false;
}
+1 -1
View File
@@ -255,7 +255,7 @@ void WorldSession::LogoutPlayer(bool Save)
// Remove any possession of this player on logout
_player->RemoveCharmedOrPossessedBy(NULL);
_player->DestroyForNearbyPlayers();
//_player->DestroyForNearbyPlayers();
if (uint64 lguid = GetPlayer()->GetLootGUID())
DoLootRelease(lguid);