1+ -- E・HERO ヘリオスフィアー
2+ -- Elemental HERO Heliosphere
3+ -- scripted by YoshiDuels
4+ local s ,id = GetID ()
5+ function s .initial_effect (c )
6+ -- fusion material
7+ c :AddMustBeFusionSummoned ()
8+ c :EnableReviveLimit ()
9+ Fusion .AddProcMix (c ,true ,true ,21844576 ,20721928 ,58932615 )
10+ -- Draw 1 card and show it
11+ local e1 = Effect .CreateEffect (c )
12+ e1 :SetDescription (aux .Stringid (id ,0 ))
13+ e1 :SetCategory (CATEGORY_DRAW + CATEGORY_DESTROY )
14+ e1 :SetType (EFFECT_TYPE_IGNITION )
15+ e1 :SetRange (LOCATION_MZONE )
16+ e1 :SetProperty (EFFECT_FLAG_PLAYER_TARGET )
17+ e1 :SetCountLimit (1 )
18+ e1 :SetCondition (s .condition )
19+ e1 :SetTarget (s .target )
20+ e1 :SetOperation (s .operation )
21+ c :RegisterEffect (e1 )
22+ end
23+ function s .condition (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
24+ return Duel .GetFieldGroupCount (tp ,LOCATION_DECK ,0 )>= 10
25+ end
26+ function s .target (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
27+ if chk == 0 then return Duel .IsPlayerCanDraw (tp ,1 ) end
28+ Duel .SetTargetPlayer (tp )
29+ Duel .SetTargetParam (1 )
30+ Duel .SetOperationInfo (0 ,CATEGORY_DRAW ,nil ,0 ,tp ,1 )
31+ end
32+ function s .operation (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
33+ local p ,d = Duel .GetChainInfo (0 ,CHAININFO_TARGET_PLAYER ,CHAININFO_TARGET_PARAM )
34+ local ct = Duel .Draw (p ,d ,REASON_EFFECT )
35+ if ct == 0 then return end
36+ local tc = Duel .GetOperatedGroup ():GetFirst ()
37+ Duel .ConfirmCards (1 - tp ,tc )
38+ Duel .ShuffleHand (tp )
39+ if tc :IsMonster () and Duel .IsExistingMatchingCard (Card .IsNotMaximumModeSide ,tp ,0 ,LOCATION_ONFIELD ,1 ,nil ) and Duel .SelectYesNo (tp ,aux .Stringid (id ,1 )) then
40+ Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_DESTROY )
41+ local g = Duel .SelectMatchingCard (tp ,Card .IsNotMaximumModeSide ,tp ,0 ,LOCATION_ONFIELD ,1 ,1 ,nil )
42+ local g2 = g :AddMaximumCheck ()
43+ Duel .HintSelection (g2 )
44+ Duel .BreakEffect ()
45+ Duel .Destroy (g ,REASON_EFFECT )
46+ end
47+ end
0 commit comments