Skip to content

Commit 320f0b0

Browse files
authored
Add files via upload
1 parent a63244e commit 320f0b0

79 files changed

Lines changed: 6733 additions & 1 deletion

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

archetype_setcode_constants.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -606,6 +606,6 @@ SET_ELFNOTE = 0x1d0
606606
SET_GMX = 0x1d4
607607
--Released but the official English name is unconfirmed
608608
SET_CLOWN_CREW = 0x1d3
609-
--Pre-release archetypes
610609
SET_DARK_TUNER = 0x1d5
610+
--Pre-release archetypes
611611
SET_BLITZCLIQUE = 0x1d6

official/c13203964.lua

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
--パーフェクトロン・ハイドライブ・ドラゴン
2+
--Perfectron Hydradrive Dragon
3+
--scripted by pyrQ
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
c:EnableReviveLimit()
7+
--Link Summon procedure: 1+ Link Monsters
8+
Link.AddProcedure(c,aux.FilterBoolFunctionEx(Card.IsType,TYPE_LINK),1)
9+
--If this card is Link Summoned, or at the end of the Damage Step if this card battled: Destroy as many monsters your opponent controls as possible, then inflict 300 damage to your opponent for each Link Monster in your GY
10+
local e1a=Effect.CreateEffect(c)
11+
e1a:SetDescription(aux.Stringid(id,0))
12+
e1a:SetCategory(CATEGORY_DESTROY+CATEGORY_DAMAGE)
13+
e1a:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
14+
e1a:SetCode(EVENT_SPSUMMON_SUCCESS)
15+
e1a:SetCondition(function(e) return e:GetHandler():IsLinkSummoned() end)
16+
e1a:SetTarget(s.destg)
17+
e1a:SetOperation(s.desop)
18+
c:RegisterEffect(e1a)
19+
local e1b=e1a:Clone()
20+
e1b:SetCode(EVENT_DAMAGE_STEP_END)
21+
c:RegisterEffect(e1b)
22+
--While face-up on the field, this card is also LIGHT, WATER, FIRE, and WIND-Attribute
23+
local e2=Effect.CreateEffect(c)
24+
e2:SetType(EFFECT_TYPE_SINGLE)
25+
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
26+
e2:SetCode(EFFECT_ADD_ATTRIBUTE)
27+
e2:SetRange(LOCATION_MZONE)
28+
e2:SetValue(ATTRIBUTE_LIGHT|ATTRIBUTE_WATER|ATTRIBUTE_FIRE|ATTRIBUTE_WIND)
29+
c:RegisterEffect(e2)
30+
--Unaffected by the activated effects of monsters that share an Attribute with this card
31+
local e3=Effect.CreateEffect(c)
32+
e3:SetType(EFFECT_TYPE_SINGLE)
33+
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
34+
e3:SetCode(EFFECT_IMMUNE_EFFECT)
35+
e3:SetRange(LOCATION_MZONE)
36+
e3:SetValue(s.immval)
37+
c:RegisterEffect(e3)
38+
--If this card with 1000 or more ATK would be destroyed by battle or card effect, you can make its ATK become reduced by 1000 instead
39+
local e4=Effect.CreateEffect(c)
40+
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
41+
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
42+
e4:SetCode(EFFECT_DESTROY_REPLACE)
43+
e4:SetRange(LOCATION_MZONE)
44+
e4:SetTarget(s.desreptg)
45+
c:RegisterEffect(e4)
46+
end
47+
function s.destg(e,tp,eg,ep,ev,re,r,rp,chk)
48+
if chk==0 then return true end
49+
local g=Duel.GetFieldGroup(tp,0,LOCATION_MZONE)
50+
local dam=300*Duel.GetMatchingGroupCount(Card.IsLinkMonster,tp,LOCATION_GRAVE,0,nil)
51+
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,#g,tp,0)
52+
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,dam)
53+
end
54+
function s.desop(e,tp,eg,ep,ev,re,r,rp)
55+
local g=Duel.GetFieldGroup(tp,0,LOCATION_MZONE)
56+
if #g>0 and Duel.Destroy(g,REASON_EFFECT)>0 then
57+
local dam=300*Duel.GetMatchingGroupCount(Card.IsLinkMonster,tp,LOCATION_GRAVE,0,nil)
58+
if dam>0 then
59+
Duel.BreakEffect()
60+
Duel.Damage(1-tp,dam,REASON_EFFECT)
61+
end
62+
end
63+
end
64+
function s.immval(e,te)
65+
local trig_loc,trig_attr=Duel.GetChainInfo(0,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TRIGGERING_ATTRIBUTE)
66+
if not (te:IsMonsterEffect() and te:IsActivated()) then return false end
67+
local c=e:GetHandler()
68+
local tc=te:GetHandler()
69+
if not Duel.IsChainSolving() or (tc:IsRelateToEffect(te) and tc:IsFaceup() and tc:IsLocation(trig_loc)) then
70+
return c:IsAttribute(tc:GetAttribute())
71+
else
72+
return c:GetAttribute()&trig_attr>0
73+
end
74+
end
75+
function s.desreptg(e,tp,eg,ep,ev,re,r,rp,chk)
76+
local c=e:GetHandler()
77+
if chk==0 then return c:IsAttackAbove(1000) and c:IsReason(REASON_BATTLE|REASON_EFFECT) and not c:IsReason(REASON_REPLACE) end
78+
if Duel.SelectEffectYesNo(tp,c,96) then
79+
--Make its ATK become reduced by 1000 instead
80+
local e1=Effect.CreateEffect(c)
81+
e1:SetType(EFFECT_TYPE_SINGLE)
82+
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
83+
e1:SetValue(c:GetAttack()-1000)
84+
e1:SetReset(RESET_EVENT|RESETS_STANDARD_DISABLE)
85+
c:RegisterEffect(e1)
86+
return true
87+
end
88+
return false
89+
end

official/c14425515.lua

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
--インフェルニティ・デス・ガンマン
2+
--Infernity Doom Slinger
3+
--scripted by pyrQ
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--During your Main Phase: You can Special Summon 1 Fiend monster from your hand
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
10+
e1:SetType(EFFECT_TYPE_IGNITION)
11+
e1:SetRange(LOCATION_MZONE)
12+
e1:SetCountLimit(1,{id,0})
13+
e1:SetTarget(s.sptg)
14+
e1:SetOperation(s.spop)
15+
c:RegisterEffect(e1)
16+
--If you have no cards in your hand (Quick Effect): You can banish this card from your GY; your opponent chooses 1 of these effects for you to apply
17+
local e2=Effect.CreateEffect(c)
18+
e2:SetDescription(aux.Stringid(id,1))
19+
e2:SetCategory(CATEGORY_DAMAGE)
20+
e2:SetType(EFFECT_TYPE_QUICK_O)
21+
e2:SetCode(EVENT_FREE_CHAIN)
22+
e2:SetRange(LOCATION_GRAVE)
23+
e2:SetCountLimit(1,{id,1})
24+
e2:SetCondition(function(e,tp) return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)==0 end)
25+
e2:SetCost(Cost.SelfBanish)
26+
e2:SetTarget(function(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return true end Duel.SetPossibleOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,4000) end)
27+
e2:SetOperation(s.effop)
28+
e2:SetHintTiming(0,TIMING_STANDBY_PHASE|TIMING_MAIN_END|TIMINGS_CHECK_MONSTER_E)
29+
c:RegisterEffect(e2)
30+
end
31+
function s.spfilter(c,e,tp)
32+
return c:IsRace(RACE_FIEND) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
33+
end
34+
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
35+
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
36+
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
37+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
38+
end
39+
function s.spop(e,tp,eg,ep,ev,re,r,rp)
40+
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
41+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
42+
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
43+
if #g>0 then
44+
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
45+
end
46+
end
47+
function s.effop(e,tp,eg,ep,ev,re,r,rp)
48+
local top_card=Duel.GetDecktopGroup(tp,1):GetFirst()
49+
local b1=top_card
50+
local b2=true
51+
local op=Duel.SelectEffect(1-tp,
52+
{b1,aux.Stringid(id,2)},
53+
{b2,aux.Stringid(id,3)})
54+
local c=e:GetHandler()
55+
if op==1 then
56+
--Reveal the top card of your Deck, and if it is a monster, your opponent takes any effect damage you would have taken this turn instead. Otherwise, you take 4000 damage
57+
Duel.ConfirmDecktop(tp,1)
58+
if top_card:IsMonster() then
59+
--Your opponent takes any effect damage you would have taken this turn instead
60+
local e1=Effect.CreateEffect(c)
61+
e1:SetDescription(aux.Stringid(id,4))
62+
e1:SetType(EFFECT_TYPE_FIELD)
63+
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
64+
e1:SetCode(EFFECT_REFLECT_DAMAGE)
65+
e1:SetTargetRange(1,0)
66+
e1:SetValue(function(e,_,_,r) return (r&REASON_EFFECT)==REASON_EFFECT end)
67+
e1:SetReset(RESET_PHASE|PHASE_END)
68+
Duel.RegisterEffect(e1,tp)
69+
else
70+
Duel.Damage(tp,4000,REASON_EFFECT)
71+
end
72+
elseif op==2 then
73+
--You take no effect damage this turn
74+
local e2a=Effect.CreateEffect(c)
75+
e2a:SetDescription(aux.Stringid(id,5))
76+
e2a:SetType(EFFECT_TYPE_FIELD)
77+
e2a:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
78+
e2a:SetCode(EFFECT_CHANGE_DAMAGE)
79+
e2a:SetTargetRange(1,0)
80+
e2a:SetValue(s.damval)
81+
e2a:SetReset(RESET_PHASE|PHASE_END)
82+
Duel.RegisterEffect(e2a,tp)
83+
local e2b=e2a:Clone()
84+
e2b:SetCode(EFFECT_NO_EFFECT_DAMAGE)
85+
Duel.RegisterEffect(e2b,tp)
86+
end
87+
end
88+
function s.damval(e,re,val,r,rp,rc)
89+
if (r&REASON_EFFECT)>0 then
90+
return 0
91+
else
92+
return val
93+
end
94+
end

official/c15141103.lua

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
--DTカタストローグ
2+
--Dark Tuner Catastrogue
3+
--Scripted by the Razgriz
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--You can reveal this card in your hand; immediately after this effect resolves, Normal Summon 1 "Dark Tuner" monster
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_SUMMON)
10+
e1:SetType(EFFECT_TYPE_IGNITION)
11+
e1:SetRange(LOCATION_HAND)
12+
e1:SetCountLimit(1,id)
13+
e1:SetCost(Cost.SelfReveal)
14+
e1:SetTarget(s.nstg)
15+
e1:SetOperation(s.nsop)
16+
c:RegisterEffect(e1)
17+
--Once per turn, if you control this Normal Summoned/Set card: You can Tribute both this face-up card and 1 face-up non-Tuner with a lower Level, and if you do, Special Summon 1 Synchro Monster from your Extra Deck with a Level equal to the difference in Levels of those monsters (this is treated as a Synchro Summon), then you can destroy 1 card your opponent controls
18+
local e2=Effect.CreateEffect(c)
19+
e2:SetDescription(aux.Stringid(id,1))
20+
e2:SetCategory(CATEGORY_RELEASE+CATEGORY_SPECIAL_SUMMON)
21+
e2:SetType(EFFECT_TYPE_IGNITION)
22+
e2:SetRange(LOCATION_MZONE)
23+
e2:SetCountLimit(1)
24+
e2:SetCondition(function(e) return e:GetHandler():IsNormalSummoned() end)
25+
e2:SetTarget(s.darksynchtg)
26+
e2:SetOperation(s.darksynchop)
27+
c:RegisterEffect(e2)
28+
end
29+
s.listed_series={SET_DARK_TUNER}
30+
function s.nsfilter(c)
31+
return c:IsSetCard(SET_DARK_TUNER) and c:IsSummonable(true,nil)
32+
end
33+
function s.nstg(e,tp,eg,ep,ev,re,r,rp,chk)
34+
if chk==0 then return Duel.IsExistingMatchingCard(s.nsfilter,tp,LOCATION_HAND|LOCATION_MZONE,0,1,nil) end
35+
Duel.SetOperationInfo(0,CATEGORY_SUMMON,nil,1,tp,LOCATION_HAND|LOCATION_MZONE)
36+
end
37+
function s.nsop(e,tp,eg,ep,ev,re,r,rp)
38+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON)
39+
local sc=Duel.SelectMatchingCard(tp,s.nsfilter,tp,LOCATION_HAND|LOCATION_MZONE,0,1,1,nil):GetFirst()
40+
if sc then
41+
Duel.Summon(tp,sc,true,nil)
42+
end
43+
end
44+
function s.nontunerfilter(c,e,tp,lv,mc)
45+
return not c:IsType(TYPE_TUNER) and c:IsReleasable() and c:IsFaceup() and c:HasLevel() and c:IsLevelBelow(lv-1)
46+
and Duel.IsExistingMatchingCard(s.darksyncfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,lv-c:GetLevel(),Group.FromCards(c,mc))
47+
end
48+
function s.darksyncfilter(c,e,tp,lv,mg)
49+
return c:IsSynchroMonster() and c:IsLevel(lv) and Duel.GetLocationCountFromEx(tp,tp,mg,c)>0
50+
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_SYNCHRO,tp,false,false)
51+
end
52+
function s.darksynchtg(e,tp,eg,ep,ev,re,r,rp,chk)
53+
local c=e:GetHandler()
54+
if chk==0 then
55+
local pg=aux.GetMustBeMaterialGroup(tp,Group.CreateGroup(),tp,nil,nil,REASON_SYNCHRO)
56+
return #pg<=0 and c:IsReleasable() and Duel.IsExistingMatchingCard(s.nontunerfilter,tp,LOCATION_MZONE,0,1,c,e,tp,c:GetLevel(),c)
57+
end
58+
Duel.SetOperationInfo(0,CATEGORY_RELEASE,c,2,tp,LOCATION_MZONE)
59+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
60+
end
61+
function s.darksynchop(e,tp,eg,ep,ev,re,r,rp)
62+
local pg=aux.GetMustBeMaterialGroup(tp,Group.CreateGroup(),tp,nil,nil,REASON_SYNCHRO)
63+
if #pg>0 then return end
64+
local c=e:GetHandler()
65+
if c:IsRelateToEffect(e) and c:IsFaceup() then
66+
local lv=c:GetLevel()
67+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
68+
local sc=Duel.SelectMatchingCard(tp,s.nontunerfilter,tp,LOCATION_MZONE,0,1,1,c,e,tp,lv,c):GetFirst()
69+
if not sc then return end
70+
Duel.HintSelection(sc)
71+
lv=lv-sc:GetLevel()
72+
if Duel.Release(Group.FromCards(c,sc),REASON_EFFECT)==2 then
73+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
74+
local sync=Duel.SelectMatchingCard(tp,s.darksyncfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,lv):GetFirst()
75+
if sync and Duel.SpecialSummon(sync,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)>0 then
76+
sync:CompleteProcedure()
77+
if Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
78+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
79+
local g=Duel.SelectMatchingCard(tp,nil,tp,0,LOCATION_ONFIELD,1,1,nil)
80+
if #g>0 then
81+
Duel.HintSelection(g)
82+
Duel.BreakEffect()
83+
Duel.Destroy(g,REASON_EFFECT)
84+
end
85+
end
86+
end
87+
end
88+
end
89+
end

official/c26364381.lua

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
--デミウルゴス EMA
2+
--Demiurge Ema
3+
--scripted by Naim
4+
local s,id=GetID()
5+
local TOKEN_HOMUNCULUS=id+1
6+
function s.initial_effect(c)
7+
--You can send 4 monsters with 2400 or more ATK and 1000 DEF from your hand, Deck, and/or face-up field to the GY; Special Summon this card from your hand
8+
local e1=Effect.CreateEffect(c)
9+
e1:SetDescription(aux.Stringid(id,0))
10+
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
11+
e1:SetType(EFFECT_TYPE_IGNITION)
12+
e1:SetRange(LOCATION_HAND)
13+
e1:SetCost(s.selfspcost)
14+
e1:SetTarget(s.selfsptg)
15+
e1:SetOperation(s.selfspop)
16+
e1:SetCountLimit(1,{id,0})
17+
c:RegisterEffect(e1)
18+
--You can target 1 Spell/Trap on each field; destroy them, then Special Summon 1 "Homunculus Token" (Fairy/LIGHT/Level 2/ATK 800/DEF 800) to both players' fields in Defense Position, and if you do, this card gains 1600 ATK
19+
local e2=Effect.CreateEffect(c)
20+
e2:SetDescription(aux.Stringid(id,0))
21+
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_TOKEN+CATEGORY_SPECIAL_SUMMON+CATEGORY_ATKCHANGE)
22+
e2:SetType(EFFECT_TYPE_IGNITION)
23+
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
24+
e2:SetRange(LOCATION_MZONE)
25+
e2:SetTarget(s.tkntg)
26+
e2:SetOperation(s.tknop)
27+
e2:SetCountLimit(1,{id,1})
28+
c:RegisterEffect(e2)
29+
end
30+
s.listed_names={TOKEN_HOMUNCULUS}
31+
function s.selfspcostfilter(c)
32+
return c:IsAttackAbove(2400) and c:IsDefense(1000) and (c:IsFaceup() or not c:IsLocation(LOCATION_MZONE)) and c:IsAbleToGraveAsCost()
33+
end
34+
function s.selfspcost(e,tp,eg,ep,ev,re,r,rp,chk)
35+
local g=Duel.GetMatchingGroup(s.selfspcostfilter,tp,LOCATION_HAND|LOCATION_MZONE|LOCATION_DECK,0,e:GetHandler())
36+
if chk==0 then return #g>=4 and Duel.GetMZoneCount(tp,g)>0 end
37+
local sg=aux.SelectUnselectGroup(g,e,tp,4,4,aux.ChkfMMZ(1),1,tp,HINTMSG_TOGRAVE)
38+
Duel.SendtoGrave(sg,REASON_COST)
39+
end
40+
function s.selfsptg(e,tp,eg,ep,ev,re,r,rp,chk)
41+
local c=e:GetHandler()
42+
if chk==0 then return c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
43+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,tp,0)
44+
end
45+
function s.selfspop(e,tp,eg,ep,ev,re,r,rp)
46+
local c=e:GetHandler()
47+
if c:IsRelateToEffect(e) then
48+
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
49+
end
50+
end
51+
function s.cansummontokentothisplayer(sum_player,target_player)
52+
return Duel.IsPlayerCanSpecialSummonMonster(sum_player,TOKEN_HOMUNCULUS,0,TYPES_TOKEN,800,800,2,RACE_FAIRY,ATTRIBUTE_LIGHT,POS_FACEUP_DEFENSE,target_player)
53+
end
54+
function s.rescon(sg,e,tp,mg)
55+
return sg:GetClassCount(Card.GetControler,nil)==2 and Duel.GetMZoneCount(tp,sg)>0 and Duel.GetMZoneCount(1-tp,sg)>0
56+
end
57+
function s.tkntg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
58+
if chkc then return false end
59+
local g=Duel.GetTargetGroup(Card.IsSpellTrap,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
60+
if chk==0 then return #g>=2 and not Duel.IsPlayerAffectedByEffect(tp,CARD_BLUEEYES_SPIRIT)
61+
and s.cansummontokentothisplayer(tp,tp)
62+
and s.cansummontokentothisplayer(tp,1-tp)
63+
and aux.SelectUnselectGroup(g,e,tp,2,2,s.rescon,0)
64+
end
65+
local tg=aux.SelectUnselectGroup(g,e,tp,2,2,s.rescon,1,tp,HINTMSG_DESTROY)
66+
Duel.SetTargetCard(tg)
67+
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tg,#tg,tp,0)
68+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,0,2,PLAYER_ALL,0)
69+
Duel.SetOperationInfo(0,CATEGORY_TOKEN,0,2,PLAYER_ALL,0)
70+
Duel.SetOperationInfo(0,CATEGORY_ATKCHANGE,e:GetHandler(),1,tp,1600)
71+
end
72+
function s.tknop(e,tp,eg,ep,ev,re,r,rp)
73+
local tg=Duel.GetTargetCards(e)
74+
if #tg>0 and Duel.Destroy(tg,REASON_EFFECT)>0 and not Duel.IsPlayerAffectedByEffect(tp,CARD_BLUEEYES_SPIRIT)
75+
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0
76+
and s.cansummontokentothisplayer(tp,tp) and s.cansummontokentothisplayer(tp,1-tp) then
77+
Duel.BreakEffect()
78+
local token1=Duel.CreateToken(tp,TOKEN_HOMUNCULUS)
79+
Duel.SpecialSummonStep(token1,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
80+
local token2=Duel.CreateToken(tp,TOKEN_HOMUNCULUS)
81+
Duel.SpecialSummonStep(token2,0,tp,1-tp,false,false,POS_FACEUP_DEFENSE)
82+
if Duel.SpecialSummonComplete()==0 then return end
83+
local c=e:GetHandler()
84+
if c:IsRelateToEffect(e) and c:IsFaceup() then
85+
--This card gains 1600 ATK
86+
c:UpdateAttack(1600)
87+
end
88+
end
89+
end

0 commit comments

Comments
 (0)