Warning! Псевдо-код!
Type barrel
Field mesh
Field life
End Type
pickmesh ; допустим, это меш который был определен пиком
; определение в главном цикле бочки, в которую стреляли
For b.barrel=Each barrel
If b\mesh=pickmesh Then Explode(b)
Next
Function Explode(b.barrel)
b\life=0
; далее код взрыва или еще чего-нибудь
; -
; -
For d.barrel=Each barrel
If b<>d And d\life>0 Then
If EntityDistance(b\mesh,d\mesh)<10 Then
Explode(d)
EndIf
EndIf
Next
FreeEntity(b\mesh)
Delete b
End Function
Эх.. Давно не писал на Blitz, может где ошибся.
Но идея была примерно такой.