main()
{
level.barrel_expl = loadfx("fx/explosions/grenadeexp_concrete.efx");
ton = getentarray("tonnen","targetname");
for(a=0;a<ton.size;a++)
ton[a] thread waitfordamage();
}
waitfordamage()
{
self.barrel_health = 500;
ton = getentarray("tonnen","targetname");
after = getent("na","targetname");
self setcandamage(1);
self endon("stop other barrels from taking damage and possibly error the script");
while(1)
{
self waittill("damage", dmg, who, dir, point, mod);
if(self.barrel_health > 0)
self.barrel_health -= dmg;
else if(barrel.health <= 0)
{
for(a=0;a<ton.size;a++)
{
if(ton[a] == self)
break;
else
ton[a] notify("stop other barrels from taking damage and possibly error the script");
wait .05;
ton[a] thread waitfordelete();
}
after delete();
break;
}
wait .05;
}
}
waitfordelete()
{
playfx(level.barrel_expl, self.origin);
self hide();
self notsolid();
self setcontents(0);
wait 3;
self delete();
}