Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions HearthDb/Card.cs
Original file line number Diff line number Diff line change
Expand Up @@ -160,9 +160,15 @@ public string GetLocText(Locale lang)
private int? _techLevel;
public int TechLevel => _techLevel ??= Entity.GetTag(TECH_LEVEL);

private bool? _premium;
public bool Premium => _premium ??= Entity.GetTag(PREMIUM) > 0;

private bool? _isBaconPoolMinion;
public bool IsBaconPoolMinion => _isBaconPoolMinion ??= Entity.GetTag(IS_BACON_POOL_MINION) > 0;

private bool? _baconBuddyMinion;
public bool BaconBuddyMinion => _baconBuddyMinion ??= Entity.GetTag(BACON_BUDDY) > 0;

private int? _battlegroundsArmorTier;
public int BattlegroundArmorTier => _battlegroundsArmorTier ??= Entity.GetTag((GameTag)1723);

Expand Down
15 changes: 14 additions & 1 deletion HearthDb/Cards.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ public static class Cards
public static Dictionary<string, Card> BaconPoolMinions { get; private set; } = new Dictionary<string, Card>();
public static Dictionary<int, Card> BaconPoolMinionsByDbfId { get; private set; } = new Dictionary<int, Card>();

public static Dictionary<string, Card> BaconBuddyMinions { get; private set; } = new Dictionary<string, Card>();
public static Dictionary<int, Card> BaconBuddyMinionsByDbfId { get; private set; } = new Dictionary<int, Card>();

public static Dictionary<string, string> NormalToTripleCardIds { get; private set; } = new Dictionary<string, string>();
public static Dictionary<string, string> TripleToNormalCardIds { get; private set; } = new Dictionary<string, string>();

Expand Down Expand Up @@ -107,6 +110,8 @@ public static void LoadBaseData(CardDefs.CardDefs cardDefs)
var collectibleByDbfId = new Dictionary<int, Card>();
var baconPoolMinions = new Dictionary<string, Card>();
var baconPoolMinionsByDbfId = new Dictionary<int, Card>();
var baconBuddyMinions = new Dictionary<string, Card>();
var baconBuddyMinionsByDbfId = new Dictionary<int, Card>();
var cardIdToDbfId = new Dictionary<string, int>();
var dbfIdToCardId = new Dictionary<int, string>();

Expand All @@ -127,12 +132,18 @@ public static void LoadBaseData(CardDefs.CardDefs cardDefs)
collectibleByDbfId[entity.DbfId] = card;
}

if (card.IsBaconPoolMinion)
if (card.IsBaconPoolMinion) // IS_BACON_POOL_MINION tag is not on premium minion
{
baconPoolMinions[entity.CardId] = card;
baconPoolMinionsByDbfId[entity.DbfId] = card;
}

if (card.BaconBuddyMinion && !card.Premium) // BACON_BUDDY tag is on both regular and premium minions
{
baconBuddyMinions[entity.CardId] = card;
baconBuddyMinionsByDbfId[entity.DbfId] = card;
}

if (!IgnoreTripleIds.Contains(entity.CardId))
{
var tripleDbfId = card.Entity.Tags.FirstOrDefault(x => x.EnumId == 1429);
Expand All @@ -159,6 +170,8 @@ public static void LoadBaseData(CardDefs.CardDefs cardDefs)
CollectibleByDbfId = collectibleByDbfId;
BaconPoolMinions = baconPoolMinions;
BaconPoolMinionsByDbfId = baconPoolMinionsByDbfId;
BaconBuddyMinions = baconBuddyMinions;
BaconBuddyMinionsByDbfId = baconBuddyMinionsByDbfId;
CardIdToDbfId = cardIdToDbfId;
DbfIdToCardId = dbfIdToCardId;

Expand Down
Loading