Skip to content

Commit 01a5f03

Browse files
committed
added new rush cards
1 parent b5a6804 commit 01a5f03

File tree

9 files changed

+343
-0
lines changed

9 files changed

+343
-0
lines changed

rush/c160023027.lua

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
--獅子の依代
2+
--Yorishiro of the Lion
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Excavate the top 4 cards
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:SetCondition(s.condition)
14+
e1:SetTarget(s.target)
15+
e1:SetOperation(s.operation)
16+
c:RegisterEffect(e1)
17+
end
18+
s.listed_names={54539105,160023058}
19+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
20+
local c=e:GetHandler()
21+
return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN)
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)>=4 end
25+
Duel.SetPossibleOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
26+
end
27+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
28+
--Effect
29+
local c=e:GetHandler()
30+
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<4 then return end
31+
Duel.ConfirmDecktop(tp,4)
32+
local g=Duel.GetDecktopGroup(tp,4)
33+
Duel.DisableShuffleCheck()
34+
local sg=g:Filter(s.sfilter,nil)
35+
if #sg>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
36+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
37+
local tg=aux.SelectUnselectGroup(sg,1,tp,1,2,s.rescon,1,tp)
38+
if #tg>0 then
39+
Duel.SendtoHand(tg,nil,REASON_EFFECT)
40+
Duel.ConfirmCards(1-tp,tg)
41+
Duel.ShuffleHand(tp)
42+
g:RemoveCard(tg)
43+
end
44+
end
45+
local ct=#g
46+
if ct>0 then
47+
Duel.MoveToDeckBottom(ct,tp)
48+
Duel.SortDeckbottom(tp,tp,ct)
49+
end
50+
end
51+
function s.sfilter(c)
52+
return c:IsCode(54539105,160023058) and c:IsAbleToHand()
53+
end
54+
function s.rescon(sg,e,tp,mg)
55+
return sg:FilterCount(Card.IsCode,nil,54539105)<2 and sg:FilterCount(Card.IsCode,nil,160023058)<2
56+
end

rush/c160023028.lua

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
--竹林のキラーパンダ
2+
--Frenzied Panda of the Bamboo Forest
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+
function s.cfilter(c)
19+
return c:IsFaceup() and c:IsRace(RACE_BEAST) and c:IsType(TYPE_EFFECT) and c:IsAbleToGraveAsCost()
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_MZONE,0,1,nil) end
23+
end
24+
function s.spfilter(c,e,tp)
25+
return c:IsRace(RACE_BEAST) and not c:IsType(TYPE_EFFECT) 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.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
29+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,tp,LOCATION_GRAVE)
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+
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
38+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
39+
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
40+
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
41+
local g2=Duel.GetMatchingGroup(Card.IsNotMaximumModeSide,tp,0,LOCATION_MZONE,nil)
42+
if g:GetFirst():IsCode(33951077) and #g2>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
43+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
44+
local sg=g2:Select(tp,1,1,nil)
45+
if #sg==0 then return end
46+
local sg2=sg:AddMaximumCheck()
47+
Duel.HintSelection(sg2)
48+
Duel.BreakEffect()
49+
Duel.Destroy(sg,REASON_EFFECT)
50+
end
51+
end

rush/c160023029.lua

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
--金毛の魔獣レオグン
2+
--Leogun the Golden-Haired Magical Beast
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+
--Add card to hand
15+
local e2=Effect.CreateEffect(c)
16+
e2:SetDescription(aux.Stringid(id,1))
17+
e2:SetCategory(CATEGORY_TOHAND)
18+
e2:SetType(EFFECT_TYPE_IGNITION)
19+
e2:SetRange(LOCATION_MZONE)
20+
e2:SetCountLimit(1)
21+
e2:SetTarget(s.target)
22+
e2:SetOperation(s.operation)
23+
c:RegisterEffect(e2)
24+
end
25+
s.listed_names={54539105,160023058}
26+
function s.ntfilter(c)
27+
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsRace(RACE_BEAST)
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.ntfilter,c:GetControler(),LOCATION_MZONE,0,1,nil)
33+
end
34+
function s.thfilter(c)
35+
return c:IsCode(54539105,160023058) and c:IsAbleToHand()
36+
end
37+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
38+
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
39+
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
40+
end
41+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
42+
--effect
43+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
44+
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,1,nil)
45+
if #g>0 then
46+
Duel.SendtoHand(g,nil,REASON_EFFECT)
47+
Duel.ConfirmCards(1-tp,g)
48+
end
49+
end

rush/c160023030.lua

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
--翼の魔獣ガルヴァス
2+
--Garvas the Winged Magical Beast
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Atk
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetType(EFFECT_TYPE_FIELD)
9+
e1:SetCode(EFFECT_UPDATE_ATTACK)
10+
e1:SetRange(LOCATION_MZONE)
11+
e1:SetTargetRange(LOCATION_MZONE,0)
12+
e1:SetTarget(aux.TargetBoolFunction(Card.IsRace,RACE_BEAST))
13+
e1:SetValue(s.value)
14+
c:RegisterEffect(e1)
15+
--Atk
16+
local e2=Effect.CreateEffect(c)
17+
e2:SetType(EFFECT_TYPE_FIELD)
18+
e2:SetCode(EFFECT_PIERCE)
19+
e2:SetRange(LOCATION_MZONE)
20+
e2:SetTargetRange(LOCATION_MZONE,0)
21+
e2:SetTarget(aux.TargetBoolFunction(Card.IsCode,33951077))
22+
e2:SetValue(1)
23+
c:RegisterEffect(e2)
24+
end
25+
s.listed_names={33951077}
26+
function s.filter(c)
27+
return c:IsFaceup() and c:IsRace(RACE_BEAST) and not c:IsType(TYPE_EFFECT)
28+
end
29+
function s.value(e,c)
30+
return Duel.GetMatchingGroupCount(s.filter,e:GetHandlerPlayer(),LOCATION_MZONE,0,nil)*500
31+
end

rush/c160023038.lua

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
--狐狸茶々
2+
--Konpon Chacha
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
local e1=Effect.CreateEffect(c)
7+
e1:SetDescription(aux.Stringid(id,0))
8+
e1:SetCategory(CATEGORY_TODECK)
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.cost(e,tp,eg,ep,ev,re,r,rp,chk)
18+
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
19+
end
20+
function s.filter(c)
21+
return c:IsRitualSpell() and c:IsAbleToDeck()
22+
end
23+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
24+
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil) end
25+
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,2,1-tp,LOCATION_GRAVE)
26+
end
27+
function s.spfilter(c,e,tp)
28+
return c:IsLevelBetween(7,9) and c:IsType(TYPE_RITUAL) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
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_TODECK)
36+
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.filter),tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil)
37+
Duel.HintSelection(g)
38+
local g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,nil,e,tp)
39+
if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and #g2>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
40+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
41+
local sg=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
42+
if #sg>0 then
43+
Duel.BreakEffect()
44+
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
45+
end
46+
end
47+
end

rush/c160023057.lua

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
--ライオンの儀式
2+
--War-Lion Ritual
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
local e1=Ritual.CreateProc({handler=c,lvtype=RITPROC_GREATER,filter=s.ritualfil})
7+
c:RegisterEffect(e1)
8+
end
9+
s.listed_names={33951077}
10+
function s.ritualfil(c)
11+
return c:IsCode(33951077)
12+
end

rush/c160023058.lua

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
--ライオンの強襲
2+
--War-Lion Assault
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
local e1=Ritual.CreateProc({handler=c,lvtype=RITPROC_GREATER,filter=s.ritualfil,matfilter=s.forcedgroup,stage2=s.stage2})
7+
c:RegisterEffect(e1)
8+
end
9+
s.listed_names={33951077}
10+
function s.ritualfil(c)
11+
return c:IsCode(33951077)
12+
end
13+
function s.forcedgroup(c,e,tp)
14+
return c:IsLocation(LOCATION_MZONE) and c:IsRace(RACE_BEAST) and c:IsFaceup()
15+
end
16+
function s.stage2(mg,e,tp,eg,ep,ev,re,r,rp,tc)
17+
local c=e:GetHandler()
18+
--Gains ATK/DEF
19+
local e1=Effect.CreateEffect(c)
20+
e1:SetType(EFFECT_TYPE_SINGLE)
21+
e1:SetCode(EFFECT_UPDATE_ATTACK)
22+
e1:SetValue(2000)
23+
e1:SetReset(RESETS_STANDARD_PHASE_END)
24+
tc:RegisterEffect(e1)
25+
end

rush/c160023059.lua

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
--ライオンの戦域
2+
--War-Lion Battleground
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Name becomes "War-Lion Assault" in the Graveyard
7+
local e0=Effect.CreateEffect(c)
8+
e0:SetType(EFFECT_TYPE_SINGLE)
9+
e0:SetCode(EFFECT_CHANGE_CODE)
10+
e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
11+
e0:SetRange(LOCATION_GRAVE)
12+
e0:SetValue(160023058)
13+
c:RegisterEffect(e0)
14+
--Activate
15+
local e1=Effect.CreateEffect(c)
16+
e1:SetDescription(aux.Stringid(id,0))
17+
e1:SetType(EFFECT_TYPE_ACTIVATE)
18+
e1:SetCategory(CATEGORY_ATKCHANGE)
19+
e1:SetCode(EVENT_FREE_CHAIN)
20+
e1:SetCondition(s.condition)
21+
e1:SetCost(s.cost)
22+
e1:SetTarget(s.target)
23+
e1:SetOperation(s.activate)
24+
c:RegisterEffect(e1)
25+
end
26+
s.listed_names={160023058,33951077}
27+
function s.cfilter(c)
28+
return c:IsFaceup() and c:IsCode(33951077)
29+
end
30+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
31+
return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil)
32+
end
33+
function s.tdfilter(c)
34+
return c:IsMonster() and c:IsAbleToDeckOrExtraAsCost()
35+
end
36+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
37+
if chk==0 then return Duel.IsExistingMatchingCard(s.tdfilter,tp,LOCATION_GRAVE,0,1,nil) end
38+
end
39+
function s.filter(c)
40+
return c:IsFaceup() and c:IsRace(RACE_BEAST) and not c:IsMaximumModeSide()
41+
end
42+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
43+
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_MZONE,0,1,nil) end
44+
end
45+
function s.activate(e,tp,eg,ep,ev,re,r,rp)
46+
local c=e:GetHandler()
47+
--Requirement
48+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
49+
local g=Duel.SelectMatchingCard(tp,s.tdfilter,tp,LOCATION_GRAVE,0,1,1,nil)
50+
Duel.HintSelection(g)
51+
if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)<1 then return end
52+
--Effect
53+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
54+
local g=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_MZONE,0,1,3,nil)
55+
Duel.HintSelection(g)
56+
local tc=g:GetFirst()
57+
for tc in g:Iter() do
58+
local e1=Effect.CreateEffect(c)
59+
e1:SetType(EFFECT_TYPE_SINGLE)
60+
e1:SetCode(EFFECT_UPDATE_ATTACK)
61+
e1:SetValue(1000)
62+
e1:SetReset(RESETS_STANDARD_PHASE_END)
63+
tc:RegisterEffect(e1)
64+
end
65+
end

rush/c160023066.lua

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
--スーパー・ウォー・ライオン
2+
--Super War-Lion
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
c:EnableReviveLimit()
7+
end

0 commit comments

Comments
 (0)