1- -- Ra'ten, the Heavenly General
1+ -- 羅天神将
22-- Ra'ten, the Heavenly General
33local s ,id = GetID ()
44function s .initial_effect (c )
55 c :EnableReviveLimit ()
6+ -- Link Summon procedure: 2+ monsters with the same Type
67 Link .AddProcedure (c ,nil ,2 ,99 ,s .lcheck )
7- -- special Summon
8+ -- Special Summon 1 Level 4 or lower monster with the same Type as a targeted monster from your hand to your zone this card points to
89 local e1 = Effect .CreateEffect (c )
10+ e1 :SetDescription (aux .Stringid (id ,0 ))
911 e1 :SetCategory (CATEGORY_SPECIAL_SUMMON )
1012 e1 :SetType (EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O )
1113 e1 :SetProperty (EFFECT_FLAG_CARD_TARGET )
@@ -15,8 +17,9 @@ function s.initial_effect(c)
1517 e1 :SetTarget (s .sptg )
1618 e1 :SetOperation (s .spop )
1719 c :RegisterEffect (e1 )
18- -- destroy
20+ -- Destroy 1 card your opponent controls
1921 local e2 = Effect .CreateEffect (c )
22+ e2 :SetDescription (aux .Stringid (id ,1 ))
2023 e2 :SetCategory (CATEGORY_DESTROY )
2124 e2 :SetType (EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O )
2225 e2 :SetProperty (EFFECT_FLAG_CARD_TARGET )
@@ -54,8 +57,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
5457 local zone = e :GetHandler ():GetLinkedZone (tp )
5558 if Duel .GetLocationCount (tp ,LOCATION_MZONE ,tp ,LOCATION_REASON_TOFIELD ,zone )<= 0 then return end
5659 Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_SPSUMMON )
57- local g = Duel .SelectMatchingCard (tp ,s .spfilter2 ,tp ,LOCATION_HAND ,0 ,1 ,1 ,nil ,e ,tp ,tg :GetRace (),zone )
58- local tc = g :GetFirst ()
60+ local tc = Duel .SelectMatchingCard (tp ,s .spfilter2 ,tp ,LOCATION_HAND ,0 ,1 ,1 ,nil ,e ,tp ,tg :GetRace (),zone ):GetFirst ()
5961 if tc then
6062 Duel .SpecialSummon (tc ,0 ,tp ,tp ,false ,false ,POS_FACEUP ,zone )
6163 end
@@ -65,11 +67,11 @@ function s.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
6567 if chk == 0 then return Duel .IsExistingTarget (nil ,tp ,0 ,LOCATION_ONFIELD ,1 ,nil ) end
6668 Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_DESTROY )
6769 local g = Duel .SelectTarget (tp ,nil ,tp ,0 ,LOCATION_ONFIELD ,1 ,1 ,nil )
68- Duel .SetOperationInfo (0 ,CATEGORY_DESTROY ,g ,1 ,0 ,0 )
70+ Duel .SetOperationInfo (0 ,CATEGORY_DESTROY ,g ,1 ,tp ,0 )
6971end
7072function s .desop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
7173 local tc = Duel .GetFirstTarget ()
72- if tc and tc :IsRelateToEffect (e ) then
74+ if tc :IsRelateToEffect (e ) then
7375 Duel .Destroy (tc ,REASON_EFFECT )
7476 end
7577end
0 commit comments