void revive()
    {
        close();

        //gets player
        ControllerPlayer player = GameObject.FindGameObjectWithTag("Player").GetComponent <ControllerPlayer>();

        //heals player
        player.heal(10f);

        //kills all enemies in a 3 unit radius
        //creates layer mask
        LayerMask mask = 1 << 9;

        //creates filter
        ContactFilter2D filter = new ContactFilter2D();

        filter.SetLayerMask(mask);
        filter.ClearDepth();
        filter.useTriggers = true;

        //creates array
        Collider2D[] colliders = new Collider2D[30];

        //puts into array all the overlapping colliders
        Physics2D.OverlapCircle(player.transform.position, 3f, filter, colliders);

        //adds colliders into list
        foreach (Collider2D collide in colliders)
        {
            //tests if the collider is null
            if (collide == null)
            {
                continue;
            }

            //tests if the collider is a trigger
            if (collide.isTrigger)
            {
                continue;
            }

            //tests if the collider is a hitbox by checking if it is a box2d
            if (collide is BoxCollider2D)
            {
                EnemyMovement enemy = collide.gameObject.GetComponent <EnemyMovement>();
                if (enemy != null)
                {
                    enemy.damage(1f);
                }
            }
        }

        //revive Animation
        player.reviveAni();

        wasPreviouslyRevived = true;
    }