Skip to content

Commit 7e36af1

Browse files
committed
added new rush cards
1 parent b7ff420 commit 7e36af1

File tree

9 files changed

+315
-0
lines changed

9 files changed

+315
-0
lines changed

rush/c160020012.lua

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
--昆遁忍虫 念珠のウツセミ
2+
--Evasive Chaos Ninsect Rosary Cicada
3+
--Scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Pierce
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetType(EFFECT_TYPE_FIELD)
9+
e1:SetCode(EFFECT_PIERCE)
10+
e1:SetRange(LOCATION_MZONE)
11+
e1:SetTargetRange(LOCATION_MZONE,0)
12+
e1:SetTarget(s.target)
13+
e1:SetValue(1)
14+
c:RegisterEffect(e1)
15+
--No battle damage from your monsters with 0 ATK
16+
local e2=Effect.CreateEffect(c)
17+
e2:SetType(EFFECT_TYPE_FIELD)
18+
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
19+
e2:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
20+
e2:SetRange(LOCATION_MZONE)
21+
e2:SetTargetRange(LOCATION_MZONE,0)
22+
e2:SetTarget(function(e,c) return c:IsRace(RACE_INSECT) end)
23+
e2:SetValue(1)
24+
c:RegisterEffect(e2)
25+
end
26+
function s.target(e,c)
27+
return c:IsAttribute(ATTRIBUTE_DARK) and c:IsRace(RACE_INSECT) and c:HasContinuousRushEffect()
28+
end

rush/c160020013.lua

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
--昆遁忍虫 迷網のクモ
2+
--Evasive Chaos Ninsect Labyrinth Spider
3+
--Scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Opponent can only target the monster with the highest ATK
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetType(EFFECT_TYPE_FIELD)
9+
e1:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET)
10+
e1:SetRange(LOCATION_MZONE)
11+
e1:SetTargetRange(0,LOCATION_MZONE)
12+
e1:SetCondition(s.cond)
13+
e1:SetValue(s.tg)
14+
c:RegisterEffect(e1)
15+
end
16+
function s.filter(c)
17+
return c:IsFaceup() and c:GetOriginalRace()~=RACE_INSECT
18+
end
19+
function s.cond(e)
20+
return not Duel.IsExistingMatchingCard(s.filter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil)
21+
end
22+
function s.tg(e,c)
23+
local pg=Duel.GetMatchingGroup(Card.IsFaceup,e:GetHandlerPlayer(),LOCATION_MZONE,0,nil)
24+
local _,atk=pg:GetMaxGroup(Card.GetAttack)
25+
return c:IsFaceup() and c:GetAttack()<atk
26+
end

rush/c160020014.lua

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
--昆遁忍虫 刺又のカブト
2+
--Evasive Chaos Ninsect Sasumata Kabuto
3+
--Scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--indes
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetType(EFFECT_TYPE_SINGLE)
9+
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
10+
e1:SetCondition(s.condition)
11+
e1:SetValue(s.indes)
12+
c:RegisterEffect(e1)
13+
end
14+
function s.filter(c)
15+
return c:IsFaceup() and c:IsRace(RACE_INSECT)
16+
end
17+
function s.condition(e)
18+
return Duel.IsExistingMatchingCard(s.filter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,e:GetHandler())
19+
end
20+
function s.indes(e,c)
21+
return c:GetAttack()>=2000
22+
end

rush/c160020015.lua

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--昆遁忍虫 変妖魔笛のアゲハ
2+
--Evasive Chaos Ninsect Bewitching Flute Ageha
3+
--Scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Change to Insect
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetType(EFFECT_TYPE_FIELD)
9+
e1:SetCode(EFFECT_CHANGE_RACE)
10+
e1:SetRange(LOCATION_MZONE)
11+
e1:SetTargetRange(0,LOCATION_MZONE)
12+
e1:SetValue(RACE_INSECT)
13+
c:RegisterEffect(e1)
14+
end

rush/c160020016.lua

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
--昆遁忍虫 紅蓮天刀のナナホシ
2+
--Evasive Chaos Ninsect Crimson Blade Nanahoshi
3+
--Scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Gains 500 ATK per each Insect monster on the field
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetType(EFFECT_TYPE_SINGLE)
9+
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
10+
e1:SetCode(EFFECT_UPDATE_ATTACK)
11+
e1:SetRange(LOCATION_MZONE)
12+
e1:SetValue(s.val)
13+
c:RegisterEffect(e1)
14+
end
15+
function s.val(e,c)
16+
return Duel.GetMatchingGroupCount(aux.FaceupFilter(Card.IsRace,RACE_INSECT),c:GetControler(),LOCATION_MZONE,LOCATION_MZONE,nil)*500
17+
end

rush/c160020053.lua

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
--昆遁忍法-藍隠虫
2+
--Evasive Chaos Ninjutsu Art of I Want You
3+
--Scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Special Summon 1 appropriate monster from the GY
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
10+
e1:SetType(EFFECT_TYPE_ACTIVATE)
11+
e1:SetCode(EVENT_FREE_CHAIN)
12+
e1:SetCost(s.cost)
13+
e1:SetTarget(s.target)
14+
e1:SetOperation(s.activate)
15+
c:RegisterEffect(e1)
16+
end
17+
function s.cfilter(c)
18+
return c:IsMonster() and (c:IsType(TYPE_NORMAL) or (c:IsRace(RACE_INSECT) and c:IsLevelBelow(4))) and c:IsAbleToGraveAsCost()
19+
end
20+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
21+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,e:GetHandler()) end
22+
end
23+
function s.filter(c,e,tp)
24+
return c:IsLevelBetween(5,8) and c:IsAttribute(ATTRIBUTE_DARK) and c:IsRace(RACE_INSECT) and c:IsDefense(400)
25+
and c:HasContinuousRushEffect() and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
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.activate(e,tp,eg,ep,ev,re,r,rp)
33+
--Requirement
34+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
35+
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_HAND,0,1,1,e:GetHandler())
36+
if Duel.SendtoGrave(g,REASON_COST)<1 then return end
37+
--Effect
38+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
39+
local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.filter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
40+
if tc then
41+
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
42+
end
43+
end

rush/c160020054.lua

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
--昆遁忍法-五翅二虫
2+
--Evasive Chaos Ninjutsu Art of Goshinichu
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:SetCost(s.cost)
13+
e1:SetTarget(s.target)
14+
e1:SetOperation(s.operation)
15+
c:RegisterEffect(e1)
16+
end
17+
function s.cfilter(c)
18+
return c:IsMonster() and c:IsRace(RACE_INSECT) and c:IsAbleToGraveAsCost()
19+
end
20+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
21+
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_HAND,0,1,nil) end
22+
end
23+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
24+
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=5 end
25+
Duel.SetPossibleOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
26+
end
27+
function s.filter(c)
28+
return c:IsRace(RACE_INSECT) and c:IsAttribute(ATTRIBUTE_DARK) and c:IsDefense(400) and c:IsAbleToHand()
29+
end
30+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
31+
--Requirement
32+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
33+
local tc=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_HAND,0,1,1,nil):GetFirst()
34+
if Duel.SendtoGrave(tc,REASON_COST)<1 then return end
35+
--Effect
36+
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<5 then return end
37+
Duel.ConfirmDecktop(tp,5)
38+
local g=Duel.GetDecktopGroup(tp,5)
39+
Duel.DisableShuffleCheck()
40+
if g:IsExists(s.filter,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
41+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
42+
local tg=g:FilterSelect(tp,s.filter,1,2,nil)
43+
if #tg>0 then
44+
Duel.SendtoHand(tg,nil,REASON_EFFECT)
45+
Duel.ConfirmCards(1-tp,tg)
46+
Duel.ShuffleHand(tp)
47+
g:RemoveCard(tg)
48+
end
49+
end
50+
local ct=#g
51+
if ct>0 then
52+
Duel.MoveToDeckBottom(ct,tp)
53+
Duel.SortDeckbottom(tp,tp,ct)
54+
end
55+
end

rush/c160020058.lua

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
--夢翔の愛
2+
--Quixotic Love
3+
--Scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
-- Draw
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetCategory(CATEGORY_DRAW)
9+
e1:SetType(EFFECT_TYPE_ACTIVATE)
10+
e1:SetCode(EVENT_FREE_CHAIN)
11+
e1:SetCost(s.cost)
12+
e1:SetTarget(s.target)
13+
e1:SetOperation(s.operation)
14+
c:RegisterEffect(e1)
15+
end
16+
function s.cfilter(c)
17+
return c:IsFaceup() and c:IsRace(RACE_INSECT) and c:IsAbleToGraveAsCost() and not c:IsMaximumModeSide()
18+
end
19+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
20+
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil) end
21+
end
22+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
23+
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end
24+
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
25+
end
26+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
27+
--Requirement
28+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
29+
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_MZONE,0,1,1,nil)
30+
g=g:AddMaximumCheck()
31+
if Duel.SendtoGrave(g,REASON_COST)<1 then return end
32+
--Effect
33+
Duel.Draw(tp,2,REASON_EFFECT)
34+
--Prevent non-Insect from attacking
35+
local e1=Effect.CreateEffect(e:GetHandler())
36+
e1:SetType(EFFECT_TYPE_FIELD)
37+
e1:SetCode(EFFECT_CANNOT_ATTACK)
38+
e1:SetTargetRange(LOCATION_MZONE,0)
39+
e1:SetTarget(function(_,c) return not c:IsRace(RACE_INSECT) end)
40+
e1:SetReset(RESET_PHASE|PHASE_END)
41+
Duel.RegisterEffect(e1,tp)
42+
end

rush/c160402048.lua

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
--ヴォイドヴェルグ・ゲヘナマギア
2+
--Voidvelg Gehennamagia
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,160010025,160317007)
9+
--Return up to 2 face-down cards to the hand
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetCategory(CATEGORY_TOHAND)
12+
e1:SetType(EFFECT_TYPE_IGNITION)
13+
e1:SetRange(LOCATION_MZONE)
14+
e1:SetCountLimit(1)
15+
e1:SetCondition(s.condition)
16+
e1:SetCost(s.cost)
17+
e1:SetTarget(s.target)
18+
e1:SetOperation(s.operation)
19+
c:RegisterEffect(e1)
20+
end
21+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
22+
local c=e:GetHandler()
23+
return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION)
24+
end
25+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
26+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,2,nil) end
27+
end
28+
function s.thfilter(c)
29+
return c:IsFacedown() and c:IsAbleToHand()
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,0,LOCATION_ONFIELD,1,nil) end
33+
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,0)
34+
end
35+
function s.filter(c)
36+
return c:IsNormalSpell() and c:IsLocation(LOCATION_GRAVE)
37+
end
38+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
39+
local c=e:GetHandler()
40+
--Requirement
41+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
42+
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,2,2,nil)
43+
if Duel.SendtoGrave(g,REASON_COST)<2 then return end
44+
local og=Duel.GetOperatedGroup()
45+
local ct=og:FilterCount(s.filter,nil)
46+
--Effect:
47+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
48+
local tc=Duel.SelectMatchingCard(tp,s.thfilter,tp,0,LOCATION_ONFIELD,1,2,nil)
49+
if #tc>0 then
50+
Duel.HintSelection(tc)
51+
if Duel.SendtoHand(tc,nil,REASON_EFFECT)>0 and ct==2 then
52+
local e1=Effect.CreateEffect(c)
53+
e1:SetDescription(aux.Stringid(id,1))
54+
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
55+
e1:SetType(EFFECT_TYPE_FIELD)
56+
e1:SetRange(LOCATION_MZONE)
57+
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
58+
e1:SetValue(s.aclimit)
59+
e1:SetReset(RESETS_STANDARD_PHASE_END|RESET_OPPO_TURN,1)
60+
e1:SetTargetRange(1,1)
61+
c:RegisterEffect(e1)
62+
end
63+
end
64+
end
65+
function s.aclimit(e,re,tp)
66+
local c=re:GetHandler()
67+
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and c:IsNormalSpell()
68+
end

0 commit comments

Comments
 (0)