It is currently 14 May 2025, 18:30
   
Text Size

[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

Postby 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.)
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
Wally
 
Posts: 234
Joined: 05 Mar 2009, 04:39
Location: Australia
Has thanked: 2 times
Been thanked: 17 times

Re: [confirmed]Roots - ignores Shroud

Postby 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.
---
Trying to squash some bugs and playtesting.
User avatar
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

Postby 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.
User avatar
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

Postby 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.
Last edited by Aswan jaguar on 02 Jul 2020, 12:38, edited 1 time in total.
Reason: edit
---
Trying to squash some bugs and playtesting.
User avatar
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

Postby 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.
User avatar
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

Postby Aswan jaguar » 03 Jul 2020, 06:01

drool66 wrote:If you don't mind, I'll move the illegal_abilities |= KEYWORD_FLYING back to Roots.
I like it better in card's function, too.
drool66 wrote:I moved the check for SF3_IN_PLAY_DIRECTLY out of EVENT_CAN_CAST (and EVENT_CAST_SPELL), this matches generic_aura().
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.
Nice job man! =D>
---
Trying to squash some bugs and playtesting.
User avatar
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

Postby drool66 » 03 Jul 2020, 17:23

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.
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.
User avatar
drool66
Programmer
 
Posts: 1185
Joined: 25 Nov 2010, 22:38
Has thanked: 187 times
Been thanked: 280 times


Return to Archived Reports

Who is online

Users browsing this forum: No registered users and 29 guests


Who is online

In total there are 29 users online :: 0 registered, 0 hidden and 29 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 29 guests

Login Form