11-- ドラグマ・パニッシュメント
22-- Dogmatika Punishment
3- -- Logical Nonsense
4-
5- -- Substitute ID
3+ -- scripted by Logical Nonsense
64local s ,id = GetID ()
75function s .initial_effect (c )
86 -- Send 1 monster from extra deck to GY to destroy opponent's monster
97 local e1 = Effect .CreateEffect (c )
10- e1 :SetDescription (aux .Stringid (id ,1 ))
8+ e1 :SetDescription (aux .Stringid (id ,0 ))
119 e1 :SetCategory (CATEGORY_DESTROY )
1210 e1 :SetType (EFFECT_TYPE_ACTIVATE )
1311 e1 :SetCode (EVENT_FREE_CHAIN )
@@ -32,33 +30,28 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
3230 if chk == 0 then return Duel .IsExistingTarget (s .desfilter ,tp ,0 ,LOCATION_MZONE ,1 ,nil ,tp ) end
3331 Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_DESTROY )
3432 local g = Duel .SelectTarget (tp ,s .desfilter ,tp ,0 ,LOCATION_MZONE ,1 ,1 ,nil ,tp )
35- Duel .SetOperationInfo (0 ,CATEGORY_DESTROY ,g ,1 ,0 ,0 )
33+ Duel .SetOperationInfo (0 ,CATEGORY_DESTROY ,g ,1 ,tp ,0 )
3634end
3735 -- Send 1 monster from extra deck to GY to destroy opponent's monster
3836function s .activate (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
3937 local tc = Duel .GetFirstTarget ()
40- if tc and tc :IsRelateToEffect (e ) and tc :IsFaceup () then
38+ if tc :IsRelateToEffect (e ) and tc :IsFaceup () then
4139 Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_TOGRAVE )
4240 local g = Duel .SelectMatchingCard (tp ,s .tgfilter ,tp ,LOCATION_EXTRA ,0 ,1 ,1 ,nil ,tc )
4341 if # g > 0 and Duel .SendtoGrave (g ,REASON_EFFECT )> 0 and g :GetFirst ():IsLocation (LOCATION_GRAVE ) then
4442 Duel .Destroy (tc ,REASON_EFFECT )
4543 end
4644 end
45+ if not e :IsHasType (EFFECT_TYPE_ACTIVATE ) then return end
46+ -- Until the end of your next turn after this card resolves, you cannot Special Summon monsters from the Extra Deck
47+ local ct = Duel .IsTurnPlayer (tp ) and 2 or 1
4748 local e0 = Effect .CreateEffect (e :GetHandler ())
48- e0 :SetType (EFFECT_TYPE_FIELD )
49- e0 :SetProperty (EFFECT_FLAG_PLAYER_TARGET + EFFECT_FLAG_CLIENT_HINT )
5049 e0 :SetDescription (aux .Stringid (id ,1 ))
50+ e0 :SetType (EFFECT_TYPE_FIELD )
5151 e0 :SetCode (EFFECT_CANNOT_SPECIAL_SUMMON )
52- if Duel .GetTurnPlayer ()== tp then
53- e0 :SetReset (RESET_PHASE + PHASE_END + RESET_SELF_TURN ,2 )
54- else
55- e0 :SetReset (RESET_PHASE + PHASE_END + RESET_SELF_TURN )
56- end
52+ e0 :SetProperty (EFFECT_FLAG_PLAYER_TARGET + EFFECT_FLAG_CLIENT_HINT )
53+ e0 :SetReset (RESET_PHASE |PHASE_END |RESET_SELF_TURN ,ct )
5754 e0 :SetTargetRange (1 ,0 )
58- e0 :SetTarget (s . splimit )
55+ e0 :SetTarget (function ( e , c , sump , sumtype , sumpos , targetp ) return c : IsLocation ( LOCATION_EXTRA ) end )
5956 Duel .RegisterEffect (e0 ,tp )
60- end
61- -- Cannot special summon from extra deck
62- function s .splimit (e ,c ,sump ,sumtype ,sumpos ,targetp )
63- return c :IsLocation (LOCATION_EXTRA )
64- end
57+ end
0 commit comments