33-- Scripted by Larry126
44local s ,id = GetID ()
55function s .initial_effect (c )
6- -- pendulum summon
7- Pendulum .AddProcedure (c ,false )
8- -- fusion material
96 c :EnableReviveLimit ()
7+ -- Pendulum Summon procedure
8+ Pendulum .AddProcedure (c ,false )
9+ -- Fusion Summon procedure: 1 Pendulum Monster + 1 DARK monster
1010 Fusion .AddProcMix (c ,true ,true ,aux .FilterBoolFunctionEx (Card .IsType ,TYPE_PENDULUM ),aux .FilterBoolFunctionEx (Card .IsAttribute ,ATTRIBUTE_DARK ))
11- -- Venemy Counter
11+ -- Place 1 Venemy Counter on this card for each card sent from the field to the GY
1212 local e1 = Effect .CreateEffect (c )
13- e1 :SetType (EFFECT_TYPE_CONTINUOUS + EFFECT_TYPE_FIELD )
13+ e1 :SetType (EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS )
1414 e1 :SetCode (EVENT_TO_GRAVE )
1515 e1 :SetRange (LOCATION_PZONE )
16- e1 :SetOperation (s .acop )
16+ e1 :SetOperation (s .counterplaceop )
1717 c :RegisterEffect (e1 )
18- -- atkdown
18+ -- Monsters on the field lose 200 ATK for each Venemy Counter on this card, except DARK Dragon monsters
1919 local e2 = Effect .CreateEffect (c )
2020 e2 :SetType (EFFECT_TYPE_FIELD )
2121 e2 :SetCode (EFFECT_UPDATE_ATTACK )
2222 e2 :SetRange (LOCATION_PZONE )
2323 e2 :SetTargetRange (LOCATION_MZONE ,LOCATION_MZONE )
24- e2 :SetTarget (s . atktg )
25- e2 :SetValue (s . atkval )
24+ e2 :SetTarget (function ( e , c ) return not ( c : IsAttribute ( ATTRIBUTE_DARK ) and c : IsRace ( RACE_DRAGON )) end )
25+ e2 :SetValue (function ( e , c ) return Duel . GetCounter ( 0 , 1 , 1 , 0x1149 ) *- 200 end )
2626 c :RegisterEffect (e2 )
27- -- reduce
27+ -- Once per turn, you can reduce battle damage you would take to 0
2828 local e3 = Effect .CreateEffect (c )
2929 e3 :SetDescription (aux .Stringid (id ,0 ))
3030 e3 :SetType (EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS )
3131 e3 :SetCode (EVENT_PRE_BATTLE_DAMAGE )
3232 e3 :SetRange (LOCATION_PZONE )
33- e3 :SetCondition (s . rdcon )
34- e3 :SetOperation (s .rdop )
33+ e3 :SetCondition (function ( e , tp , eg , ep , ev , re , r , rp ) return ep == tp and not e : GetHandler (): HasFlagEffect ( id ) end )
34+ e3 :SetOperation (s .nodamop )
3535 c :RegisterEffect (e3 )
36- -- copy
36+ -- This card gains the name and original effects of 1 monster your opponent controls, then that monster loses 500 ATK/DEF, its effects are negated and your opponent takes 500 damage
3737 local e4 = Effect .CreateEffect (c )
3838 e4 :SetDescription (aux .Stringid (id ,1 ))
39- e4 :SetCategory (CATEGORY_DISABLE + CATEGORY_ATKCHANGE + CATEGORY_DAMAGE )
39+ e4 :SetCategory (CATEGORY_DISABLE + CATEGORY_ATKCHANGE + CATEGORY_DEFCHANGE + CATEGORY_DAMAGE )
4040 e4 :SetType (EFFECT_TYPE_IGNITION )
4141 e4 :SetProperty (EFFECT_FLAG_CARD_TARGET )
4242 e4 :SetRange (LOCATION_MZONE )
4343 e4 :SetCountLimit (1 ,id )
4444 e4 :SetTarget (s .copytg )
4545 e4 :SetOperation (s .copyop )
4646 c :RegisterEffect (e4 )
47- -- place in pendulum zone
47+ -- If this card in the Monster Zone is destroyed: You can place it in your Pendulum Zone
4848 local e5 = Effect .CreateEffect (c )
4949 e5 :SetDescription (aux .Stringid (id ,2 ))
5050 e5 :SetType (EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_O )
@@ -55,23 +55,14 @@ function s.initial_effect(c)
5555 e5 :SetOperation (s .penop )
5656 c :RegisterEffect (e5 )
5757end
58- s .counter_list = {0x1149 }
59- function s .acop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
58+ s .counter_list = {0x1149 } -- Venemy Counter
59+ function s .counterplaceop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
6060 local ct = eg :FilterCount (Card .IsPreviousLocation ,nil ,LOCATION_ONFIELD )
6161 if ct > 0 then
6262 e :GetHandler ():AddCounter (0x1149 ,ct )
6363 end
6464end
65- function s .atktg (e ,c )
66- return not (c :IsAttribute (ATTRIBUTE_DARK ) and c :IsRace (RACE_DRAGON ))
67- end
68- function s .atkval (e ,c )
69- return Duel .GetCounter (0 ,1 ,1 ,0x1149 )*- 200
70- end
71- function s .rdcon (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
72- return ep == tp and e :GetHandler ():GetFlagEffect (id )== 0
73- end
74- function s .rdop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
65+ function s .nodamop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
7566 local c = e :GetHandler ()
7667 if Duel .SelectEffectYesNo (tp ,c ) then
7768 c :RegisterFlagEffect (id ,RESETS_STANDARD_PHASE_END ,0 ,1 )
8273function s .copytg (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk ,chkc )
8374 if chkc then return chkc :IsControler (1 - tp ) and chkc :IsLocation (LOCATION_MZONE ) and chkc :IsNegatableMonster () end
8475 if chk == 0 then return Duel .IsExistingTarget (Card .IsNegatableMonster ,tp ,0 ,LOCATION_MZONE ,1 ,nil ) end
85- Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_FACEUP )
76+ Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_TARGET )
8677 local g = Duel .SelectTarget (tp ,Card .IsNegatableMonster ,tp ,0 ,LOCATION_MZONE ,1 ,1 ,nil )
8778 Duel .SetOperationInfo (0 ,CATEGORY_DISABLE ,g ,1 ,0 ,0 )
8879 Duel .SetOperationInfo (0 ,CATEGORY_DAMAGE ,nil ,0 ,1 - tp ,500 )
@@ -92,7 +83,7 @@ function s.copyop(e,tp,eg,ep,ev,re,r,rp)
9283 local tc = Duel .GetFirstTarget ()
9384 if tc and c :IsRelateToEffect (e ) and c :IsFaceup () and tc :IsRelateToEffect (e ) and tc :IsFaceup () and not tc :IsType (TYPE_TOKEN ) then
9485 local code = tc :GetOriginalCodeRule ()
95- -- Copy name + effect
86+ -- This card's name becomes the targeted monster's name and replaces this card's effects with that target's original effects
9687 local e1 = Effect .CreateEffect (c )
9788 e1 :SetType (EFFECT_TYPE_SINGLE )
9889 e1 :SetProperty (EFFECT_FLAG_CANNOT_DISABLE )
@@ -102,28 +93,12 @@ function s.copyop(e,tp,eg,ep,ev,re,r,rp)
10293 c :RegisterEffect (e1 )
10394 if c :CopyEffect (code ,RESETS_STANDARD_PHASE_END ,1 )> 0 then
10495 Duel .BreakEffect ()
105- -- Decrease ATK/DEF
106- local e2 = Effect .CreateEffect (c )
107- e2 :SetType (EFFECT_TYPE_SINGLE )
108- e2 :SetCode (EFFECT_UPDATE_ATTACK )
109- e2 :SetValue (- 500 )
110- e2 :SetReset (RESET_EVENT |RESETS_STANDARD )
111- tc :RegisterEffect (e2 )
112- local e3 = e2 :Clone ()
113- e3 :SetCode (EFFECT_UPDATE_DEFENSE )
114- tc :RegisterEffect (e3 )
96+ -- It loses 500 ATK and DEF
97+ tc :UpdateAttack (- 500 ,RESET_EVENT |RESETS_STANDARD ,c )
98+ tc :UpdateDefense (- 500 ,RESET_EVENT |RESETS_STANDARD ,c )
11599 -- Negate its effects
116- local e4 = Effect .CreateEffect (c )
117- e4 :SetType (EFFECT_TYPE_SINGLE )
118- e4 :SetCode (EFFECT_DISABLE )
119- e4 :SetReset (RESET_EVENT |RESETS_STANDARD )
120- tc :RegisterEffect (e4 )
121- local e5 = Effect .CreateEffect (c )
122- e5 :SetType (EFFECT_TYPE_SINGLE )
123- e5 :SetCode (EFFECT_DISABLE_EFFECT )
124- e5 :SetValue (RESET_TURN_SET )
125- e5 :SetReset (RESET_EVENT |RESETS_STANDARD )
126- tc :RegisterEffect (e5 )
100+ tc :NegateEffects (c )
101+ -- Inflict 500 damage to your opponent
127102 Duel .Damage (1 - tp ,500 ,REASON_EFFECT )
128103 end
129104 end
@@ -141,4 +116,4 @@ function s.penop(e,tp,eg,ep,ev,re,r,rp)
141116 if c :IsRelateToEffect (e ) then
142117 Duel .MoveToField (c ,tp ,tp ,LOCATION_PZONE ,POS_FACEUP ,true )
143118 end
144- end
119+ end
0 commit comments