@@ -13,15 +13,15 @@ function s.initial_effect(c)
1313 e1 :SetCode (EVENT_FREE_CHAIN )
1414 e1 :SetRange (LOCATION_MZONE )
1515 e1 :SetCountLimit (1 )
16- e1 :SetHintTiming (TIMING_DAMAGE_STEP )
16+ e1 :SetHintTiming (TIMING_DAMAGE_STEP | TIMING_SSET , TIMING_DAMAGE_STEP | TIMING_SSET | TIMING_STANDBY_PHASE | TIMING_MAIN_END | TIMINGS_CHECK_MONSTER_E )
1717 e1 :SetCost (Cost .Detach (1 ))
1818 e1 :SetTarget (s .efftg )
1919 e1 :SetOperation (s .effop )
2020 c :RegisterEffect (e1 )
2121end
2222s .xyz_number = 87
2323function s .setfilter (c )
24- return c :IsFaceup () and c : IsRace (RACE_PLANT ) and c :IsCanTurnSet ()
24+ return c :IsRace (RACE_PLANT ) and c :IsCanTurnSet ()
2525end
2626function s .efftg (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk ,chkc )
2727 if chkc then
@@ -34,10 +34,10 @@ function s.efftg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
3434 return chkc :IsLocation (LOCATION_MZONE ) and chkc :IsFaceup ()
3535 end
3636 end
37- local not_dmg_step = Duel .GetCurrentPhase () ~= PHASE_DAMAGE
37+ local not_dmg_step = not Duel .IsPhase ( PHASE_DAMAGE )
3838 local b1 = not_dmg_step and Duel .IsExistingTarget (Card .IsFacedown ,tp ,0 ,LOCATION_SZONE ,1 ,nil )
3939 local b2 = not_dmg_step and Duel .IsExistingTarget (s .setfilter ,tp ,LOCATION_MZONE ,LOCATION_MZONE ,1 ,nil )
40- local b3 = aux .StatChangeDamageStepCondition (e , tp , eg , ep , ev , re , r , rp )
40+ local b3 = aux .StatChangeDamageStepCondition ()
4141 and Duel .IsExistingTarget (Card .IsFaceup ,tp ,LOCATION_MZONE ,LOCATION_MZONE ,1 ,nil )
4242 if chk == 0 then return b1 or b2 or b3 end
4343 local op = Duel .SelectEffect (tp ,
@@ -53,34 +53,35 @@ function s.efftg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
5353 e :SetCategory (CATEGORY_POSITION )
5454 Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_POSCHANGE )
5555 local g = Duel .SelectTarget (tp ,s .setfilter ,tp ,LOCATION_MZONE ,LOCATION_MZONE ,1 ,1 ,nil )
56- Duel .SetOperationInfo (0 ,CATEGORY_POSITION ,g ,1 ,0 ,0 )
56+ Duel .SetOperationInfo (0 ,CATEGORY_POSITION ,g ,1 ,tp ,0 )
5757 elseif op == 3 then
5858 e :SetCategory (CATEGORY_ATKCHANGE )
59- Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_FACEUP )
59+ Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_ATKDEF )
6060 Duel .SelectTarget (tp ,Card .IsFaceup ,tp ,LOCATION_MZONE ,LOCATION_MZONE ,1 ,1 ,nil )
6161 end
6262end
6363function s .effop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
6464 local tc = Duel .GetFirstTarget ()
6565 if not tc :IsRelateToEffect (e ) then return end
66- local c = e :GetHandler ()
6766 local op = e :GetLabel ()
67+ local c = e :GetHandler ()
6868 if op == 1 then
6969 -- Target 1 Set Spell/Trap your opponent controls; while this card is face-up on the field, that Set card cannot be activated
7070 if c :IsRelateToEffect (e ) and tc :IsFacedown () then
7171 c :SetCardTarget (tc )
72+ -- While this card is face-up on the field, that Set card cannot be activated
7273 local e1 = Effect .CreateEffect (c )
7374 e1 :SetType (EFFECT_TYPE_SINGLE )
7475 e1 :SetProperty (EFFECT_FLAG_OWNER_RELATE )
7576 e1 :SetCode (EFFECT_CANNOT_TRIGGER )
76- e1 :SetCondition (function (e ) return e : GetOwner (): IsHasCardTarget ( e : GetHandler () ) end )
77+ e1 :SetCondition (function () return c : IsHasCardTarget ( tc ) and tc : IsFacedown ( ) end )
7778 e1 :SetValue (1 )
7879 e1 :SetReset (RESET_EVENT |RESETS_STANDARD )
7980 tc :RegisterEffect (e1 )
8081 end
8182 elseif op == 2 then
8283 -- Target 1 Plant monster on the field; change that target to face-down Defense Position
83- if tc :IsFaceup ( ) then
84+ if tc :IsRace ( RACE_PLANT ) then
8485 Duel .ChangePosition (tc ,POS_FACEDOWN_DEFENSE )
8586 end
8687 elseif op == 3 then
0 commit comments