Skip to content

Commit 123855c

Browse files
authored
Added new card scripts
1 parent 3237b5e commit 123855c

File tree

5 files changed

+381
-0
lines changed

5 files changed

+381
-0
lines changed

pre-release/c101303081.lua

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
--JP name
2+
--Mechanical Mechanic
3+
--scripted by pyrQ
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--When an attack is declared involving your other Machine monster: You can increase or decrease the Level of that other monster you control by 1
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_LVCHANGE)
10+
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
11+
e1:SetCode(EVENT_ATTACK_ANNOUNCE)
12+
e1:SetRange(LOCATION_MZONE)
13+
e1:SetCondition(s.lvcon)
14+
e1:SetTarget(s.lvtg)
15+
e1:SetOperation(s.lvop)
16+
c:RegisterEffect(e1)
17+
--If a card is in the Field Zone: You can Special Summon this card from your hand
18+
local e2=Effect.CreateEffect(c)
19+
e2:SetDescription(aux.Stringid(id,1))
20+
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
21+
e2:SetType(EFFECT_TYPE_IGNITION)
22+
e2:SetRange(LOCATION_HAND)
23+
e2:SetCountLimit(1,{id,0})
24+
e2:SetCondition(s.spcon)
25+
e2:SetTarget(s.sptg)
26+
e2:SetOperation(s.spop)
27+
c:RegisterEffect(e2)
28+
--You can target 1 face-up Spell/Trap Card you control; destroy it, and if you do, add 1 WIND Machine monster with 0 ATK from your Deck to your hand, also you cannot Special Summon from the Extra Deck for the rest of this turn, except Machine monsters
29+
local e3=Effect.CreateEffect(c)
30+
e3:SetDescription(aux.Stringid(id,2))
31+
e3:SetCategory(CATEGORY_DESTROY+CATEGORY_TOHAND+CATEGORY_SEARCH)
32+
e3:SetType(EFFECT_TYPE_IGNITION)
33+
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
34+
e3:SetRange(LOCATION_MZONE)
35+
e3:SetCountLimit(1,{id,1})
36+
e3:SetTarget(s.thtg)
37+
e3:SetOperation(s.thop)
38+
c:RegisterEffect(e3)
39+
end
40+
function s.lvcon(e,tp,eg,ep,ev,re,r,rp)
41+
local bc=Duel.GetBattleMonster(tp)
42+
return bc and bc~=e:GetHandler() and bc:IsRace(RACE_MACHINE) and bc:HasLevel() and bc:IsFaceup()
43+
end
44+
function s.lvtg(e,tp,eg,ep,ev,re,r,rp,chk)
45+
if chk==0 then return true end
46+
local bc=Duel.GetBattleMonster(tp)
47+
e:SetLabelObject(bc)
48+
bc:CreateEffectRelation(e)
49+
Duel.SetOperationInfo(0,CATEGORY_LVCHANGE,bc,1,tp,1)
50+
end
51+
function s.lvop(e,tp,eg,ep,ev,re,r,rp)
52+
local bc=e:GetLabelObject()
53+
if bc:IsRelateToEffect(e) and bc:IsFaceup() and bc:IsControler(tp) and bc:HasLevel() then
54+
local op=bc:IsLevelAbove(2) and Duel.SelectOption(tp,aux.Stringid(id,3),aux.Stringid(id,4)) or 0
55+
local lv=op==0 and 1 or -1
56+
--Increase or decrease its Level by 1
57+
local e1=Effect.CreateEffect(e:GetHandler())
58+
e1:SetType(EFFECT_TYPE_SINGLE)
59+
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
60+
e1:SetCode(EFFECT_UPDATE_LEVEL)
61+
e1:SetValue(lv)
62+
e1:SetReset(RESET_EVENT|RESETS_STANDARD)
63+
bc:RegisterEffect(e1)
64+
end
65+
end
66+
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
67+
return Duel.IsExistingMatchingCard(nil,tp,LOCATION_FZONE,LOCATION_FZONE,1,nil)
68+
end
69+
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
70+
local c=e:GetHandler()
71+
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
72+
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
73+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,tp,0)
74+
end
75+
function s.spop(e,tp,eg,ep,ev,re,r,rp)
76+
local c=e:GetHandler()
77+
if c:IsRelateToEffect(e) then
78+
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
79+
end
80+
end
81+
function s.thfilter(c)
82+
return c:IsAttribute(ATTRIBUTE_WIND) and c:IsRace(RACE_MACHINE) and c:IsAttack(0) and c:IsAbleToHand()
83+
end
84+
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
85+
if chkc then return chkc:IsOnField() and chkc:IsControler(tp) and chkc:IsSpellTrap() and chkc:IsFaceup() end
86+
if chk==0 then return Duel.IsExistingTarget(aux.FaceupFilter(Card.IsSpellTrap),tp,LOCATION_ONFIELD,0,1,nil)
87+
and Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil) end
88+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
89+
local g=Duel.SelectTarget(tp,aux.FaceupFilter(Card.IsSpellTrap),tp,LOCATION_ONFIELD,0,1,1,nil)
90+
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,tp,0)
91+
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
92+
end
93+
function s.thop(e,tp,eg,ep,ev,re,r,rp)
94+
local tc=Duel.GetFirstTarget()
95+
if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)>0 then
96+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
97+
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_DECK,0,1,1,nil)
98+
if #g>0 then
99+
Duel.SendtoHand(g,nil,REASON_EFFECT)
100+
Duel.ConfirmCards(1-tp,g)
101+
end
102+
end
103+
--You cannot Special Summon from the extra Deck for the rest of this turn, except Machine monsters
104+
local e1=Effect.CreateEffect(e:GetHandler())
105+
e1:SetDescription(aux.Stringid(id,5))
106+
e1:SetType(EFFECT_TYPE_FIELD)
107+
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
108+
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
109+
e1:SetTargetRange(1,0)
110+
e1:SetTarget(function(e,c) return c:IsLocation(LOCATION_EXTRA) and not c:IsRace(RACE_MACHINE) end)
111+
e1:SetReset(RESET_PHASE|PHASE_END)
112+
Duel.RegisterEffect(e1,tp)
113+
end

pre-release/c101303084.lua

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
--JP name
2+
--Mercurium the Living Quicksilver
3+
--scripted by pyrQ
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
c:EnableReviveLimit()
7+
--Xyz Summon procedure: 2+ Level 10 monsters
8+
Xyz.AddProcedure(c,nil,10,2,nil,nil,Xyz.InfiniteMats)
9+
--If this card is Xyz Summoned: You can attach 1 monster from your Deck to this card as material
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetDescription(aux.Stringid(id,0))
12+
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
13+
e1:SetProperty(EFFECT_FLAG_DELAY)
14+
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
15+
e1:SetCountLimit(1,id)
16+
e1:SetCondition(function(e) return e:GetHandler():IsXyzSummoned() end)
17+
e1:SetTarget(s.attachtg)
18+
e1:SetOperation(s.attachop)
19+
c:RegisterEffect(e1)
20+
--While this card has material, your opponent cannot activate the effects of monsters in their GY with the same Attribute as a monster in your GY
21+
local e2=Effect.CreateEffect(c)
22+
e2:SetType(EFFECT_TYPE_FIELD)
23+
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
24+
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
25+
e2:SetRange(LOCATION_MZONE)
26+
e2:SetTargetRange(0,1)
27+
e2:SetCondition(function(e) return e:GetHandler():GetOverlayCount()>0 end)
28+
e2:SetValue(s.cannotactval)
29+
c:RegisterEffect(e2)
30+
--Once per turn, during the End Phase: Detach 1 material from this card or take 3000 damage
31+
local e3=Effect.CreateEffect(c)
32+
e3:SetDescription(aux.Stringid(id,1))
33+
e3:SetCategory(CATEGORY_DAMAGE)
34+
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
35+
e3:SetCode(EVENT_PHASE+PHASE_END)
36+
e3:SetRange(LOCATION_MZONE)
37+
e3:SetCountLimit(1)
38+
e3:SetTarget(s.detachtg)
39+
e3:SetOperation(s.detachop)
40+
c:RegisterEffect(e3)
41+
end
42+
function s.attachfilter(c,xyzc,tp)
43+
return c:IsMonster() and c:IsCanBeXyzMaterial(xyzc,tp,REASON_EFFECT)
44+
end
45+
function s.attachtg(e,tp,eg,ep,ev,re,r,rp,chk)
46+
if chk==0 then return Duel.IsExistingMatchingCard(s.attachfilter,tp,LOCATION_DECK,0,1,nil,e:GetHandler(),tp) end
47+
end
48+
function s.attachop(e,tp,eg,ep,ev,re,r,rp)
49+
local c=e:GetHandler()
50+
if c:IsRelateToEffect(e) then
51+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
52+
local sc=Duel.SelectMatchingCard(tp,s.attachfilter,tp,LOCATION_DECK,0,1,1,nil,c,tp):GetFirst()
53+
if sc then
54+
Duel.Overlay(c,sc)
55+
end
56+
end
57+
end
58+
function s.cannotactval(e,re,rp)
59+
local rc=re:GetHandler()
60+
return re:IsMonsterEffect() and rc:IsLocation(LOCATION_GRAVE)
61+
and Duel.IsExistingMatchingCard(Card.IsAttribute,e:GetHandlerPlayer(),LOCATION_GRAVE,0,1,nil,rc:GetAttribute())
62+
end
63+
function s.detachtg(e,tp,eg,ep,ev,re,r,rp,chk)
64+
if chk==0 then return true end
65+
local c=e:GetHandler()
66+
if c:GetOverlayCount()==0 then
67+
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,3000)
68+
end
69+
Duel.SetPossibleOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,3000)
70+
end
71+
function s.detachop(e,tp,eg,ep,ev,re,r,rp)
72+
local c=e:GetHandler()
73+
if not c:IsRelateToEffect(e) then return Duel.Damage(tp,3000,REASON_EFFECT) end
74+
local b1=c:CheckRemoveOverlayCard(tp,1,REASON_EFFECT)
75+
local b2=true
76+
--Detach 1 material from this card or take 3000 damage
77+
local op=b1 and Duel.SelectEffect(tp,
78+
{b1,aux.Stringid(id,2)},
79+
{b2,aux.Stringid(id,3)}) or 2
80+
if op==1 then
81+
c:RemoveOverlayCard(tp,1,1,REASON_EFFECT)
82+
elseif op==2 then
83+
Duel.Damage(tp,3000,REASON_EFFECT)
84+
end
85+
end

pre-release/c101303086.lua

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
--JP name
2+
--Rain of Frogs
3+
local s,id=GetID()
4+
function s.initial_effect(c)
5+
--If you control an Aqua monster with 2000 or more ATK: Send all monsters on the field to the GY, except Aqua monsters
6+
local e1=Effect.CreateEffect(c)
7+
e1:SetDescription(aux.Stringid(id,0))
8+
e1:SetCategory(CATEGORY_TOGRAVE)
9+
e1:SetType(EFFECT_TYPE_ACTIVATE)
10+
e1:SetCode(EVENT_FREE_CHAIN)
11+
e1:SetCountLimit(1,{id,0})
12+
e1:SetCondition(s.condition)
13+
e1:SetTarget(s.target)
14+
e1:SetOperation(s.activate)
15+
e1:SetHintTiming(0,TIMING_STANDBY_PHASE|TIMING_MAIN_END|TIMINGS_CHECK_MONSTER_E)
16+
c:RegisterEffect(e1)
17+
--f this Set card is destroyed by card effect: You can Set this card
18+
local e2=Effect.CreateEffect(c)
19+
e2:SetDescription(aux.Stringid(id,1))
20+
e2:SetCategory(CATEGORY_SET)
21+
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
22+
e2:SetProperty(EFFECT_FLAG_DELAY)
23+
e2:SetCode(EVENT_DESTROYED)
24+
e2:SetCountLimit(1,{id,1})
25+
e2:SetCondition(s.setcon)
26+
e2:SetTarget(s.settg)
27+
e2:SetOperation(s.setop)
28+
c:RegisterEffect(e2)
29+
end
30+
function s.confilter(c)
31+
return c:IsRace(RACE_AQUA) and c:IsAttackAbove(2000) and c:IsFaceup()
32+
end
33+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
34+
return Duel.IsExistingMatchingCard(s.confilter,tp,LOCATION_MZONE,0,1,nil)
35+
end
36+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
37+
if chk==0 then return Duel.IsExistingMatchingCard(aux.NOT(aux.FaceupFilter(Card.IsRace,RACE_AQUA)),tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
38+
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,PLAYER_ALL,LOCATION_MZONE)
39+
end
40+
function s.activate(e,tp,eg,ep,ev,re,r,rp)
41+
local g=Duel.GetMatchingGroup(aux.NOT(aux.FaceupFilter(Card.IsRace,RACE_AQUA)),tp,LOCATION_MZONE,LOCATION_MZONE,nil)
42+
if #g>0 then
43+
Duel.SendtoGrave(g,REASON_EFFECT)
44+
end
45+
end
46+
function s.setcon(e,tp,eg,ep,ev,re,r,rp)
47+
local c=e:GetHandler()
48+
return c:IsPreviousPosition(POS_FACEDOWN) and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsReason(REASON_EFFECT)
49+
end
50+
function s.settg(e,tp,eg,ep,ev,re,r,rp,chk)
51+
local c=e:GetHandler()
52+
if chk==0 then return c:IsSSetable() end
53+
Duel.SetOperationInfo(0,CATEGORY_SET,c,1,tp,0)
54+
end
55+
function s.setop(e,tp,eg,ep,ev,re,r,rp)
56+
local c=e:GetHandler()
57+
if c:IsRelateToEffect(e) then
58+
Duel.SSet(tp,c)
59+
end
60+
end

pre-release/c101303093.lua

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
--JP name
2+
--Returned Dino Daneen
3+
local s,id=GetID()
4+
function s.initial_effect(c)
5+
--If this card is Special Summoned by a monster effect: You can add 1 "GMX" monster from your Deck to your hand
6+
local e1=Effect.CreateEffect(c)
7+
e1:SetDescription(aux.Stringid(id,0))
8+
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
9+
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
10+
e1:SetProperty(EFFECT_FLAG_DELAY)
11+
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
12+
e1:SetCountLimit(1,{id,0})
13+
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return re and re:IsMonsterEffect() end)
14+
e1:SetTarget(s.thtg)
15+
e1:SetOperation(s.thop)
16+
c:RegisterEffect(e1)
17+
--During your Main Phase: You can Fusion Summon 1 Dinosaur Fusion Monster from your Extra Deck, using monsters from your hand or field
18+
local fusion_params={fusfilter=function(c) return c:IsRace(RACE_DINOSAUR) end}
19+
local e2=Effect.CreateEffect(c)
20+
e2:SetDescription(aux.Stringid(id,1))
21+
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
22+
e2:SetType(EFFECT_TYPE_IGNITION)
23+
e2:SetRange(LOCATION_MZONE)
24+
e2:SetCountLimit(1,{id,1})
25+
e2:SetTarget(Fusion.SummonEffTG(fusion_params))
26+
e2:SetOperation(Fusion.SummonEffOP(fusion_params))
27+
c:RegisterEffect(e2)
28+
--If this card is sent to the GY: You can make all Dinosaur monsters you currently control gain 400 ATK
29+
local e3=Effect.CreateEffect(c)
30+
e3:SetDescription(aux.Stringid(id,2))
31+
e3:SetCategory(CATEGORY_ATKCHANGE)
32+
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
33+
e3:SetProperty(EFFECT_FLAG_DELAY)
34+
e3:SetCode(EVENT_TO_GRAVE)
35+
e3:SetCountLimit(1,{id,2})
36+
e3:SetTarget(s.atktg)
37+
e3:SetOperation(s.atkop)
38+
c:RegisterEffect(e3)
39+
end
40+
s.listeds_series={SET_GMX}
41+
function s.thfilter(c)
42+
return c:IsSetCard(SET_GMX) and c:IsMonster() and c:IsAbleToHand()
43+
end
44+
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
45+
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil) end
46+
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
47+
end
48+
function s.thop(e,tp,eg,ep,ev,re,r,rp)
49+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
50+
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_DECK,0,1,1,nil)
51+
if #g>0 then
52+
Duel.SendtoHand(g,nil,REASON_EFFECT)
53+
Duel.ConfirmCards(1-tp,g)
54+
end
55+
end
56+
function s.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
57+
if chk==0 then return Duel.IsExistingMatchingCard(aux.FaceupFilter(Card.IsRace,RACE_DINOSAUR),tp,LOCATION_MZONE,0,1,nil) end
58+
end
59+
function s.atkop(e,tp,eg,ep,ev,re,r,rp)
60+
local c=e:GetHandler()
61+
local g=Duel.GetMatchingGroup(aux.FaceupFilter(Card.IsRace,RACE_DINOSAUR),tp,LOCATION_MZONE,0,nil)
62+
for tc in g:Iter() do
63+
--All Dinosaur monsters you currently control gain 400 ATK
64+
local e1=Effect.CreateEffect(c)
65+
e1:SetType(EFFECT_TYPE_SINGLE)
66+
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
67+
e1:SetCode(EFFECT_UPDATE_ATTACK)
68+
e1:SetValue(400)
69+
e1:SetReset(RESET_EVENT|RESETS_STANDARD)
70+
tc:RegisterEffect(e1)
71+
end
72+
end

pre-release/c101303096.lua

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
--JP name
2+
--GMX Applied Experiment #55
3+
--scripted by pyrQ
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Excavate the top cards of your Deck until you have excavated a "GMX" monster and a Dinosaur monster, lose 400 LP for each excavated card, then you can Fusion Summon 1 "GMX" Fusion Monster from your Extra Deck, using any excavated monsters as material, also shuffle the rest into the Deck
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
10+
e1:SetType(EFFECT_TYPE_ACTIVATE)
11+
e1:SetCode(EVENT_FREE_CHAIN)
12+
e1:SetCountLimit(1,id,EFFECT_COUNT_CODE_OATH)
13+
e1:SetTarget(s.target)
14+
e1:SetOperation(s.activate)
15+
c:RegisterEffect(e1)
16+
end
17+
s.listed_series={SET_GMX}
18+
function s.gmxfilter(c,tp)
19+
return c:IsSetCard(SET_GMX) and c:IsMonster() and Duel.IsExistingMatchingCard(Card.IsRace,tp,LOCATION_DECK,0,1,c,RACE_DINOSAUR)
20+
end
21+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
22+
if chk==0 then return Duel.IsExistingMatchingCard(s.gmxfilter,tp,LOCATION_DECK,0,1,nil,tp) end
23+
Duel.SetPossibleOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
24+
end
25+
function s.activate(e,tp,eg,ep,ev,re,r,rp)
26+
local deck_count=Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)
27+
if deck_count==0 then return end
28+
local gmx_g=Duel.GetMatchingGroup(s.gmxfilter,tp,LOCATION_DECK,0,nil,tp)
29+
local dino_g=Duel.GetMatchingGroup(Card.IsRace,tp,LOCATION_DECK,0,nil,RACE_DINOSAUR)
30+
if #gmx_g==0 or #dino_g==0 then
31+
Duel.ConfirmDecktop(tp,deck_count)
32+
Duel.SetLP(tp,Duel.GetLP(tp)-deck_count*400)
33+
else
34+
local gmx_c=gmx_g:GetMaxGroup(Card.GetSequence):GetFirst()
35+
local dino_c=dino_g:GetMaxGroup(Card.GetSequence):GetFirst()
36+
local excav_count=deck_count-math.min(gmx_c:GetSequence(),dino_c:GetSequence())
37+
Duel.ConfirmDecktop(tp,excav_count)
38+
Duel.SetLP(tp,Duel.GetLP(tp)-excav_count*400)
39+
local excav_monsters=Duel.GetDecktopGroup(tp,excav_count):Match(Card.IsMonster,nil)
40+
local fusion_params={
41+
fusfilter=function(c) return c:IsSetCard(SET_GMX) end,
42+
matfilter=aux.FALSE,
43+
extrafil=function(e,tp,mg) return excav_monsters end
44+
}
45+
if Fusion.SummonEffTG(fusion_params)(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
46+
Duel.BreakEffect()
47+
Fusion.SummonEffOP(fusion_params)(e,tp,eg,ep,ev,re,r,rp)
48+
end
49+
end
50+
Duel.ShuffleDeck(tp)
51+
end

0 commit comments

Comments
 (0)