11-- スプリガンズ・メリーメイカ
22-- Springans Merrymaker
33-- Logical Nonsense
4- -- Substitute ID
54local s ,id = GetID ()
65function s .initial_effect (c )
76 -- Xyz summon procedure
87 Xyz .AddProcedure (c ,nil ,4 ,2 )
98 -- Must be properly summoned before reviving
109 c :EnableReviveLimit ()
11- -- Send 1 "Sprigguns " monster from deck to GY
10+ -- Send 1 "Springans " monster from your Deck to GY
1211 local e1 = Effect .CreateEffect (c )
1312 e1 :SetDescription (aux .Stringid (id ,0 ))
1413 e1 :SetCategory (CATEGORY_TOGRAVE )
1514 e1 :SetType (EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_O )
1615 e1 :SetProperty (EFFECT_FLAG_DELAY + EFFECT_FLAG_DAMAGE_STEP )
1716 e1 :SetCode (EVENT_SPSUMMON_SUCCESS )
1817 e1 :SetCountLimit (1 ,id )
19- e1 :SetCondition (function (e )return e :GetHandler ():IsPreviousLocation (LOCATION_EXTRA )end )
18+ e1 :SetCondition (function (e ) return e :GetHandler ():IsPreviousLocation (LOCATION_EXTRA ) end )
2019 e1 :SetTarget (s .tgtg )
2120 e1 :SetOperation (s .tgop )
2221 c :RegisterEffect (e1 )
23- -- Banish itself temporarily
22+ -- Banish this card until the End Phase
2423 local e2 = Effect .CreateEffect (c )
2524 e2 :SetDescription (aux .Stringid (id ,1 ))
26- e2 :SetCategory (CATEGORY_REMOVE )
25+ e2 :SetCategory (CATEGORY_REMOVE + CATEGORY_TOGRAVE )
2726 e2 :SetType (EFFECT_TYPE_QUICK_O )
2827 e2 :SetCode (EVENT_FREE_CHAIN )
2928 e2 :SetHintTiming (0 ,TIMING_MAIN_END |TIMING_BATTLE_START |TIMING_BATTLE_END )
@@ -34,38 +33,33 @@ function s.initial_effect(c)
3433 e2 :SetOperation (s .banop )
3534 c :RegisterEffect (e2 )
3635end
37- -- Lists "Sprigguns" archetype
36+ s . listed_names = { CARD_ALBAZ }
3837s .listed_series = {SET_SPRINGANS }
39- -- Check for a "Sprigguns" monster
4038function s .tgfilter (c )
4139 return c :IsMonster () and c :IsSetCard (SET_SPRINGANS ) and c :IsAbleToGrave ()
4240end
43- -- Activation legality
4441function s .tgtg (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
4542 if chk == 0 then return Duel .IsExistingMatchingCard (s .tgfilter ,tp ,LOCATION_DECK ,0 ,1 ,nil ) end
4643 Duel .SetOperationInfo (0 ,CATEGORY_TOGRAVE ,nil ,1 ,tp ,LOCATION_DECK )
4744end
48- -- Send 1 "Sprigguns" monster from deck to GY
4945function s .tgop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
5046 Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_TOGRAVE )
5147 local g = Duel .SelectMatchingCard (tp ,s .tgfilter ,tp ,LOCATION_DECK ,0 ,1 ,1 ,nil )
5248 if # g > 0 then
5349 Duel .SendtoGrave (g ,REASON_EFFECT )
5450 end
5551end
56- -- Check if current phase is opponent's main phase or battle phase
5752function s .bancon (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
58- return ( Duel .IsMainPhase () or Duel .IsBattlePhase ()) and Duel .GetTurnPlayer () ~= tp
53+ return Duel .IsTurnPlayer ( 1 - tp ) and ( Duel .IsMainPhase () or Duel .IsBattlePhase ())
5954end
6055function s .bantg (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk ,chkc )
6156 if chk == 0 then return e :GetHandler ():IsAbleToRemove () end
6257 Duel .SetOperationInfo (0 ,CATEGORY_REMOVE ,e :GetHandler (),1 ,0 ,0 )
58+ Duel .SetPossibleOperationInfo (0 ,CATEGORY_TOGRAVE ,nil ,1 ,tp ,LOCATION_EXTRA )
6359end
64- -- Check for fusion monster that lists "Fallen of Albaz"
6560function s .edfilter (c )
6661 return c :IsType (TYPE_FUSION ) and c :ListsCodeAsMaterial (CARD_ALBAZ )
6762end
68- -- Banish itself temporarily
6963function s .banop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
7064 local c = e :GetHandler ()
7165 if c :IsFaceup () and c :IsRelateToEffect (e ) then
@@ -79,12 +73,12 @@ function s.banop(e,tp,eg,ep,ev,re,r,rp)
7973 e1 :SetCountLimit (1 )
8074 e1 :SetOperation (s .retop )
8175 Duel .RegisterEffect (e1 ,tp )
82- -- Send 1 fusion monster that lists "Fallen of Albaz" from extra deck to GY
76+ -- Send 1 Fusion monster that lists "Fallen of Albaz" from your Extra Deck to GY
8377 if ct >= 2 and Duel .SelectYesNo (tp ,aux .Stringid (id ,2 )) then
84- Duel .BreakEffect ()
8578 Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_TOGRAVE )
8679 local g = Duel .SelectMatchingCard (tp ,s .edfilter ,tp ,LOCATION_EXTRA ,0 ,1 ,1 ,nil )
8780 if # g > 0 then
81+ Duel .BreakEffect ()
8882 Duel .SendtoGrave (g ,REASON_EFFECT )
8983 end
9084 end
0 commit comments