Loreinator / Shuffle-Move

Program to help choose moves in the Pokemon Shuffle puzzle game
GNU General Public License v3.0
95 stars 18 forks source link

Info on Duplicated Matches Trick #15

Closed zero2exe closed 8 years ago

zero2exe commented 9 years ago

Alright so here's what I know about duplicated matches: 1.- In order to trigger it you need a match to resembles a certain shape which is either an "L", "reversed L" or an inverted "T" as depicted in this example http://prntscr.com/86lnu5 You will always need at least 5 icons to perform this and 7 is the cap. This is because the Vertical part of the match should never go below the horizontal one, otherwise the trick won't work and you'll just perform a normal combo. In this example you can see the max number of icons you can use while still performing the trick http://prntscr.com/86lqmd Other shapes like these http://prntscr.com/86lv9j will NEVER proc the trick since the vertical part of the match goes below the horizontal one. 2.- As far as activation orders go, the horizontal line that serves as the match's base will always proc first. The vertical section will always proc in second place. 3.- The horizontal line will activate "twice" and the game doesn't seem to account it as a combo since both blows deal the exact same damage. The vertical portion of the match however works as intended and gets the usual damage boost for performing a combo. 4.- Another neat property of this trick is that if you start your turn with it and it procs an ability like crowd control that effect will also be duplicated for that portion of the attack. This property also applies to coins in the meowth stage so an inverted "T" match will award you 300 coins instead of 200. 5.- You can also begin with another different match and turn this one into part of the combo which will be duplicated with the corresponding combo boost. For example you could start the combo with Darkrai and then Genesect will follow clearing the horizontal section Twice while applying the 1st combo boost on both blows to finally initiate the vertical part which will be further boosted as if it was the third match in the combo. http://prntscr.com/86lrl3

Loreinator commented 9 years ago

A few questions we need to answer before this can be properly simulated:

  1. How much does it advance the chain when this occurs in the middle of a combo?
  2. How does this affect frozen blocks if they are a) Part of the horizontal component only, b) Part of the vertical component only c) At the intersection
  3. What is the exact frame-based timing of the sequence from recognition to final erasure? The normal combo can activate every 24 frames and takes 82 frame to erase (4 more frames for wood, 1 more frame for frozen to thaw). Some mega abilities happen on 8 frame or 10 frame intervals, A block takes 16 frames to fall. See here for the program I used to step through 240fps footage to identify the timings for everything else.

That's all I can think of for now, I might have more things that need clarification as we discuss this further.

JustAnotherRandomLad commented 9 years ago
  1. The glitch never adds extra counts to the combo.
  2. It doesn't. The blocks are unfrozen as normal, the extra damage still kicks in, etc. (But I can't say for sure in case (c), considering how rare that is in the game - in fact, it's physically impossible in the absence of disappearing metal blocks and complexity alterations. I'd assume it's the same as a) and b), though.)
  3. Same as a normal combo; the extra "hit" doesn't affect icon erasing rates.

And some comments on zero2exe's points:

2) Not strictly true - it's just that, when making a compatible match directly, the vertical line physically can't be longer than the horizontal one, and the longest line takes priority (with horizontal winning if they're the same). IIRC, if a cascade results in an inverted-T or L match with a vertical part longer than the horizontal part, the glitch doesn't activate. (So I suppose it's technically true, but the causal arrow points the other way, so to speak.)

3) It's the vertical line that's counted twice, not the horizontal one. The first count has the same combo and effect damage modifiers as the horizontal one (but not for length), whereas the second is counted after the combo counter is increased by 1 and without the effect modifier (assuming said effect only applies to the first match in a combo). For example, if I make an inverted-T match of LvMAX Giratina (100 AP) with a base length of 4 and Power of 4+ activates, the total damage dealt by that match alone against a Fire-type would be 100x1.5x3 (horizontal line of 4, tripled by Po4+) + 100x3 (vertical line of 3, "extra" count, tripled by Po4+) + 100x1.1 (vertical line, normal count, no Po4+ boost but treated as 2nd step in combo) = 860.

4) I'm still researching this myself, but I might as well ask you to do the same: could you find out how Crowd Control works in these matches? Normally, it adds a flat 50 damage (unaffected by type matchups) for each matching icon other than the ones immediately erased by the activating match. (So any icons in that line that are frozen or at the intersection of a cross-match still contribute.) (EDIT: Specifically, which icons are counted for each line, and which are ignored?) (EDIT 2: Got it - see below.)

Loreinator commented 9 years ago

Copy paste from reddit.

Oh, I can tell you all that right now:

Cheers! :)

EDIT 2: IIRC, activating Vitality Drain in this fashion results in net damage equal to 20% of the opponent's HP on activation, plus the normal score for the vertical line. I'll test it again when I get the chance, just to be sure.

EDIT 3: 4x3 inverted-T match of LvMAX Genesect (100 AP) on Darkrai with 4 other Genesect on the board dealt 650 for the horizontal, 550 for the first vertical, and 220 for the second vertical. Accounting for line lengths, this indicates that each CC-boosted line counted 7 icons for the boost; subtracting the 4 from elsewhere leaves 3 within the cross that were counted in each case. If the vertical match's CC boost was calculated separately from that of the horizontal line, it would have included either the entire horizontal line (4), just the intersection point (1), or no parts of the cross-match (0), depending on when it was calculated. One could argue that the second possibility is invalid, but this is irrelevant; none of these match the count of 3 that was observed, anyway.

Conclusion (and TL;DR): Both lines receive the Crowd Control boost as calculated from the horizontal line.

Loreinator commented 9 years ago

1) Can this effect, in rare instances, be triggered with more than 1 vertical line, such as in these cases, or does this effect only include one vertical line, and if so is it the leftmost vertical, or the leftmost largest vertical?

2) Can this effect trigger in this case with a 4x horizontal and 4x vertical? (this assumes the 4x vertical is from an extremely lucky fall or cascade)

Once all the fine points have been exhausted, I should have enough data to properly implement the effect in the perfect point in the simulation.

JustAnotherRandomLad commented 9 years ago

No idea on either one - haven't seen them before - but I'd assume the answer to (2) is yes.

I'll watch for matches like those, but any idea how I could set them up?

Loreinator commented 9 years ago

In some stages you get really lucky with the skyfall, so you might be able to see it happen on things like the 3-mon stages. It would probably take recording the footage of a massive chain to ever catch it though.

JustAnotherRandomLad commented 9 years ago

Still haven't seen them yet, but I did see an L-shaped M-Blaziken match fall into place, and it activated the glitch; only the horizontal line was removed, and the effect only activated once, but the vertical line was also scored once.

(This only works when the match isn't direct, though; when it is, everything behaves normally. It does work when it's at the "back end" of a move that makes matches at both ends. As you can see from avengahM's Miiverse posts here, the vertical score isn't boosted by Mega effects: https://miiverse.nintendo.net/posts/AYQHAAABAAAEVHhmN-l1vQ)

Loreinator commented 9 years ago

For mega evolved species, they immediately release all intersecting combos before their activation fully takes place. See here for where I've included this behavior.

JustAnotherRandomLad commented 9 years ago

Answer to (2) in previous list is confirmed to be "yes." (Source: Weekend Meowth, 4x4 inverted-T of coins.)

EDIT: While I'm thinking of it, the answer to (1) when the vertical lines are the same length is "both." Not sure what happens when they're different lengths, though.

JustAnotherRandomLad commented 9 years ago

FWIW, this trick does not work in the mobile version of the game. If you're going to make it compatible with that version, you should allow users to choose their version and have damage calculations performed accordingly.

JustAnotherRandomLad commented 9 years ago

Another Weekend Meowth confirmation: if the vertical line is longer than the horizontal one, the glitch does not activate.

Loreinator commented 9 years ago

Ok, so far it seems like the following is true:

Correct me if any of these are wrong, I don't want to implement the simulation of this glitch incorrectly or the results could be useless or misleading.

JustAnotherRandomLad commented 9 years ago

The effect doubling is only in terms of damage - you can't break 6 barriers at once with Cresselia, for example. But other than that, yes.

Loreinator commented 8 years ago

Just revisiting this - thinking of pushing it in soon:

1) Whenever a horizontal match is activated, look for any pending matches that are:

2) if you find any, then for EACH match, perform the following:

If that's correct, then I'll be good to go and implement some code to handle it in the next release - I've held off until now in hopes that Nintendo would fix their obvious bug. They haven't fixed it, so I am guessing it is here to stay for the life of the game.

JustAnotherRandomLad commented 8 years ago

Vertical 3-matches affected by this get any Power bonus applied to the horizontal match. As long as you include this, then yes, it sounds right.

Sent from my Samsung device

-------- Original message -------- From: Andrew Meyers notifications@github.com Date: 02-23-2016 1:20 PM (GMT-05:00) To: Loreinator/Shuffle-Move Shuffle-Move@noreply.github.com Cc: JustAnotherRandomLad thesecrecyking@hotmail.com Subject: Re: [Shuffle-Move] Info on Duplicated Matches Trick (#15)

Just revisiting this - thinking of pushing it in soon:

1) Whenever a horizontal match is activated, look for any pending matches that are:

2) if you find any, then for EACH match, perform the following:

If that's correct, then I'll be good to go and implement some code to handle it in the next release - I've held off until now in hopes that Nintendo would fix their obvious bug. They haven't fixed it, so I am guessing it is here to stay for the life of the game.

Reply to this email directly or view it on GitHubhttps://github.com/Loreinator/Shuffle-Move/issues/15#issuecomment-187828117.

Loreinator commented 8 years ago

Missed a couple cases, continuing to work on it.

Loreinator commented 8 years ago

OK, got the last case in - that Blaziken L match case was missing.

It has been implemented with this logic:

Then, if observed: Bonus value is multiplied by (1 + # of glitch combos) Main score adds on the glitch combo's normal score in addition to the normal score of the primary combo.

Try it out here: https://drive.google.com/uc?id=0Bwi_f200YyRqV25FWmJmOFY3a3c&export=download

MD5sum is EB5D95D38219F8068A3EB112FBDCB579

If there are no bugs reported against this issue before the next patch's update it will go in for the main release.