1+ -- OTSバースト・オブリビオン
2+ -- OuTerverSe Byugyuwazzo
3+ -- scripted by YoshiDuels
4+ local s ,id = GetID ()
5+ function s .initial_effect (c )
6+ -- Name becomes "OuTerverSe" in the Graveyard
7+ local e0 = Effect .CreateEffect (c )
8+ e0 :SetType (EFFECT_TYPE_SINGLE )
9+ e0 :SetCode (EFFECT_CHANGE_CODE )
10+ e0 :SetProperty (EFFECT_FLAG_SINGLE_RANGE )
11+ e0 :SetRange (LOCATION_GRAVE )
12+ e0 :SetValue (160022200 )
13+ c :RegisterEffect (e0 )
14+ -- summon without tribute
15+ local e1 = Effect .CreateEffect (c )
16+ e1 :SetDescription (aux .Stringid (id ,0 ))
17+ e1 :SetProperty (EFFECT_FLAG_UNCOPYABLE )
18+ e1 :SetType (EFFECT_TYPE_SINGLE )
19+ e1 :SetCode (EFFECT_SUMMON_PROC )
20+ e1 :SetCondition (s .ntcon )
21+ c :RegisterEffect (e1 )
22+ -- Special Summon
23+ local e2 = Effect .CreateEffect (c )
24+ e2 :SetDescription (aux .Stringid (id ,1 ))
25+ e2 :SetCategory (CATEGORY_SPECIAL_SUMMON )
26+ e2 :SetType (EFFECT_TYPE_IGNITION )
27+ e2 :SetRange (LOCATION_MZONE )
28+ e2 :SetCountLimit (1 )
29+ e2 :SetCost (s .cost )
30+ e2 :SetTarget (s .target )
31+ e2 :SetOperation (s .operation )
32+ c :RegisterEffect (e2 )
33+ end
34+ s .listed_names = {160022200 ,160022057 }
35+ function s .ntcon (e ,c ,minc )
36+ if c == nil then return true end
37+ return minc == 0 and c :GetLevel ()> 4 and Duel .GetLocationCount (c :GetControler (),LOCATION_MZONE )> 0
38+ and Duel .IsExistingMatchingCard (Card .IsCode ,e :GetHandlerPlayer (),LOCATION_GRAVE ,0 ,3 ,nil ,160022200 )
39+ end
40+ function s .cost (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
41+ if chk == 0 then return Duel .IsExistingMatchingCard (Card .IsAbleToGraveAsCost ,tp ,LOCATION_HAND ,0 ,1 ,nil ) end
42+ end
43+ function s .target (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
44+ local c = e :GetHandler ()
45+ if chk == 0 then return c :CanChangeIntoTypeRush (RACE_GALAXY ) end
46+ end
47+ function s .thfilter (c )
48+ return c :IsCode (160022057 ) and c :IsAbleToHand ()
49+ end
50+ function s .operation (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
51+ local c = e :GetHandler ()
52+ -- Requirement
53+ Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_TOGRAVE )
54+ local g = Duel .SelectMatchingCard (tp ,Card .IsAbleToGraveAsCost ,tp ,LOCATION_HAND ,0 ,1 ,1 ,nil )
55+ if Duel .SendtoGrave (g ,REASON_COST )< 1 then return end
56+ -- Effect
57+ local e1 = Effect .CreateEffect (c )
58+ e1 :SetType (EFFECT_TYPE_SINGLE )
59+ e1 :SetCode (EFFECT_CHANGE_RACE )
60+ e1 :SetValue (RACE_GALAXY )
61+ e1 :SetReset (RESETS_STANDARD_PHASE_END )
62+ c :RegisterEffect (e1 )
63+ Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_ATOHAND )
64+ if Duel .IsExistingMatchingCard (aux .NecroValleyFilter (s .thfilter ),tp ,LOCATION_GRAVE ,0 ,1 ,nil ) and Duel .SelectYesNo (tp ,aux .Stringid (id ,2 )) then
65+ Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_ATOHAND )
66+ local g2 = Duel .SelectMatchingCard (tp ,aux .NecroValleyFilter (s .thfilter ),tp ,LOCATION_GRAVE ,0 ,1 ,1 ,nil )
67+ if # g2 > 0 then
68+ Duel .BreakEffect ()
69+ Duel .SendtoHand (g2 ,nil ,REASON_EFFECT )
70+ Duel .ConfirmCards (1 - tp ,g2 )
71+ end
72+ end
73+ end
0 commit comments