buttonmen-dev / buttonmen

Buttonmen - an online dice game
Other
16 stars 24 forks source link

Doppelganger and morphing don't behave correctly when both on the same die #2637

Open blackshadowshade opened 4 years ago

blackshadowshade commented 4 years ago

This was noted in #2389.

TheOrgg commented 3 years ago

So what actually happens here?

I'd presume that Morph would work fine if it was a non-Power attack, then the Dopp would then replace the entire die with a copy if the attack was a Power Attack, superseding Morph and likely removing Morph in the copying process.

blackshadowshade commented 3 years ago

I think that it's not a difficult set of behaviours to get working together, much as you say.

PoshFrosh commented 4 months ago

@blackshadowshade I'm with @TheOrgg. Reading the associated issue I'm still unclear what the bug behavior is/was. I'm unable to check/test this myself becuase staging says "The combination of morphing and doppelganger is currently not supported on the same die." (because this combo was disabled in #2389 as a workaround) If I were allowed to enter it in a custom recipe, I'd be happy to test it out and supply a simple case in a game such that a bugfix could be attempted (similar to how we're doing with %D in #2240 ) if you or someone else felt up to squashing it, but I cannot.

(As you might imagine, I stumbled upon this combo while testing things for inclusion in my possible fanatic. I'm playing around with the idea of dice which behave differently if you power attack with them vs using another kind of attack, and of course Dm is one of these.)

You said you think it's not too difficult to fix, which is encouraging in the long run... but I am still curious if you remember how it acted improperly in the first place prior to it being disabled?

blackshadowshade commented 4 months ago

The bug report was from Chaos and the image of the bug is found at this link: https://github.com/buttonmen-dev/buttonmen/pull/2389#issuecomment-692415653

You can see that the log says:

"responder003 performed Power attack using [Dm(50):22] against [(79):6]; Defender (79) was captured; Attacker Dm(50) changed size from 50 to 79 sides, recipe changed from Dm(50) to (79), rerolled 22 => 41"

That looks reasonable. However, take a look at the actual play board. responder003's sixth die which was used to attack is now showing as Dm(79):null.

To fix this bug, we'll need a responder test replicating the original bug, as suggested by Chaos.