demilich1 / metastone

Hearthstone simulator written in Java with full GUI support
GNU General Public License v2.0
132 stars 80 forks source link

Gadgetzan Issues #287

Closed DominusMaximus closed 7 years ago

DominusMaximus commented 7 years ago
webadict commented 7 years ago

Yeah, a lot of those interactions are not programmed in yet, due to limited knowledge. Triclass cards are treated as neutral at the moment.

On Dec 3, 2016 3:17 PM, "DominusMaximus" notifications@github.com wrote:

-

Madam Goya's Battlecry isn't activating. Check out this link for details on how Goya interacts with Brann http://hearthstone.gamepedia. com/Madam_Goya

If I have a weapon on board and play a Small-Time Buccaneer that triggers an opponent's Mirror Entity, my opponent should receive a 3/2 copy. This concept also applies to Cogmaster.

If your board is full and a Jade Golem summon effect occurs, even though the Golem isn't summoned, the next Jade Golem should still be larger.

Aya Blackpaw doesn't seem to be Discoverable from Journey Below. I played about 30 in Sandbox Mode and could not Discover her. Have Tri-Class cards been programmed to receive the 400% Discover class bonus?

Similarly, I was never able to Burgle a Tri-Class card from a Rogue.

If I attack a 4/2 minion with a 2/4 Finja, the Flying Star, and Finja's trigger summons a Murloc Warleader, Finja should survive as a 4/1.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/demilich1/metastone/issues/287, or mute the thread https://github.com/notifications/unsubscribe-auth/AFsY_nuymohvDkJLw1_TW6vh4An6I8Chks5rEdxagaJpZM4LDawc .

webadict commented 7 years ago

WTF, Gadgetzan isn't spelled with an h? Well where did I even get that idea?!?

  1. Madam Goya had an improper check. It almost works now, except its missing a particular interaction, where it can resummon the minion it first targeted, but then it will reshuffle it back into the deck. This is because of how minions summon in the first place.
  2. I don't know how that's even possible to code into the game, much less why it wouldn't be a bug.
  3. Fixed. The spell was initially set that way, too, but I changed it because I wasn't sure.
  4. Tri-class cards might be findable now, and are treated as class cards in most respects. I'll need to test it to be sure.
  5. Burgle issues with Tri-class typing. Should work after changes.
  6. This is doable, but it requires changing how the game checks death.
  7. Yeah, wtf? I spelled Gadgetzan wrong everywhere.
DominusMaximus commented 7 years ago

2.) I don't think this is a bug. I think this interaction occurs because of the timing of when a minion's Aura starts taking effect once it's played. Over at http://hearthstone.gamepedia.com/Advanced_rulebook#Auras it says "When a minion is played, its Aura is sent for the first time before the Battlecry Phase." Mirror Entity resolves in the After Play Phase, which is after Battlecries. This link has other useful details:

http://hearthstone.gamepedia.com/Advanced_rulebook#Playing.2Fsummoning_a_minion

So when it comes to Small-Time Buccaneer, this is the general order I'm seeing:

1.) It enters play.

2.) The On Play Phase occurs (where Hobgoblin would trigger if applicable). Under Hobgoblin's notes, it says his trigger occurs prior to any Auras being applied to the minion, meaning...

3.) If a weapon is equipped, Small-Time Buccaneer's Aura is applied to itself, as well as any other relevant Auras already in play, such as Leokk's or Stormwind Champion's.

4.) Battlecry Phase. If a Frostwolf Warlord or Twilight Drake is played, Mirror Entity will consider the Battlecry buff.

5.) After Play Phase, where Mirror Entity finally creates its copy. Currently, Metastone will correctly copy the Hobgoblin buff, Battlecry buff, and any other Aura buffs already in play. It only misses the Buccaneer's Aura.

webadict commented 7 years ago

Does this mean that the buff is copied without respect to the source of it? Does it just suddenly treat the minion like a 3/2 now, without the buff actually being a part of that, so that if the Buccaneer is summoned by a Mage with a weapon, it would buff to a 5/2?

Because that's crazy, and it would require the game to forget why a minion has +2 Attack to begin with.

DominusMaximus commented 7 years ago

That's right. If the Mage equips a weapon, it would become a 5/2. If it's silenced, I'm assuming it would become a 1/2, since the game still seems to recognize it has somehow been buffed (the 3 Attack number on the copy appears green): http://imgur.com/a/eHR0M

Here's an old thread mentioning the Leokk interaction: http://us.battle.net/forums/en/hearthstone/topic/9742044262

It kinda reminds me of how a minion that gets their attack and health switched will permanently keep any aura buffs that were in effect before the switch.

demilich1 commented 7 years ago

That is also really puzzling to me. So what happens when Small-Time Buccaneer is played by a Paladin with a weapon, buffed with Blessed Champion and then the weapon is destroyed? Probably the attack would go 1 -> (weapon buff) 3 -> (Blessed Champion) 6 -> (weapon destroyed) 4

To me this means that Hearthstone's buff system is actually rather 'dumb' or let's say at least quite simple. Minions are really just snapshots of stats and buffs and triggers just manipulate these stats basically in a destructive way. This also means that the rewrite of the buff system as I would have imagined it would actually be WRONG.

DominusMaximus commented 7 years ago

Your Blessed Champion scenario sounds correct. The behavior should be similar to Divine Spirit, where "double" is immediately converted into a static number equal to the minion's attack at the time Blessed Champion is played. In other words, as soon as Blessed Champion is played, it immediatley becomes a normal buff spell like Blessing of Might. There's just that initial calculation on the spell's part to generate the +Attack number.

In any case, it seems most people on Reddit are saying the Buccaneer interaction is a bug. It's possible the behavior in that old Leokk thread I posted has since been patched, so that copy effects should never consider buffs granted by auras. I haven't tested that Leokk-Mirror Entity interaction in the Hearthstone client.

webadict commented 7 years ago

Alright, I have like 50 things to test when I get home. These are silly things.

webadict commented 7 years ago

The Buccaneer interaction is definitely a bug. Disguised Toast posted a video in which Cogmaster did NOT keep the buff when Mirror Entityed, so that was probably a bug when it first happened as well.

Also, the buff system isn't exactly as simple as that. There's like... some sort of intricate system of levers and pulleys that controls the buffs on a minion, and simply looking at its inner workings probably drives normal men insane. I can only assume, seeing as how there is no logical explanation for how some of this stuff works. I still haven't figured out a logical way of making some of the Auras workable, and my implementations of a Buff rewrite, while fantastic in some regards, are sometimes inconsistent with how the game would work. Try figuring out how the heck someone codes Faceless Manipulator to do half the stuff it does.

But other than the Finja change, these seem to be in working order.

DominusMaximus commented 7 years ago

Alright that's settled. This means Metastone's behavior of Mirror Entity copying Leokk's aura buff is now a bug.

Yeah, in Hearthstone there seems to be a lot of corner cases and exceptions that aren't explained by an overall system. So many cards require their own full-fledged system to handle all these interactions.