1+ -- E・HERO プラズマヴァイスマン
2+ -- Elemental HERO Plasma Vice
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 ,20721928 ,59793705 )
10+ -- Destroy 1 monster the opponent controls
11+ local e1 = Effect .CreateEffect (c )
12+ e1 :SetDescription (aux .Stringid (id ,0 ))
13+ e1 :SetCategory (CATEGORY_DESTROY )
14+ e1 :SetType (EFFECT_TYPE_IGNITION )
15+ e1 :SetRange (LOCATION_MZONE )
16+ e1 :SetCountLimit (1 )
17+ e1 :SetCost (s .cost )
18+ e1 :SetTarget (s .target )
19+ e1 :SetOperation (s .operation )
20+ c :RegisterEffect (e1 )
21+ end
22+ function s .cost (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
23+ if chk == 0 then return Duel .IsExistingMatchingCard (Card .IsAbleToGraveAsCost ,tp ,LOCATION_HAND ,0 ,1 ,nil ) end
24+ end
25+ function s .filter (c )
26+ return c :IsAttackPos () and c :IsNotMaximumModeSide ()
27+ end
28+ function s .target (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
29+ if chk == 0 then return Duel .IsExistingMatchingCard (s .filter ,tp ,0 ,LOCATION_MZONE ,1 ,nil ) end
30+ end
31+ function s .operation (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
32+ local c = e :GetHandler ()
33+ -- Requirement
34+ Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_TOGRAVE )
35+ local g = Duel .SelectMatchingCard (tp ,Card .IsAbleToGraveAsCost ,tp ,LOCATION_HAND ,0 ,1 ,1 ,nil )
36+ if Duel .SendtoGrave (g ,REASON_COST )== 0 then return end
37+ -- Effect
38+ local g = Duel .GetMatchingGroup (s .filter ,tp ,0 ,LOCATION_MZONE ,nil )
39+ if # g > 0 then
40+ local c = e :GetHandler ()
41+ Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_DESTROY )
42+ local dg = g :Select (tp ,1 ,1 ,nil )
43+ local dg2 = dg :AddMaximumCheck ()
44+ Duel .HintSelection (dg2 )
45+ Duel .Destroy (dg ,REASON_EFFECT )
46+ c :AddPiercing (RESETS_STANDARD_PHASE_END )
47+ end
48+ end
0 commit comments