1+ -- E・HERO ネビュラ・ネオス
12-- Elemental HERO Nebula Neos
23local s ,id = GetID ()
34function s .initial_effect (c )
4- -- fusion material
55 c :EnableReviveLimit ()
6- Fusion .AddProcMix (c ,true ,true ,CARD_NEOS ,43237273 ,80344569 )
6+ -- Fusion Materials: "Elemental HERO Neos" + "Neo-Spacian Grand Mole" + "Neo-Spacian Dark Panther"
7+ Fusion .AddProcMix (c ,true ,true ,CARD_NEOS ,80344569 ,43237273 )
78 Fusion .AddContactProc (c ,s .contactfil ,s .contactop ,s .splimit )
89 aux .EnableNeosReturn (c ,CATEGORY_REMOVE ,s .retinfo ,s .retop )
9- -- draw
10- local e3 = Effect .CreateEffect (c )
11- e3 :SetDescription (aux .Stringid (id ,1 ))
12- e3 :SetCategory (CATEGORY_DRAW + CATEGORY_DISABLE )
13- e3 :SetType (EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_F )
14- e3 :SetCode (EVENT_SPSUMMON_SUCCESS )
15- e3 :SetProperty (EFFECT_FLAG_PLAYER_TARGET )
16- e3 :SetCondition (s . drcon )
17- e3 :SetTarget (s .drtg )
18- e3 :SetOperation (s .drop )
19- c :RegisterEffect (e3 )
20- end
21- s .listed_names = {CARD_NEOS ,43237273 , 80344569 }
22- s .material_setcode = {0x8 , 0x3008 , 0x9 , 0x1f }
10+ -- Draw cards equal to the number of cards your opponent controls
11+ local e1 = Effect .CreateEffect (c )
12+ e1 :SetDescription (aux .Stringid (id ,0 ))
13+ e1 :SetCategory (CATEGORY_DRAW + CATEGORY_DISABLE )
14+ e1 :SetType (EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_F )
15+ e1 :SetCode (EVENT_SPSUMMON_SUCCESS )
16+ e1 :SetProperty (EFFECT_FLAG_PLAYER_TARGET )
17+ e1 :SetCondition (function ( e ) return e : GetHandler (): IsPreviousLocation ( LOCATION_EXTRA ) end )
18+ e1 :SetTarget (s .drtg )
19+ e1 :SetOperation (s .drop )
20+ c :RegisterEffect (e1 )
21+ end
22+ s .listed_names = {CARD_NEOS ,80344569 , 43237273 } -- "Neo-Spacian Grand Mole", "Neo-Spacian Dark Panther"
23+ s .material_setcode = {SET_HERO , SET_ELEMENTAL_HERO , SET_NEOS , SET_NEO_SPACIAN }
2324function s .contactfil (tp )
2425 return Duel .GetMatchingGroup (Card .IsAbleToDeckOrExtraAsCost ,tp ,LOCATION_ONFIELD ,0 ,nil )
2526end
2627function s .contactop (g ,tp )
2728 Duel .ConfirmCards (1 - tp ,g )
28- Duel .SendtoDeck (g ,nil ,SEQ_DECKSHUFFLE ,REASON_COST + REASON_MATERIAL )
29+ Duel .SendtoDeck (g ,nil ,SEQ_DECKSHUFFLE ,REASON_COST | REASON_MATERIAL )
2930end
3031function s .splimit (e ,se ,sp ,st )
3132 return not e :GetHandler ():IsLocation (LOCATION_EXTRA )
3233end
3334function s .retinfo (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
3435 local g = Duel .GetMatchingGroup (Card .IsAbleToRemove ,tp ,LOCATION_ONFIELD ,LOCATION_ONFIELD ,1 ,1 ,e :GetHandler (),tp ,POS_FACEDOWN )
3536 Duel .SetOperationInfo (0 ,CATEGORY_REMOVE ,g ,# g ,0 ,0 )
36- Duel .SetOperationInfo (0 ,CATEGORY_TODECK ,e :GetHandler (),1 ,0 ,0 )
37+ Duel .SetOperationInfo (0 ,CATEGORY_TODECK ,e :GetHandler (),1 ,tp ,0 )
3738end
3839function s .retop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
3940 local g = Duel .GetMatchingGroup (Card .IsAbleToRemove ,tp ,LOCATION_ONFIELD ,LOCATION_ONFIELD ,1 ,1 ,nil ,tp ,POS_FACEDOWN )
4041 Duel .Remove (g ,POS_FACEDOWN ,REASON_EFFECT )
4142end
42- function s .drcon (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
43- return e :GetHandler ():IsPreviousLocation (LOCATION_EXTRA )
44- end
4543function s .drtg (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
4644 local ct = Duel .GetFieldGroupCount (tp ,0 ,LOCATION_ONFIELD )
4745 if chk == 0 then return true end
@@ -53,31 +51,10 @@ function s.drop(e,tp,eg,ep,ev,re,r,rp)
5351 local p = Duel .GetChainInfo (0 ,CHAININFO_TARGET_PLAYER )
5452 local d = Duel .GetFieldGroupCount (tp ,0 ,LOCATION_ONFIELD )
5553 local g = Duel .GetMatchingGroup (Card .IsNegatable ,tp ,LOCATION_ONFIELD ,LOCATION_ONFIELD ,nil )
56- if Duel .Draw (p ,d ,REASON_EFFECT )~= 0 and # g > 0 then
54+ if Duel .Draw (p ,d ,REASON_EFFECT )> 0 and # g > 0 then
5755 Duel .BreakEffect ()
58- local sg = g :Select (tp ,1 ,1 ,nil )
59- local tc = sg :GetFirst ()
60- Duel .NegateRelatedChain (tc ,RESET_TURN_SET )
61- local e1 = Effect .CreateEffect (c )
62- e1 :SetType (EFFECT_TYPE_SINGLE )
63- e1 :SetProperty (EFFECT_FLAG_CANNOT_DISABLE )
64- e1 :SetCode (EFFECT_DISABLE )
65- e1 :SetReset (RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_END )
66- tc :RegisterEffect (e1 )
67- local e2 = Effect .CreateEffect (c )
68- e2 :SetType (EFFECT_TYPE_SINGLE )
69- e2 :SetProperty (EFFECT_FLAG_CANNOT_DISABLE )
70- e2 :SetCode (EFFECT_DISABLE_EFFECT )
71- e2 :SetValue (RESET_TURN_SET )
72- e2 :SetReset (RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_END )
73- tc :RegisterEffect (e2 )
74- if tc :IsType (TYPE_TRAPMONSTER ) then
75- local e3 = Effect .CreateEffect (c )
76- e3 :SetType (EFFECT_TYPE_SINGLE )
77- e3 :SetProperty (EFFECT_FLAG_CANNOT_DISABLE )
78- e3 :SetCode (EFFECT_DISABLE_TRAPMONSTER )
79- e3 :SetReset (RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_END )
80- tc :RegisterEffect (e3 )
81- end
56+ Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_NEGATE )
57+ local tc = g :Select (tp ,1 ,1 ,nil ):GetFirst ()
58+ tc :NegateEffects (e :GetHandler (),RESETS_STANDARD_PHASE_END ,true )
8259 end
83- end
60+ end
0 commit comments