HearthSim / hs-bugs

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

Dying minions are sometimes copied to the set-aside zone #1294

Open Jetz72 opened 4 years ago

Jetz72 commented 4 years ago

Uncovered while investigating #1287, 16.0.0 seems to have introduced a trigger which copies dying minions with all enchantments to the set-aside zone. It's a pre-death trigger on the player, but it doesn't happen every time a minion dies. The exact condition is currently unclear. It seems like "whenever a friendly minion dies on your turn", but I'd want to see more reports.

Setesh copies a King of Beast with two enchantments (a curse from his hero power and a Shadow Madness that stole it from me) to his set-aside zone:

D 19:00:23.3662657 GameState.DebugPrintPower() - BLOCK_START BlockType=DEATHS Entity=GameEntity EffectCardId= EffectIndex=0 Target=0 SubOption=-1 
D 19:00:23.3662657 GameState.DebugPrintPower() -     BLOCK_START BlockType=TRIGGER Entity=Setesh EffectCardId= EffectIndex=0 Target=0 SubOption=-1 TriggerKeyword=0
D 19:00:23.3662657 GameState.DebugPrintPower() -         FULL_ENTITY - Creating ID=296 CardID=
D 19:00:23.3662657 GameState.DebugPrintPower() -             tag=ZONE value=SETASIDE
D 19:00:23.3662657 GameState.DebugPrintPower() -             tag=CONTROLLER value=2
D 19:00:23.3662657 GameState.DebugPrintPower() -             tag=ENTITY_ID value=296
D 19:00:23.3662657 GameState.DebugPrintPower() -         FULL_ENTITY - Creating ID=297 CardID=
D 19:00:23.3662657 GameState.DebugPrintPower() -             tag=ZONE value=SETASIDE
D 19:00:23.3662657 GameState.DebugPrintPower() -             tag=CONTROLLER value=2
D 19:00:23.3662657 GameState.DebugPrintPower() -             tag=ENTITY_ID value=297
D 19:00:23.3662657 GameState.DebugPrintPower() -         TAG_CHANGE Entity=297 tag=ZONE value=PLAY 
D 19:00:23.3662657 GameState.DebugPrintPower() -         FULL_ENTITY - Creating ID=298 CardID=
D 19:00:23.3662657 GameState.DebugPrintPower() -             tag=ZONE value=SETASIDE
D 19:00:23.3662657 GameState.DebugPrintPower() -             tag=CONTROLLER value=2
D 19:00:23.3662657 GameState.DebugPrintPower() -             tag=ENTITY_ID value=298
D 19:00:23.3662657 GameState.DebugPrintPower() -         TAG_CHANGE Entity=298 tag=ZONE value=PLAY 
D 19:00:23.3662657 GameState.DebugPrintPower() -     BLOCK_END
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=Setesh tag=NUM_MINIONS_PLAYER_KILLED_THIS_TURN value=1 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=GameEntity tag=NUM_MINIONS_KILLED_THIS_TURN value=1 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=King of Beasts id=25 zone=PLAY zonePos=1 cardId=GVG_046 player=1] tag=1068 value=4 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=King of Beasts id=25 zone=PLAY zonePos=1 cardId=GVG_046 player=1] tag=1068 value=0 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=King of Beasts id=25 zone=PLAY zonePos=1 cardId=GVG_046 player=1] tag=EXHAUSTED value=0 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=King of Beasts id=25 zone=PLAY zonePos=1 cardId=GVG_046 player=1] tag=ZONE_POSITION value=0 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=King of Beasts id=25 zone=PLAY zonePos=1 cardId=GVG_046 player=1] tag=ZONE value=GRAVEYARD 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=Setesh tag=NUM_FRIENDLY_MINIONS_THAT_DIED_THIS_TURN value=1 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=Setesh tag=NUM_FRIENDLY_MINIONS_THAT_DIED_THIS_GAME value=23 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=UNKNOWN ENTITY [cardType=INVALID] id=293 zone=SETASIDE zonePos=0 cardId= player=2] tag=1234 value=25 
D 19:00:23.3662657 GameState.DebugPrintPower() -     HIDE_ENTITY - Entity=[entityName=UNKNOWN ENTITY [cardType=INVALID] id=293 zone=SETASIDE zonePos=0 cardId= player=2] tag=ZONE value=PLAY
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=UNKNOWN ENTITY [cardType=INVALID] id=293 zone=SETASIDE zonePos=0 cardId= player=2] tag=ZONE value=REMOVEDFROMGAME 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=UNKNOWN ENTITY [cardType=INVALID] id=295 zone=SETASIDE zonePos=0 cardId= player=2] tag=1234 value=25 
D 19:00:23.3662657 GameState.DebugPrintPower() -     HIDE_ENTITY - Entity=[entityName=UNKNOWN ENTITY [cardType=INVALID] id=295 zone=SETASIDE zonePos=0 cardId= player=2] tag=ZONE value=PLAY
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=UNKNOWN ENTITY [cardType=INVALID] id=295 zone=SETASIDE zonePos=0 cardId= player=2] tag=ZONE value=REMOVEDFROMGAME 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=King of Beasts id=25 zone=PLAY zonePos=1 cardId=GVG_046 player=1] tag=DAMAGE value=0 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=Jetz#1946 tag=NUM_MINIONS_PLAYER_KILLED_THIS_TURN value=1 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=GameEntity tag=NUM_MINIONS_KILLED_THIS_TURN value=2 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Frothing Berserker id=29 zone=PLAY zonePos=2 cardId=EX1_604 player=1] tag=1068 value=4 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Frothing Berserker id=29 zone=PLAY zonePos=2 cardId=EX1_604 player=1] tag=1068 value=0 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Frothing Berserker id=29 zone=PLAY zonePos=2 cardId=EX1_604 player=1] tag=EXHAUSTED value=0 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Frothing Berserker id=29 zone=PLAY zonePos=2 cardId=EX1_604 player=1] tag=ZONE_POSITION value=0 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Frothing Berserker id=29 zone=PLAY zonePos=2 cardId=EX1_604 player=1] tag=ZONE value=GRAVEYARD 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=Jetz#1946 tag=NUM_FRIENDLY_MINIONS_THAT_DIED_THIS_TURN value=1 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=Jetz#1946 tag=NUM_FRIENDLY_MINIONS_THAT_DIED_THIS_GAME value=12 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Rocket Backpack id=98 zone=PLAY zonePos=0 cardId=DALA_731e2 player=1] tag=1234 value=29 
D 19:00:23.3662657 GameState.DebugPrintPower() -     HIDE_ENTITY - Entity=[entityName=Rocket Backpack id=98 zone=PLAY zonePos=0 cardId=DALA_731e2 player=1] tag=ZONE value=PLAY
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Rocket Backpack id=98 zone=PLAY zonePos=0 cardId=DALA_731e2 player=1] tag=ZONE value=REMOVEDFROMGAME 
D 19:00:23.3662657 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Berserk id=286 zone=PLAY zonePos=0 cardId=EX1_604o player=1] tag=1234 value=29 
D 19:00:23.3662657 GameState.DebugPrintPower() -     HIDE_ENTITY - Entity=[entityName=Berserk id=286 zone=PLAY zonePos=0 cardId=EX1_604o player=1] tag=ZONE value=PLAY
D 19:00:23.3667669 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Berserk id=286 zone=PLAY zonePos=0 cardId=EX1_604o player=1] tag=ZONE value=REMOVEDFROMGAME 
D 19:00:23.3667669 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Frothing Berserker id=29 zone=PLAY zonePos=2 cardId=EX1_604 player=1] tag=DAMAGE value=0 
D 19:00:23.3667669 GameState.DebugPrintPower() - BLOCK_END
D 19:00:23.3667669 GameState.DebugPrintPower() - TAG_CHANGE Entity=[entityName=Frothing Berserker id=29 zone=PLAY zonePos=2 cardId=EX1_604 player=1] tag=ATK value=2 
D 19:00:23.3667669 GameState.DebugPrintPower() - TAG_CHANGE Entity=[entityName=Frothing Berserker id=29 zone=PLAY zonePos=2 cardId=EX1_604 player=1] tag=RUSH value=0 
D 19:00:23.3667669 GameState.DebugPrintPower() - TAG_CHANGE Entity=[entityName=King of Beasts id=25 zone=PLAY zonePos=1 cardId=GVG_046 player=1] tag=11 value=0 
D 19:00:23.3667669 GameState.DebugPrintPower() - TAG_CHANGE Entity=[entityName=King of Beasts id=25 zone=PLAY zonePos=1 cardId=GVG_046 player=1] tag=CHARGE value=0 
D 19:00:23.3667669 GameState.DebugPrintPower() - TAG_CHANGE Entity=[entityName=King of Beasts id=25 zone=PLAY zonePos=1 cardId=GVG_046 player=1] tag=333 value=0 
D 19:00:23.3667669 GameState.DebugPrintPower() - TAG_CHANGE Entity=[entityName=King of Beasts id=25 zone=PLAY zonePos=1 cardId=GVG_046 player=1] tag=887 value=0 
D 19:00:23.3667669 GameState.DebugPrintPower() - TAG_CHANGE Entity=Setesh tag=NUM_OPTIONS_PLAYED_THIS_TURN value=3 

The Frothing Berserker that died concurrently on my side of the board was not copied.

A Dire Mole and its Whirling Blade enchantment is copied by me to my set-aside zone

D 18:50:03.6926675 GameState.DebugPrintPower() - BLOCK_START BlockType=DEATHS Entity=GameEntity EffectCardId= EffectIndex=0 Target=0 SubOption=-1 
D 18:50:03.6926675 GameState.DebugPrintPower() -     BLOCK_START BlockType=TRIGGER Entity=Jetz#1946 EffectCardId= EffectIndex=0 Target=0 SubOption=-1 TriggerKeyword=0
D 18:50:03.6926675 GameState.DebugPrintPower() -         FULL_ENTITY - Creating ID=157 CardID=LOOT_258
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=CONTROLLER value=1
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=CARDTYPE value=MINION
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=COST value=1
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=HEALTH value=3
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=ATK value=1
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=ZONE value=SETASIDE
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=ENTITY_ID value=157
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=CARDRACE value=PET
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=RARITY value=COMMON
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=CREATOR value=2
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=TAG_LAST_KNOWN_COST_IN_HAND value=1
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=479 value=1
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=1037 value=1
D 18:50:03.6926675 GameState.DebugPrintPower() -         FULL_ENTITY - Creating ID=158 CardID=
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=ZONE value=SETASIDE
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=CONTROLLER value=1
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=ENTITY_ID value=158
D 18:50:03.6926675 GameState.DebugPrintPower() -         SHOW_ENTITY - Updating Entity=158 CardID=PART_007e
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=CONTROLLER value=1
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=CARDTYPE value=ENCHANTMENT
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=ATTACHED value=157
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=DAMAGE value=0
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=ZONE value=SETASIDE
D 18:50:03.6926675 GameState.DebugPrintPower() -             tag=ENTITY_ID value=158
D 18:50:03.6931690 GameState.DebugPrintPower() -             tag=ZONE_POSITION value=0
D 18:50:03.6931690 GameState.DebugPrintPower() -             tag=CREATOR value=157
D 18:50:03.6931690 GameState.DebugPrintPower() -             tag=TAG_LAST_KNOWN_COST_IN_HAND value=0
D 18:50:03.6931690 GameState.DebugPrintPower() -             tag=479 value=0
D 18:50:03.6931690 GameState.DebugPrintPower() -             tag=1037 value=1
D 18:50:03.6931690 GameState.DebugPrintPower() -             tag=1068 value=0
D 18:50:03.6931690 GameState.DebugPrintPower() -             tag=CREATOR_DBID value=45707
D 18:50:03.6931690 GameState.DebugPrintPower() -         TAG_CHANGE Entity=158 tag=1068 value=1 
D 18:50:03.6931690 GameState.DebugPrintPower() -         TAG_CHANGE Entity=158 tag=1068 value=0 
D 18:50:03.6931690 GameState.DebugPrintPower() -         TAG_CHANGE Entity=158 tag=ZONE value=PLAY 
D 18:50:03.6931690 GameState.DebugPrintPower() -         TAG_CHANGE Entity=158 tag=CREATOR_DBID value=2150 
D 18:50:03.6931690 GameState.DebugPrintPower() -         TAG_CHANGE Entity=157 tag=ATK value=2 
D 18:50:03.6931690 GameState.DebugPrintPower() -         TAG_CHANGE Entity=157 tag=DAMAGE value=4 
D 18:50:03.6931690 GameState.DebugPrintPower() -         TAG_CHANGE Entity=157 tag=EXHAUSTED value=1 
D 18:50:03.6931690 GameState.DebugPrintPower() -         TAG_CHANGE Entity=157 tag=LAST_AFFECTED_BY value=49 
D 18:50:03.6931690 GameState.DebugPrintPower() -         TAG_CHANGE Entity=157 tag=DAMAGE value=0 
D 18:50:03.6931690 GameState.DebugPrintPower() -         TAG_CHANGE Entity=157 tag=972 value=1 
D 18:50:03.6931690 GameState.DebugPrintPower() -     BLOCK_END
D 18:50:03.6931690 GameState.DebugPrintPower() -     TAG_CHANGE Entity=Jetz#1946 tag=NUM_MINIONS_PLAYER_KILLED_THIS_TURN value=1 
D 18:50:03.6931690 GameState.DebugPrintPower() -     TAG_CHANGE Entity=GameEntity tag=NUM_MINIONS_KILLED_THIS_TURN value=2 
D 18:50:03.6931690 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Dire Mole id=26 zone=PLAY zonePos=1 cardId=LOOT_258 player=1] tag=1068 value=4 
D 18:50:03.6931690 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Dire Mole id=26 zone=PLAY zonePos=1 cardId=LOOT_258 player=1] tag=1068 value=0 
D 18:50:03.6931690 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Dire Mole id=26 zone=PLAY zonePos=1 cardId=LOOT_258 player=1] tag=EXHAUSTED value=0 
D 18:50:03.6931690 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Dire Mole id=26 zone=PLAY zonePos=1 cardId=LOOT_258 player=1] tag=ZONE_POSITION value=0 
D 18:50:03.6931690 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Dire Mole id=26 zone=PLAY zonePos=1 cardId=LOOT_258 player=1] tag=ZONE value=GRAVEYARD 
D 18:50:03.6931690 GameState.DebugPrintPower() -     TAG_CHANGE Entity=Jetz#1946 tag=NUM_FRIENDLY_MINIONS_THAT_DIED_THIS_TURN value=1 
D 18:50:03.6931690 GameState.DebugPrintPower() -     TAG_CHANGE Entity=Jetz#1946 tag=NUM_FRIENDLY_MINIONS_THAT_DIED_THIS_GAME value=2 
D 18:50:03.6931690 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Rocket Backpack id=101 zone=PLAY zonePos=0 cardId=DALA_731e2 player=1] tag=1234 value=26 
D 18:50:03.6931690 GameState.DebugPrintPower() -     HIDE_ENTITY - Entity=[entityName=Rocket Backpack id=101 zone=PLAY zonePos=0 cardId=DALA_731e2 player=1] tag=ZONE value=PLAY
D 18:50:03.6931690 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Rocket Backpack id=101 zone=PLAY zonePos=0 cardId=DALA_731e2 player=1] tag=ZONE value=REMOVEDFROMGAME 
D 18:50:03.6931690 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Whirling Blades id=154 zone=PLAY zonePos=0 cardId=PART_007e player=1] tag=1234 value=26 
D 18:50:03.6931690 GameState.DebugPrintPower() -     HIDE_ENTITY - Entity=[entityName=Whirling Blades id=154 zone=PLAY zonePos=0 cardId=PART_007e player=1] tag=ZONE value=PLAY
D 18:50:03.6931690 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Whirling Blades id=154 zone=PLAY zonePos=0 cardId=PART_007e player=1] tag=ZONE value=REMOVEDFROMGAME 
D 18:50:03.6931690 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Dire Mole id=26 zone=PLAY zonePos=1 cardId=LOOT_258 player=1] tag=DAMAGE value=0 
D 18:50:03.6931690 GameState.DebugPrintPower() - BLOCK_END

The Innkeeper's Bloodfen Raptor is copied to his set-aside zone:

D 19:39:59.8772733 GameState.DebugPrintPower() - BLOCK_START BlockType=DEATHS Entity=GameEntity EffectCardId= EffectIndex=0 Target=0 SubOption=-1 
D 19:39:59.8772733 GameState.DebugPrintPower() -     BLOCK_START BlockType=TRIGGER Entity=The Innkeeper EffectCardId= EffectIndex=0 Target=0 SubOption=-1 TriggerKeyword=0
D 19:39:59.8772733 GameState.DebugPrintPower() -         FULL_ENTITY - Creating ID=86 CardID=
D 19:39:59.8772733 GameState.DebugPrintPower() -             tag=ZONE value=SETASIDE
D 19:39:59.8772733 GameState.DebugPrintPower() -             tag=CONTROLLER value=2
D 19:39:59.8772733 GameState.DebugPrintPower() -             tag=ENTITY_ID value=86
D 19:39:59.8772733 GameState.DebugPrintPower() -     BLOCK_END
D 19:39:59.8772733 GameState.DebugPrintPower() -     TAG_CHANGE Entity=The Innkeeper tag=NUM_MINIONS_PLAYER_KILLED_THIS_TURN value=1 
D 19:39:59.8772733 GameState.DebugPrintPower() -     TAG_CHANGE Entity=GameEntity tag=NUM_MINIONS_KILLED_THIS_TURN value=1 
D 19:39:59.8772733 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Bloodfen Raptor id=6 zone=PLAY zonePos=1 cardId=CS2_172 player=2] tag=1068 value=4 
D 19:39:59.8772733 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Bloodfen Raptor id=6 zone=PLAY zonePos=1 cardId=CS2_172 player=2] tag=1068 value=0 
D 19:39:59.8772733 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Bloodfen Raptor id=6 zone=PLAY zonePos=1 cardId=CS2_172 player=2] tag=EXHAUSTED value=0 
D 19:39:59.8772733 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Bloodfen Raptor id=6 zone=PLAY zonePos=1 cardId=CS2_172 player=2] tag=ZONE_POSITION value=0 
D 19:39:59.8772733 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Bloodfen Raptor id=6 zone=PLAY zonePos=1 cardId=CS2_172 player=2] tag=ZONE value=GRAVEYARD 
D 19:39:59.8772733 GameState.DebugPrintPower() -     TAG_CHANGE Entity=The Innkeeper tag=NUM_FRIENDLY_MINIONS_THAT_DIED_THIS_TURN value=1 
D 19:39:59.8772733 GameState.DebugPrintPower() -     TAG_CHANGE Entity=The Innkeeper tag=NUM_FRIENDLY_MINIONS_THAT_DIED_THIS_GAME value=2 
D 19:39:59.8772733 GameState.DebugPrintPower() -     TAG_CHANGE Entity=[entityName=Bloodfen Raptor id=6 zone=PLAY zonePos=1 cardId=CS2_172 player=2] tag=DAMAGE value=0 
D 19:39:59.8772733 GameState.DebugPrintPower() - BLOCK_END
D 19:39:59.8772733 GameState.DebugPrintPower() - TAG_CHANGE Entity=The Innkeeper tag=NUM_OPTIONS_PLAYED_THIS_TURN value=1 

This could have been introduced prior to 16.0.0. If so, it may have been added as a background mechanic for the sake of Battlegrounds mode.

The issue should be inconsequential (internal) on its own, but it can cause gameplay issues coupled with #1293.