[confirmed]Flanking vs. put-on-bf-blocking effects
Report wrong Card behavior to get it fixed.
PLEASE ADD SAVEGAMES TO YOUR TOPIC !
PLEASE ADD SAVEGAMES TO YOUR TOPIC !
Moderators: BAgate, drool66, Aswan jaguar, gmzombie, stassy, CCGHQ Admins
[confirmed]Flanking vs. put-on-bf-blocking effects
by 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.)
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
Reason: confirmed bug
-
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
by BAgate » 26 Sep 2015, 06:15
In a clean game it works, but not in your save. hmmm...
Working on: housekeeping and archived reports
Re: Flanking vs. put-on-bf-blocking effects
by Korath » 26 Sep 2015, 14:27
Might be because of whether Brimaz or the card with flanking has the earlier timestamp.
-
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
by 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
Re: [confirmed]Flanking vs. put-on-bf-blocking effects
by 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.)
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.)
-
Korath - DEVELOPER
- Posts: 3707
- Joined: 02 Jun 2013, 05:57
- Has thanked: 496 times
- Been thanked: 1106 times
5 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 63 guests