diff --git a/src/ui/controls/map.cpp b/src/ui/controls/map.cpp index e1062096..b22453c5 100644 --- a/src/ui/controls/map.cpp +++ b/src/ui/controls/map.cpp @@ -1164,12 +1164,20 @@ void CMap::UpdateObject(CObject* pObj) if ( !m_bEnable ) return; if ( m_totalFix >= m_totalMove ) return; // full table? + type = pObj->GetType(); if ( !pObj->GetDetectable() ) return; - if ( pObj->Implements(ObjectInterfaceType::Controllable) && !dynamic_cast(pObj)->GetSelectable() ) return; + if ( type != OBJECT_MOTHER && + type != OBJECT_ANT && + type != OBJECT_SPIDER && + type != OBJECT_BEE && + type != OBJECT_WORM && + type != OBJECT_MOBILEtg ) + { + if (pObj->Implements(ObjectInterfaceType::Controllable) && !dynamic_cast(pObj)->GetSelectable()) return; + } if ( pObj->GetProxyActivate() ) return; if (IsObjectBeingTransported(pObj)) return; - type = pObj->GetType(); pos = pObj->GetPosition(); dir = -(pObj->GetRotationY()+Math::PI/2.0f);