ent->think = goodyear_think;
    while ((blip = findradius(blip, ent->s.origin, 100 * g_radius->value)) != NULL)
	{
        if (!(blip->svflags & SVF_MONSTER) && !blip->client)
            continue;
        if (blip->wf_team == ent->wf_team)
            continue;
        if (blip->disguised)
            continue;
        if (!blip->takedamage)
            continue;
        if (blip->health <= 0)
            continue;
        if (!visible(ent, blip))
            continue;
        ent->think = Goodyear_Explode;
        break;
    }

    ent->nextthink = level.time + .1;
 
/*
=================
findradius

Returns entities that have origins within a spherical area

findradius (origin, radius)
=================
*/
edict_t *findradius (edict_t *from, vec3_t org, float rad)
{
	vec3_t	eorg;
	int		j;

	if (!from)
		from = world;
	else
		from++;

	for ( ; from < &game.edicts[game.numentities]; from++)
	{
		if (!from->r.inuse)
			continue;
		if (from->r.solid == SOLID_NOT)
			continue;
		for (j=0 ; j<3 ; j++)
			eorg[j] = org[j] - (from->s.origin[j] + (from->r.mins[j] + from->r.maxs[j])*0.5);
		if (VectorLength(eorg) > rad)
			continue;
		return from;
	}

	return NULL;
}