|
|
|
@ -33,30 +33,27 @@ void CRangeSelector::buildDisc( CEntityBase * actor, sint32 x, sint32 y,float ra
|
|
|
|
|
for (uint32 i=0;i<_Entities.size();++i)
|
|
|
|
|
BOMB_IF(_Entities[i]==&*it,"BUG: We just tried to insert the same entity into a disk entity list more than once!",continue);
|
|
|
|
|
|
|
|
|
|
if( c != 0 )
|
|
|
|
|
CEntityBase * areaTarget = &(*it);
|
|
|
|
|
if( c != NULL)
|
|
|
|
|
{
|
|
|
|
|
CEntityBase * areaTarget = &(*it);
|
|
|
|
|
if( c != 0)
|
|
|
|
|
{
|
|
|
|
|
// Do not add invisible entity for player
|
|
|
|
|
if( !R2_VISION::isEntityVisibleToPlayers(areaTarget->getWhoSeesMe()))
|
|
|
|
|
continue;
|
|
|
|
|
// Do not add invulnerable entities, they are GM and use a slot for nothing
|
|
|
|
|
if( areaTarget && areaTarget->invulnerableMode() )
|
|
|
|
|
continue;
|
|
|
|
|
// Do not add the entity if a PVP rule excludes it from being selected
|
|
|
|
|
if( ! CPVPManager2::getInstance()->canApplyAreaEffect( c, areaTarget, offensiveAction, ignoreMainTarget ) )
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// Do not add invisible entity for creature
|
|
|
|
|
if( !R2_VISION::isEntityVisibleToMobs(areaTarget->getWhoSeesMe()))
|
|
|
|
|
continue;
|
|
|
|
|
// Do not add invulnerable entities, they are GM and use a slot for nothing
|
|
|
|
|
if( areaTarget && areaTarget->invulnerableMode() )
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
// Do not add invisible entity for player
|
|
|
|
|
if( !R2_VISION::isEntityVisibleToPlayers(areaTarget->getWhoSeesMe()))
|
|
|
|
|
continue;
|
|
|
|
|
// Do not add invulnerable entities, they are GM and use a slot for nothing
|
|
|
|
|
if( areaTarget && areaTarget->invulnerableMode() )
|
|
|
|
|
continue;
|
|
|
|
|
// Do not add the entity if a PVP rule excludes it from being selected
|
|
|
|
|
if( ! CPVPManager2::getInstance()->canApplyAreaEffect( c, areaTarget, offensiveAction, ignoreMainTarget ) )
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// Do not add invisible entity for creature
|
|
|
|
|
if( !R2_VISION::isEntityVisibleToMobs(areaTarget->getWhoSeesMe()))
|
|
|
|
|
continue;
|
|
|
|
|
// Do not add invulnerable entities, they are GM and use a slot for nothing
|
|
|
|
|
if( areaTarget && areaTarget->invulnerableMode() )
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_Entities.push_back(&*it);
|
|
|
|
|