@@ -33,11 +33,11 @@ function s.effcost(e,tp,eg,ep,ev,re,r,rp,chk)
3333 and Duel .IsExistingMatchingCard (s .spconfilter ,tp ,LOCATION_MZONE |LOCATION_GRAVE ,0 ,1 ,nil )
3434 and Duel .IsExistingTarget (Card .IsCanBeSpecialSummoned ,tp ,LOCATION_GRAVE ,LOCATION_GRAVE ,1 ,nil ,e ,0 ,tp ,false ,false )
3535 if chk == 0 then return b1 or b2 end
36- local op = Duel .SelectEffect (tp ,
36+ local cd = e :GetChainData ()
37+ cd .choice = Duel .SelectEffect (tp ,
3738 {b1 ,aux .Stringid (id ,1 )},
3839 {b2 ,aux .Stringid (id ,2 )})
39- e :SetLabel (op )
40- if op == 1 then
40+ if cd .choice == 1 then
4141 Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_TOGRAVE )
4242 local g = Duel .SelectMatchingCard (tp ,s .descostfilter ,tp ,LOCATION_EXTRA ,0 ,1 ,1 ,nil )
4343 Duel .SendtoGrave (g ,REASON_COST )
4646function s .efftg (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk ,chkc )
4747 local c = e :GetHandler ()
4848 if chkc then
49- local op = Duel . GetChainInfo ( 0 , CHAININFO_TARGET_PARAM )
50- if op == 1 then
49+ local cd = e : GetChainData ( )
50+ if cd . choice == 1 then
5151 return chkc :IsOnField () and chkc :IsFaceup () and chkc ~= c
52- elseif op == 2 then
52+ elseif cd . choice == 2 then
5353 return chkc :IsLocation (LOCATION_GRAVE ) and chkc :IsCanBeSpecialSummoned (e ,0 ,tp ,false ,false )
5454 end
5555 end
@@ -61,23 +61,17 @@ function s.efftg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
6161 and Duel .IsExistingMatchingCard (s .spconfilter ,tp ,LOCATION_MZONE |LOCATION_GRAVE ,0 ,1 ,nil )
6262 and Duel .IsExistingTarget (Card .IsCanBeSpecialSummoned ,tp ,LOCATION_GRAVE ,LOCATION_GRAVE ,1 ,nil ,e ,0 ,tp ,false ,false )
6363 if chk == 0 then return b1 or b2 end
64- local op = nil
65- local label = e :GetLabel ()
66- if label ~= 0 then
67- op = label
68- else
69- op = Duel .SelectEffect (tp ,
64+ local cd = e :GetChainData ()
65+ cd .choice = cd .choice
66+ or Duel .SelectEffect (tp ,
7067 {b1 ,aux .Stringid (id ,1 )},
7168 {b2 ,aux .Stringid (id ,2 )})
72- end
73- e :SetLabel (0 )
74- Duel .SetTargetParam (op )
75- if op == 1 then
69+ if cd .choice == 1 then
7670 e :SetCategory (CATEGORY_DESTROY )
7771 Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_DESTROY )
7872 local g = Duel .SelectTarget (tp ,Card .IsFaceup ,tp ,LOCATION_ONFIELD ,LOCATION_ONFIELD ,1 ,1 ,c )
7973 Duel .SetOperationInfo (0 ,CATEGORY_DESTROY ,g ,1 ,tp ,0 )
80- elseif op == 2 then
74+ elseif cd . choice == 2 then
8175 e :SetCategory (CATEGORY_SPECIAL_SUMMON )
8276 Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_SPSUMMON )
8377 local g = Duel .SelectTarget (tp ,Card .IsCanBeSpecialSummoned ,tp ,LOCATION_GRAVE ,LOCATION_GRAVE ,1 ,1 ,nil ,e ,0 ,tp ,false ,false )
8781function s .effop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
8882 local tc = Duel .GetFirstTarget ()
8983 if not tc :IsRelateToEffect (e ) then return end
90- local op = Duel . GetChainInfo ( 0 , CHAININFO_TARGET_PARAM )
91- if op == 1 then
84+ local cd = e : GetChainData ( )
85+ if cd . choice == 1 then
9286 -- Send 1 monster that mentions "Fallen of Albaz" from your Extra Deck to the GY, then target 1 face-up card on the field; destroy it
9387 Duel .Destroy (tc ,REASON_EFFECT )
94- elseif op == 2 then
88+ elseif cd . choice == 2 then
9589 -- If you have an "Ecclesia" monster in your field or GY: Target 1 monster in either GY; Special Summon it to your field
9690 Duel .SpecialSummon (tc ,0 ,tp ,tp ,false ,false ,POS_FACEUP )
9791 end
98- end
92+ end
0 commit comments