chevcast/hearthpal-tracker

Why do some Imp minions stack and others don't?

Opened this issue · 0 comments

Believe it or not, Imps spawned from different sources are not actually the same entity. In the Hearthstone data they are separate entities that happen to have identical stats. For example, 2 Imps spawned from an Imp Gang Boss would be considered the same entity type and would therefore stack, showing up in the play zone list as one entry with a number 2 next to it. However, if you then spawn three imps from Imp-Losion you'll notice that they don't stack with the other two imps and instead stack separately as a second item in the list with a number 3 next to it.

You can see in the Hearthstone data what Imps are related to what other cards.

Imp Master:

"EX1_597": {
  "id": "EX1_597",
  "name": "Imp Master",
  "type": "Minion",
  "faction": "Neutral",
  "rarity": "Rare",
  "cost": 3,
  "attack": 1,
  "health": 5,
  "text": "At the end of your turn, deal 1 damage to this minion and summon a 1/1 Imp.",
  "inPlayText": "Imp Master",
  "flavor": "She would enjoy the job a lot more if she just could get the imps to QUIT BITING HER.",
  "artist": "Mark Gibbons",
  "collectible": true
},
"EX1_598": {
  "id": "EX1_598",
  "name": "Imp",
  "type": "Minion",
  "faction": "Neutral",
  "rarity": "Rare",
  "cost": 1,
  "attack": 1,
  "health": 1,
  "race": "Demon"
}

Imp-Losion:

"GVG_045": {
  "id": "GVG_045",
  "name": "Imp-losion",
  "type": "Spell",
  "rarity": "Rare",
  "cost": 4,
  "text": "Deal $2-$4 damage to a minion. Summon a 1/1 Imp for each damage dealt.",
  "flavor": "The shrapnel is waaaaay worse than the explosion.",
  "artist": "Jaemin Kim",
  "collectible": true,
  "playerClass": "Warlock"
},
"GVG_045t": {
  "id": "GVG_045t",
  "name": "Imp",
  "type": "Minion",
  "cost": 1,
  "attack": 1,
  "health": 1,
  "race": "Demon",
  "playerClass": "Warlock"
}

Imp Gang Boss:

"BRM_006": {
  "id": "BRM_006",
  "name": "Imp Gang Boss",
  "type": "Minion",
  "rarity": "Common",
  "cost": 3,
  "attack": 2,
  "health": 4,
  "text": "Whenever this minion takes damage, summon a 1/1 Imp.",
  "flavor": "His imp gang likes to sneak into Stormwind to spraypaint \"Ragnaros Rulez\" on the Mage Tower.",
  "artist": "Steve Prescott",
  "collectible": true,
  "race": "Demon",
  "playerClass": "Warlock",
  "howToGet": "Unlocked by defeating Majordomo Executus in Molten Core.",
  "howToGetGold": "Can be crafted after defeating Majordomo Executus in Molten Core."
},
"BRM_006t": {
  "id": "BRM_006t",
  "name": "Imp",
  "type": "Minion",
  "cost": 1,
  "attack": 1,
  "health": 1,
  "race": "Demon",
  "playerClass": "Warlock"
}

Notice that each Imp minion has a unique ID that is very close to the ID of the card that spawns it. My guess is that they do this in case they need to tweak a card. They could change the stats for the imps that spawn from one card without affecting another. Two of those cards are also Warlock cards and the Imp Master is neutral; it seems to keep the spawned Imp entities as class-specific entities as well.

I'm sure there are ways I could deal with this, but for now it's not a high priority and this issue should offer up a sufficient explanation. I'm leaving this open for as long as this remains an issue and eventually I may decide to do something about it. It's not hurting anything for now :)