Skip to content

Commit 1684849

Browse files
committed
added new rush cards
1 parent 5d8ce90 commit 1684849

File tree

6 files changed

+285
-0
lines changed

6 files changed

+285
-0
lines changed

rush/c160217032.lua

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
--相変異態・グレート・モス
2+
--Great Moth Alternative
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Fusion Procedure
7+
c:EnableReviveLimit()
8+
Fusion.AddProcMixN(c,true,true,40240595,1,s.ffilter,1)
9+
--Name becomes "Great Moth"
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetType(EFFECT_TYPE_SINGLE)
12+
e1:SetCode(EFFECT_CHANGE_CODE)
13+
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
14+
e1:SetRange(LOCATION_GRAVE|LOCATION_MZONE)
15+
e1:SetValue(14141448)
16+
c:RegisterEffect(e1)
17+
--Cannot be destroyed
18+
local e2=Effect.CreateEffect(c)
19+
e2:SetType(EFFECT_TYPE_SINGLE)
20+
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
21+
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
22+
e2:SetRange(LOCATION_MZONE)
23+
e2:SetValue(aux.indoval)
24+
c:RegisterEffect(e2)
25+
--Piercing
26+
local e3=Effect.CreateEffect(c)
27+
e3:SetType(EFFECT_TYPE_FIELD)
28+
e3:SetCode(EFFECT_PIERCE)
29+
e3:SetRange(LOCATION_MZONE)
30+
e3:SetTargetRange(LOCATION_MZONE,0)
31+
e3:SetTarget(s.target)
32+
e3:SetValue(1)
33+
c:RegisterEffect(e3)
34+
end
35+
function s.ffilter(c,fc,sumtype,tp)
36+
return c:IsRace(RACE_INSECT,fc,sumtype,tp) and c:IsAttribute(ATTRIBUTE_EARTH,fc,sumtype,tp) and c:IsLevelAbove(5)
37+
end
38+
function s.target(e,c)
39+
return c:IsRace(RACE_INSECT) and c:IsLevel(8)
40+
end

rush/c160217037.lua

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
--連装砲機甲鎧
2+
--Double Cannon Armor
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--summon without tribute
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
10+
e1:SetType(EFFECT_TYPE_SINGLE)
11+
e1:SetCode(EFFECT_SUMMON_PROC)
12+
e1:SetCondition(s.ntcon)
13+
c:RegisterEffect(e1)
14+
--Make 1 of your Insect monsters gain 700 ATK
15+
local e2=Effect.CreateEffect(c)
16+
e2:SetDescription(aux.Stringid(id,1))
17+
e2:SetCategory(CATEGORY_ATKCHANGE)
18+
e2:SetType(EFFECT_TYPE_IGNITION)
19+
e2:SetRange(LOCATION_MZONE)
20+
e2:SetCountLimit(1)
21+
e2:SetCost(s.cost)
22+
e2:SetTarget(s.target)
23+
e2:SetOperation(s.operation)
24+
c:RegisterEffect(e2)
25+
end
26+
function s.filter(c)
27+
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsRace(RACE_INSECT)
28+
end
29+
function s.ntcon(e,c,minc)
30+
if c==nil then return true end
31+
return minc==0 and c:GetLevel()>4 and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
32+
and Duel.IsExistingMatchingCard(s.filter,c:GetControler(),LOCATION_MZONE,0,1,nil)
33+
end
34+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
35+
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end
36+
end
37+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
38+
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_MZONE,0,1,nil) end
39+
end
40+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
41+
local c=e:GetHandler()
42+
--Requirement
43+
if Duel.DiscardDeck(tp,1,REASON_COST)<1 then return end
44+
--Effect
45+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
46+
local g=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_MZONE,0,1,1,nil)
47+
if #g>0 then
48+
Duel.HintSelection(g)
49+
local tc=g:GetFirst()
50+
--Gains 500 ATK
51+
local e1=Effect.CreateEffect(c)
52+
e1:SetType(EFFECT_TYPE_SINGLE)
53+
e1:SetCode(EFFECT_UPDATE_ATTACK)
54+
e1:SetValue(700)
55+
e1:SetReset(RESETS_STANDARD_PHASE_END)
56+
tc:RegisterEffect(e1)
57+
end
58+
end

rush/c160217040.lua

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
--群れをなす昆虫人間
2+
--Swarming Basic Insect
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Add card to hand
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_TOHAND)
10+
e1:SetType(EFFECT_TYPE_IGNITION)
11+
e1:SetRange(LOCATION_MZONE)
12+
e1:SetCountLimit(1)
13+
e1:SetCondition(s.condition)
14+
e1:SetCost(s.cost)
15+
e1:SetTarget(s.target)
16+
e1:SetOperation(s.operation)
17+
c:RegisterEffect(e1)
18+
end
19+
function s.thfilter(c,cond_check)
20+
return c:IsRace(RACE_INSECT) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsDefense(2000) and (cond_check or c:IsAbleToHand())
21+
end
22+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
23+
return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil,true)
24+
end
25+
function s.cfilter(c)
26+
return c:IsMonster() and c:IsAbleToGraveAsCost()
27+
end
28+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
29+
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_HAND|LOCATION_MZONE,0,1,e:GetHandler()) end
30+
end
31+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
32+
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil,false) end
33+
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
34+
end
35+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
36+
--Requirement
37+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
38+
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_HAND|LOCATION_MZONE,0,1,1,e:GetHandler())
39+
if Duel.SendtoGrave(g,REASON_COST)<1 then return end
40+
--Effect
41+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
42+
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,1,nil,false)
43+
if #g>0 then
44+
Duel.SendtoHand(g,nil,REASON_EFFECT)
45+
Duel.ConfirmCards(1-tp,g)
46+
if g:GetFirst():IsCode(160217037) and Duel.IsExistingMatchingCard(Card.IsSpellTrap,tp,0,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
47+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
48+
local g=Duel.SelectMatchingCard(tp,Card.IsSpellTrap,tp,0,LOCATION_ONFIELD,1,1,nil)
49+
Duel.HintSelection(g)
50+
Duel.BreakEffect()
51+
Duel.Destroy(g,REASON_EFFECT)
52+
end
53+
end
54+
end

rush/c160217041.lua

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
--進化のプチモス
2+
--Petit Moth of Evolution
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,0))
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={58192742}
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(58192742) end
25+
Duel.SetPossibleOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
26+
end
27+
function s.thfilter(c)
28+
return c:IsCode(58192742) and c:IsAbleToHand()
29+
end
30+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
31+
--Requirement
32+
if Duel.DiscardDeck(tp,1,REASON_COST)<1 then return end
33+
--Effect
34+
local c=e:GetHandler()
35+
--Name becomes "Petit Moth"
36+
local e1=Effect.CreateEffect(c)
37+
e1:SetType(EFFECT_TYPE_SINGLE)
38+
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
39+
e1:SetCode(EFFECT_CHANGE_CODE)
40+
e1:SetValue(58192742)
41+
e1:SetReset(RESETS_STANDARD_PHASE_END)
42+
c:RegisterEffect(e1)
43+
if Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
44+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
45+
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,1,nil)
46+
if #g>0 then
47+
Duel.BreakEffect()
48+
Duel.SendtoHand(g,nil,REASON_EFFECT)
49+
Duel.ConfirmCards(1-tp,g)
50+
end
51+
end
52+
end

rush/c160217042.lua

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
--樹海の魔草
2+
--Magical Plant of the Verdant Forest
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Draw 1 card, then Special Summon 1 non-effect monster from the GY
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SPECIAL_SUMMON)
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.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_MZONE,0,1,nil) end
18+
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_MZONE)
19+
Duel.SetPossibleOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
20+
end
21+
function s.spfilter(c,e,tp)
22+
return c:IsRace(RACE_INSECT) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsType(TYPE_EFFECT) and c:IsLevelBetween(6,8) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
23+
end
24+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
25+
--Effect
26+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
27+
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGrave,tp,LOCATION_MZONE,0,1,1,nil)
28+
Duel.HintSelection(g)
29+
if Duel.SendtoGrave(g,REASON_EFFECT)==0 then return end
30+
local sg=Duel.GetMatchingGroup(s.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp)
31+
if #sg>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
32+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
33+
local ssg=sg:Select(tp,1,1,nil)
34+
if #ssg>0 then
35+
Duel.SpecialSummon(ssg,0,tp,tp,false,false,POS_FACEUP)
36+
end
37+
end
38+
end

rush/c160217043.lua

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
--軟玉の蟲笛
2+
--Nephrite Insect Whistle
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
local params = {s.fusfilter,s.matfilter}
7+
--Add 1 to hand
8+
local e1=Effect.CreateEffect(c)
9+
e1:SetDescription(aux.Stringid(id,0))
10+
e1:SetCategory(CATEGORY_TOHAND)
11+
e1:SetType(EFFECT_TYPE_ACTIVATE)
12+
e1:SetCode(EVENT_FREE_CHAIN)
13+
e1:SetTarget(s.target)
14+
e1:SetOperation(s.operation(Fusion.SummonEffTG(table.unpack(params)),Fusion.SummonEffOP(table.unpack(params))))
15+
c:RegisterEffect(e1)
16+
end
17+
function s.fusfilter(c)
18+
return c:IsRace(RACE_INSECT) and c:IsLevelBelow(6)
19+
end
20+
function s.matfilter(c)
21+
return c:IsRace(RACE_INSECT) and c:IsAttribute(ATTRIBUTE_EARTH)
22+
end
23+
function s.thfilter(c)
24+
return c:IsRace(RACE_INSECT) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsLevelBelow(2) and c:IsAbleToHand()
25+
end
26+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
27+
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
28+
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
29+
end
30+
function s.operation(fustg,fusop)
31+
return function(e,tp,eg,ep,ev,re,r,rp)
32+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
33+
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
34+
if #g>0 then
35+
Duel.SendtoHand(g,nil,REASON_EFFECT)
36+
Duel.ConfirmCards(1-tp,g)
37+
if fustg(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
38+
Duel.BreakEffect()
39+
fusop(e,tp,eg,ep,ev,re,r,rp)
40+
end
41+
end
42+
end
43+
end

0 commit comments

Comments
 (0)