Beispiel #1
0
Unit*
ObjectAccessor::GetUnit(WorldObject const &u, uint64 guid)
{
    if(!guid)
        return NULL;

    if(IS_PLAYER_GUID(guid))
        return FindPlayer(guid);

    return GetCreatureOrPetOrVehicle(u, guid);
}
Beispiel #2
0
Unit*
ObjectAccessor::GetUnit(WorldObject const &u, ObjectGuid guid)
{
    if(guid.IsEmpty())
        return NULL;

    if(guid.IsPlayer())
        return FindPlayer(guid);

    return GetCreatureOrPetOrVehicle(u, guid);
}
Beispiel #3
0
Object* ObjectAccessor::GetObjectByTypeMask(WorldObject const &p, uint64 guid, uint32 typemask)
{
    Object *obj = NULL;

    if(typemask & TYPEMASK_PLAYER)
    {
        obj = FindPlayer(guid);
        if(obj)
            return obj;
    }

    if(typemask & TYPEMASK_UNIT)
    {
        obj = GetCreatureOrPetOrVehicle(p,guid);
        if(obj)
            return obj;
    }

    if(typemask & TYPEMASK_GAMEOBJECT)
    {
        obj = p.GetMap()->GetGameObject(guid);
        if(obj)
            return obj;
    }

    if(typemask & TYPEMASK_DYNAMICOBJECT)
    {
        obj = p.GetMap()->GetDynamicObject(guid);
        if(obj)
            return obj;
    }

    if(typemask & TYPEMASK_ITEM && p.GetTypeId() == TYPEID_PLAYER)
    {
        obj = ((Player const &)p).GetItemByGuid( guid );
        if(obj)
            return obj;
    }

    return NULL;
}