@@ -29,15 +29,29 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
2929 local tc = eg :GetFirst ()
3030 if tc :WasMaximumMode () then
3131 Duel .SpecialSummon (tc ,0 ,tp ,tc :GetPreviousControler (),false ,false ,tc :GetPreviousPosition (),0x4 )
32+ tc :RegisterFlagEffect (FLAG_MAXIMUM_CENTER_PREONFIELD ,RESET_EVENT + RESETS_STANDARD - RESET_TOGRAVE - RESET_LEAVE ,0 ,1 )
3233 tc :RegisterFlagEffect (FLAG_MAXIMUM_CENTER ,RESET_EVENT |RESETS_STANDARD &~RESET_TOFIELD ,0 ,1 )
33- local maxg = Duel . GetMatchingGroup ( s . maxfilter , tc : GetPreviousControler (), LOCATION_GRAVE , 0 , nil , tc )
34- for maxc in maxg : Iter () do
35- local zone = 0x8
36- if maxc . MaximumSide == " Left " then zone = 0x2 end
37- maxc : RegisterFlagEffect ( FLAG_MAXIMUM_SIDE , RESET_EVENT | RESETS_STANDARD &~ RESET_TOFIELD , 0 , 1 )
38- Duel . MoveToField ( maxc , tc : GetPreviousControler (), tc : GetPreviousControler (), LOCATION_MZONE , POS_FACEUP_ATTACK , true , zone )
39- end
34+ local e1 = Effect . CreateEffect ( e : GetHandler () )
35+ e1 : SetType ( EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS )
36+ e1 : SetCode ( EVENT_CHAIN_END )
37+ e1 : SetLabelObject ( tc )
38+ e1 : SetOperation ( s . desop )
39+ e1 : SetReset ( RESET_PHASE + PHASE_END )
40+ Duel . RegisterEffect ( e1 , tp )
4041 else
4142 Duel .SpecialSummon (tc ,0 ,tp ,tc :GetPreviousControler (),false ,false ,tc :GetPreviousPosition ())
4243 end
44+ end
45+ function s .desop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
46+ local tc = e :GetLabelObject ()
47+ local maxg = Duel .GetMatchingGroup (s .maxfilter ,tc :GetPreviousControler (),LOCATION_GRAVE ,0 ,nil ,tc )
48+ for maxc in maxg :Iter () do
49+ local zone = 0x8
50+ if maxc .MaximumSide == " Left" then zone = 0x2 end
51+ maxc :RegisterFlagEffect (FLAG_MAXIMUM_SIDE_PREONFIELD ,RESET_EVENT + RESETS_STANDARD - RESET_TOFIELD - RESET_TOGRAVE - RESET_LEAVE ,0 ,1 )
52+ maxc :RegisterFlagEffect (FLAG_MAXIMUM_SIDE_RELATION + tc :GetCardID (),RESET_EVENT + RESETS_STANDARD - RESET_TOFIELD - RESET_TOGRAVE - RESET_LEAVE ,0 ,1 )
53+ maxc :RegisterFlagEffect (FLAG_MAXIMUM_SIDE ,RESET_EVENT |RESETS_STANDARD &~RESET_TOFIELD ,0 ,1 )
54+ Duel .MoveToField (maxc ,tc :GetPreviousControler (),tc :GetPreviousControler (),LOCATION_MZONE ,POS_FACEUP_ATTACK ,true ,zone )
55+ end
56+ e :Reset ()
4357end
0 commit comments