Skip to content

Commit 89c8724

Browse files
committed
feat: add missing divine shield tag to Gemsplitter
1 parent 410dbde commit 89c8724

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

HearthDb/Cards.cs

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,6 @@ public static void LoadBaseData(CardDefs.CardDefs cardDefs)
116116
var nonBaconTriples = new List<(Card, int)>();
117117
foreach (var entity in cardDefs.Entites)
118118
{
119-
// For some reason Deflect-o-bot is missing divine shield
120-
if (IsDeflectOBot(entity) && !entity.Tags.Any(x => x.EnumId == (int)GameTag.DIVINE_SHIELD))
121-
entity.Tags.Add(new Tag { EnumId = (int)GameTag.DIVINE_SHIELD, Value = 1 });
122-
123119
var card = new Card(entity);
124120
all[entity.CardId] = card;
125121
allByDbfId[entity.DbfId] = card;
@@ -149,6 +145,13 @@ public static void LoadBaseData(CardDefs.CardDefs cardDefs)
149145
}
150146
}
151147
}
148+
149+
// For some reason these minions are missing divine shield
150+
foreach (var minionCardId in MinionsMissingDivineShield)
151+
{
152+
if (all.TryGetValue(minionCardId, out var minionCard))
153+
minionCard.Entity.Tags.Add(new Tag { EnumId = (int)GameTag.DIVINE_SHIELD, Value = 1 });
154+
}
152155

153156
All = all;
154157
AllByDbfId = allByDbfId;
@@ -181,7 +184,6 @@ public static void LoadBaseData(CardDefs.CardDefs cardDefs)
181184
TripleToNormalCardIds = tripleToNormalCardIds;
182185
NormalToTripleDbfIds = normalToTripleDbfIds;
183186
TripleToNormalDbfIds = tripleToNormalDbfIds;
184-
185187
}
186188

187189
/// <summary>
@@ -272,7 +274,13 @@ public static Card GetFromName(string name, Locale lang, bool collectible = true
272274

273275
public static Card GetFromDbfId(int dbfId, bool collectible = false)
274276
=> (collectible ? CollectibleByDbfId : AllByDbfId).TryGetValue(dbfId, out var card) ? card : null;
275-
276-
private static bool IsDeflectOBot(Entity entity) => entity.CardId == CardIds.NonCollectible.Neutral.DeflectOBot || entity.CardId == CardIds.NonCollectible.Neutral.DeflectOBotTavernBrawl;
277+
278+
private static readonly List<string> MinionsMissingDivineShield = new List<string>
279+
{
280+
CardIds.NonCollectible.Neutral.DeflectOBot,
281+
CardIds.NonCollectible.Neutral.DeflectOBotTavernBrawl,
282+
CardIds.NonCollectible.Neutral.Gemsplitter,
283+
CardIds.NonCollectible.Neutral.Gemsplitter_Gemsplitter,
284+
};
277285
}
278286
}

0 commit comments

Comments
 (0)