Page 1 of 1
AI and Can't Block

Posted:
28 Oct 2011, 21:56
by friarsol
Does the AI just ignore the Can't Block Keyword?
I activated my Spin Engine on Marsh Goblins and attacked. The AI promptly blocked my Engine with his Marsh Goblins. They killed each other, and I looked in the graveyard and the Can't Block keyword is still attached to the Goblins. Also, my Spin Engine has a Card ID of 42, but the Marsh Goblins Can't Block Keyword says Spin Engine's ID is 119.
Re: AI and Can't Block

Posted:
28 Oct 2011, 22:12
by jeffwadsworth
Maybe this is related to something I ran into while testing Cauldron Dance.
The granted triggers stuck to the cards even though they were off the battlefield, etc.
Try this card and note the above. Note the activation limitation.
- | Open
- Name:Cauldron Dance
ManaCost:4 B R
Types:Instant
Text:no text
A:SP$ ChangeZone | Cost$ 4 B R | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature from your graveyard | ActivationPhases$ BeginCombat->EndCombat | SubAbility$ DBAnimate | SpellDescription$ Cast CARDNAME only during combat. Return target creature card from your graveyard to the battlefield. That creature gains haste. Return it to your hand at the beginning of the next end step. You may put a creature card from your hand onto the battlefield. That creature gains haste. Its controller sacrifices it at the beginning of the next end step.
SVar:DBAnimate:DB$ Animate | Defined$ Targeted | Keywords$ Haste | Triggers$ TrigBounce | sVars$ TrigReturn | SubAbility$ DBChangeZone
SVar:TrigBounce:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | Execute$ TrigReturn | TriggerDescription$ At the beginning of the next end step, return CARDNAME to its owner's hand.
SVar:TrigReturn:AB$ ChangeZone | Cost$ 0 | Defined$ Self | Origin$ Battlefield | Destination$ Hand
SVar:DBChangeZone:DB$ ChangeZone | Origin$ Hand | Destination$ Battlefield | OptionalDecider$ You | ChangeType$ Creature | ChangeNum$ 1 | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ DBAnimate2
SVar:DBAnimate2:DB$ Animate | Defined$ Remembered | Keywords$ Haste | Triggers$ TrigSacrifice | sVars$ TrigSac
SVar:TrigSacrifice:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of the next end step, sacrifice CARDNAME.
SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/caudron_dance.jpg
End
Re: AI and Can't Block

Posted:
29 Oct 2011, 05:49
by Sloth
friarsol wrote:They killed each other, and I looked in the graveyard and the Can't Block keyword is still attached to the Goblins.
I meant to fix this in 11527. copyCharacteristic needs to be tweaked further though:
The function should only copy printed values, but printed triggers and colors are not really checked at the moment.
Re: AI and Can't Block

Posted:
29 Oct 2011, 08:52
by Hellfish
I fixed the extrinsic triggers becoming intrinsic problem. However, for Cauldron Dance there's another problem; AF_Animate adds all keywords as intrinsic unless they are specified HIDDEN, so Haste is still copied when the creatures go to the graveyard/hand.
EDIT: I put up a temporary fix for Spin Engine (And Duct Crawler & Shrewd Hatchling). The problem is that somewhere between coming out of the CardFactory and using the ability, Spin Engine's UniqueNumber change and the "Can't block CARDID" keyword depends on the UniqueNumber.
Re: AI and Can't Block

Posted:
29 Oct 2011, 15:58
by jeffwadsworth
Well, Cauldron Dance now works correctly. Thanks.
Re: AI and Can't Block

Posted:
30 Oct 2011, 13:05
by Sloth
Hellfish wrote:I fixed the extrinsic triggers becoming intrinsic problem. However, for Cauldron Dance there's another problem; AF_Animate adds all keywords as intrinsic unless they are specified HIDDEN, so Haste is still copied when the creatures go to the graveyard/hand.
I will try to fix AF_Animate then.