1- -- コピーキャット
1+ -- コピーキャット (GX)
2+ -- Mimicat (GX)
23local s ,id = GetID ()
34function s .initial_effect (c )
4- -- Activate
5+ -- Banish the top 5 cards of your Deck to add 1 card from your opponent's GY to your hand
56 local e1 = Effect .CreateEffect (c )
67 e1 :SetCategory (CATEGORY_TOHAND )
78 e1 :SetType (EFFECT_TYPE_ACTIVATE )
@@ -11,23 +12,21 @@ function s.initial_effect(c)
1112 e1 :SetOperation (s .activate )
1213 c :RegisterEffect (e1 )
1314end
14- function s .cfilter (c )
15- return c :IsSpell () and c :IsAbleToGraveAsCost ()
16- end
1715function s .cost (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
18- if chk == 0 then return Duel .IsExistingMatchingCard ( Card . IsAbleToRemoveAsCost , tp ,LOCATION_DECK , 0 , 5 , nil ) end
19- Duel . Hint ( HINT_SELECTMSG , tp , HINTMSG_REMOVE )
20- local g = Duel .SelectMatchingCard ( tp , Card . IsAbleToRemoveAsCost , tp , LOCATION_DECK , 0 , 5 , 5 , nil )
16+ local g = Duel .GetDecktopGroup ( tp ,5 )
17+ if chk == 0 then return g : FilterCount ( Card . IsAbleToRemoveAsCost , nil , POS_FACEUP ) == 5 end
18+ Duel .DisableShuffleCheck ( )
2119 Duel .Remove (g ,POS_FACEUP ,REASON_COST )
2220end
2321function s .target (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
24- if chk == 0 then return Duel .IsExistingTarget (Card .IsExistingMatchingCard ,tp ,0 ,LOCATION_GRAVE ,1 ,nil ) end
25- Duel .SetOperationInfo (0 ,CATEGORY_TOHAND ,nil ,1 ,0 ,0 )
22+ if chk == 0 then return Duel .IsExistingTarget (Card .IsAbleToHand ,tp ,0 ,LOCATION_GRAVE ,1 ,nil ) end
23+ Duel .SetOperationInfo (0 ,CATEGORY_TOHAND ,nil ,1 ,tp ,0 )
2624end
2725function s .activate (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk ,chkc )
28- local g = Duel .SelectMatchingCard (tp ,s .tgfilter ,tp ,0 ,LOCATION_GRAVE ,1 ,1 ,nil )
26+ Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_ATOHAND )
27+ local g = Duel .SelectMatchingCard (tp ,Card .IsAbleToHand ,tp ,0 ,LOCATION_GRAVE ,1 ,1 ,nil )
2928 if # g > 0 then
3029 Duel .SendtoHand (g ,tp ,REASON_EFFECT )
3130 Duel .ConfirmCards (1 - tp ,g )
3231 end
33- end
32+ end
0 commit comments