diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 62 | 
1 files changed, 4 insertions, 58 deletions
| diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 9d4523216ed..1bc6a777097 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -167,72 +167,18 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c      if (!target)          return; -    uint8  updateType = UPDATETYPE_CREATE_OBJECT; +    uint8  updateType = m_isNewObject ? UPDATETYPE_CREATE_OBJECT2 : UPDATETYPE_CREATE_OBJECT;      uint16 flags      = m_updateFlag;      /** lower flag1 **/      if (target == this)                                      // building packet for yourself          flags |= UPDATEFLAG_SELF; -    if (m_isNewObject) -    { -        switch (GetGUID().GetHigh()) -        { -            case HighGuid::Player: -            case HighGuid::Pet: -            case HighGuid::Corpse: -            case HighGuid::DynamicObject: -                updateType = UPDATETYPE_CREATE_OBJECT2; -                break; -            case HighGuid::Unit: -            case HighGuid::Vehicle: -            { -                if (ToUnit()->IsSummon()) -                    updateType = UPDATETYPE_CREATE_OBJECT2; -                break; -            } -            case HighGuid::GameObject: -            { -                if (ToGameObject()->GetOwnerGUID().IsPlayer()) -                    updateType = UPDATETYPE_CREATE_OBJECT2; -                break; -            } -            default: -                break; -        } -    } -    if (flags & UPDATEFLAG_STATIONARY_POSITION) +    if (isType(TYPEMASK_UNIT))      { -        // UPDATETYPE_CREATE_OBJECT2 dynamic objects, corpses... -        if (isType(TYPEMASK_DYNAMICOBJECT | TYPEMASK_CORPSE | TYPEMASK_PLAYER)) -            updateType = UPDATETYPE_CREATE_OBJECT2; - -        // UPDATETYPE_CREATE_OBJECT2 for pets... -        if (target->GetPetGUID() == GetGUID()) -            updateType = UPDATETYPE_CREATE_OBJECT2; - -        // UPDATETYPE_CREATE_OBJECT2 for some gameobject types... -        if (isType(TYPEMASK_GAMEOBJECT)) -        { -            switch (ToGameObject()->GetGoType()) -            { -                case GAMEOBJECT_TYPE_TRAP: -                case GAMEOBJECT_TYPE_DUEL_ARBITER: -                case GAMEOBJECT_TYPE_FLAGSTAND: -                case GAMEOBJECT_TYPE_FLAGDROP: -                    updateType = UPDATETYPE_CREATE_OBJECT2; -                    break; -                default: -                    break; -            } -        } - -        if (isType(TYPEMASK_UNIT)) -        { -            if (ToUnit()->GetVictim()) -                flags |= UPDATEFLAG_HAS_TARGET; -        } +        if (ToUnit()->GetVictim()) +            flags |= UPDATEFLAG_HAS_TARGET;      }      //TC_LOG_DEBUG("BuildCreateUpdate: update-type: %u, object-type: %u got flags: %X, flags2: %X", updateType, m_objectTypeId, flags, flags2); | 
