示例#1
0
 public override bool Detruire(Joueur joueur)
 {
     foreach (KeyValuePair <int, Item> it in inventaire.Items)
     {
         joueur.AjouterItem(it.Value);
     }
     joueur.AjouterItem(new Coffre_Item(1));
     return(true);
 }
示例#2
0
 public override bool Detruire(Joueur joueur)
 {
     if (joueur != null)
     {
         joueur.AjouterItem(new TableDeCraft_Item(1));
         foreach (KeyValuePair <int, Item> item in inventaire.Items)
         {
             joueur.AjouterItem(item.Value);
         }
     }
     return(true);
 }
示例#3
0
 public override bool Detruire(Joueur joueur)
 {
     if (joueur.MainDroit() is Pioche)
     {
         joueur.AjouterItem(new Minerais_Fer_Item(1));
         return(true);
     }
     return(false);
 }
 public override bool Detruire(Joueur joueur)
 {
     if (joueur.MainDroit() is Pioche pioche && pioche.Vitesse >= 4)
     {
         joueur.AjouterItem(new Diamant(1));
         return(true);
     }
     return(false);
 }
示例#5
0
 public override bool Detruire(Joueur joueur)
 {
     if (joueur.MainDroit() is Pioche)
     {
         joueur.AjouterItem(new Four_Item(1));
         if (inventaire.GetItem(0) != null)
         {
             joueur.AjouterItem(inventaire.GetItem(0));
         }
         if (inventaire.GetItem(1) != null)
         {
             joueur.AjouterItem(inventaire.GetItem(1));
         }
         if (inventaire.GetItem(2) != null)
         {
             joueur.AjouterItem(inventaire.GetItem(2));
         }
         return(true);
     }
     return(false);
 }
示例#6
0
        /// <summary>
        /// effectue le craft dans l'inventaire</br>
        /// enleve les items du craft dans l'inventaire</br>
        /// ajoute l'item crafter dans l'inventaire du joueur</br>
        /// reset si plus de place
        /// </summary>
        /// <param name="inv"></param>
        /// <param name="joueur"></param>
        /// <returns></returns>
        public static bool CraftIt(Inventaire inv, Joueur joueur)
        {
            foreach (Craft craft in Craft.crafts)
            {
                if (Check(inv, craft))
                {
                    Item cl = craft.To.Clone();
                    int  i  = joueur.AjouterItem(cl);
                    if (i > 0)
                    {
                        Item cl2 = craft.To.Clone();
                        cl2.Quantite -= i;
                        joueur.EnleverItem(cl2);
                    }
                    else
                    {
                        int longueur = inv.Longueur;
                        int hauteur  = inv.Hauteur;

                        //max 3x3
                        if (longueur > 3)
                        {
                            longueur = 3;
                        }
                        if (hauteur > 3)
                        {
                            hauteur = 3;
                        }

                        for (int x = 0; x < longueur; x++)
                        {
                            for (int y = 0; y < hauteur; y++)
                            {
                                int  slot = x + (y * longueur);
                                Item it   = inv.GetItem(slot);
                                if (it != null)
                                {
                                    it.Quantite -= craft.From[x, y].Quantite;
                                    if (it.Quantite == 0)
                                    {
                                        inv.SetItem(slot, null);
                                    }
                                }
                            }
                        }
                        return(true);
                    }
                }
            }
            return(false);
        }
示例#7
0
 public override bool Detruire(Joueur joueur)
 {
     //si ciseau en main
     if (joueur.MainDroit() is Ciseau cis)
     {
         joueur.AjouterItem(new FeuilleDeChene_Item(1));
         cis.Durabiliter--;
         if (cis.Durabiliter <= 0)
         {
             joueur.EnleverItem(cis);
         }
     }
     return(true);
 }
示例#8
0
        /// <summary>
        /// Vérifie si le joueur et le marchand a les items<br/>
        /// Les échanges si ils les ont
        /// </summary>
        /// <param name="joueur">Le joueur qui fait l'échange</param>
        /// <param name="index">L'index de l'échange</param>
        public bool Echanger(Joueur joueur, int index)
        {
            Echange echange = echanges[index];

            if (joueur.ContientItem(echange.ItemVoulu) && inventaire.ContientItem(echange.ItemDonne))
            {
                joueur.EnleverItem(echange.ItemVoulu);
                joueur.AjouterItem(echange.ItemDonne);
                inventaire.EnleverItem(echange.ItemDonne);
                inventaire.AjouterItem(echange.ItemVoulu);
                return(true);
            }
            return(false);
        }
示例#9
0
 public override bool Detruire(Joueur joueur)
 {
     joueur.AjouterItem(new Echelle_Item(1));
     return(true);
 }
示例#10
0
 public override bool Detruire(Joueur joueur)
 {
     joueur.AjouterItem(new PlancheDeChene(1));
     return(true);
 }
示例#11
0
 public override bool Detruire(Joueur joueur)
 {
     joueur.AjouterItem(new TroncDeChene_Item(1));
     return(true);
 }