1+ -- センチネル・オフィサー
2+ -- Sentinel Officer
3+ -- Scripted by YoshiDuels
4+ local s ,id = GetID ()
5+ function s .initial_effect (c )
6+ -- Fusion Summon
7+ local params = {s .filter ,nil ,function (e ,tp ,mg ) return nil ,s .fcheck end }
8+ local e1 = Effect .CreateEffect (c )
9+ e1 :SetDescription (aux .Stringid (id ,1 ))
10+ e1 :SetCategory (CATEGORY_SPECIAL_SUMMON + CATEGORY_FUSION_SUMMON )
11+ e1 :SetType (EFFECT_TYPE_IGNITION )
12+ e1 :SetRange (LOCATION_MZONE )
13+ e1 :SetCountLimit (1 )
14+ e1 :SetCondition (s .condition )
15+ e1 :SetTarget (Fusion .SummonEffTG (table.unpack (params )))
16+ e1 :SetOperation (Fusion .SummonEffOP (table.unpack (params )))
17+ c :RegisterEffect (e1 )
18+ end
19+ function s .filter (c )
20+ return c :IsRace (RACE_GALAXY ) and c :IsAttribute (ATTRIBUTE_LIGHT ) and c :IsLevel (9 )
21+ end
22+ function s .fcheck (tp ,sg ,fc )
23+ local mg1 = sg :Filter (Card .IsAttribute ,nil ,ATTRIBUTE_LIGHT )
24+ local mg2 = sg :Filter (Card .IsAttribute ,nil ,ATTRIBUTE_DARK )
25+ return # sg == 2 and # mg1 == 1 and # mg2 == 1
26+ end
27+ function s .condition (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
28+ local g = Duel .GetMatchingGroup (Card .IsMonster ,tp ,LOCATION_GRAVE ,0 ,nil )
29+ return # g > 0 and not g :IsExists (aux .NOT (Card .IsRace ),1 ,nil ,RACE_GALAXY )
30+ end
0 commit comments