public Card(string id, string playerClass, Rarity rarity, string type, string name, int cost, string localizedName, int inHandCount,
		            int count, string text, string englishText, int attack, int health, string race, string[] mechanics, int? durability,
		            string artist, string set, List<string> alternativeNames = null, List<string> alternativeTexts = null, HearthDb.Card dbCard = null)
		{
			Id = id;
			PlayerClass = playerClass;
			Rarity = rarity;
			Type = type;
			Name = name;
			Cost = cost;
			LocalizedName = localizedName;
			InHandCount = inHandCount;
			Count = count;
			Text = text;
			EnglishText = englishText;
			Attack = attack;
			Health = health;
			Race = race;
			Durability = durability;
			Mechanics = mechanics;
			Artist = artist;
			Set = set;
			if(alternativeNames != null)
				AlternativeNames = alternativeNames;
			if(alternativeTexts != null)
				AlternativeTexts = alternativeTexts;
			_dbCard = dbCard;
		}
        public void DeckDetector_HeathDb_HasAllCards()
        {
            var missingCards = 0;
            var cards        = sut.PlayableCards();

            foreach (var card in cards)
            {
                if (!HearthDb.Contains(card))
                {
                    missingCards++;
                    var sb = new StringBuilder();
                    sb.Append($" [\"{card.Name}\", new CardData [ ManaCost = 0,");
                    sb.Append(" Spell = \"\",");
                    sb.Append(" Legendary = false,");
                    sb.Append(" Epic = false,");
                    sb.Append(" IsWeapon = false,");
                    sb.Append(" IsWeaponRemoval = false,");
                    sb.Append(" IsTaunt = false,");
                    sb.Append(" HasShield = false,");
                    sb.Append(" IsBurn = false,");
                    sb.Append(" IsRemoval = false,");
                    sb.Append(" IsSecret = false,");
                    sb.Append(" Aoe = false,");
                    sb.Append(" Heal = null,");
                    sb.Append(" Attack = null,");
                    sb.Append(" Health = null,");
                    sb.Append("  ] ],");
                    Console.WriteLine(
                        sb.ToString());
                }
            }
            Assert.AreEqual(0, missingCards);
        }
        public void HearthDb_HasLegendaries()
        {
            var list = HearthDb.Legendaries();

            foreach (var item in list)
            {
                Console.WriteLine(item);
            }
        }
Exemple #4
0
        internal string SpellFor()
        {
            var spell = HearthDb.SpellFor(Name);

            if (string.IsNullOrEmpty(spell))
            {
                return(string.Empty);
            }
            return(spell);
        }
Exemple #5
0
        public void DeckDetector_HeathDb_HasAllCards()
        {
            var cards = sut.PlayableCards();

            foreach (var card in cards)
            {
                if (!HearthDb.Contains(card))
                {
                    Console.WriteLine(
                        $" [\"{card.Name}\", new CardData [ ManaCost = 0 ] ],"
                        );
                }
            }
        }
		public static Rarity RariryConverter(HearthDb.Enums.Rarity rarity)
		{
			switch(rarity)
			{
				case HearthDb.Enums.Rarity.FREE:
					return Rarity.Free;
				case HearthDb.Enums.Rarity.COMMON:
					return Rarity.Common;
				case HearthDb.Enums.Rarity.RARE:
					return Rarity.Rare;
				case HearthDb.Enums.Rarity.EPIC:
					return Rarity.Epic;
				case HearthDb.Enums.Rarity.LEGENDARY:
					return Rarity.Legendary;
				default:
					return Rarity.Free;
			}
		}
Exemple #7
0
        internal string Stats()
        {
            Attack = HearthDb.AttackFor(Name);
            if (Attack == null)
            {
                return(string.Empty);
            }
            Health = HearthDb.HealthFor(Name);
            var stats = $"{Attack.ToString().Trim()}/{Health.ToString().Trim()}";

            if (HearthDb.Taunt(Name))
            {
                stats += "-T";
            }
            if (HearthDb.DivineShield(Name))
            {
                stats += "-S";
            }
            return(stats);
        }
Exemple #8
0
        public int ManaCost()
        {
            var manaCost = HearthDb.ManaCost(Name);

            return(manaCost);
        }
Exemple #9
0
        public bool IsBurn()
        {
            bool isBurn = HearthDb.IsBurn(this);

            return(isBurn);
        }
Exemple #10
0
        public bool IsRemoval()
        {
            bool isSecret = HearthDb.IsSecret(this);

            return(isSecret);
        }
Exemple #11
0
        public bool IsWeaponRemoval()
        {
            bool isWeaponRemoval = HearthDb.IsWeaponRemoval(this);

            return(isWeaponRemoval);
        }
Exemple #12
0
        public bool IsWeapon()
        {
            bool isWeapon = HearthDb.IsWeapon(this);

            return(isWeapon);
        }
Exemple #13
0
        public bool HasAoe()
        {
            bool isAoe = HearthDb.HasAoe(this);

            return(isAoe);
        }
		public Card(HearthDb.Card dbCard)
		{
			_dbCard = dbCard;
			Language lang;
			if(!Enum.TryParse(Config.Instance.SelectedLanguage, out lang))
				lang = Language.enUS;
			Id = dbCard.Id;
			Count = 1;
			PlayerClass = HearthDbConverter.ConvertClass(dbCard.Class);
			Rarity = HearthDbConverter.RariryConverter(dbCard.Rarity);
			Type = HearthDbConverter.CardTypeConverter(dbCard.Type);
			Name = dbCard.GetLocName(Language.enUS);
			Cost = dbCard.Cost;
			LocalizedName = dbCard.GetLocName(lang);
			Text = dbCard.GetLocText(lang);
			EnglishText = dbCard.GetLocText(Language.enUS);
			Attack = dbCard.Attack;
			Health = dbCard.Health;
			Race = HearthDbConverter.RaceConverter(dbCard.Race);
			Durability = dbCard.Durability > 0 ? (int?)dbCard.Durability : null;
			Mechanics = dbCard.Mechanics;
			Artist = dbCard.ArtistName;
			Set = HearthDbConverter.SetConverter(dbCard.Set);
			foreach(var altLangStr in Config.Instance.AlternativeLanguages)
			{
				Language altLang;
				if(Enum.TryParse(altLangStr, out altLang))
				{
					AlternativeNames.Add(dbCard.GetLocName(altLang));
					AlternativeTexts.Add(dbCard.GetLocText(altLang));
				}
			}
			_loaded = true;
		}
 public void ManaCostForDragonbane_Returns_4()
 {
     Assert.AreEqual(
         expected: 4,
         actual: HearthDb.ManaCost("Dragonbane"));
 }
 public void ManaCostForNorthshireCleric_Returns_1()
 {
     Assert.AreEqual(
         expected: 1,
         actual: HearthDb.ManaCost("Northshire Cleric"));
 }