Skip to content

Commit 8f1575d

Browse files
committed
added new rush cards
1 parent 723f06d commit 8f1575d

File tree

6 files changed

+338
-0
lines changed

6 files changed

+338
-0
lines changed

rush/c160214001.lua

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
--永劫の神導龍
2+
--Eternity Aether Dragon
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Destroy 1 card your opponent controls
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,1))
9+
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_ATKCHANGE)
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.condition(e,tp,eg,ep,ev,re,r,rp)
20+
return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN)
21+
end
22+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
23+
if chk==0 then return Duel.CheckLPCost(tp,500) end
24+
end
25+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
26+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsNotMaximumModeSide,tp,0,LOCATION_ONFIELD,1,nil) end
27+
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_ONFIELD)
28+
end
29+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
30+
--Requirement
31+
Duel.PayLPCost(tp,500)
32+
--Effect
33+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
34+
local dg=Duel.SelectMatchingCard(tp,Card.IsNotMaximumModeSide,tp,0,LOCATION_ONFIELD,1,1,nil)
35+
local dg2=dg:AddMaximumCheck()
36+
Duel.HintSelection(dg2)
37+
Duel.Destroy(dg,REASON_EFFECT)
38+
local e1=Effect.CreateEffect(e:GetHandler())
39+
e1:SetDescription(aux.Stringid(id,1))
40+
e1:SetType(EFFECT_TYPE_FIELD)
41+
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
42+
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
43+
e1:SetTargetRange(1,0)
44+
e1:SetValue(s.aclimit)
45+
e1:SetReset(RESET_PHASE|PHASE_END)
46+
Duel.RegisterEffect(e1,tp)
47+
end
48+
function s.aclimit(e,re,tp)
49+
return re:GetHandler():IsCode(id)
50+
end

rush/c160214027.lua

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
--風奏調苛のバンディーヴァ・D
2+
--Bandiva Duo the Elegy of the Wailing Winds
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--fusion material
7+
c:EnableReviveLimit()
8+
Fusion.AddProcMixN(c,true,true,s.matfilter,2)
9+
--Gain ATK
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetDescription(aux.Stringid(id,0))
12+
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DESTROY)
13+
e1:SetType(EFFECT_TYPE_IGNITION)
14+
e1:SetRange(LOCATION_MZONE)
15+
e1:SetCountLimit(1)
16+
e1:SetCost(s.cost)
17+
e1:SetTarget(s.target)
18+
e1:SetOperation(s.operation)
19+
c:RegisterEffect(e1)
20+
end
21+
function s.matfilter(c,fc,sumtype,tp)
22+
return c:IsLevel(7) and c:IsRace(RACE_PSYCHIC,fc,sumtype,tp) and c:IsAttribute(ATTRIBUTE_WIND,fc,sumtype,tp)
23+
end
24+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
25+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_ONFIELD|LOCATION_HAND,0,1,e:GetHandler()) end
26+
end
27+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
28+
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_HAND+LOCATION_ONFIELD)>0 end
29+
end
30+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
31+
local c=e:GetHandler()
32+
--Requirement
33+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
34+
local tc=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_ONFIELD|LOCATION_HAND,0,1,1,c):GetFirst()
35+
if Duel.SendtoGrave(tc,REASON_COST)==0 then return end
36+
--Effect
37+
local ct=Duel.GetFieldGroupCount(tp,0,LOCATION_HAND+LOCATION_ONFIELD)
38+
local e1=Effect.CreateEffect(c)
39+
e1:SetType(EFFECT_TYPE_SINGLE)
40+
e1:SetCode(EFFECT_UPDATE_ATTACK)
41+
e1:SetReset(RESETS_STANDARD_PHASE_END)
42+
e1:SetValue(ct*300)
43+
c:RegisterEffect(e1)
44+
if Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_GRAVE,0,1,nil,TYPE_NORMAL)
45+
and Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_ONFIELD,1,nil)
46+
and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
47+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
48+
local g=Duel.SelectMatchingCard(tp,nil,tp,0,LOCATION_ONFIELD,1,1,nil)
49+
local g2=g:AddMaximumCheck()
50+
Duel.HintSelection(g2)
51+
Duel.BreakEffect()
52+
Duel.Destroy(g,REASON_EFFECT)
53+
end
54+
end

rush/c160214030.lua

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
--古代の機械超巨人
2+
--Ancient Gear Megaton Golem
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Fusion Summon
7+
c:EnableReviveLimit()
8+
Fusion.AddProcMixN(c,true,true,s.matfilter,3)
9+
--actlimit
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
12+
e1:SetCode(EVENT_ATTACK_ANNOUNCE)
13+
e1:SetRange(LOCATION_MZONE)
14+
e1:SetOperation(s.operation)
15+
c:RegisterEffect(e1)
16+
--Multi attack
17+
local e2=Effect.CreateEffect(c)
18+
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
19+
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
20+
e2:SetCondition(s.condition)
21+
e2:SetOperation(s.atkop)
22+
c:RegisterEffect(e2)
23+
end
24+
function s.matfilter(c,scard,sumtype,tp)
25+
return c:IsAttribute(ATTRIBUTE_EARTH,scard,sumtype,tp) and c:IsRace(RACE_MACHINE,scard,sumtype,tp) and c:IsBaseDefense(c:GetBaseAttack()) and not c:IsMaximumModeSide()
26+
end
27+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
28+
local e1=Effect.CreateEffect(e:GetHandler())
29+
e1:SetType(EFFECT_TYPE_FIELD)
30+
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
31+
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
32+
e1:SetTargetRange(0,1)
33+
e1:SetValue(s.aclimit)
34+
e1:SetCondition(s.actcon)
35+
e1:SetReset(RESET_CHAIN)
36+
Duel.RegisterEffect(e1,tp)
37+
end
38+
function s.aclimit(e,re,tp)
39+
return re:GetHandler():IsTrap() and re:IsHasType(EFFECT_TYPE_ACTIVATE)
40+
end
41+
function s.actcon(e)
42+
return Duel.GetAttacker()==e:GetHandler()
43+
end
44+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
45+
return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION)
46+
end
47+
function s.cfilter(c,code)
48+
return c:IsLocation(LOCATION_GRAVE) and c:GetOriginalLevel()==8
49+
end
50+
function s.atkop(e,tp,eg,ep,ev,re,r,rp)
51+
local c=e:GetHandler()
52+
local g=c:GetMaterial()
53+
local flag=0
54+
if g:FilterCount(s.cfilter,nil)>=2 then
55+
local e1=Effect.CreateEffect(c)
56+
e1:SetDescription(3201)
57+
e1:SetType(EFFECT_TYPE_SINGLE)
58+
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
59+
e1:SetCode(EFFECT_EXTRA_ATTACK)
60+
e1:SetValue(1)
61+
c:RegisterEffect(e1)
62+
end
63+
end

rush/c160214046.lua

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
--プリファライヤー
2+
--Preferlyre
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+
--Draw
15+
local e2=Effect.CreateEffect(c)
16+
e2:SetDescription(aux.Stringid(id,1))
17+
e2:SetCategory(CATEGORY_DRAW)
18+
e2:SetType(EFFECT_TYPE_IGNITION)
19+
e2:SetRange(LOCATION_MZONE)
20+
e2:SetCountLimit(1)
21+
e2:SetCondition(s.condition)
22+
e2:SetTarget(s.target)
23+
e2:SetOperation(s.operation)
24+
c:RegisterEffect(e2)
25+
end
26+
s.listed_names={CARD_FUSION,160015051}
27+
function s.ntfilter(c)
28+
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_WIND) and c:IsRace(RACE_PSYCHIC)
29+
end
30+
function s.ntcon(e,c,minc)
31+
if c==nil then return true end
32+
return minc==0 and c:GetLevel()>4 and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
33+
and Duel.IsExistingMatchingCard(s.ntfilter,c:GetControler(),LOCATION_MZONE,0,1,nil)
34+
end
35+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
36+
return e:GetHandler():IsStatus(STATUS_SUMMON_TURN) and Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)<=4
37+
end
38+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
39+
if chk==0 then return Duel.IsPlayerCanDraw(1-tp,3) end
40+
Duel.SetTargetPlayer(1-tp)
41+
Duel.SetTargetParam(3)
42+
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,1-tp,3)
43+
end
44+
function s.thfilter(c)
45+
return c:IsCode(CARD_FUSION,160015051) and c:IsAbleToHand()
46+
end
47+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
48+
--Effect
49+
local c=e:GetHandler()
50+
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
51+
if Duel.Draw(p,d,REASON_EFFECT)>0 then
52+
c:UpdateLevel(2,RESETS_STANDARD_PHASE_END,c)
53+
local g=Duel.GetMatchingGroup(s.thfilter,tp,LOCATION_GRAVE,0,nil)
54+
if #g>0 and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
55+
Duel.BreakEffect()
56+
local g2=g:Select(tp,1,1,nil)
57+
if #g2>0 then
58+
Duel.SendtoHand(g2,nil,REASON_EFFECT)
59+
Duel.ConfirmCards(1-tp,g2)
60+
end
61+
end
62+
end
63+
end

rush/c160214047.lua

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
--シタールート
2+
--Sitarloot
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Return 1 card on the field to the 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.cfilter(c)
20+
return c:IsFaceup() and c:IsRace(RACE_PSYCHIC) and c:IsAttribute(ATTRIBUTE_WIND) and c:IsLevelAbove(7)
21+
end
22+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
23+
return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil) and e:GetHandler():IsStatus(STATUS_SUMMON_TURN)
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_ONFIELD,0,1,nil) end
27+
end
28+
function s.thfilter(c)
29+
return c:IsSpellTrap() 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,1-tp,LOCATION_ONFIELD)
34+
Duel.SetPossibleOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
35+
end
36+
function s.thfilter2(c)
37+
return c:IsEquipSpell() and c:IsAbleToHand()
38+
end
39+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
40+
--Requirement
41+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
42+
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_ONFIELD,0,1,1,nil)
43+
if Duel.SendtoGrave(g,REASON_COST)==0 then return end
44+
--Effect
45+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
46+
local rg=Duel.SelectMatchingCard(tp,s.thfilter,tp,0,LOCATION_ONFIELD,1,1,nil)
47+
if #rg>0 then
48+
Duel.HintSelection(rg)
49+
if Duel.SendtoHand(rg,nil,REASON_EFFECT)>0 and rg:GetFirst():IsLocation(LOCATION_HAND)
50+
and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.thfilter2),tp,LOCATION_GRAVE,0,1,nil)
51+
and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
52+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
53+
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.thfilter2),tp,LOCATION_GRAVE,0,1,1,nil)
54+
if #g>0 then
55+
Duel.BreakEffect()
56+
Duel.SendtoHand(g,nil,REASON_EFFECT)
57+
Duel.ConfirmCards(1-tp,g)
58+
end
59+
end
60+
end
61+
end

rush/c160214048.lua

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
--古代の機械猟犬
2+
--Ancient Gear Hunting Hound
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Inflict 600 damage and Fusion Summon
7+
local params = {s.fusfilter,s.matfilter}
8+
local e1=Effect.CreateEffect(c)
9+
e1:SetDescription(aux.Stringid(id,0))
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(Fusion.SummonEffTG(table.unpack(params)),Fusion.SummonEffOP(table.unpack(params))))
16+
c:RegisterEffect(e1)
17+
end
18+
function s.fusfilter(c)
19+
return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsDefense(c:GetAttack())
20+
end
21+
function s.matfilter(c)
22+
return c:IsLocation(LOCATION_HAND|LOCATION_MZONE) and c:IsType(TYPE_EFFECT) and c:IsAbleToGrave()
23+
end
24+
function s.cfilter(c)
25+
return c:IsFaceup() and c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_EARTH)
26+
end
27+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
28+
local c=e:GetHandler()
29+
return Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 and c:IsStatus(STATUS_SUMMON_TURN)
30+
and Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,c)
31+
end
32+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
33+
if chk==0 then return true end
34+
Duel.SetTargetPlayer(1-tp)
35+
Duel.SetTargetParam(600)
36+
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,600)
37+
end
38+
function s.operation(fustg,fusop)
39+
return function(e,tp,eg,ep,ev,re,r,rp)
40+
--Effect
41+
local p,val=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
42+
if Duel.Damage(p,val,REASON_EFFECT)>0 and fustg(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
43+
Duel.BreakEffect()
44+
fusop(e,tp,eg,ep,ev,re,r,rp)
45+
end
46+
end
47+
end

0 commit comments

Comments
 (0)