Skip to content

Commit 6e24144

Browse files
committed
added new rush cards
1 parent b87ea25 commit 6e24144

File tree

11 files changed

+502
-0
lines changed

11 files changed

+502
-0
lines changed

rush/c160021007.lua

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
--育みのアルピリス
2+
--Mecha Tamabot
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Name becomes "Tamabot"
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetType(EFFECT_TYPE_SINGLE)
9+
e1:SetCode(EFFECT_CHANGE_CODE)
10+
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
11+
e1:SetRange(LOCATION_GRAVE|LOCATION_MZONE)
12+
e1:SetValue(CARD_TAMABOT)
13+
c:RegisterEffect(e1)
14+
--Can be treated as 2 materials
15+
local e2=Effect.CreateEffect(c)
16+
e2:SetType(EFFECT_TYPE_SINGLE)
17+
e2:SetCode(id)
18+
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
19+
e2:SetRange(LOCATION_MZONE)
20+
e2:SetValue(2)
21+
c:RegisterEffect(e2)
22+
end

rush/c160021008.lua

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
--ママボット
2+
--Mamabot
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Add to the hand 1 "Yellow Gadget" from the GY
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(function(e)return e:GetHandler():IsStatus(STATUS_SUMMON_TURN)end)
14+
e1:SetTarget(s.target)
15+
e1:SetOperation(s.operation)
16+
c:RegisterEffect(e1)
17+
end
18+
s.listed_names={CARD_TAMABOT}
19+
function s.thfilter(c)
20+
return c:IsCode(CARD_TAMABOT) and c:IsAbleToHand()
21+
end
22+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
23+
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
24+
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
25+
end
26+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
27+
--Effect
28+
local c=e:GetHandler()
29+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
30+
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,1,nil)
31+
if #g>0 then
32+
Duel.SendtoHand(g,nil,REASON_EFFECT)
33+
Duel.ConfirmCards(1-tp,g)
34+
if c:CanBeDoubleTribute(FLAG_DOUBLE_TRIB_EARTH,FLAG_DOUBLE_TRIB_MACHINE) then
35+
c:AddDoubleTribute(id,s.otfilter,s.eftg,RESETS_STANDARD_PHASE_END,FLAG_DOUBLE_TRIB_EARTH+FLAG_DOUBLE_TRIB_MACHINE)
36+
end
37+
end
38+
end
39+
function s.otfilter(c,tp)
40+
return c:IsDoubleTribute(FLAG_DOUBLE_TRIB_EARTH+FLAG_DOUBLE_TRIB_MACHINE) and (c:IsControler(tp) or c:IsFaceup())
41+
end
42+
function s.eftg(e,c)
43+
return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsLevelAbove(7) and c:IsSummonableCard()
44+
end

rush/c160021009.lua

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
--ガマボット
2+
--Gamabot
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Excavate the top 6 cards of your Deck and add cards to the 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_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_TAMABOT,160021053}
19+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
20+
local c=e:GetHandler()
21+
if chk==0 then return c:IsAttackPos() and c:IsCanChangePositionRush() 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)>=6 end
25+
Duel.SetPossibleOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
26+
end
27+
function s.filter(c)
28+
return c:IsCode(CARD_TAMABOT,160021053) and c:IsAbleToHand()
29+
end
30+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
31+
--Requirement
32+
if Duel.ChangePosition(e:GetHandler(),POS_FACEUP_DEFENSE,0,0,0)<1 then return end
33+
--Effect
34+
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<6 then return end
35+
Duel.ConfirmDecktop(tp,6)
36+
local g=Duel.GetDecktopGroup(tp,6)
37+
Duel.DisableShuffleCheck()
38+
if g:IsExists(s.filter,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
39+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
40+
local tg=g:FilterSelect(tp,s.filter,1,2,nil)
41+
if #tg>0 then
42+
Duel.SendtoHand(tg,nil,REASON_EFFECT)
43+
Duel.ConfirmCards(1-tp,tg)
44+
Duel.ShuffleHand(tp)
45+
g:RemoveCard(tg)
46+
end
47+
end
48+
local ct=#g
49+
if ct>0 then
50+
Duel.MoveToDeckBottom(ct,tp)
51+
Duel.SortDeckbottom(tp,tp,ct)
52+
end
53+
end

rush/c160021010.lua

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
--オータマボット
2+
--King Tamabot
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_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+
s.listed_names={CARD_TAMABOT}
19+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
20+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,nil) 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(CARD_TAMABOT) end
25+
end
26+
function s.thfilter(c)
27+
return c:IsCode(CARD_TAMABOT) and c:IsAbleToHand()
28+
end
29+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
30+
--Requirement
31+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
32+
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,1,nil)
33+
if Duel.SendtoGrave(g,REASON_COST)==0 then return end
34+
--Effect
35+
local c=e:GetHandler()
36+
--Name becomes "Tamabot"
37+
local e1=Effect.CreateEffect(c)
38+
e1:SetType(EFFECT_TYPE_SINGLE)
39+
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
40+
e1:SetCode(EFFECT_CHANGE_CODE)
41+
e1:SetValue(CARD_TAMABOT)
42+
e1:SetReset(RESETS_STANDARD_PHASE_END)
43+
c:RegisterEffect(e1)
44+
if Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
45+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
46+
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,2,nil)
47+
if #g>0 then
48+
Duel.SendtoHand(g,nil,REASON_EFFECT)
49+
Duel.ConfirmCards(1-tp,g)
50+
end
51+
end
52+
end

rush/c160021011.lua

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
--タマタンクMk-II
2+
--Tamatank Mk-II
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Destroy
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_DESTROY)
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+
s.listed_names={CARD_TAMABOT}
20+
function s.cfilter(c)
21+
return c:IsFaceup() and c:IsCode(CARD_TAMABOT) and c:IsAbleToGraveAsCost()
22+
end
23+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
24+
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_ONFIELD,0,1,nil) end
25+
end
26+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
27+
if chk==0 then return Duel.IsExistingMatchingCard(aux.FaceupFilter(Card.IsNotMaximumModeSide),tp,0,LOCATION_ONFIELD,1,nil) end
28+
end
29+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
30+
--Requirement
31+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
32+
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
33+
if Duel.SendtoGrave(g,REASON_COST)<1 then return end
34+
--Effect
35+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
36+
local dg=Duel.SelectMatchingCard(tp,aux.FaceupFilter(Card.IsNotMaximumModeSide),tp,0,LOCATION_ONFIELD,1,1,nil)
37+
if #dg>0 then
38+
local dg2=dg:AddMaximumCheck()
39+
Duel.HintSelection(dg2)
40+
local g2=Duel.GetMatchingGroup(Card.IsFacedown,tp,0,LOCATION_ONFIELD,nil)
41+
if Duel.Destroy(dg,REASON_EFFECT)>0 and #g2>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
42+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
43+
local sg=g2:Select(tp,1,1,nil)
44+
Duel.HintSelection(sg)
45+
if #sg>0 then
46+
Duel.BreakEffect()
47+
Duel.Destroy(sg,REASON_EFFECT)
48+
end
49+
end
50+
end
51+
end

rush/c160021038.lua

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
--タマーボット・ブーストドラゴン
2+
--Tamabot Boost Dragon
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Fusion Materials
7+
c:EnableReviveLimit()
8+
Fusion.AddProcMix(c,true,true,CARD_REDBOOT_B_DRAGON,CARD_TAMABOT)
9+
--Increase ATK
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetDescription(aux.Stringid(id,0))
12+
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DAMAGE)
13+
e1:SetType(EFFECT_TYPE_IGNITION)
14+
e1:SetRange(LOCATION_MZONE)
15+
e1:SetCountLimit(1)
16+
e1:SetCost(s.cost)
17+
e1:SetOperation(s.operation)
18+
c:RegisterEffect(e1)
19+
end
20+
s.listed_names={CARD_REDBOOT_B_DRAGON,CARD_TAMABOT}
21+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
22+
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end
23+
end
24+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
25+
local c=e:GetHandler()
26+
--Requirement
27+
if Duel.DiscardDeck(tp,1,REASON_COST)<1 then return end
28+
--Effect
29+
local e1=Effect.CreateEffect(c)
30+
e1:SetType(EFFECT_TYPE_SINGLE)
31+
e1:SetCode(EFFECT_UPDATE_ATTACK)
32+
e1:SetValue(1000)
33+
e1:SetReset(RESETS_STANDARD_PHASE_END)
34+
c:RegisterEffect(e1)
35+
local ct=Duel.GetMatchingGroupCount(Card.IsCode,tp,LOCATION_GRAVE,0,nil,CARD_TAMABOT)
36+
if ct>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
37+
Duel.BreakEffect()
38+
Duel.Damage(1-tp,ct*300,REASON_EFFECT)
39+
end
40+
end

rush/c160021039.lua

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
--T・K・G
2+
--Tamabot King Golem
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Fusion Procedure
7+
c:EnableReviveLimit()
8+
local e0=Fusion.AddProcMixN(c,true,true,CARD_TAMABOT,3)[1]
9+
e0:SetDescription(aux.Stringid(id,2))
10+
local e1=Fusion.AddProcMix(c,true,true,CARD_TAMABOT,s.ffilter)[1]
11+
e1:SetDescription(aux.Stringid(id,3))
12+
--Make 1 monster lose 600 ATK
13+
local e2=Effect.CreateEffect(c)
14+
e2:SetDescription(aux.Stringid(id,0))
15+
e2:SetCategory(CATEGORY_ATKCHANGE)
16+
e2:SetType(EFFECT_TYPE_IGNITION)
17+
e2:SetRange(LOCATION_MZONE)
18+
e2:SetCountLimit(1)
19+
e2:SetCost(s.cost)
20+
e2:SetTarget(s.target)
21+
e2:SetOperation(s.operation)
22+
c:RegisterEffect(e2)
23+
end
24+
s.listed_names={CARD_TAMABOT}
25+
function s.ffilter(c,fc,sumtype,tp)
26+
return c:IsCode(CARD_TAMABOT) and c:IsHasEffect(160021007)
27+
end
28+
function s.tdfilter(c)
29+
return c:IsMonster() and c:IsCode(CARD_TAMABOT) and c:IsAbleToDeckAsCost()
30+
end
31+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
32+
return Duel.IsExistingMatchingCard(s.tdfilter,tp,LOCATION_GRAVE,0,1,nil)
33+
end
34+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
35+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsNotMaximumModeSide,tp,LOCATION_MZONE,0,1,nil) end
36+
end
37+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
38+
local c=e:GetHandler()
39+
--Requirement
40+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
41+
local tg=Duel.SelectMatchingCard(tp,s.tdfilter,tp,LOCATION_GRAVE,0,1,1,nil)
42+
Duel.HintSelection(tg)
43+
if Duel.SendtoDeck(tg,nil,SEQ_DECKTOP,REASON_COST)<1 then return end
44+
--Effect
45+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
46+
local g=Duel.SelectMatchingCard(tp,Card.IsNotMaximumModeSide,tp,LOCATION_MZONE,0,1,3,nil)
47+
Duel.HintSelection(g)
48+
for tc in g:Iter() do
49+
local e1=Effect.CreateEffect(c)
50+
e1:SetType(EFFECT_TYPE_SINGLE)
51+
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
52+
e1:SetDescription(3001)
53+
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE|EFFECT_FLAG_CLIENT_HINT|EFFECT_FLAG_SET_AVAILABLE)
54+
e1:SetRange(LOCATION_MZONE)
55+
e1:SetReset(RESETS_STANDARD_PHASE_END,2)
56+
e1:SetValue(1)
57+
tc:RegisterEffect(e1)
58+
end
59+
if c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
60+
Duel.Recover(tp,2000,REASON_EFFECT)
61+
end
62+
end

rush/c160021051.lua

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
--ストライク・タマーボーリング
2+
--Strike Tamabowling
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Gain ATK and piercing
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_ATKCHANGE)
10+
e1:SetType(EFFECT_TYPE_ACTIVATE)
11+
e1:SetCode(EVENT_FREE_CHAIN)
12+
e1:SetCountLimit(1)
13+
e1:SetTarget(s.target)
14+
e1:SetOperation(s.operation)
15+
c:RegisterEffect(e1)
16+
end
17+
s.listed_names={CARD_TAMABOT}
18+
function s.filter1(c)
19+
return c:IsFaceup() and c:IsCode(CARD_TAMABOT)
20+
end
21+
function s.filter2(c)
22+
return c:IsFaceup() and c:IsAttackAbove(100)
23+
end
24+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
25+
if chk==0 then return Duel.IsExistingMatchingCard(aux.FilterMaximumSideFunctionEx(s.filter1),tp,LOCATION_MZONE,0,1,nil)
26+
and Duel.IsExistingMatchingCard(aux.FilterMaximumSideFunctionEx(s.filter2),tp,0,LOCATION_MZONE,1,nil) end
27+
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_MZONE)
28+
end
29+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
30+
--Effect
31+
local c=e:GetHandler()
32+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
33+
local g1=Duel.SelectMatchingCard(tp,aux.FilterMaximumSideFunctionEx(s.filter1),tp,LOCATION_MZONE,0,1,1,nil)
34+
if #g1==0 then return end
35+
Duel.HintSelection(g1)
36+
local tc=g1:GetFirst()
37+
local g2=Duel.SelectMatchingCard(tp,aux.FilterMaximumSideFunctionEx(s.filter2),tp,0,LOCATION_MZONE,1,1,nil)
38+
if #g2==0 then return end
39+
Duel.HintSelection(g2)
40+
local e1=Effect.CreateEffect(c)
41+
e1:SetType(EFFECT_TYPE_SINGLE)
42+
e1:SetCode(EFFECT_UPDATE_ATTACK)
43+
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
44+
e1:SetValue(g2:GetFirst():GetAttack())
45+
e1:SetRange(LOCATION_MZONE)
46+
e1:SetReset(RESETS_STANDARD_PHASE_END)
47+
tc:RegisterEffect(e1)
48+
tc:AddPiercing(RESETS_STANDARD_PHASE_END,c)
49+
end

0 commit comments

Comments
 (0)