diff --git a/src/personnage.c b/src/personnage.c
index ef571600c00295f9a9a16182d86f4702b4477db9..717d2c87ae0edb0ef7702264b197148c8a93e3be 100644
--- a/src/personnage.c
+++ b/src/personnage.c
@@ -214,6 +214,67 @@ void setPD(Personnage * p, int n){
     }
 }
 
+/*!
+ * \fn void retraitMana(Personnage * p, int n)
+ * \brief La fonction retire n mana au Personnage en parrametre.
+ *        Remarque : Pour ajouter, il suffit de choisir n négatif.
+ *
+ * \param Un pointeur vers un personnage, n le mana à retirer.
+ */
+void retraitMana(Personnage * p, int n){
+    setMana(p, get_mana(p)-n);
+}
+
+/*!
+ * \fn void retraitPV(Personnage * p, int n)
+ * \brief La fonction retire n PV au Personnage en parrametre.
+ *        Remarque : Pour ajouter, il suffit de choisir n négatif.
+ *
+ * \param Un pointeur vers un personnage, n les PV à retirer.
+ */
+void retraitPV(Personnage * p, int n){
+    setPV(p, get_PV(p)-n);
+}
+
+/*!
+ * \fn void retraitPD(Personnage * p, int n)
+ * \brief La fonction retire n PD au Personnage en parrametre.
+ *        Remarque : Pour ajouter, il suffit de choisir n négatif.
+ *
+ * \param Un pointeur vers un personnage, n les PD à retirer.
+ */
+void retraitPD(Personnage * p, int n){
+    setPD(p, get_PD(p)-n);
+}
+
+/*!
+ * \fn int personnageKO(Personnage * p)
+ * \brief La fonction teste si le Personnage est KO (s'il n'a plus de PV)
+ *
+ * \param Un pointeur vers un personnage.
+ * \return 1 si le Personnage est KO, 0 sinon.
+ */
+int personnageKO(Personnage * p){
+    if(p->PV==0){
+        return 1;
+    }
+    return 0;
+}
+
+/*!
+ * \fn int manaSuffisant(Personnage * p, int mana)
+ * \brief La fonction teste si le personnage a un mana superieur ou egal au mana en parrametre.
+ *
+ * \param Un pointeur vers un personnage, un entier représentant la quantité de mana.?
+ * \return 1 si le Personnage a un mana supérieur ou égal au parrametre mana, 0 sinon.
+ */
+int manaSuffisant(Personnage * p, int mana){
+    if(mana>=get_mana(p)){
+        return 1;
+    }
+    return 0;
+}
+
 /* Cette fonction ne fonctionne plus, il faut une fonction qui accede aux effets.
 boolean est_paralyse(Personnage *p){
     return p->paralyse;
diff --git a/src/personnage.h b/src/personnage.h
index 9e5464009dba9a1365212261b96098a5d1e4977a..5aeaf06f65fb671737293a8c26091577e3ba0272 100644
--- a/src/personnage.h
+++ b/src/personnage.h
@@ -32,6 +32,13 @@ void setPV(Personnage * p, int n);
 void setMana(Personnage * p, int n);
 void setPD(Personnage * p, int n);
 
+void retraitMana(Personnage * p, int n);
+void retraitPV(Personnage * p, int n);
+void retraitPD(Personnage * p, int n);
+
+int personnageKO(Personnage * p);
+int manaSuffisant(Personnage * p, int mana);
+
 Classe * getClasse(Personnage *p);
 
 char * getNomPersonnage(Personnage * p);