1+ -- 幽鬼の氷塊
12-- Spectral Ice Floe
23local s ,id = GetID ()
34function s .initial_effect (c )
@@ -6,33 +7,34 @@ function s.initial_effect(c)
67 e1 :SetType (EFFECT_TYPE_ACTIVATE )
78 e1 :SetCode (EVENT_FREE_CHAIN )
89 c :RegisterEffect (e1 )
9- -- unaffected
10+ -- Cards you control, except this one, are unaffected by other card effects
1011 local e2 = Effect .CreateEffect (c )
1112 e2 :SetDescription (aux .Stringid (id ,0 ))
12- e2 :SetType (EFFECT_TYPE_QUICK_O )
13+ e2 :SetType (EFFECT_TYPE_IGNITION )
1314 e2 :SetCode (EVENT_FREE_CHAIN )
1415 e2 :SetRange (LOCATION_SZONE )
15- e2 :SetCost (s .uncost )
16- e2 :SetOperation (s .unop )
16+ e2 :SetCost (s .protectcost )
17+ e2 :SetOperation (s .protectop )
1718 c :RegisterEffect (e2 )
1819end
1920function s .costfilter (c )
2021 return c :IsAttribute (ATTRIBUTE_DARK ) and c :IsAbleToRemoveAsCost () and aux .SpElimFilter (c ,true )
2122end
22- function s .uncost (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
23+ function s .protectcost (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
2324 if chk == 0 then return Duel .IsExistingMatchingCard (s .costfilter ,tp ,LOCATION_MZONE |LOCATION_GRAVE ,0 ,1 ,nil ) end
2425 Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_REMOVE )
2526 local g = Duel .SelectMatchingCard (tp ,s .costfilter ,tp ,LOCATION_MZONE |LOCATION_GRAVE ,0 ,1 ,1 ,nil )
2627 Duel .Remove (g ,POS_FACEUP ,REASON_COST )
2728end
28- function s .unop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
29+ function s .protectop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
2930 if not e :GetHandler ():IsRelateToEffect (e ) then return end
3031 local e1 = Effect .CreateEffect (e :GetHandler ())
3132 e1 :SetType (EFFECT_TYPE_FIELD )
3233 e1 :SetProperty (EFFECT_FLAG_IGNORE_IMMUNE + EFFECT_FLAG_SET_AVAILABLE )
3334 e1 :SetCode (EFFECT_IMMUNE_EFFECT )
35+ e1 :SetCondition (function (e ) return e :GetHandler ():IsFaceup () and e :GetHandler ():IsOnField () end )
3436 e1 :SetTargetRange (LOCATION_ONFIELD ,0 )
35- e1 :SetReset ( RESET_PHASE + PHASE_END )
37+ e1 :SetTarget ( function ( e , c ) return c ~= e : GetHandler () end )
3638 e1 :SetValue (1 )
3739 Duel .RegisterEffect (e1 ,tp )
38- end
40+ end
0 commit comments