HearthSim / hs-bugs

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

You can extend your turn time by changing TIMEOUT back and forth with Nozdormu #434

Open culinko opened 8 years ago

culinko commented 8 years ago

If you play Nozdormu right before your turn ends, it will be extended to 15 more seconds. If you wait for your turn to end again and kill Nozdormu, return it to your hand or transform it, the turn time will be extended to approximately 60 more seconds. By repeating this process, we managed to create a turn that lasted longer than 5 minutes. Theoretically, an infinite turn is possible.

Cruuncher commented 8 years ago

an infinite turn is theoretically possible if they make the cards that could support it. With the current card pool, I'm fairly certain that it is strictly impossible

qria commented 7 years ago

With the addition of Kun, I think there's a possibility that there is a way to take a infinite turn. It is still a speculation because I haven't finished the calculation. Here's why I think it's possible.

Notation: b : brann s : shadowcaster k : kun c : corrupted seer(or any battlecry deal some all damage minion)

The basic idea is to generate a brann shadowcaster loop with kun as a mana fuel and corrupted seer as a board reset. It's harder than it sounds because of the constraints, which are: 10 mana, 7 boardspace, 10 handsize, meaning we have to play one kun in 10 plays, and 1 corrupted seer in 7 plays.

So the basic building block of this algorithm is this:

c b k s s s | c b k s s s | c b k s s s | c b k s s s ...

(c b k s s s) uses 6 cards and adds 6 cards, effectively converting c b k s with each other.

Note that it is possible to do this indefinitely if given infinite time.

second building block is : (c b s s s s)

c b s s k s | c b s s s s | c b k s s s

doing (c b s s s s) allows us to add 2 more cards into our hand, allowing us for some room to play other stuff.

There we sneak in the part where you play and duplicate nozdormu. (This is the part where I have not yet confirmed this is possible or not).

I hope I didn't make any mistakes. I will post again if I find an answer to the last part.

Patashu commented 7 years ago

Really interesting find. I tried to find a solution by hand but hit a dead end, it's really easy to run out of one of the many resources.

Patashu commented 7 years ago

Btw, confirmed in 7.0 by HysteriaHS, since no one linked it yet :) https://www.youtube.com/watch?v=A449fqUL8B8&t=0s

Cruuncher commented 7 years ago

Can we brute force this? Make a program to go through all possible orderings?(should be a finite number of ways to fail)

The goal is to hit any state that you've in before while having played at least 1 noz.

Might throw something together in a couple hours if no one has by then

Patashu commented 7 years ago

/u/psly4mne suggests a method that requires luck (Vanish being in the bottom 3 cards of the deck):

https://www.reddit.com/r/hearthstone/comments/5js89t/biggest_van_cleef_ever_seen_3/dbivjdq/

"One possible loop would be: 1 mana Aviana, Kun for mana, Shadowcaster on Aviana, Blowgill Sniper killing Aviana, Drakonid Operative getting Vanish, another Kun for mana, Nozdormu, Vanish."

qria commented 7 years ago

No need for luck, I think I got it. The last building block is ( c n s ) which uses 2 cards for triggering a nozdormu.

So to summarize:

( c b k s s s ) : Refuel mana while maintaining hand size.
( c b s s s s ) : Gain 2 cards.
( c n s ) : Use 2 cards to trigger nozdormu.

I was able to devise an algorithm that satisfies the constraints in hand(10 handsize(npi), kun placed between 10 plays, c placed between 7 plays)

setup: empty (your)board, hand: 7cards of ccbbkssn, all costing 1 or less.

overview: c b s s s s | c k b s s s | c b s s s k | c n s b s | c k b s s s | c b s s s k | (goto start)

idea: chaining two first building block like this (c k b s s s | c b s s s k) can not only retain the hand size but retain the exact hand while making room for playing 8 mana worth of stuff. The precondition is that you need to have at least 7 cards(at least one of c, k, b each, at least 2 of s, total at least 7).

details: s(x) means shadowcaster played on x hand: ccbbkssn play: cbs(c)s(s)s(s)s(b) hand: cccbbbkssn play: ckbs(k)s(s)s(s) hand: ccbbkksssn play: cbs(b)s(c)s(s)k hand: cccbbbkssn play: cns(n)bs(s) hand: ccbbkssn play: ckbs(k)s(s)s(s) hand: cbkkssssn play: cbs(b)s(c)s(s)k hand: ccbbkssn

Note that this algorithm is not only applicable to nozdormu but any minions, meaning that we can infinitely trigger any battlecries or deathrattles. Also note that this uses only 9 slots in hand, meaning that we can additionally trigger nozdormu while infinitely triggering battlecries/deathrattles, making it possible for us to kill any control warriors with elven archers or even stonetusk boars with enough patience.

qria commented 7 years ago

Note also that my method does not require the cooperation of opponent. Not that it matters much.

apantel commented 7 years ago

I think that works out with a couple small fixes: You need to use Ravaging Ghoul instead of Corrupted Seer because Seer wouldn't kill the previous Seer. And in the third block, you have to play the Kun before the last third Shadowcaster to avoid overfilling your hand (and you are using all 10 hand slots).

Then to make it work out, you need to start with 2 Brann, 2 Shadowcaster, 2 Ghoul, 1 Kun, 1 Nozdormu in hand. I worked the sequence out in this spreadsheet.

Edit: I think I've found a shorter sequence (23 plays) that works using only 9 hand slots (second tab in the above spreadsheet).

qria commented 7 years ago

Nice! I forgot about corrupted seers not killing each other but glad it still works.

I think it's possible to shrink one more hand slot by doing (g b s s s) instead of (g b s s s s) and doing (g n s b s s ) instead of (g n s b s) because it will reduce variance of the hand size.

It's a shame that we need 3 class cards though, that's significantly harder to achieve than requiring 2 class card I feel.

apantel commented 7 years ago

I should have noticed, that smaller version didn't work out on mana. I'll probably play with it more, but we do have a working sequence using a full hand, with one Nozdormu every 35 plays.

Edit: Played around some more and I think I ended up in the same place you did. 35 plays, 9 hand slots.

qria commented 7 years ago

It just occurred to me that raza + coldarra drake nullifies the concern for board contraint... You can just ping off the 1/1s...

Cruuncher commented 7 years ago

The hero power takes a lot of time. But if it allows you to drastically shorten the sequence because you're removing one resource that needs to be shadowed, then it might be better. The sequence needs to be short enough to perform in 15 seconds.

troggnostupidhs commented 6 years ago

https://youtu.be/xxmD2r3FSCM?t=295

troggnostupidhs commented 6 years ago

https://youtu.be/rdh1jJAxSG8?t=49

Deck AAEBAYO6AgSbA5sF7QXWEQ20AboB+wGcArQCnwO5BogH3Qj4vQKBwgKbyAKU0AIA

troggnostupidhs commented 6 years ago

https://www.youtube.com/watch?v=fV1lVOYiNvU&feature=youtu.be&t=30