1+ -- OTSマザーファンガス
2+ -- OuTerverSe Mother Fungus
3+ -- scripted by YoshiDuels
4+ local s ,id = GetID ()
5+ function s .initial_effect (c )
6+ -- Fusion Procedure
7+ c :EnableReviveLimit ()
8+ Fusion .AddProcMixN (c ,true ,true ,160022002 ,1 ,s .ffilter ,1 )
9+ -- Name becomes "OuTerverSe" in the Graveyard
10+ local e0 = Effect .CreateEffect (c )
11+ e0 :SetType (EFFECT_TYPE_SINGLE )
12+ e0 :SetCode (EFFECT_CHANGE_CODE )
13+ e0 :SetProperty (EFFECT_FLAG_SINGLE_RANGE )
14+ e0 :SetRange (LOCATION_GRAVE )
15+ e0 :SetValue (160022200 )
16+ c :RegisterEffect (e0 )
17+ -- Change type to Galaxy
18+ local e1 = Effect .CreateEffect (c )
19+ e1 :SetDescription (aux .Stringid (id ,0 ))
20+ e1 :SetType (EFFECT_TYPE_IGNITION )
21+ e1 :SetRange (LOCATION_MZONE )
22+ e1 :SetCountLimit (1 )
23+ e1 :SetCost (s .cost )
24+ e1 :SetTarget (s .target )
25+ e1 :SetOperation (s .operation )
26+ c :RegisterEffect (e1 )
27+ end
28+ s .named_material = {160022002 }
29+ function s .ffilter (c ,fc ,sumtype ,tp )
30+ return not c :IsAttribute (ATTRIBUTE_LIGHT ,fc ,sumtype ,tp )
31+ end
32+ function s .tdfilter (c )
33+ return c :IsCode (160022200 ) and c :IsAbleToDeckOrExtraAsCost ()
34+ end
35+ function s .cost (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
36+ if chk == 0 then return Duel .IsExistingMatchingCard (s .tdfilter ,tp ,LOCATION_GRAVE ,0 ,2 ,nil ) end
37+ end
38+ function s .target (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
39+ local c = e :GetHandler ()
40+ if chk == 0 then return c :CanChangeIntoTypeRush (RACE_GALAXY ) end
41+ end
42+ function s .desfilter (c )
43+ return c :IsFaceup () and c :GetAttack ()~= c :GetBaseAttack () and not c :IsMaximumModeSide ()
44+ end
45+ function s .operation (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
46+ local c = e :GetHandler ()
47+ -- Requirement
48+ Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_TODECK )
49+ local td = Duel .SelectMatchingCard (tp ,s .tdfilter ,tp ,LOCATION_GRAVE ,0 ,2 ,2 ,nil )
50+ if # td == 0 then return end
51+ Duel .HintSelection (td )
52+ if Duel .SendtoDeck (td ,nil ,SEQ_DECKSHUFFLE ,REASON_COST )~= 2 then return end
53+ -- Effect
54+ local e1 = Effect .CreateEffect (c )
55+ e1 :SetType (EFFECT_TYPE_SINGLE )
56+ e1 :SetCode (EFFECT_CHANGE_RACE )
57+ e1 :SetValue (RACE_GALAXY )
58+ e1 :SetReset (RESETS_STANDARD_PHASE_END )
59+ c :RegisterEffect (e1 )
60+ if Duel .IsExistingMatchingCard (Card .IsSpellTrap ,tp ,0 ,LOCATION_ONFIELD ,1 ,nil ) and Duel .SelectYesNo (tp ,aux .Stringid (id ,1 )) then
61+ Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_DESTROY )
62+ local g = Duel .SelectMatchingCard (tp ,Card .IsSpellTrap ,tp ,0 ,LOCATION_ONFIELD ,1 ,1 ,nil )
63+ Duel .HintSelection (g )
64+ Duel .BreakEffect ()
65+ Duel .Destroy (g ,REASON_EFFECT )
66+ end
67+ end
0 commit comments