void Attack(BaseEnemy enemy)
    {
        var mele_area = (Area)enemy.FindNode("MeleAttackArea");

        foreach (object obj in mele_area.GetOverlappingBodies())
        {
            if (obj is BasePlayer)
            {
                BasePlayer player = obj as BasePlayer;

                var dmg = enemy.CalculateDamage(player);
                player.TakeDamage(dmg);

                var msg = enemy.GetNode("/root/messanger") as messanger;
                msg.PlayerDamage(dmg, player.GetTranslation());
            }
        }
    }