@@ -6,24 +6,20 @@ function s.initial_effect(c)
66 local e1 = Effect .CreateEffect (c )
77 e1 :SetCategory (CATEGORY_TOHAND + CATEGORY_DRAW )
88 e1 :SetType (EFFECT_TYPE_ACTIVATE )
9- e1 :SetProperty (EFFECT_FLAG_PLAYER_TARGET )
109 e1 :SetCode (EVENT_FREE_CHAIN )
1110 e1 :SetTarget (s .target )
1211 e1 :SetOperation (s .activate )
1312 c :RegisterEffect (e1 )
1413end
1514function s .target (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
16- if chk == 0 then return Duel .IsPlayerCanDraw (tp )
17- and Duel .IsExistingMatchingCard (Card .IsAbleToHand ,tp ,LOCATION_HAND ,0 ,1 ,e :GetHandler ()) end
18- Duel .SetTargetPlayer (tp )
15+ if chk == 0 then return Duel .GetMatchingGroupCount (aux .TRUE ,tp ,LOCATION_HAND ,0 ,e :GetHandler ())> 0 and Duel .IsPlayerCanDraw (tp ) end
1916 Duel .SetOperationInfo (0 ,CATEGORY_TOHAND ,nil ,1 ,tp ,LOCATION_HAND )
2017 Duel .SetOperationInfo (0 ,CATEGORY_DRAW ,nil ,0 ,tp ,1 )
2118end
2219function s .activate (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
23- local p = Duel .GetChainInfo (0 ,CHAININFO_TARGET_PLAYER )
24- local g = Duel .GetFieldGroup (p ,LOCATION_HAND ,0 )
20+ local g = Duel .GetFieldGroup (tp ,LOCATION_HAND ,0 )
2521 if # g <= 0 then return end
26- Duel .SendtoHand (g ,1 - tp ,2 , REASON_EFFECT )
22+ Duel .SendtoHand (g ,1 - tp ,REASON_EFFECT )
2723 Duel .BreakEffect ()
28- Duel .Draw (p ,# g ,REASON_EFFECT )
29- end
24+ Duel .Draw (tp ,# g ,REASON_EFFECT )
25+ end
0 commit comments