void main()
{
    switch( GetUserDefinedEventNumber() )
    {
    case 1007:  // DEATH
        {
            object oArea = GetArea( OBJECT_SELF );
            object oCreature = GetFirstObjectInArea( oArea );
            object oTag = GetObjectByTag("specy");
            int bFound = FALSE;
            while( GetIsObjectValid( oCreature ) )
            {
                if( oCreature == oTag &&
                    oCreature != OBJECT_SELF &&
                    !GetIsDead( oCreature ) )
                    bFound = TRUE;
                oCreature = GetNextObjectInArea( oArea );
            } // while valid creature
            if( !bFound && !(GetLocalInt(oArea, "BOSSFIGHT") == 1))
            {
            SetLocalInt(oArea, "BOSSFIGHT", 1);
            object oLure = GetObjectByTag("WP_BOSS");
            location lLure = GetLocation(oLure);

            CreateObject(OBJECT_TYPE_CREATURE,"spectralfigure",lLure,FALSE);

            } // if not found
        } // DEATH
    } // switch
} // main
