protected virtual void OnTriggerEnter2D(Collider2D other)
    {
        Soldat soldat = other.gameObject.GetComponent <Soldat>();

        if (soldat != null)
        {
            if (((targetType & TargetType.enemy) != 0 && soldat.camp != camp) || ((targetType & TargetType.ally) != 0 && soldat.camp == camp))
            {
                foreach (Effect effect in effects)
                {
                    soldat.addEffect(effect);
                }
                soldat.degat(soldat.element.lireRatioDegat(element) * damage);
                if (debuf_ennemie_repouse)
                {
                    soldat.transform.Translate((float)0.5 * direction.x, (float)0.5 * direction.y, 0);
                }
                else if (eclair_en_chaine)
                {
                    chaineEclair();
                    Destroy(gameObject);
                }
                Destroy(gameObject);
            }
        }
        //ne rentre jamais ici !
        else // si en contact avec le projectile d'obstacle
        {
            Projectile proj = other.gameObject.GetComponent <Projectile>();
            if (proj != null) // toujours == nul
            {
                if ((targetType & TargetType.enemy) != 0 && proj.camp != camp && proj.attaquable)
                {
                    proj.PV -= (int)(proj.element.lireRatioDegat(element) * damage);
                    Destroy(gameObject);
                }
            }
        }
    }
    protected override void OnTriggerEnter2D(Collider2D other)
    {
        Soldat soldat = other.gameObject.GetComponent <Soldat>();

        if (soldat != null)
        {
            if ((targetType & TargetType.enemy) != 0 && soldat.camp != camp)
            {
                foreach (Effect effect in effects)
                {
                    soldat.addEffect(effect);
                }
                soldat.degat(soldat.element.lireRatioDegat(element) * damage);
                if (tour is TourBaobab)
                {
                    TourBaobab tourB = (TourBaobab)tour;
                    tourB.digere(soldat);
                }
                Destroy(gameObject);
            }
        }
    }