La penetración mágica no existe en el juego, sólo puedes volver a una unidad etérea para ese rol, sino tienes que usar detonadores.
Y para que un bot recoja objetos cercanos a el puedes hacer un detonador como este:
[gui]Detonador sin nombre 001
Acontecimientos
Tiempo - Every 5.00 seconds of game time
Condiciones
Acciones
Do Multiple ActionsFor each (Integer A) from 1 to 12, do (Actions)
Bucle: Acciones
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
((Player((Integer A))) controller) Igual a (==) Ordenador
Entonces: Acciones
Custom script: set bj_wantDestroyGroup = true
Grupo de unidad - Pick every unit in (Units in (Playable map area) matching ((((Matching unit) is Un hÃ

roe) Igual a (==) True) and ((Owner of (Matching unit)) Igual a (==) (Player((Integer A)))))) and do (Actions)
Bucle: Acciones
Set Punto = (Position of (Picked unit))
Set Rect = (Region centered at Punto with size (500.00, 500.00))
Set Unidad = (Picked unit)
Objeto - Pick every item in Rect and do (Actions)
Bucle: Acciones
Unidad - Order Unidad to Haz clic con el botón derecho del ratón (Picked item)
Custom script: call DestroyRect(udg_Rect)
Custom script: call RemoveLocation(udg_Punto)
Otros: Acciones
[/gui]