1+ -- ハーピィ・レジーナ・SA
2+ -- Harpie Regina Splendid Armor
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 ,160208008 ,1 ,s .ffilter ,1 )
9+ Fusion .AddContactProc (c ,s .contactfil ,s .contactop ,nil ,nil ,SUMMON_TYPE_FUSION ,nil ,false )
10+ -- Change monster's battle position
11+ local e1 = Effect .CreateEffect (c )
12+ e1 :SetDescription (aux .Stringid (id ,0 ))
13+ e1 :SetCategory (CATEGORY_POSITION )
14+ e1 :SetType (EFFECT_TYPE_IGNITION )
15+ e1 :SetRange (LOCATION_MZONE )
16+ e1 :SetCountLimit (1 )
17+ e1 :SetCondition (function (e ) return e :GetHandler ():IsStatus (STATUS_SPSUMMON_TURN ) end )
18+ e1 :SetTarget (s .target )
19+ e1 :SetOperation (s .operation )
20+ c :RegisterEffect (e1 )
21+ end
22+ s .listed_names = {160208008 }
23+ function s .ffilter (c ,fc ,sumtype ,tp )
24+ return c :IsRace (RACE_WINGEDBEAST ,fc ,sumtype ,tp ) and c :IsLevelBelow (4 )
25+ end
26+ function s .contactfil (tp )
27+ return Duel .GetMatchingGroup (aux .FaceupFilter (Card .IsAbleToDeckOrExtraAsCost ),tp ,LOCATION_ONFIELD ,0 ,nil )
28+ end
29+ function s .contactop (g ,tp )
30+ Duel .SendtoDeck (g ,nil ,SEQ_DECKSHUFFLE ,REASON_COST + REASON_MATERIAL )
31+ end
32+ function s .target (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
33+ if chk == 0 then return Duel .IsExistingMatchingCard (Card .IsCanChangePositionRush ,tp ,0 ,LOCATION_MZONE ,1 ,nil ) end
34+ end
35+ function s .operation (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
36+ -- Effect
37+ Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_FACEUP )
38+ local g = Duel .SelectMatchingCard (tp ,Card .IsCanChangePositionRush ,tp ,0 ,LOCATION_MZONE ,1 ,1 ,nil )
39+ Duel .HintSelection (g )
40+ if Duel .ChangePosition (g ,POS_FACEUP_DEFENSE ,POS_FACEDOWN_DEFENSE ,POS_FACEUP_ATTACK ,POS_FACEUP_ATTACK )> 0
41+ and Duel .IsExistingMatchingCard (Card .IsCode ,tp ,LOCATION_GRAVE ,0 ,1 ,nil ,160210070 )
42+ and Duel .IsExistingMatchingCard (Card .IsDefensePos ,tp ,0 ,LOCATION_MZONE ,1 ,nil )
43+ and Duel .SelectYesNo (tp ,aux .Stringid (id ,1 )) then
44+ Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_DESTROY )
45+ local g = Duel .SelectMatchingCard (tp ,Card .IsDefensePos ,tp ,0 ,LOCATION_MZONE ,1 ,1 ,nil )
46+ Duel .HintSelection (g )
47+ Duel .BreakEffect ()
48+ Duel .Destroy (g ,REASON_EFFECT )
49+ end
50+ end
0 commit comments