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); } }
internal string SpellFor() { var spell = HearthDb.SpellFor(Name); if (string.IsNullOrEmpty(spell)) { return(string.Empty); } return(spell); }
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; } }
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); }
public int ManaCost() { var manaCost = HearthDb.ManaCost(Name); return(manaCost); }
public bool IsBurn() { bool isBurn = HearthDb.IsBurn(this); return(isBurn); }
public bool IsRemoval() { bool isSecret = HearthDb.IsSecret(this); return(isSecret); }
public bool IsWeaponRemoval() { bool isWeaponRemoval = HearthDb.IsWeaponRemoval(this); return(isWeaponRemoval); }
public bool IsWeapon() { bool isWeapon = HearthDb.IsWeapon(this); return(isWeapon); }
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")); }