@@ -4,58 +4,58 @@ local s,id=GetID()
44function s .initial_effect (c )
55 c :EnableReviveLimit ()
66 -- Link Summon procedure: 2+ Cyberse monsters with different Attributes
7- Link .AddProcedure (c ,aux .FilterBoolFunctionEx (Card .IsRace ,RACE_CYBERSE ),2 ,99 ,s .lcheck )
7+ Link .AddProcedure (c ,aux .FilterBoolFunctionEx (Card .IsRace ,RACE_CYBERSE ),2 ,99 ,s .matcheck )
88 -- Gains 500 ATK for each monster it points to
99 local e1 = Effect .CreateEffect (c )
1010 e1 :SetType (EFFECT_TYPE_SINGLE )
11- e1 :SetCode (EFFECT_UPDATE_ATTACK )
1211 e1 :SetProperty (EFFECT_FLAG_SINGLE_RANGE )
12+ e1 :SetCode (EFFECT_UPDATE_ATTACK )
1313 e1 :SetRange (LOCATION_MZONE )
14- e1 :SetValue (s . atkval )
14+ e1 :SetValue (function ( e , c ) return c : GetLinkedGroup (): FilterCount ( Card . IsMonster , nil ) * 500 end )
1515 c :RegisterEffect (e1 )
16- -- Draw 1 card, then banish this card from the field, and if you do, Special Summon 1 Link-3 or lower Cyberse monster from your Extra Deck, except "Decode Talker Heatsoul"
16+ -- Draw 1 card, then if your LP are 2000 or less, you can apply this effect: ● Banish this card from the field, and if you do, Special Summon 1 Link-3 or lower Cyberse monster from your Extra Deck, except "Decode Talker Heatsoul"
1717 local e2 = Effect .CreateEffect (c )
1818 e2 :SetDescription (aux .Stringid (id ,0 ))
1919 e2 :SetCategory (CATEGORY_DRAW + CATEGORY_REMOVE + CATEGORY_SPECIAL_SUMMON )
2020 e2 :SetType (EFFECT_TYPE_QUICK_O )
2121 e2 :SetCode (EVENT_FREE_CHAIN )
2222 e2 :SetRange (LOCATION_MZONE )
23- e2 :SetHintTiming (0 ,TIMINGS_CHECK_MONSTER_E )
2423 e2 :SetCountLimit (1 ,id )
24+ e2 :SetHintTiming (0 ,TIMING_STANDBY_PHASE |TIMING_MAIN_END |TIMINGS_CHECK_MONSTER_E )
2525 e2 :SetCost (Cost .PayLP (1000 ))
26- e2 :SetTarget (s .target )
27- e2 :SetOperation (s .operation )
26+ e2 :SetTarget (s .drtg )
27+ e2 :SetOperation (s .drop )
2828 c :RegisterEffect (e2 )
2929end
3030s .listed_names = {id }
31- function s .lcheck (g ,lc ,sumtype ,tp )
31+ function s .matcheck (g ,lc ,sumtype ,tp )
3232 return g :CheckDifferentPropertyBinary (Card .GetAttribute ,lc ,sumtype ,tp )
3333end
34- function s .atkval (e ,c )
35- return c :GetLinkedGroup ():FilterCount (Card .IsMonster ,nil )* 500
36- end
37- function s .target (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
34+ function s .drtg (e ,tp ,eg ,ep ,ev ,re ,r ,rp ,chk )
3835 if chk == 0 then return Duel .IsPlayerCanDraw (tp ,1 ) end
3936 Duel .SetTargetPlayer (tp )
4037 Duel .SetTargetParam (1 )
4138 Duel .SetOperationInfo (0 ,CATEGORY_DRAW ,nil ,0 ,tp ,1 )
39+ Duel .SetPossibleOperationInfo (0 ,CATEGORY_REMOVE ,e :GetHandler (),1 ,tp ,0 )
40+ Duel .SetPossibleOperationInfo (0 ,CATEGORY_SPECIAL_SUMMON ,nil ,1 ,tp ,LOCATION_EXTRA )
4241end
4342function s .spfilter (c ,e ,tp ,mc )
44- return c :IsRace ( RACE_CYBERSE ) and c :IsLinkBelow ( 3 ) and c :IsCanBeSpecialSummoned (e ,0 ,tp ,false ,false )
45- and Duel .GetLocationCountFromEx (tp ,tp ,mc ,c )> 0 and not c : IsCode ( id )
43+ return c :IsLinkBelow ( 3 ) and c :IsRace ( RACE_CYBERSE ) and c :IsCanBeSpecialSummoned (e ,0 ,tp ,false ,false ) and not c : IsCode ( id )
44+ and Duel .GetLocationCountFromEx (tp ,tp ,mc ,c )> 0
4645end
47- function s .operation (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
46+ function s .drop (e ,tp ,eg ,ep ,ev ,re ,r ,rp )
4847 local c = e :GetHandler ()
4948 local p ,d = Duel .GetChainInfo (0 ,CHAININFO_TARGET_PLAYER ,CHAININFO_TARGET_PARAM )
5049 if Duel .Draw (p ,d ,REASON_EFFECT )> 0 and Duel .GetLP (tp )<= 2000 and c :IsRelateToEffect (e ) and c :IsAbleToRemove ()
51- and Duel .IsExistingMatchingCard (s .spfilter ,tp ,LOCATION_EXTRA ,0 ,1 ,nil ,e ,tp ,c ) and Duel .SelectYesNo (tp ,aux .Stringid (id ,1 )) then
50+ and Duel .IsExistingMatchingCard (s .spfilter ,tp ,LOCATION_EXTRA ,0 ,1 ,nil ,e ,tp ,c )
51+ and Duel .SelectYesNo (tp ,aux .Stringid (id ,1 )) then
5252 Duel .BreakEffect ()
53- if Duel .Remove (c ,POS_FACEUP ,REASON_EFFECT )~= 0 then
53+ if Duel .Remove (c ,POS_FACEUP ,REASON_EFFECT )> 0 then
5454 Duel .Hint (HINT_SELECTMSG ,tp ,HINTMSG_SPSUMMON )
5555 local g = Duel .SelectMatchingCard (tp ,s .spfilter ,tp ,LOCATION_EXTRA ,0 ,1 ,1 ,nil ,e ,tp )
5656 if # g > 0 then
5757 Duel .SpecialSummon (g ,0 ,tp ,tp ,false ,false ,POS_FACEUP )
5858 end
5959 end
6060 end
61- end
61+ end
0 commit comments