*Fix the bug that summon dbc is not read. Now creatures can be summoned.

*Make minipet as tempsummon instead of pet. Make totem as tempsummon.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-03-19 14:41:30 -06:00
parent 74985e8490
commit a2392121f0
21 changed files with 111 additions and 128 deletions
-23
View File
@@ -458,7 +458,6 @@ Player::Player (WorldSession *session): Unit(), m_achievementMgr(this)
m_mover = this;
m_seer = this;
m_miniPet = 0;
m_bgAfkReportedTimer = 0;
m_contestedPvPTimer = 0;
@@ -1426,7 +1425,6 @@ void Player::setDeathState(DeathState s)
RemovePet(NULL, PET_SAVE_NOT_IN_SLOT, true);
// remove uncontrolled pets
RemoveMiniPet();
RemoveGuardians();
// save value before aura remove in Unit::setDeathState
@@ -1888,8 +1886,6 @@ void Player::RemoveFromWorld()
///- Release charmed creatures, unsummon totems and remove pets/guardians
StopCastingCharm();
StopCastingBindSight();
UnsummonAllTotems();
RemoveMiniPet();
RemoveGuardians();
}
@@ -17055,9 +17051,6 @@ void Player::RemovePet(Pet* pet, PetSaveMode mode, bool returnreagent)
// only if current pet in slot
switch(pet->getPetType())
{
case MINI_PET:
m_miniPet = 0;
break;
case GUARDIAN_PET:
m_guardianPets.erase(pet->GetGUID());
break;
@@ -17105,22 +17098,6 @@ void Player::RemovePet(Pet* pet, PetSaveMode mode, bool returnreagent)
}
}
void Player::RemoveMiniPet()
{
if(Pet* pet = GetMiniPet())
{
pet->Remove(PET_SAVE_AS_DELETED);
m_miniPet = 0;
}
}
Pet* Player::GetMiniPet()
{
if(!m_miniPet)
return NULL;
return ObjectAccessor::GetPet(m_miniPet);
}
void Player::RemoveGuardians()
{
while(!m_guardianPets.empty())