@@ -36,15 +36,26 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
3636 local g = Duel .SelectMatchingCard (tp ,Card .IsCanChangePositionRush ,tp ,0 ,LOCATION_MZONE ,1 ,1 ,nil )
3737 Duel .HintSelection (g )
3838 if Duel .ChangePosition (g ,POS_FACEUP_DEFENSE ,POS_FACEDOWN_DEFENSE ,POS_FACEUP_ATTACK ,POS_FACEUP_ATTACK )> 0 then
39- local g2 = Duel .GetMatchingGroup (s .desfilter ,tp ,0 ,LOCATION_MZONE ,nil ,e :GetHandler ():GetLevel ())
40- if # g2 > 0 and Duel .SelectYesNo (tp ,aux .Stringid (id ,2 )) then
41- Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_DESTROY )
42- local sg = g2 :Select (tp ,1 ,1 ,nil )
43- if # sg == 0 then return end
39+ local e1 = Effect .CreateEffect (e :GetHandler ())
40+ e1 :SetType (EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS )
41+ e1 :SetCode (EVENT_CHAIN_END )
42+ e1 :SetLabel (e :GetHandler ():GetLevel ())
43+ e1 :SetOperation (s .desop )
44+ e1 :SetReset (RESET_PHASE + PHASE_END )
45+ Duel .RegisterEffect (e1 ,tp )
46+ end
47+ end
48+ function s .desop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
49+ local lvl = e :GetLabel ()
50+ local g2 = Duel .GetMatchingGroup (s .desfilter ,tp ,0 ,LOCATION_MZONE ,nil ,lvl )
51+ if # g2 > 0 and Duel .SelectYesNo (tp ,aux .Stringid (id ,2 )) then
52+ Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_DESTROY )
53+ local sg = g2 :Select (tp ,1 ,1 ,nil )
54+ if # sg > 0 then
4455 sg = sg :AddMaximumCheck ()
4556 Duel .HintSelection (sg )
46- Duel .BreakEffect ()
4757 Duel .Destroy (sg ,REASON_EFFECT )
4858 end
4959 end
60+ e :Reset ()
5061end
0 commit comments