@@ -5,7 +5,7 @@ local s,id=GetID()
55function s .initial_effect (c )
66 Fusion .AddProcMix (c ,true ,true ,aux .FilterBoolFunctionEx (Card .IsSetCard ,SET_DESPIA ),s .matfilter )
77 c :EnableReviveLimit ()
8- -- Change ATK to 0
8+ -- Change the ATK of all monsters currently on the field to 0, except Level 8 or higher Fusion Monsters
99 local e1 = Effect .CreateEffect (c )
1010 e1 :SetDescription (aux .Stringid (id ,0 ))
1111 e1 :SetCategory (CATEGORY_ATKCHANGE )
@@ -14,16 +14,16 @@ function s.initial_effect(c)
1414 e1 :SetRange (LOCATION_MZONE )
1515 e1 :SetHintTiming (0 ,TIMING_MAIN_END )
1616 e1 :SetCountLimit (1 ,id )
17- e1 :SetCondition (s . atkcon )
17+ e1 :SetCondition (function () return Duel . IsMainPhase () end )
1818 e1 :SetTarget (s .atktg )
1919 e1 :SetOperation (s .atkop )
2020 c :RegisterEffect (e1 )
21- -- Search or Special Summon
21+ -- Add to your hand, or Special Summon, 1 "Fallen of Albaz" or 1 "Despia" monster, from your Deck
2222 local e2 = Effect .CreateEffect (c )
2323 e2 :SetDescription (aux .Stringid (id ,1 ))
2424 e2 :SetCategory (CATEGORY_TOHAND + CATEGORY_SEARCH + CATEGORY_SPECIAL_SUMMON )
25- e2 :SetProperty (EFFECT_FLAG_DELAY + EFFECT_FLAG_DAMAGE_STEP )
2625 e2 :SetType (EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_O )
26+ e2 :SetProperty (EFFECT_FLAG_DELAY )
2727 e2 :SetCode (EVENT_LEAVE_FIELD )
2828 e2 :SetCountLimit (1 ,{id ,1 })
2929 e2 :SetCondition (s .thcon )
@@ -36,10 +36,6 @@ s.listed_names={CARD_ALBAZ}
3636function s .matfilter (c ,fc ,st ,tp )
3737 return c :IsAttribute (ATTRIBUTE_LIGHT ,fc ,st ,tp ) or c :IsAttribute (ATTRIBUTE_DARK ,fc ,st ,tp )
3838end
39- -- Change ATK
40- function s .atkcon (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
41- return Duel .IsMainPhase ()
42- end
4339function s .atkfilter (c )
4440 return c :IsFaceup () and c :GetAttack ()> 0 and not (c :IsType (TYPE_FUSION ) and c :IsLevelAbove (8 ))
4541end
@@ -49,10 +45,11 @@ function s.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
4945 Duel .SetOperationInfo (0 ,CATEGORY_ATKCHANGE ,g ,# g ,PLAYER_ALL ,LOCATION_MZONE )
5046end
5147function s .atkop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
52- local c = e :GetHandler ()
5348 local g = Duel .GetMatchingGroup (s .atkfilter ,tp ,LOCATION_MZONE ,LOCATION_MZONE ,nil )
49+ if # g == 0 then return end
50+ local c = e :GetHandler ()
5451 for tc in g :Iter () do
55- -- Make ATK 0
52+ -- Change the ATK to 0 until the end of this turn
5653 local e1 = Effect .CreateEffect (c )
5754 e1 :SetType (EFFECT_TYPE_SINGLE )
5855 e1 :SetCode (EFFECT_SET_ATTACK_FINAL )
@@ -61,7 +58,6 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp)
6158 tc :RegisterEffect (e1 )
6259 end
6360end
64- -- Search or Special Summon
6561function s .thcon (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
6662 local c = e :GetHandler ()
6763 return rp == 1 - tp and c :IsReason (REASON_EFFECT ) and c :IsPreviousPosition (POS_FACEUP ) and c :IsPreviousControler (tp )
7369function s .thtg (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
7470 local ft = Duel .GetLocationCount (tp ,LOCATION_MZONE )
7571 if chk == 0 then return Duel .IsExistingMatchingCard (s .thfilter ,tp ,LOCATION_DECK ,0 ,1 ,nil ,e ,tp ,ft ) end
72+ Duel .SetPossibleOperationInfo (0 ,CATEGORY_TOHAND ,nil ,1 ,tp ,LOCATION_DECK )
73+ Duel .SetPossibleOperationInfo (0 ,CATEGORY_SPECIAL_SUMMON ,nil ,1 ,tp ,LOCATION_DECK )
7674end
7775function s .thop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
78- Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_ATOHAND )
7976 local ft = Duel .GetLocationCount (tp ,LOCATION_MZONE )
77+ Duel .Hint (HINT_SELECTMSG ,tp ,aux .Stringid (id ,2 ))
8078 local tc = Duel .SelectMatchingCard (tp ,s .thfilter ,tp ,LOCATION_DECK ,0 ,1 ,1 ,nil ,e ,tp ,ft ):GetFirst ()
8179 if tc then
8280 aux .ToHandOrElse (tc ,tp ,function (c )
8381 return tc :IsCanBeSpecialSummoned (e ,0 ,tp ,false ,false ) and ft > 0 end ,
8482 function (c )
8583 Duel .SpecialSummon (tc ,0 ,tp ,tp ,false ,false ,POS_FACEUP ) end ,
86- aux .Stringid (id ,1 ))
84+ aux .Stringid (id ,3 ))
8785 end
8886end
0 commit comments