Skip to content

Commit 77dd942

Browse files
committed
added new rush cards
1 parent 77adfef commit 77dd942

13 files changed

+572
-0
lines changed

rush/c160021006.lua

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
--リビル・ドレイク
2+
--Rebuil Drake
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Special Summon
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)
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={CARD_BLUETOOTH_B_DRAGON,CARD_REDBOOT_B_DRAGON}
19+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
20+
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
21+
end
22+
function s.filter(c,e,sp)
23+
return c:IsCode(CARD_BLUETOOTH_B_DRAGON,CARD_REDBOOT_B_DRAGON) and c:IsCanBeSpecialSummoned(e,0,sp,false,false,POS_FACEUP_DEFENSE)
24+
end
25+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
26+
if chk==0 then return Duel.GetMZoneCount(tp,e:GetHandler())>0
27+
and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
28+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
29+
end
30+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
31+
--Requirement
32+
local c=e:GetHandler()
33+
if Duel.SendtoGrave(c,REASON_COST)<1 then return end
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_DEFENSE)
39+
end
40+
end

rush/c160021014.lua

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
--幻壊兵ニッカ
2+
--Demolition Soldier Nikka
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
-- Mill and add to hand
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_DECKDES+CATEGORY_TOHAND)
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+
function s.rvlfilter(c,e,tp)
19+
return c:IsRace(RACE_WYRM) and not c:IsPublic()
20+
end
21+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
22+
if chk==0 then return Duel.IsExistingMatchingCard(s.rvlfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
23+
end
24+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
25+
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3) end
26+
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,3)
27+
end
28+
function s.cfilter(c)
29+
return c:IsLocation(LOCATION_GRAVE) and c:IsRace(RACE_WYRM) and c:IsAttribute(ATTRIBUTE_FIRE)
30+
end
31+
function s.thfilter(c)
32+
return c:IsCode(160021015) and c:IsAbleToHand()
33+
end
34+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
35+
--Requirement
36+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
37+
local tc=Duel.SelectMatchingCard(tp,s.rvlfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
38+
Duel.ConfirmCards(1-tp,tc)
39+
--Effect
40+
Duel.DiscardDeck(tp,3,REASON_EFFECT)
41+
if Duel.GetOperatedGroup():FilterCount(s.cfilter,nil)>0
42+
and Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil)
43+
and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
44+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
45+
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
46+
if #g>0 then
47+
Duel.SendtoHand(g,nil,REASON_EFFECT)
48+
Duel.ConfirmCards(1-tp,g)
49+
end
50+
end
51+
end
52+

rush/c160021015.lua

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
--幻壊兵ポッカ
2+
--Demolition Soldier Pokka
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
-- Mill and add to hand
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_DECKDES+CATEGORY_TOHAND)
10+
e1:SetType(EFFECT_TYPE_IGNITION)
11+
e1:SetRange(LOCATION_MZONE)
12+
e1:SetCountLimit(1)
13+
e1:SetCondition(s.condition)
14+
e1:SetTarget(s.target)
15+
e1:SetOperation(s.operation)
16+
c:RegisterEffect(e1)
17+
end
18+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
19+
return Duel.IsExistingMatchingCard(aux.FaceupFilter(Card.IsCode,160021014),tp,LOCATION_MZONE,0,1,nil)
20+
end
21+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
22+
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3) end
23+
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,3)
24+
end
25+
function s.cfilter(c)
26+
return c:IsLocation(LOCATION_GRAVE) and c:IsRace(RACE_WYRM) and c:IsAttribute(ATTRIBUTE_FIRE)
27+
end
28+
function s.thfilter(c)
29+
return c:IsSpell() and c:IsType(TYPE_FIELD|TYPE_EQUIP) and c:IsAbleToHand()
30+
end
31+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
32+
--Effect
33+
Duel.DiscardDeck(tp,3,REASON_EFFECT)
34+
local og=Duel.GetOperatedGroup()
35+
local sg=Duel.GetMatchingGroup(s.thfilter,tp,LOCATION_GRAVE,0,nil)
36+
if og:FilterCount(s.cfilter,nil)>0 and #sg>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
37+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
38+
local tg=aux.SelectUnselectGroup(sg,1,tp,1,2,s.rescon,1,tp)
39+
Duel.SendtoHand(tg,nil,REASON_EFFECT)
40+
Duel.ConfirmCards(1-tp,tg)
41+
end
42+
end
43+
function s.rescon(sg,e,tp,mg)
44+
return sg:FilterCount(Card.IsType,nil,TYPE_EQUIP)<2 and sg:FilterCount(Card.IsType,nil,TYPE_FIELD)<2
45+
end

rush/c160021029.lua

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
--ボンバー・ジャグラー
2+
--Bomber Juggler
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
-- Inflict 800 damage
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_DAMAGE)
10+
e1:SetType(EFFECT_TYPE_IGNITION)
11+
e1:SetRange(LOCATION_MZONE)
12+
e1:SetCountLimit(1)
13+
e1:SetCondition(function(e) return e:GetHandler():IsStatus(STATUS_SUMMON_TURN) end)
14+
e1:SetCost(s.cost)
15+
e1:SetTarget(s.target)
16+
e1:SetOperation(s.operation)
17+
c:RegisterEffect(e1)
18+
end
19+
function s.cfilter(c)
20+
return c:IsFaceup() and c:IsType(TYPE_RITUAL) and c:IsAbleToGraveAsCost()
21+
end
22+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
23+
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil) end
24+
end
25+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
26+
if chk==0 then return true end
27+
Duel.SetTargetPlayer(1-tp)
28+
Duel.SetTargetParam(1000)
29+
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,1000)
30+
end
31+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
32+
--Requirement
33+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
34+
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_MZONE,0,1,1,nil)
35+
if Duel.SendtoGrave(g,REASON_COST)<1 then return end
36+
--Effect
37+
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
38+
Duel.Damage(p,d,REASON_EFFECT)
39+
end

rush/c160021030.lua

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
--継承の魔戦士
2+
--Magical Warrior of Heritage
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Special Summon
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
9+
e1:SetType(EFFECT_TYPE_IGNITION)
10+
e1:SetRange(LOCATION_MZONE)
11+
e1:SetCountLimit(1)
12+
e1:SetCost(s.cost)
13+
e1:SetTarget(s.target)
14+
e1:SetOperation(s.operation)
15+
c:RegisterEffect(e1)
16+
end
17+
function s.tdfilter(c)
18+
return c:IsMonster() and c:IsAbleToDeckOrExtraAsCost()
19+
end
20+
function s.cfilter(c,tp,code)
21+
return c:IsRace(RACE_SPELLCASTER|RACE_WARRIOR) and (c:IsAttack(2600) or c:IsDefense(2600)) and not c:IsCode(code)
22+
and Duel.IsExistingMatchingCard(s.tdfilter,tp,LOCATION_GRAVE,0,2,c)
23+
end
24+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
25+
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_GRAVE,0,1,nil,tp,e:GetHandler():GetCode()) end
26+
end
27+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
28+
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_GRAVE,0,1,nil,tp,e:GetHandler():GetCode()) end
29+
end
30+
function s.cfilter2(c,code)
31+
return c:IsRace(RACE_SPELLCASTER|RACE_WARRIOR) and (c:IsAttack(2600) or c:IsDefense(2600)) and not c:IsCode(code)
32+
end
33+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
34+
local c=e:GetHandler()
35+
--Requirement
36+
local g=Duel.GetMatchingGroup(s.tdfilter,tp,LOCATION_GRAVE,0,nil,tp)
37+
local td=aux.SelectUnselectGroup(g,e,tp,2,2,s.rescon,1,tp,HINTMSG_SELECT)
38+
Duel.HintSelection(td)
39+
if Duel.SendtoDeck(td,nil,SEQ_DECKSHUFFLE,REASON_COST)<1 then return end
40+
--Effect
41+
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
42+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE)
43+
local g=Duel.SelectMatchingCard(tp,s.cfilter2,tp,LOCATION_GRAVE,0,1,1,nil,e:GetHandler():GetCode())
44+
if #g>0 then
45+
Duel.HintSelection(g)
46+
local e1=Effect.CreateEffect(c)
47+
e1:SetType(EFFECT_TYPE_SINGLE)
48+
e1:SetCode(EFFECT_CHANGE_CODE)
49+
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
50+
e1:SetReset(RESETS_STANDARD_PHASE_END)
51+
e1:SetValue(g:GetFirst():GetCode())
52+
c:RegisterEffect(e1)
53+
end
54+
end
55+
function s.rescon(sg,e,tp,mg)
56+
return Duel.IsExistingMatchingCard(s.cfilter2,tp,LOCATION_GRAVE,0,1,sg,e:GetHandler():GetCode())
57+
end

rush/c160021031.lua

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
--不遜のアインビー
2+
--Einvy the Irreverant
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Change the position of an opponent's monster
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_POSITION)
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+
function s.cfilter(c)
19+
return c:IsMonster() and c:IsAbleToDeckOrExtraAsCost()
20+
end
21+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
22+
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_GRAVE,0,2,nil) end
23+
end
24+
function s.filter(c)
25+
return c:IsFaceup() and c:IsAttackPos() and c:IsType(TYPE_EFFECT) and c:IsCanTurnSet() and c:IsCanChangePositionRush()
26+
end
27+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
28+
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,0,LOCATION_MZONE,1,nil) end
29+
Duel.SetOperationInfo(0,CATEGORY_POSITION,nil,1,1-tp,0)
30+
end
31+
function s.piercefilter(c)
32+
return c:IsFaceup() and c:IsRace(RACE_PLANT) and c:IsNotMaximumModeSide()
33+
end
34+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
35+
--Requirement
36+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
37+
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_GRAVE,0,2,2,nil)
38+
Duel.HintSelection(g)
39+
if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)<1 then return end
40+
--Effect
41+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
42+
local g=Duel.SelectMatchingCard(tp,s.filter,tp,0,LOCATION_MZONE,1,1,nil)
43+
if #g>0 then
44+
Duel.HintSelection(g)
45+
Duel.ChangePosition(g,POS_FACEDOWN_DEFENSE)
46+
local sg=Duel.GetMatchingGroup(s.piercefilter,tp,LOCATION_MZONE,0,nil)
47+
if #sg==3 then
48+
for tc in sg:Iter() do
49+
tc:AddPiercing(RESETS_STANDARD_PHASE_END,e:GetHandler())
50+
end
51+
end
52+
end
53+
end

rush/c160021036.lua

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
--ライトウェーブ・グランド・ドラゴン
2+
--Lightwave Grand 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,160434003,160013004)
9+
--Send the top 4 cards of deck to GY
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetDescription(aux.Stringid(id,0))
12+
e1:SetType(EFFECT_TYPE_IGNITION)
13+
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES)
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.listed_names={CARD_BLUETOOTH_B_DRAGON,CARD_REDBOOT_B_DRAGON}
21+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
22+
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,4) end
23+
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,4)
24+
end
25+
function s.spfilter(c,e,tp)
26+
return c:IsCode(CARD_BLUETOOTH_B_DRAGON,CARD_REDBOOT_B_DRAGON) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
27+
end
28+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
29+
--Effect
30+
Duel.DiscardDeck(tp,4,REASON_EFFECT)
31+
local g=Duel.GetMatchingGroup(s.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp)
32+
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and #g>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
33+
Duel.BreakEffect()
34+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
35+
local sg=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
36+
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
37+
end
38+
end

rush/c160021037.lua

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
--紫鱗弾の超越爆撃速竜
2+
--Violet-Scale Enhanced Blast Dragon
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--fusion summon
7+
c:EnableReviveLimit()
8+
Fusion.AddProcMix(c,true,true,CARD_BLUETOOTH_B_DRAGON,CARD_REDBOOT_B_DRAGON)
9+
--Gains ATK
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetType(EFFECT_TYPE_SINGLE)
12+
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
13+
e1:SetCode(EFFECT_UPDATE_ATTACK)
14+
e1:SetRange(LOCATION_MZONE)
15+
e1:SetCondition(s.condition)
16+
e1:SetValue(s.val)
17+
c:RegisterEffect(e1)
18+
end
19+
function s.condition(e)
20+
return Duel.GetTurnPlayer()==e:GetHandler():GetControler()
21+
end
22+
function s.atkfilter(c)
23+
return c:IsFaceup() and c:GetBaseAttack()>0
24+
end
25+
function s.val(e,c)
26+
local g=Duel.GetMatchingGroup(s.atkfilter,e:GetHandlerPlayer(),0,LOCATION_MZONE,nil)
27+
if #g==0 then return 0 end
28+
local atk=g:GetMaxGroup(Card.GetBaseAttack):GetFirst():GetBaseAttack()
29+
return atk
30+
end

0 commit comments

Comments
 (0)