It is currently 27 Apr 2024, 02:19
   
Text Size

[confirmed]Flanking vs. put-on-bf-blocking effects

Report wrong Card behavior to get it fixed.
PLEASE ADD SAVEGAMES TO YOUR TOPIC !

Moderators: BAgate, drool66, Aswan jaguar, gmzombie, stassy, CCGHQ Admins

[confirmed]Flanking vs. put-on-bf-blocking effects

Postby Korath » 25 Sep 2015, 19:29

Describe the Bug:
When Brimaz, King of Oreskos blocks my Mtenda Herder, it makes a vigilant Cat Soldier token and gets -1/-1. The Cat Soldier doesn't get -1/-1.

Which card did behave improperly ?
I can't decide whether it's the fault of generate_token() with TOKEN_ACTION_BLOCKING set, or granted_flanking()'s, or both. Probably both.

Which update are you using?(date,name)Which type(Duel,Gauntlet,Sealed Deck)
FRF.

What exactly should be the correct behavior/interaction ?
509. Declare Blockers Step
509.4d An ability that reads "Whenever [this creature] becomes blocked by a creature, . . ." triggers once for each creature that blocks the named creature. It triggers if a creature is declared as a blocker for the attacking creature. It will also trigger if an effect causes a creature to block the attacking creature, but only if it wasn't already blocking that attacking creature at that time. In addition, it will trigger if a creature is put onto the battlefield blocking that creature. It won't trigger if the creature becomes blocked by an effect rather than a creature. (em. mine)

702.24. Flanking
702.24a Flanking is a triggered ability that triggers during the declare blockers step. (See rule 509, "Declare Blockers Step.") "Flanking" means "Whenever this creature becomes blocked by a creature without flanking, the blocking creature gets -1/-1 until end of turn."

So the Cat Soldier token in this case should get -1/-1 from flanking too (and then die).

Are any other cards possibly affected by this bug ?
Yes, quite. Probably everything with a trigger templated like 509.4d.

There only seems to be a couple cards that put a card or token on the battlefield blocking another creature, at least - I can only find Brimaz, King of Oreskos, AEtherplasm, Nature Shields Its Own. There's only one more unimplemented pre-DTK card that does the same (Flash Foliage).

If you want to add some sort of event or xtrigger for "a card was declared as a blocker", it's safe to dispatch it from within dispatch_event_raw(EVENT_DECLARE_BLOCKERS); that only gets sent once per combat, after all blockers are declared. Then you can send it from inside generate_token() and card_aetherplasm(), too. (Though the latter should probably go into block() instead to take care of the other cases in 509.4d, with some sort of guard so that it isn't sent during normal blocking. Probably current_phase != PHASE_DECLARE_BLOCKERS is enough.)
Attachments
flanking-vs-put-on-bf-blocking.zip
(1.9 KiB) Downloaded 180 times
Last edited by BAgate on 26 Sep 2015, 17:05, edited 1 time in total.
Reason: confirmed bug
User avatar
Korath
DEVELOPER
 
Posts: 3707
Joined: 02 Jun 2013, 05:57
Has thanked: 496 times
Been thanked: 1106 times

Re: Flanking vs. put-on-bf-blocking effects

Postby BAgate » 26 Sep 2015, 06:15

In a clean game it works, but not in your save. hmmm...
Attachments
flanking.JPG
Working on: housekeeping and archived reports
User avatar
BAgate
Tester
 
Posts: 2444
Joined: 06 Mar 2012, 11:09
Has thanked: 117 times
Been thanked: 158 times

Re: Flanking vs. put-on-bf-blocking effects

Postby Korath » 26 Sep 2015, 14:27

Might be because of whether Brimaz or the card with flanking has the earlier timestamp.
User avatar
Korath
DEVELOPER
 
Posts: 3707
Joined: 02 Jun 2013, 05:57
Has thanked: 496 times
Been thanked: 1106 times

Re: Flanking vs. put-on-bf-blocking effects

Postby BAgate » 26 Sep 2015, 17:04

I think you are right. On further testing, if Brimaz is cast later it doesn't get flanking applied to the token, but if Brimaz is cast before the creature with flanking then it does get the flanking applied to the token.
Working on: housekeeping and archived reports
User avatar
BAgate
Tester
 
Posts: 2444
Joined: 06 Mar 2012, 11:09
Has thanked: 117 times
Been thanked: 158 times

Re: [confirmed]Flanking vs. put-on-bf-blocking effects

Postby Korath » 26 Sep 2015, 18:07

Then there's a quick-and-dirty fix available that should work for all the current cards, since they all trigger at EVENT_DECLARE_BLOCKERS - we just have to make sure that they get processed before anything else happening then.

At the start of dispatch_event_raw(), add:
if (event == EVENT_DECLARE_BLOCKERS)
dispatch_event_raw(EVENT_DECLARE_BLOCKERS_EARLY); // a new event

Then in those three cards, look for the new event instead of EVENT_DECLARE_BLOCKERS.

This definitely won't work for cards like Flash Foliage, but means we don't need to change any of the cards with "Whenever this creature becomes blocked by a creature..." triggers. ("Whenevever this creature becomes blocked" triggers may still need things to be done the hard way, as described in my initial report. I haven't looked for those.)
User avatar
Korath
DEVELOPER
 
Posts: 3707
Joined: 02 Jun 2013, 05:57
Has thanked: 496 times
Been thanked: 1106 times


Return to Bug Reports

Who is online

Users browsing this forum: No registered users and 63 guests


Who is online

In total there are 63 users online :: 0 registered, 0 hidden and 63 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 63 guests

Login Form