[fixed]Roots-put in play no enchant creature with Shroud
Moderators: BAgate, drool66, Aswan jaguar, gmzombie, stassy, CCGHQ Admins
[fixed]Roots-put in play no enchant creature with Shroud
by Wally » 13 Jun 2020, 07:21
Describe the Bug:
Roots can be cast upon creatures with shroud, example is Autumn Willow in attached savegame but I also checked with Argothian Enchantress with the same effect (illegal targeting)
Which card behaved improperly?
Roots
Which update are you using? (date, name)Which type? (duel, gauntlet, sealed deck)
version 5-2020 10bda4ca0, duel
Related ruling from Comprehensive Rules
115.1b Aura spells are always targeted. An Aura’s target is specified by its enchant keyword ability (see rule 702.5, “Enchant”). The target is chosen as the spell is cast; see rule 601.2c. An Aura permanent doesn’t target anything; only the spell is targeted. (An activated or triggered ability of an Aura permanent can also be targeted.)
Roots can be cast upon creatures with shroud, example is Autumn Willow in attached savegame but I also checked with Argothian Enchantress with the same effect (illegal targeting)
Which card behaved improperly?
Roots
Which update are you using? (date, name)Which type? (duel, gauntlet, sealed deck)
version 5-2020 10bda4ca0, duel
Related ruling from Comprehensive Rules
115.1b Aura spells are always targeted. An Aura’s target is specified by its enchant keyword ability (see rule 702.5, “Enchant”). The target is chosen as the spell is cast; see rule 601.2c. An Aura permanent doesn’t target anything; only the spell is targeted. (An activated or triggered ability of an Aura permanent can also be targeted.)
- Attachments
-
AUTOSAVE.zip
- (3.13 KiB) Downloaded 188 times
Last edited by drool66 on 03 Jul 2020, 05:51, edited 4 times in total.
Reason: fixed
Reason: fixed
- Wally
- Posts: 234
- Joined: 05 Mar 2009, 04:39
- Location: Australia
- Has thanked: 2 times
- Been thanked: 17 times
Re: [confirmed]Roots - ignores Shroud
by Aswan jaguar » 15 Jun 2020, 11:08
Fixed this in commit 853515e but...
There seems to be a conflict between illegal abilities code of Roots and aura code for illegal abilities when auras are put into play which has to respect no illegal abilities so Roots could target and enchant in this case a creature with shroud but now with my change doesn't.
I tried everything I could think to have both working but with no luck.
I made the change as this is more common... maybe.
There seems to be a conflict between illegal abilities code of Roots and aura code for illegal abilities when auras are put into play which has to respect no illegal abilities so Roots could target and enchant in this case a creature with shroud but now with my change doesn't.
I tried everything I could think to have both working but with no luck.
I made the change as this is more common... maybe.
---
Trying to squash some bugs and playtesting.
Trying to squash some bugs and playtesting.
-
Aswan jaguar - Super Tester Elite
- Posts: 8129
- Joined: 13 May 2010, 12:17
- Has thanked: 748 times
- Been thanked: 477 times
Re: [confirmed]Roots-put in play no enchant creature with Sh
by drool66 » 30 Jun 2020, 20:21
I think it was just that Roots used
illegal_abilities = KEYWORD_FLYING
instead of
illegal_abilities |= KEYWORD_FLYING
The former would override all previous illegal abilities, including shroud. Right? I tested & removed your addition from targeted_aura_impl and it seemed to work fine (couldn't target Autumn Willow), but I may be misunderstanding the problem.
illegal_abilities = KEYWORD_FLYING
instead of
illegal_abilities |= KEYWORD_FLYING
The former would override all previous illegal abilities, including shroud. Right? I tested & removed your addition from targeted_aura_impl and it seemed to work fine (couldn't target Autumn Willow), but I may be misunderstanding the problem.
The latest images for Manalink will be here.
The latest Manalink installation directory will be here. Well, not quite, anymore. Check the latest patches.
The latest Manalink installation directory will be here. Well, not quite, anymore. Check the latest patches.
-
drool66 - Programmer
- Posts: 1185
- Joined: 25 Nov 2010, 22:38
- Has thanked: 187 times
- Been thanked: 280 times
Re: [confirmed]Roots-put in play no enchant creature with Sh
by Aswan jaguar » 02 Jul 2020, 12:28
Both the way you tried and the way I did it have the same result (at least concerning the issue we are talking here) and fix original bug that wally has posted. That is when you cast any aura it targets so they can't enchant/target creatures with shroud, protection from that color,...etc but the issue is when they come into play from anywhere or you cast a card like Flicker on auras then they don't target and so could enchant a creature with shroud, protection from that color(although they would then fall when state based actions are checked) but this doesn't work. If you test an aura card like Web you will see that it works like this and most auras do so.
EDIT: the way we have tried seems not to target when auras are put into play (at least no illegal message appears if you target a creature with shroud or protection from that color) but it doesn't enchant the creature with shroud as it ought to do nor stays for a "sec" if enchant a creature with protection from that color and then fell off. If you remove "illegal_abilities |= KEYWORD_FLYING" you will see that it will work correctly with creatures with shroud both if cast and if put into play.
EDIT: the way we have tried seems not to target when auras are put into play (at least no illegal message appears if you target a creature with shroud or protection from that color) but it doesn't enchant the creature with shroud as it ought to do nor stays for a "sec" if enchant a creature with protection from that color and then fell off. If you remove "illegal_abilities |= KEYWORD_FLYING" you will see that it will work correctly with creatures with shroud both if cast and if put into play.
Last edited by Aswan jaguar on 02 Jul 2020, 12:38, edited 1 time in total.
Reason: edit
Reason: edit
---
Trying to squash some bugs and playtesting.
Trying to squash some bugs and playtesting.
-
Aswan jaguar - Super Tester Elite
- Posts: 8129
- Joined: 13 May 2010, 12:17
- Has thanked: 748 times
- Been thanked: 477 times
Re: [confirmed]Roots-put in play no enchant creature with Sh
by drool66 » 03 Jul 2020, 05:51
Ok, I see what you mean now.
I found the problem; it was in targeted_aura_impl(). The function's EVENT_CAN_CAST checked for SF3_IN_PLAY_DIRECTLY before it set illegal_abilities = 0; but blink_effect() was calling & checking the aura's EVENT_CAN_CAST before setting SF3_IN_PLAY_DIRECTLY, thereby putting the cart before the horse.
I moved the check for SF3_IN_PLAY_DIRECTLY out of EVENT_CAN_CAST (and EVENT_CAST_SPELL), this matches generic_aura(). I also ammended put_into_play() to add SF3_IN_PLAY_DIRECTLY if it's an aura, using the same methodology as blink_effect(). I can't think of anything else that would put an aura directly into play.
Everything seems to be working perfectly in all circumstances as far as I can tell.
Fixed in 82980a8fc ("Fix Roots and other targeted auras if put into play directly", 2020-07-03). If you don't mind, I'll move the illegal_abilities |= KEYWORD_FLYING back to Roots.
I found the problem; it was in targeted_aura_impl(). The function's EVENT_CAN_CAST checked for SF3_IN_PLAY_DIRECTLY before it set illegal_abilities = 0; but blink_effect() was calling & checking the aura's EVENT_CAN_CAST before setting SF3_IN_PLAY_DIRECTLY, thereby putting the cart before the horse.
I moved the check for SF3_IN_PLAY_DIRECTLY out of EVENT_CAN_CAST (and EVENT_CAST_SPELL), this matches generic_aura(). I also ammended put_into_play() to add SF3_IN_PLAY_DIRECTLY if it's an aura, using the same methodology as blink_effect(). I can't think of anything else that would put an aura directly into play.
Everything seems to be working perfectly in all circumstances as far as I can tell.
Fixed in 82980a8fc ("Fix Roots and other targeted auras if put into play directly", 2020-07-03). If you don't mind, I'll move the illegal_abilities |= KEYWORD_FLYING back to Roots.
The latest images for Manalink will be here.
The latest Manalink installation directory will be here. Well, not quite, anymore. Check the latest patches.
The latest Manalink installation directory will be here. Well, not quite, anymore. Check the latest patches.
-
drool66 - Programmer
- Posts: 1185
- Joined: 25 Nov 2010, 22:38
- Has thanked: 187 times
- Been thanked: 280 times
Re: [fixed]Roots-put in play no enchant creature with Shroud
by Aswan jaguar » 03 Jul 2020, 06:01
I like it better in card's function, too.drool66 wrote:If you don't mind, I'll move the illegal_abilities |= KEYWORD_FLYING back to Roots.
Will have to keep this in mind if we meet bugs with targeted_aura in case it was done deliberately like this to avoid some other bug.drool66 wrote:I moved the check for SF3_IN_PLAY_DIRECTLY out of EVENT_CAN_CAST (and EVENT_CAST_SPELL), this matches generic_aura().
Nice job man!

---
Trying to squash some bugs and playtesting.
Trying to squash some bugs and playtesting.
-
Aswan jaguar - Super Tester Elite
- Posts: 8129
- Joined: 13 May 2010, 12:17
- Has thanked: 748 times
- Been thanked: 477 times
Re: [fixed]Roots-put in play no enchant creature with Shroud
by drool66 » 03 Jul 2020, 17:23
Exactly. This is why I was so verbose in my explanation. I used the same implementation as generic_aura() so I think it should be ok.Will have to keep this in mind if we meet bugs with targeted_aura in case it was done deliberately like this to avoid some other bug.
The latest images for Manalink will be here.
The latest Manalink installation directory will be here. Well, not quite, anymore. Check the latest patches.
The latest Manalink installation directory will be here. Well, not quite, anymore. Check the latest patches.
-
drool66 - Programmer
- Posts: 1185
- Joined: 25 Nov 2010, 22:38
- Has thanked: 187 times
- Been thanked: 280 times
7 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 23 guests