HearthSim / hs-bugs

Unofficial Hearthstone issue tracker
https://hearthsim.info
65 stars 3 forks source link

Some minions with triggered self-discounts don't keep those discounts when copied #1227

Open Jetz72 opened 5 years ago

Jetz72 commented 5 years ago

https://us.forums.blizzard.com/en/hearthstone/t/corridor-creeper-bug-copied-1-in-hand-copy-didnt-had-the-discounted-cost/8285

Corridor creeper bug copied 1 in hand copy didnt had the discounted cost

Which effect was responsible for creating the copy? Was the discount entirely from Creeper’s own effect or was there another card modifying it?

yep all of it from creeper effect and the card used is hunting party

Tested and confirmed: Hearthstone Screenshot 06-29-19 17 11 32 Rightmost four minions were copies of their counterparts on the left made by Hunting Party. Corridor Creeper discounts were not kept. The two on the far right also had discounts from Ravasaur Runt, which were preserved.

Was found to affect Jumbo Imp as well. Others are untested. Doesn't seem to matter how the copy is made, though. Here it is with Azalina copying Jumbo Imps: image Hearthstone Screenshot 06-29-19 17 30 03

The logs show that the enchantments were not copied at all. No mention of a new DAL_561e inside Azalina's copy effect, for example:

BLOCK_START BlockType=POWER Entity=[entityName=Azalina Soulthief id=37 zone=PLAY zonePos=2 cardId=GIL_198 player=2] EffectCardId= EffectIndex=0 Target=0 SubOption=-1 
    [Old hand sent to setaside]
    FULL_ENTITY - Updating [entityName=Kobold Librarian id=113 zone=HAND zonePos=1 cardId=LOOT_014 player=2] CardID=LOOT_014
        [...]
    TAG_CHANGE Entity=[entityName=Kobold Librarian id=113 zone=HAND zonePos=1 cardId=LOOT_014 player=2] tag=DISPLAYED_CREATOR value=37 
    FULL_ENTITY - Updating [entityName=Jumbo Imp id=114 zone=HAND zonePos=2 cardId=DAL_561 player=2] CardID=DAL_561
        tag=CONTROLLER value=2
        tag=CARDTYPE value=MINION
        tag=COST value=10
        tag=HEALTH value=8
        tag=ATK value=8
        tag=ZONE value=HAND
        tag=ENTITY_ID value=114
        tag=RARITY value=EPIC
        tag=ZONE_POSITION value=2
        tag=CREATOR value=37
        tag=TAG_LAST_KNOWN_COST_IN_HAND value=10
        tag=479 value=8
        tag=1037 value=2
        tag=CREATOR_DBID value=46874
    TAG_CHANGE Entity=[entityName=Jumbo Imp id=114 zone=HAND zonePos=2 cardId=DAL_561 player=2] tag=DISPLAYED_CREATOR value=37 
    FULL_ENTITY - Updating [entityName=Polluted Hoarder id=115 zone=HAND zonePos=3 cardId=OG_323 player=2] CardID=OG_323
        [...]
    TAG_CHANGE Entity=[entityName=Polluted Hoarder id=115 zone=HAND zonePos=3 cardId=OG_323 player=2] tag=DISPLAYED_CREATOR value=37 
    FULL_ENTITY - Updating [entityName=Bloodmage Thalnos id=116 zone=HAND zonePos=4 cardId=EX1_012 player=2] CardID=EX1_012
        [...]
    TAG_CHANGE Entity=[entityName=Bloodmage Thalnos id=116 zone=HAND zonePos=4 cardId=EX1_012 player=2] tag=DISPLAYED_CREATOR value=37 
    FULL_ENTITY - Updating [entityName=Jumbo Imp id=117 zone=HAND zonePos=5 cardId=DAL_561 player=2] CardID=DAL_561
        tag=CONTROLLER value=2
        tag=CARDTYPE value=MINION
        tag=COST value=10
        tag=HEALTH value=8
        tag=ATK value=8
        tag=ZONE value=HAND
        tag=ENTITY_ID value=117
        tag=RARITY value=EPIC
        tag=ZONE_POSITION value=5
        tag=CREATOR value=37
        tag=TAG_LAST_KNOWN_COST_IN_HAND value=10
        tag=479 value=8
        tag=1037 value=2
        tag=CREATOR_DBID value=46874
    TAG_CHANGE Entity=[entityName=Jumbo Imp id=117 zone=HAND zonePos=5 cardId=DAL_561 player=2] tag=DISPLAYED_CREATOR value=37 
    FULL_ENTITY - Updating [entityName=Loot Hoarder id=118 zone=HAND zonePos=6 cardId=EX1_096 player=2] CardID=EX1_096
        [...]
    TAG_CHANGE Entity=[entityName=Loot Hoarder id=118 zone=HAND zonePos=6 cardId=EX1_096 player=2] tag=DISPLAYED_CREATOR value=37 
    FULL_ENTITY - Updating [entityName=Plot Twist id=119 zone=HAND zonePos=7 cardId=DAL_602 player=2] CardID=DAL_602
        [...]
    TAG_CHANGE Entity=[entityName=Plot Twist id=119 zone=HAND zonePos=7 cardId=DAL_602 player=2] tag=DISPLAYED_CREATOR value=37 
BLOCK_END
troggnostupidhs commented 5 years ago

Hunter Deck AAEBAR8E7QXWEcsUmu4CDfsBlwiTuwLnvQLpvQLsvQKnvgLiygL70wKm8ALJiQPdiQPrngMA

Warlock Deck AAEBAfqUAwLtBZruAg77AZwCuQbcBsQI+Q6xsALy0AKm8AL09wLeggOAmgPamwPjmwMA

Kybxd commented 5 years ago

Comparisons:

  1. You're at 28 health, your Molten Giant costs 18. You play Naga, and Giant now costs 3.
  2. Two minions die since you draw Corridor Creeper so it costs 5. You play Naga, and Creeper now costs 3.
  3. Two turns past since you draw Nerubian Prophet so it costs 4. You play Naga, and Neru now costs 5.

This may prove that Corridor Creeper is similar to hand cost auras (Giants, Happy Ghoul, etc.) and tracks "how many minions die since this enters your hand". As an aura, it has lowest priority so Naga cannot override it. If you copy it, you create a new Creeper. No minion dies since the new Creeper enters hand so it costs 7.

Jumbo Imp is weirder. As for its interaction with Azalina or Naga, it's similar to auras. But from log we can find it has an enchantment DAL_561e. Cannot find a proper explanation for this.

Jetz72 commented 5 years ago

Corridor Creeper also uses a LOOT_149e, and is applied in a manner pretty much the same as Jumbo Imp. I grabbed a log of it and had a theory that might have explained the behavior (enchantment evidently uses a dynamic value, so maybe the value wasn't being properly copied?) but it broke down when I realized the enchantment simply wasn't being copied at all.

Here's Corridor Creeper, starting at 7, when it sees the first two minions die:

D 17:05:11.8484550 GameState.DebugPrintPower() - BLOCK_START BlockType=TRIGGER Entity=[entityName=Corridor Creeper id=46 zone=HAND zonePos=1 cardId=LOOT_149 player=2] EffectCardId= EffectIndex=0 Target=0 SubOption=-1 TriggerKeyword=0
D 17:05:11.8484550 GameState.DebugPrintPower() -     FULL_ENTITY - Creating ID=90 CardID=
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=ZONE value=SETASIDE
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=CONTROLLER value=2
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=ENTITY_ID value=90
D 17:05:11.8484550 GameState.DebugPrintPower() -     SHOW_ENTITY - Updating Entity=90 CardID=LOOT_149e
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=CONTROLLER value=2
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=CARDTYPE value=ENCHANTMENT
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=ATTACHED value=46
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=DAMAGE value=0
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=ZONE value=SETASIDE
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=ENTITY_ID value=90
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=ZONE_POSITION value=0
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=CREATOR value=46
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=TAG_LAST_KNOWN_COST_IN_HAND value=0
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=479 value=0
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=1037 value=2
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=1068 value=0
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=1254 value=0
D 17:05:11.8484550 GameState.DebugPrintPower() -         tag=CREATOR_DBID value=43515
D 17:05:11.8484550 GameState.DebugPrintPower() -     TAG_CHANGE Entity=90 tag=1068 value=1 
D 17:05:11.8484550 GameState.DebugPrintPower() -     TAG_CHANGE Entity=90 tag=1068 value=0 
D 17:05:11.8484550 GameState.DebugPrintPower() -     TAG_CHANGE Entity=90 tag=ZONE value=PLAY 
D 17:05:11.8484550 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Corridor Creeper id=46 zone=HAND zonePos=1 cardId=LOOT_149 player=2] tag=TAG_LAST_KNOWN_COST_IN_HAND value=6 
D 17:05:11.8484550 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Corridor Creeper id=46 zone=HAND zonePos=1 cardId=LOOT_149 player=2] tag=COST value=6 
D 17:05:11.8484550 GameState.DebugPrintPower() - BLOCK_END
D 17:05:11.8484550 GameState.DebugPrintPower() - BLOCK_START BlockType=TRIGGER Entity=[entityName=Corridor Creeper id=46 zone=HAND zonePos=1 cardId=LOOT_149 player=2] EffectCardId= EffectIndex=0 Target=0 SubOption=-1 TriggerKeyword=0
D 17:05:11.8484550 GameState.DebugPrintPower() - BLOCK_END
D 17:05:11.8484550 GameState.DebugPrintPower() - TAG_CHANGE Entity=[entityName=Corridor Creeper id=46 zone=HAND zonePos=1 cardId=LOOT_149 player=2] tag=TAG_LAST_KNOWN_COST_IN_HAND value=5 
D 17:05:11.8484550 GameState.DebugPrintPower() - TAG_CHANGE Entity=[entityName=Corridor Creeper id=46 zone=HAND zonePos=1 cardId=LOOT_149 player=2] tag=COST value=5 

Jumbo Imp, seeing the first demon die:

D 17:27:01.6424898 GameState.DebugPrintPower() - BLOCK_START BlockType=TRIGGER Entity=[entityName=Jumbo Imp id=62 zone=HAND zonePos=4 cardId=DAL_561 player=2] EffectCardId= EffectIndex=0 Target=0 SubOption=-1 TriggerKeyword=0
D 17:27:01.6424898 GameState.DebugPrintPower() -     FULL_ENTITY - Creating ID=83 CardID=
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=ZONE value=SETASIDE
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=CONTROLLER value=2
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=ENTITY_ID value=83
D 17:27:01.6424898 GameState.DebugPrintPower() -     SHOW_ENTITY - Updating Entity=83 CardID=DAL_561e
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=CONTROLLER value=2
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=CARDTYPE value=ENCHANTMENT
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=ATTACHED value=62
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=DAMAGE value=0
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=ZONE value=SETASIDE
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=ENTITY_ID value=83
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=ZONE_POSITION value=0
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=CREATOR value=62
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=TAG_LAST_KNOWN_COST_IN_HAND value=0
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=479 value=0
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=1037 value=2
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=1068 value=0
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=1254 value=0
D 17:27:01.6424898 GameState.DebugPrintPower() -         tag=CREATOR_DBID value=52480
D 17:27:01.6424898 GameState.DebugPrintPower() -     TAG_CHANGE Entity=83 tag=1068 value=1 
D 17:27:01.6424898 GameState.DebugPrintPower() -     TAG_CHANGE Entity=83 tag=1068 value=0 
D 17:27:01.6424898 GameState.DebugPrintPower() -     TAG_CHANGE Entity=83 tag=ZONE value=PLAY 
D 17:27:01.6424898 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Jumbo Imp id=62 zone=HAND zonePos=4 cardId=DAL_561 player=2] tag=TAG_LAST_KNOWN_COST_IN_HAND value=9 
D 17:27:01.6424898 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Jumbo Imp id=62 zone=HAND zonePos=4 cardId=DAL_561 player=2] tag=COST value=9 
D 17:27:01.6424898 GameState.DebugPrintPower() - BLOCK_END
D 17:27:12.9088973 GameState.DebugPrintPower() - BLOCK_START BlockType=TRIGGER Entity=[entityName=Jumbo Imp id=62 zone=HAND zonePos=3 cardId=DAL_561 player=2] EffectCardId= EffectIndex=0 Target=0 SubOption=-1 TriggerKeyword=0
D 17:27:12.9088973 GameState.DebugPrintPower() - BLOCK_END
D 17:27:12.9088973 GameState.DebugPrintPower() - TAG_CHANGE Entity=[entityName=Jumbo Imp id=62 zone=HAND zonePos=3 cardId=DAL_561 player=2] tag=TAG_LAST_KNOWN_COST_IN_HAND value=8 
D 17:27:12.9088973 GameState.DebugPrintPower() - TAG_CHANGE Entity=[entityName=Jumbo Imp id=62 zone=HAND zonePos=3 cardId=DAL_561 player=2] tag=COST value=8 

Not too sure what to make of it. It could be like an aura, but it seems weird that they'd implement it like that.