public Directories() { Standard.Add(RESEARCH); Standard.Add(DEVELOPMENT); Standard.Add(FINAL); Standard.Add(PHOTOGENIC); }
static Cards() { // Fetch all cards. var cardLoader = new CardLoader(); Card[] cards = cardLoader.Load(); //string json = File.ReadAllText(CardLoader.Path + @"SabberStone\HSProtoSim\Loader\Data\cardData.json"); //string json = File.ReadAllText(Environment.CurrentDirectory + @"\cardData.json"); //var cards = JsonConvert.DeserializeObject<IEnumerable<Card>>(Resources.cardDataJson); //File.WriteAllText(CardLoader.Path + @"SabberStone\HSProtoSim\Loader\Data\cardDataJson.txt", JsonConvert.SerializeObject(cards, Formatting.Indented)); // Set as card definitions Data = new CardContainer(); Data.Load(cards); //Log.Debug("Standard:"); //Enum.GetValues(typeof(CardClass)).Cast<CardClass>().ToList().ForEach(heroClass => for (int i = 0; i < HeroClasses.Length; i++) { CardClass heroClass = HeroClasses[i]; Standard.Add(heroClass, All.Where(c => c.Collectible && (c.Class == heroClass || c.Class == CardClass.NEUTRAL && c.MultiClassGroup == 0 || c.MultiClassGroup == 1 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.HUNTER || c.Class == CardClass.PALADIN || c.Class == CardClass.WARRIOR) || c.MultiClassGroup == 2 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.DRUID || c.Class == CardClass.ROGUE || c.Class == CardClass.SHAMAN) || c.MultiClassGroup == 3 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.MAGE || c.Class == CardClass.PRIEST || c.Class == CardClass.WARLOCK)) && c.Type != CardType.HERO && StandardSets.Contains(c.Set)).ToList().AsReadOnly()); //Log.Debug($"-> [{heroClass}] - {Standard[heroClass].Count} cards."); //}); } //Log.Debug("AllStandard:"); AllStandard = All.Where(c => c.Collectible && c.Type != CardType.HERO && StandardSets.Contains(c.Set)).ToList().AsReadOnly(); //Log.Debug("Wild:"); Enum.GetValues(typeof(CardClass)).Cast <CardClass>().ToList().ForEach(heroClass => { Wild.Add(heroClass, All.Where(c => c.Collectible && (c.Class == heroClass || c.Class == CardClass.NEUTRAL && c.MultiClassGroup == 0 || c.MultiClassGroup == 1 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.HUNTER || c.Class == CardClass.PALADIN || c.Class == CardClass.WARRIOR) || c.MultiClassGroup == 2 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.DRUID || c.Class == CardClass.ROGUE || c.Class == CardClass.SHAMAN) || c.MultiClassGroup == 3 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.MAGE || c.Class == CardClass.PRIEST || c.Class == CardClass.WARLOCK)) && c.Type != CardType.HERO).ToList().AsReadOnly()); //Log.Debug($"-> [{heroClass}] - {Wild[heroClass].Count} cards."); }); //Log.Debug("AllWild:"); AllWild = All.Where(c => c.Collectible && c.Type != CardType.HERO).ToList().AsReadOnly(); StandardCostMinionCards = AllStandard.Where(c => c.Type == CardType.MINION).GroupBy(c => c.Cost).ToDictionary(g => g.Key, g => g.ToList()); WildCostMinionCards = AllWild.Where(c => c.Type == CardType.MINION).GroupBy(c => c.Cost).ToDictionary(g => g.Key, g => g.ToList()); }
static Cards() { var cardLoader = new CardLoader(); var cards = cardLoader.Load(); //string json = File.ReadAllText(CardLoader.Path + @"SabberStone\HSProtoSim\Loader\Data\cardData.json"); //string json = File.ReadAllText(Environment.CurrentDirectory + @"\cardData.json"); //var cards = JsonConvert.DeserializeObject<IEnumerable<Card>>(Resources.cardDataJson); //File.WriteAllText(CardLoader.Path + @"SabberStone\HSProtoSim\Loader\Data\cardDataJson.txt", JsonConvert.SerializeObject(cards, Formatting.Indented)); // Set as card definitions Data = new CardDefinitions(); Data.Load(cards); //Log.Info($"Loaded {All.Count()} cards."); // Wild //Log.Debug("Wild:"); foreach (var heroClass in Enum.GetValues(typeof(CardClass)).Cast <CardClass>()) { Wild.Add(heroClass, All.Where(c => c.Collectible && (c.Class == heroClass || c.Class == CardClass.NEUTRAL && c.MultiClassGroup == 0 || c.MultiClassGroup == 1 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.HUNTER || c.Class == CardClass.PALADIN || c.Class == CardClass.WARRIOR) || c.MultiClassGroup == 2 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.DRUID || c.Class == CardClass.ROGUE || c.Class == CardClass.SHAMAN) || c.MultiClassGroup == 3 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.MAGE || c.Class == CardClass.PRIEST || c.Class == CardClass.WARLOCK)) && c.Type != CardType.HERO).ToList()); //Log.Debug($"-> [{heroClass}] - {Wild[heroClass].Count} cards."); } //Log.Debug("Standard:"); foreach (var heroClass in Enum.GetValues(typeof(CardClass)).Cast <CardClass>()) { Standard.Add(heroClass, All.Where(c => c.Collectible && (c.Class == heroClass || c.Class == CardClass.NEUTRAL && c.MultiClassGroup == 0 || c.MultiClassGroup == 1 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.HUNTER || c.Class == CardClass.PALADIN || c.Class == CardClass.WARRIOR) || c.MultiClassGroup == 2 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.DRUID || c.Class == CardClass.ROGUE || c.Class == CardClass.SHAMAN) || c.MultiClassGroup == 3 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.MAGE || c.Class == CardClass.PRIEST || c.Class == CardClass.WARLOCK)) && c.Type != CardType.HERO && StandardSets.Contains(c.Set) ).ToList()); //Log.Debug($"-> [{heroClass}] - {Standard[heroClass].Count} cards."); } //Log.Debug("AllStandard:"); AllStandard = All.Where(c => c.Collectible && c.Type != CardType.HERO && StandardSets.Contains(c.Set)).ToList(); //Log.Debug("AllWild:"); AllWild = All.Where(c => c.Collectible && c.Type != CardType.HERO).ToList(); }
public static void Initialize() { if (mLUT != null) { return; } Standard.Add(Alanine); Standard.Add(Cysteine); Standard.Add(Aspartic); Standard.Add(Glutamic); Standard.Add(Phenylalanine); Standard.Add(Glycine); Standard.Add(Histidine); Standard.Add(Isoleucine); Standard.Add(Lysine); Standard.Add(Leucine); Standard.Add(Methionine); Standard.Add(Asparagine); Standard.Add(Pyrrolysine); Standard.Add(Proline); Standard.Add(Glutamine); Standard.Add(Arginine); Standard.Add(Serine); Standard.Add(Threonine); Standard.Add(Selenocysteine); Standard.Add(Valine); Standard.Add(Tryptophan); Standard.Add(Tyrosine); int n = 'z' - 'a'; mLUT = new AminoAcid[n]; foreach (AminoAcid aa in Standard) { mLUT[aa.Letter - 'A'] = aa; mMap.Add(aa.Abbrev, aa); } }
public static void Create() { float headr = HeadR / W; Standard.Add(new Orbit(.1f, .2f, 1f / 13)); Standard.Add(new Orbit(.367f, .2f, 1f / 13)); Standard.Add(new Orbit(.633f, .2f, 1f / 13)); Standard.Add(new Orbit(.9f, .2f, 1f / 13)); Standard.Add(new Orbit(2f / 9, .5f, 1f / 13)); Standard.Add(new Orbit(.5f, .5f, 1f / 13)); Standard.Add(new Orbit(7f / 9, .5f, 1f / 13)); Standard.Add(new Orbit(.1f, .8f, 1f / 13)); Standard.Add(new Orbit(.367f, .8f, 1f / 13)); Standard.Add(new Orbit(.633f, .8f, 1f / 13f)); Standard.Add(new Orbit(.9f, .8f, 1f / 13)); First.Add(new Orbit(1 / 12f, 1 / 6f, 1 / 21f)); First.Add(new Orbit(11 / 12f, 1 / 6f, 1 / 21f)); First.Add(new Orbit(1 / 12f, 5 / 6f, 1 / 21f)); First.Add(new Orbit(11 / 12f, 5 / 6f, 1 / 21f)); First.Add(new Orbit(.5f, .5f, 3 / 16f)); First.Add(new Orbit(1 / 6f, .5f, 3 / 32f)); First.Add(new Orbit(5 / 6f, .5f, 3 / 32f)); First.Add(new Orbit(1 / 4f, 1 / 5f, 1 / 28f)); First.Add(new Orbit(3 / 4f, 1 / 5f, 1 / 28f)); First.Add(new Orbit(1 / 4f, 4 / 5f, 1 / 28f)); First.Add(new Orbit(3 / 4f, 4 / 5f, 1 / 28f)); Dense.Add(new Orbit(1 / 12f, 1 / 8f, 1 / 25f)); Dense.Add(new Orbit(1 / 12f, 3 / 8f, 1 / 25f)); Dense.Add(new Orbit(1 / 12f, 5 / 8f, 1 / 25f)); Dense.Add(new Orbit(1 / 12f, 7 / 8f, 1 / 25f)); Dense.Add(new Orbit(1 / 6f, 1 / 4f, 1 / 25f)); Dense.Add(new Orbit(1 / 6f, 1 / 2f, 1 / 25f)); Dense.Add(new Orbit(1 / 6f, 3 / 4f, 1 / 25f)); Dense.Add(new Orbit(1 / 4f, 1 / 8f, 1 / 25f)); Dense.Add(new Orbit(1 / 4f, 3 / 8f, 1 / 25f)); Dense.Add(new Orbit(1 / 4f, 5 / 8f, 1 / 25f)); Dense.Add(new Orbit(1 / 4f, 7 / 8f, 1 / 25f)); Dense.Add(new Orbit(1 / 3f, 1 / 4f, 1 / 25f)); Dense.Add(new Orbit(1 / 3f, 1 / 2f, 1 / 25f)); Dense.Add(new Orbit(1 / 3f, 3 / 4f, 1 / 25f)); Dense.Add(new Orbit(5 / 12f, 1 / 8f, 1 / 25f)); Dense.Add(new Orbit(5 / 12f, 3 / 8f, 1 / 25f)); Dense.Add(new Orbit(5 / 12f, 5 / 8f, 1 / 25f)); Dense.Add(new Orbit(5 / 12f, 7 / 8f, 1 / 25f)); Dense.Add(new Orbit(1 / 2f, 1 / 4f, 1 / 25f)); Dense.Add(new Orbit(1 / 2f, 1 / 2f, 1 / 25f)); Dense.Add(new Orbit(1 / 2f, 3 / 4f, 1 / 25f)); Dense.Add(new Orbit(7 / 12f, 1 / 8f, 1 / 25f)); Dense.Add(new Orbit(7 / 12f, 3 / 8f, 1 / 25f)); Dense.Add(new Orbit(7 / 12f, 5 / 8f, 1 / 25f)); Dense.Add(new Orbit(7 / 12f, 7 / 8f, 1 / 25f)); Dense.Add(new Orbit(2 / 3f, 1 / 4f, 1 / 25f)); Dense.Add(new Orbit(2 / 3f, 1 / 2f, 1 / 25f)); Dense.Add(new Orbit(2 / 3f, 3 / 4f, 1 / 25f)); Dense.Add(new Orbit(3 / 4f, 1 / 8f, 1 / 25f)); Dense.Add(new Orbit(3 / 4f, 3 / 8f, 1 / 25f)); Dense.Add(new Orbit(3 / 4f, 5 / 8f, 1 / 25f)); Dense.Add(new Orbit(3 / 4f, 7 / 8f, 1 / 25f)); Dense.Add(new Orbit(5 / 6f, 1 / 4f, 1 / 25f)); Dense.Add(new Orbit(5 / 6f, 1 / 2f, 1 / 25f)); Dense.Add(new Orbit(5 / 6f, 3 / 4f, 1 / 25f)); Dense.Add(new Orbit(11 / 12f, 1 / 8f, 1 / 25f)); Dense.Add(new Orbit(11 / 12f, 3 / 8f, 1 / 25f)); Dense.Add(new Orbit(11 / 12f, 5 / 8f, 1 / 25f)); Dense.Add(new Orbit(11 / 12f, 7 / 8f, 1 / 25f)); Simple.Add(new Orbit(1 / 4f, .5f, .2f)); Simple.Add(new Orbit(3 / 4f, .5f, .2f)); Simple.Add(new Orbit(.5f, 1 / 6f, .05f)); Simple.Add(new Orbit(.5f, 5 / 6f, .05f)); Steps.Add(new Orbit(.12f + headr, .24f + headr * 2, .12f)); Steps.Add(new Orbit(1 / 3f, .6f, .1f)); Steps.Add(new Orbit(.5f, 14 / 16f - headr * 2, 1 / 16f)); Steps.Add(new Orbit(2 / 3f, .6f, .1f)); Steps.Add(new Orbit(.88f - headr, .24f + headr * 2, .12f)); Isles.Add(new Orbit(1 / 12f + headr, 3 / 5f, 1 / 12f)); Isles.Add(new Orbit(3 / 12f, 1 / 6f + headr * 2, 1 / 12f)); Isles.Add(new Orbit(5 / 12f, 5 / 6f - headr * 2, 1 / 12f)); Isles.Add(new Orbit(7 / 12f, 1 / 6f + headr * 2, 1 / 12f)); Isles.Add(new Orbit(9 / 12f, 5 / 6f - headr * 2, 1 / 12f)); Isles.Add(new Orbit(11 / 12f - headr, 2 / 5f, 1 / 12f)); Moon.Add(new Orbit(1 / 4f, .3f + headr * 2, .15f)); Moon.Add(new Orbit(.42f, .87f, 1 / 30f)); Moon.Add(new Orbit(.3f, .5f, 1 / 30f)); Moon.Add(new Orbit(.72381f, .18924f, 1 / 32f)); Moon.Add(new Orbit(.62348f, .54328f, 1 / 18f)); Moon.Add(new Orbit(.76483f, .43617f, 1 / 32f)); Moon.Add(new Orbit(.32732f, .32711f, 1 / 26f)); Moon.Add(new Orbit(.17231f, .79801f, 1 / 24f)); Moon.Add(new Orbit(.79782f, .79701f, 1 / 20f)); Moon.Add(new Orbit(.87982f, .33241f, 1 / 22f)); Moon.Add(new Orbit(.54311f, .12411f, 1 / 28f)); Moon.Add(new Orbit(.06251f, .56781f, 1 / 30f)); Moon.Add(new Orbit(.52879f, .78232f, 1 / 34f)); Ring.Add(new Orbit(3 / 13f, 1 / 9f + headr * 2, 1 / 18f)); Ring.Add(new Orbit(5 / 13f, 1 / 9f + headr * 2, 1 / 18f)); Ring.Add(new Orbit(7 / 13f, 1 / 9f + headr * 2, 1 / 18f)); Ring.Add(new Orbit(9 / 13f, 1 / 9f + headr * 2, 1 / 18f)); Ring.Add(new Orbit(4 / 13f, 8 / 9f - headr * 2, 1 / 18f)); Ring.Add(new Orbit(6 / 13f, 8 / 9f - headr * 2, 1 / 18f)); Ring.Add(new Orbit(8 / 13f, 8 / 9f - headr * 2, 1 / 18f)); Ring.Add(new Orbit(10 / 13f, 8 / 9f - headr * 2, 1 / 18f)); Ring.Add(new Orbit(1 / 15f + headr, 1 / 3f, 1 / 15f)); Ring.Add(new Orbit(14 / 15f - headr, 2 / 3f, 1 / 15f)); //Ring.Add(new Orbit(1/18f+headr, 1/8f, 1/18f)); //Ring.Add(new Orbit(17/18f-headr, 7/8f, 1/18f)); Ring.Add(new Orbit(.1f + headr, .8f - headr * 2, .1f)); Ring.Add(new Orbit(.9f - headr, .2f + headr * 2, .1f)); Wave.Add(new Orbit(1 / 6f, 2 / 9f + headr * 2, 1 / 9f)); Wave.Add(new Orbit(2 / 6f, 7 / 9f - headr * 2, 1 / 9f)); Wave.Add(new Orbit(3 / 6f, 2 / 9f + headr * 2, 1 / 9f)); Wave.Add(new Orbit(4 / 6f, 7 / 9f - headr * 2, 1 / 9f)); Wave.Add(new Orbit(5 / 6f, 2 / 9f + headr * 2, 1 / 9f)); /* * Me.Add(new Orbit(1/4f, 1/4f, .12f)); * Me.Add(new Orbit(1/4f, 3/4f, .12f)); * Me.Add(new Orbit(.52f, .155f, .06f)); * Me.Add(new Orbit(.67f, .155f, .06f)); * Me.Add(new Orbit(.82f, .155f, .06f)); * Me.Add(new Orbit(.595f, .5f, .12f)); * Me.Add(new Orbit(.52f, .85f, .06f)); * Me.Add(new Orbit(.875f, .85f, .05f)); */ Me.Add(new Orbit(1 / 11f + headr, 9 / 11f - 2 * headr, 1 / 11f)); Me.Add(new Orbit(13 / 44f + headr / 2, 29 / 44f - headr, 1 / 11f)); Me.Add(new Orbit(.5f, .5f, 1 / 11f)); Me.Add(new Orbit(31 / 44f - headr / 2, 15 / 44f + headr, 1 / 11f)); Me.Add(new Orbit(10 / 11f - headr, 2 / 11f + 2 * headr, 1 / 11f)); }
static Cards() { // Fetch all cards. var cardLoader = new CardLoader(); Card[] cards = cardLoader.Load(); //string json = File.ReadAllText(CardLoader.Path + @"SabberStone\HSProtoSim\Loader\Data\cardData.json"); //string json = File.ReadAllText(Environment.CurrentDirectory + @"\cardData.json"); //var cards = JsonConvert.DeserializeObject<IEnumerable<Card>>(Resources.cardDataJson); //File.WriteAllText(CardLoader.Path + @"SabberStone\HSProtoSim\Loader\Data\cardDataJson.txt", JsonConvert.SerializeObject(cards, Formatting.Indented)); // Set as card definitions Data = new CardContainer(); Data.Load(cards); //Log.Debug("Standard:"); //Enum.GetValues(typeof(CardClass)).Cast<CardClass>().ToList().ForEach(heroClass => for (int i = 0; i < HeroClasses.Length; i++) { CardClass heroClass = HeroClasses[i]; Standard.Add(heroClass, All.Where(c => c.Collectible && (c.Class == heroClass || c.Class == CardClass.NEUTRAL && c.MultiClassGroup == 0 || c.MultiClassGroup == 1 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.HUNTER || c.Class == CardClass.PALADIN || c.Class == CardClass.WARRIOR) || c.MultiClassGroup == 2 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.DRUID || c.Class == CardClass.ROGUE || c.Class == CardClass.SHAMAN) || c.MultiClassGroup == 3 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.MAGE || c.Class == CardClass.PRIEST || c.Class == CardClass.WARLOCK)) && c.Type != CardType.HERO && StandardSets.Contains(c.Set)).ToList().AsReadOnly()); //Log.Debug($"-> [{heroClass}] - {Standard[heroClass].Count} cards."); //}); } //Log.Debug("AllStandard:"); AllStandard = All.Where(c => c.Collectible && c.Type != CardType.HERO && StandardSets.Contains(c.Set)).ToList().AsReadOnly(); //Log.Debug("Wild:"); Enum.GetValues(typeof(CardClass)).Cast <CardClass>().ToList().ForEach(heroClass => { Wild.Add(heroClass, All.Where(c => c.Collectible && (c.Class == heroClass || c.Class == CardClass.NEUTRAL && c.MultiClassGroup == 0 || c.MultiClassGroup == 1 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.HUNTER || c.Class == CardClass.PALADIN || c.Class == CardClass.WARRIOR) || c.MultiClassGroup == 2 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.DRUID || c.Class == CardClass.ROGUE || c.Class == CardClass.SHAMAN) || c.MultiClassGroup == 3 && (c.Class == CardClass.NEUTRAL || c.Class == CardClass.MAGE || c.Class == CardClass.PRIEST || c.Class == CardClass.WARLOCK)) && c.Type != CardType.HERO).ToList().AsReadOnly()); //Log.Debug($"-> [{heroClass}] - {Wild[heroClass].Count} cards."); }); //Log.Debug("AllWild:"); AllWild = All.Where(c => c.Collectible && c.Type != CardType.HERO).ToList().AsReadOnly(); StandardCostMinionCards = AllStandard.Where(c => c.Type == CardType.MINION).GroupBy(c => c.Cost).ToDictionary(g => g.Key, g => g.ToList()); WildCostMinionCards = AllWild.Where(c => c.Type == CardType.MINION).GroupBy(c => c.Cost).ToDictionary(g => g.Key, g => g.ToList()); // Temporary fix for Lotus Assassin Data.Cards["CFM_634"].Stealth = true; Data.Cards["CFM_634"].Tags.Add(GameTag.STEALTH, 1); // Basic Totems BasicTotems = new[] { FromId("NEW1_009"), // Healing Totem FromId("CS2_050"), // Searing Totem FromId("CS2_051"), // Stoneclaw Totem FromId("CS2_052") // Wraith of Air Totem }; // filtered out cards ... cosmetic purpose Data.Cards.Remove("HERO_01c"); // HERO Deathwing }