@@ -34,7 +34,7 @@ function s.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
3434 if chk == 0 then return Duel .IsPlayerCanDraw (tp ,1 )
3535 and Duel .GetFieldGroupCount (tp ,0 ,LOCATION_DECK )> 0 end
3636 Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_CARDTYPE )
37- e :SetLabel (Duel .SelectOption (tp ,70 , 71 , 72 ))
37+ e :SetLabel (Duel .SelectOption (tp ,DECLTYPE_MONSTER , DECLTYPE_SPELL , DECLTYPE_TRAP ))
3838 Duel .SetTargetPlayer (tp )
3939 Duel .SetTargetParam (1 )
4040end
@@ -49,19 +49,20 @@ function s.drop(e,tp,eg,ep,ev,re,r,rp)
4949 Duel .Draw (p ,d ,REASON_EFFECT )
5050 end
5151end
52- function s .thfilter (c )
53- return c :IsFaceup () and c :IsCode (41091257 ) and c :IsAbleToHand ()
52+ function s .thfilter (c ,e ,tp )
53+ return (c :IsControler (1 - tp ) or (c :IsCode (41091257 ) and c :IsFaceup ()))
54+ and c :IsAbleToHand () and c :IsCanBeEffectTarget (e )
55+ end
56+ function s .rescon (sg ,e ,tp ,mg )
57+ return sg :FilterCount (Card .GetControler ,nil )==# sg
5458end
5559function s .thtg (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk ,chkc )
5660 if chkc then return false end
57- if chk == 0 then return Duel .IsExistingTarget (s .thfilter ,tp ,LOCATION_MZONE ,0 ,1 ,nil )
58- and Duel .IsExistingTarget (Card .IsAbleToHand ,tp ,0 ,LOCATION_MZONE ,1 ,nil ) end
59- Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_RTOHAND )
60- local g1 = Duel .SelectTarget (tp ,s .thfilter ,tp ,LOCATION_MZONE ,0 ,1 ,1 ,nil )
61- Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_RTOHAND )
62- local g2 = Duel .SelectTarget (tp ,Card .IsAbleToHand ,tp ,0 ,LOCATION_MZONE ,1 ,1 ,nil )
63- g1 :Merge (g2 )
64- Duel .SetOperationInfo (0 ,CATEGORY_TOHAND ,g1 ,2 ,0 ,0 )
61+ local g = Duel .GetMatchingGroup (s .thfilter ,tp ,LOCATION_MZONE ,LOCATION_MZONE ,nil ,e ,tp )
62+ if chk == 0 then return # g >= 2 and aux .SelectUnselectGroup (g ,e ,tp ,2 ,2 ,s .rescon ,0 ) end
63+ local rg = aux .SelectUnselectGroup (g ,e ,tp ,2 ,2 ,s .rescon ,1 ,tp ,HINTMSG_TARGET )
64+ Duel .SetTargetCard (rg )
65+ Duel .SetOperationInfo (0 ,CATEGORY_TOHAND ,rg ,# rg ,0 ,0 )
6566end
6667function s .thop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
6768 local g = Duel .GetTargetCards (e )
0 commit comments