Esempio n. 1
0
    private Weapon GetWeaponWithId(int id)
    {
        for (int i = 0; i < SelectedWeapons.Count; i++)
        {
            if (SelectedWeapons[i].Id == id)
            {
                return(SelectedWeapons[i]);
            }
        }
        Weapon weaponDB = StaticTagFinder.GameManager.GetWeaponByID(id);

        if (weaponDB != null)
        {
            weaponDB            = weaponDB.CloneWeapon();
            weaponDB.SetForGame = false;
            SelectedWeapons.Add(weaponDB);
            return(weaponDB);
        }
        Debug.LogWarning("Can't find weapon in player selects with id " + id);
        return(null);
    }
Esempio n. 2
0
 private void Saving()
 {
     if (IsCombo)
     {
         PrintedText += "Création du Combo";
         if (Bd.ComboCat.Any(c => c.categorie == SaveCombo.ComboCat.categorie) && Bd.Stat.Any(s => s.valeur == SaveCombo.stat) && Bd.Ciblage.Any(c => c.ciblage1 == SaveCombo.ciblage))
         {
             if (!Bd.Buff.Any(b => b.nom == SaveCombo.buff))
             {
                 SaveCombo.Buff1 = null;
                 SaveCombo.buff  = null;
             }
             if (!Bd.Crowd_control.Any(cc => cc.CC == SaveCombo.Cc))
             {
                 SaveCombo.Crowd_control = null;
                 SaveCombo.Cc            = null;
             }
             if (!Bd.Etat.Any(e => e.etat1 == SaveCombo.etat))
             {
                 SaveCombo.Etat1 = null;
                 SaveCombo.etat  = null;
             }
             if (SaveCombo.mana_cout > 0)
             {
                 string weaps = "", schools = "";
                 foreach (Weapon_type weapon in SelectedWeapons)
                 {
                     weaps += (weapon == SelectedWeapons.First() ? weapon.type : "\n" + weapon.type);
                 }
                 foreach (Magie_type ecole in SelectedEcole)
                 {
                     schools += (ecole == SelectedEcole.First() ? ecole.ecole : '\n' + ecole.ecole);
                 }
                 SaveCombo.weapons   = weaps;
                 SaveCombo.magie_use = schools;
             }
             else
             {
                 SaveCombo.magie_use = SaveCombo.weapons = null;
             }
             PrintedText += "Sauvegarde du combo.\n";
             Bd.Combo.Add(SaveCombo);
             Bd.SaveChanges();
             PrintedText += "Combo " + SaveCombo.nom + " sauvegardé.\n";
             SpellAdded?.Invoke(this, new EventArgs());
             SaveCombo       = new Combo();
             SelectedWeapons = new List <Weapon_type>();
             SelectedEcole   = new List <Magie_type>();
         }
         else
         {
             PrintedText += "Combo incomplet, veuillez le completer avant de sauvegarder.\nElement manquant : " + (Bd.ComboCat.Any(c => c.categorie == SaveCombo.ComboCat.categorie)?"":"Categorie ") + (Bd.Ciblage.Any(c => c.ciblage1 == SaveCombo.ciblage) ? "" : "Ciblage ") + (Bd.Stat.Any(c => c.valeur == SaveCombo.stat) ? "" : "Statistique ") + '\n';
         }
     }
     else
     {
         if (Bd.Stat.Any(s => s.valeur == SaveSort.stat) && Bd.Ciblage.Any(c => c.ciblage1 == SaveSort.ciblage) && Bd.Magie_type.Any(m => m.ecole == SaveSort.ecole))
         {
             PrintedText += "Création du Sort\n";
             if (!Bd.Buff.Any(b => b.nom == SaveSort.buff))
             {
                 SaveSort.Buff1 = null;
                 SaveSort.buff  = null;
             }
             if (!Bd.Crowd_control.Any(cc => cc.CC == SaveSort.Cc))
             {
                 SaveSort.Crowd_control = null;
                 SaveSort.Cc            = null;
             }
             if (!Bd.Mag_element.Any(e => e.element == SaveSort.element))
             {
                 SaveSort.Mag_element = null;
                 SaveSort.element     = null;
             }
             PrintedText += "Sauvegarde du sort\n";
             Bd.Sorts.Add(SaveSort);
             Bd.SaveChanges();
             SpellAdded?.Invoke(this, EventArgs.Empty);
             PrintedText += "Sort " + SaveSort.nom + " sauvegardé.\nCréation du parchemin.\n";
             Items itemParc = new Items
             {
                 nom         = "Parchemin de " + SaveSort.nom,
                 craftable   = true,
                 description = "Parchemin servant à lancer le sort " + SaveSort.nom + " :\n" + SaveSort.descr,
                 masse       = Bd.Items.ToList().FirstOrDefault(i => i.Id == 7).masse,
                 origine     = (FromMago ? "Magocosme" : "Originel"),
                 prix_mago   = SaveSort.mana_cost,
                 prix_tech   = null,
                 resizable   = false,
                 storable    = true,
                 obtention   = "Achat,Loot,Ecriture",
                 recette     = "1[7|Papier vierge:1\n9|Flacon d'encre:1\n0|Mana:" + (SaveSort.mana_cost * 1.5) + "]=>1",
             };
             PrintedText += "Parchemin créé.\n";
             Bd.Items.Add(itemParc);
             Bd.SaveChanges();
             PrintedText += "Sauvegarde du parchemin.\n";
             Bd.Parchemins.Add(new Parchemins {
                 Items = Bd.Items.ToList().Last(), Sorts = Bd.Sorts.ToList().Last(), spell_id = Bd.Sorts.ToList().Last().Id, Id = Bd.Items.ToList().Last().Id
             });
             Bd.SaveChanges();
             PrintedText += "Parchemin sauvegardé.\n";
             SaveSort     = new Sorts();
         }
         else
         {
             PrintedText += "Sort incomplet, veuillez le completer avant de sauegarder.\nElement manquant : " + (Bd.Magie_type.Any(c => c.ecole == SaveSort.ecole) ? "" : "Ecole ") + (Bd.Ciblage.Any(c => c.ciblage1 == SaveSort.ciblage) ? "" : "Ciblage ") + (Bd.Stat.Any(c => c.valeur == SaveSort.stat) ? "" : "Statistique ") + '\n';
         }
     }
 }