Skip to content

Commit 7f13cc3

Browse files
committed
added new rush cards
1 parent a24155a commit 7f13cc3

14 files changed

Lines changed: 768 additions & 0 deletions

rush/c160219003.lua

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
--XYZ-ドラゴン・キャノン
2+
--XYZ-Dragon Cannon
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Fusion Summon
7+
c:EnableReviveLimit()
8+
local fusproc1=Fusion.AddProcMix(c,true,true,62651957,65622692,64500000)[1]
9+
fusproc1:SetDescription(aux.Stringid(id,0))
10+
local fusproc2=Fusion.AddProcMix(c,true,true,64500000,aux.FilterBoolFunctionEx(Card.IsHasEffect,160219005))[1]
11+
fusproc2:SetDescription(aux.Stringid(id,1))
12+
local fusproc3=Fusion.AddProcMix(c,true,true,65622692,aux.FilterBoolFunctionEx(Card.IsHasEffect,160219006))[1]
13+
fusproc3:SetDescription(aux.Stringid(id,2))
14+
local fusproc4=Fusion.AddProcMix(c,true,true,62651957,aux.FilterBoolFunctionEx(Card.IsHasEffect,160219007))[1]
15+
fusproc4:SetDescription(aux.Stringid(id,3))
16+
Fusion.AddUnionFusionProc(c)
17+
--Destroy 1 card your opponent controls
18+
local e1=Effect.CreateEffect(c)
19+
e1:SetDescription(aux.Stringid(id,4))
20+
e1:SetCategory(CATEGORY_DESTROY)
21+
e1:SetType(EFFECT_TYPE_IGNITION)
22+
e1:SetRange(LOCATION_MZONE)
23+
e1:SetCountLimit(1)
24+
e1:SetCost(s.cost)
25+
e1:SetTarget(s.target)
26+
e1:SetOperation(s.operation)
27+
c:RegisterEffect(e1)
28+
end
29+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
30+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,nil) end
31+
end
32+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
33+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsNotMaximumModeSide,tp,0,LOCATION_ONFIELD,1,nil) end
34+
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_ONFIELD)
35+
end
36+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
37+
--Requirement
38+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
39+
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,1,nil)
40+
Duel.SendtoGrave(g,REASON_COST)
41+
--Effect
42+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
43+
local dg=Duel.SelectMatchingCard(tp,Card.IsNotMaximumModeSide,tp,0,LOCATION_ONFIELD,1,1,nil)
44+
local dg2=dg:AddMaximumCheck()
45+
Duel.HintSelection(dg2)
46+
Duel.Destroy(dg,REASON_EFFECT)
47+
end

rush/c160219005.lua

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
--XY-ドラゴン・キャノン
2+
--XY-Dragon Cannon
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--fusion material
7+
c:EnableReviveLimit()
8+
Fusion.AddProcMix(c,true,true,62651957,65622692)
9+
Fusion.AddUnionFusionProc(c)
10+
--Can be treated as 2 materials
11+
local e1=Effect.CreateEffect(c)
12+
e1:SetType(EFFECT_TYPE_SINGLE)
13+
e1:SetCode(id)
14+
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
15+
e1:SetRange(LOCATION_MZONE)
16+
e1:SetValue(2)
17+
c:RegisterEffect(e1)
18+
--Destroy 1 face-up Spell
19+
local e2=Effect.CreateEffect(c)
20+
e2:SetCategory(CATEGORY_DESTROY)
21+
e2:SetType(EFFECT_TYPE_IGNITION)
22+
e2:SetRange(LOCATION_MZONE)
23+
e2:SetCountLimit(1)
24+
e2:SetTarget(s.target)
25+
e2:SetOperation(s.operation)
26+
c:RegisterEffect(e2)
27+
end
28+
function s.filter(c)
29+
return c:IsSpell() and c:IsFaceup()
30+
end
31+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
32+
local dg=Duel.GetMatchingGroup(s.filter,tp,0,LOCATION_ONFIELD,nil)
33+
if chk==0 then return #dg>0 end
34+
end
35+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
36+
local dg=Duel.GetMatchingGroup(s.filter,tp,0,LOCATION_ONFIELD,nil)
37+
if #dg>0 then
38+
local sg=dg:Select(tp,1,1,nil)
39+
Duel.HintSelection(sg)
40+
Duel.Destroy(sg,REASON_EFFECT)
41+
end
42+
end

rush/c160219006.lua

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
--XZ-キャタピラー・キャノン
2+
--XZ-Tank Cannon
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--fusion material
7+
c:EnableReviveLimit()
8+
Fusion.AddProcMix(c,true,true,62651957,64500000)
9+
Fusion.AddUnionFusionProc(c)
10+
--Can be treated as 2 materials
11+
local e1=Effect.CreateEffect(c)
12+
e1:SetType(EFFECT_TYPE_SINGLE)
13+
e1:SetCode(id)
14+
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
15+
e1:SetRange(LOCATION_MZONE)
16+
e1:SetValue(2)
17+
c:RegisterEffect(e1)
18+
--Destroy 1 face-down S/T
19+
local e2=Effect.CreateEffect(c)
20+
e2:SetCategory(CATEGORY_DESTROY)
21+
e2:SetType(EFFECT_TYPE_IGNITION)
22+
e2:SetRange(LOCATION_MZONE)
23+
e2:SetCountLimit(1)
24+
e1:SetCost(s.cost)
25+
e2:SetTarget(s.target)
26+
e2:SetOperation(s.operation)
27+
c:RegisterEffect(e2)
28+
end
29+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
30+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,nil) end
31+
end
32+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
33+
local dg=Duel.GetMatchingGroup(Card.IsFacedown,tp,0,LOCATION_SZONE,nil)
34+
if chk==0 then return #dg>0 end
35+
end
36+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
37+
--Requirement
38+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
39+
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,1,nil)
40+
Duel.SendtoGrave(g,REASON_COST)
41+
--Effect
42+
local dg=Duel.GetMatchingGroup(Card.IsFacedown,tp,0,LOCATION_SZONE,nil)
43+
if #dg>0 then
44+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
45+
local sg=dg:Select(tp,1,1,nil)
46+
Duel.HintSelection(sg)
47+
Duel.Destroy(sg,REASON_EFFECT)
48+
end
49+
end

rush/c160219007.lua

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
--YZ-キャタピラー・ドラゴン
2+
--YZ-Tank Dragon
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--fusion material
7+
c:EnableReviveLimit()
8+
Fusion.AddProcMix(c,true,true,65622692,64500000)
9+
Fusion.AddUnionFusionProc(c)
10+
--Can be treated as 2 materials
11+
local e1=Effect.CreateEffect(c)
12+
e1:SetType(EFFECT_TYPE_SINGLE)
13+
e1:SetCode(id)
14+
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
15+
e1:SetRange(LOCATION_MZONE)
16+
e1:SetValue(2)
17+
c:RegisterEffect(e1)
18+
--Destroy 1 face-down S/T
19+
local e2=Effect.CreateEffect(c)
20+
e2:SetCategory(CATEGORY_DESTROY)
21+
e2:SetType(EFFECT_TYPE_IGNITION)
22+
e2:SetRange(LOCATION_MZONE)
23+
e2:SetCountLimit(1)
24+
e1:SetCost(s.cost)
25+
e2:SetTarget(s.target)
26+
e2:SetOperation(s.operation)
27+
c:RegisterEffect(e2)
28+
end
29+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
30+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,nil) end
31+
end
32+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
33+
local dg=Duel.GetMatchingGroup(Card.IsFacedown,tp,0,LOCATION_MZONE,nil)
34+
if chk==0 then return #dg>0 end
35+
end
36+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
37+
--Requirement
38+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
39+
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,1,nil)
40+
Duel.SendtoGrave(g,REASON_COST)
41+
--Effect
42+
local dg=Duel.GetMatchingGroup(Card.IsFacedown,tp,0,LOCATION_MZONE,nil)
43+
if #dg>0 then
44+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
45+
local sg=dg:Select(tp,1,1,nil)
46+
Duel.HintSelection(sg)
47+
Duel.Destroy(sg,REASON_EFFECT)
48+
end
49+
end

rush/c160219011.lua

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
--ユニオン・サポーター
2+
--Union Supporter
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Name change
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,1))
9+
e1:SetCategory(CATEGORY_ATKCHANGE)
10+
e1:SetType(EFFECT_TYPE_IGNITION)
11+
e1:SetRange(LOCATION_MZONE)
12+
e1:SetCountLimit(1)
13+
e1:SetCost(s.cost)
14+
e1:SetTarget(s.target)
15+
e1:SetOperation(s.operation)
16+
c:RegisterEffect(e1)
17+
end
18+
s.listed_names={62651957,65622692,64500000}
19+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
20+
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end
21+
end
22+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
23+
local c=e:GetHandler()
24+
if chk==0 then return not c:IsCode(62651957,65622692,64500000) end
25+
end
26+
function s.spfilter(c,e,tp)
27+
return c:IsLevel(6) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_MACHINE) and c:IsType(TYPE_FUSION)
28+
and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
29+
end
30+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
31+
local c=e:GetHandler()
32+
--Requirement
33+
if Duel.DiscardDeck(tp,1,REASON_COST)<1 then return end
34+
--Effect
35+
local mats={}
36+
if c:IsCode(62651957) then
37+
mats={65622692,64500000}
38+
elseif c:IsCode(65622692) then
39+
mats={62651957,64500000}
40+
elseif c:IsCode(64500000) then
41+
mats={65622692,62651957}
42+
else
43+
mats={62651957,65622692,64500000}
44+
end
45+
local announceFilter={}
46+
for _,name in pairs(mats) do
47+
if #announceFilter==0 then
48+
table.insert(announceFilter,name)
49+
table.insert(announceFilter,OPCODE_ISCODE)
50+
else
51+
table.insert(announceFilter,name)
52+
table.insert(announceFilter,OPCODE_ISCODE)
53+
table.insert(announceFilter,OPCODE_OR)
54+
end
55+
end
56+
local code=Duel.AnnounceCard(tp,announceFilter)
57+
--Name change
58+
local e1=Effect.CreateEffect(c)
59+
e1:SetType(EFFECT_TYPE_SINGLE)
60+
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
61+
e1:SetCode(EFFECT_CHANGE_CODE)
62+
e1:SetValue(code)
63+
e1:SetReset(RESETS_STANDARD_PHASE_END)
64+
c:RegisterEffect(e1)
65+
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,nil,e,tp)
66+
if #g>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
67+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
68+
local sg=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
69+
if #sg>0 then
70+
Duel.BreakEffect()
71+
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
72+
end
73+
end
74+
end

rush/c160219012.lua

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
--サーチング・ユニオン
2+
--Searching Union
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
-- Add excavated monster to hand
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
10+
e1:SetType(EFFECT_TYPE_ACTIVATE)
11+
e1:SetCode(EVENT_FREE_CHAIN)
12+
e1:SetTarget(s.target)
13+
e1:SetOperation(s.operation)
14+
c:RegisterEffect(e1)
15+
end
16+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
17+
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=5 end
18+
Duel.SetPossibleOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
19+
end
20+
function s.filter(c)
21+
return c:IsCode(62651957,65622692,64500000) and c:IsAbleToHand()
22+
end
23+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
24+
--Effect
25+
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<5 then return end
26+
local g=Duel.GetDeckbottomGroup(tp,5)
27+
Duel.ConfirmCards(tp,g)
28+
if g:IsExists(s.filter,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
29+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
30+
local tg=g:FilterSelect(tp,s.filter,1,2,nil)
31+
if #tg>0 then
32+
Duel.SendtoHand(tg,nil,REASON_EFFECT)
33+
Duel.ConfirmCards(1-tp,tg)
34+
Duel.ShuffleHand(tp)
35+
g:RemoveCard(tg)
36+
end
37+
end
38+
Duel.ShuffleDeck(tp)
39+
end

rush/c160219014.lua

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
--星域のプリアージュ
2+
--Pliage the Star Sanctuary
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Fusion procedure
7+
c:EnableReviveLimit()
8+
Fusion.AddProcMix(c,true,true,160213069,s.ffilter,aux.FilterBoolFunctionEx(Card.IsType,TYPE_NORMAL))
9+
--Special summon
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetDescription(aux.Stringid(id,0))
12+
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
13+
e1:SetType(EFFECT_TYPE_IGNITION)
14+
e1:SetRange(LOCATION_MZONE)
15+
e1:SetCountLimit(1)
16+
e1:SetTarget(s.target)
17+
e1:SetOperation(s.operation)
18+
c:RegisterEffect(e1)
19+
end
20+
s.named_material={16213069}
21+
function s.ffilter(c,fc,sumtype,tp)
22+
return c:IsAttribute(ATTRIBUTE_DARK,fc,sumtype,tp) and c:IsLevelBelow(4)
23+
end
24+
function s.filter(c,e,tp)
25+
return c:IsType(TYPE_NORMAL) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
26+
end
27+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
28+
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
29+
and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
30+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
31+
end
32+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
33+
local c=e:GetHandler()
34+
--Effect
35+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
36+
local g=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
37+
if #g>0 then
38+
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
39+
local tc=g:GetFirst()
40+
if tc:GetBaseDefense()>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
41+
local e1=Effect.CreateEffect(c)
42+
e1:SetType(EFFECT_TYPE_SINGLE)
43+
e1:SetCode(EFFECT_UPDATE_ATTACK)
44+
e1:SetValue(tc:GetBaseDefense())
45+
e1:SetReset(RESETS_STANDARD_PHASE_END)
46+
tc:RegisterEffect(e1)
47+
end
48+
end
49+
end

0 commit comments

Comments
 (0)