Skip to content

Commit ed14bd3

Browse files
committed
added new rush cards
1 parent cd769a5 commit ed14bd3

File tree

8 files changed

+366
-0
lines changed

8 files changed

+366
-0
lines changed

rush/c160216030.lua

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
--羊界とメェ~界の逆転
2+
--Exchange of the Sheep
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Send 2 random cards from your opponent's hand to the Graveyard
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetType(EFFECT_TYPE_ACTIVATE)
10+
e1:SetCategory(CATEGORY_TODECK|CATEGORY_DRAW|CATEGORY_SPECIAL_SUMMON)
11+
e1:SetCode(EVENT_DRAW)
12+
e1:SetCondition(s.condition)
13+
e1:SetTarget(s.target)
14+
e1:SetOperation(s.activate)
15+
c:RegisterEffect(e1)
16+
end
17+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
18+
return ep==1-tp and Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,nil) and Duel.IsExistingMatchingCard(Card.IsRace,tp,LOCATION_GRAVE,0,15,nil,RACE_BEAST)
19+
end
20+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
21+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_GRAVE,0,1,nil) and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_GRAVE,1,nil) end
22+
end
23+
function s.activate(e,tp,eg,ep,ev,re,r,rp)
24+
--Requirement
25+
local g=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
26+
Duel.SendtoGrave(g,REASON_EFFECT)
27+
--Effect
28+
local g=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,nil)
29+
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
30+
Duel.ShuffleDeck(tp)
31+
Duel.ShuffleDeck(1-tp)
32+
local ct=Duel.Draw(tp,1,REASON_EFFECT)
33+
if ct==0 then return end
34+
local tc=Duel.GetOperatedGroup():GetFirst()
35+
Duel.ConfirmCards(1-tp,tc)
36+
if tc:IsMonster() and tc:IsLevelAbove(7) and tc:IsRace(RACE_BEAST) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
37+
and tc:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
38+
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
39+
end
40+
Duel.ShuffleHand(tp)
41+
end

rush/c160216036.lua

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
--混沌の蘇生者
2+
--Reviver of Chaos
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Increase ATK
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_ATKCHANGE)
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:IsLevel(4) and c:IsAttack(500) and c:IsDefense(1000) 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.target(e,tp,eg,ep,ev,re,r,rp,chk)
25+
if chk==0 then return true end
26+
Duel.SetOperationInfo(0,CATEGORY_ATKCHANGE,e:GetHandler(),1,tp,1000)
27+
end
28+
function s.spfilter(c,e,tp)
29+
return c:IsRace(RACE_WARRIOR) and c:IsLevel(8) and c:IsType(TYPE_RITUAL) and not c:IsType(TYPE_EFFECT) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
30+
end
31+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
32+
local c=e:GetHandler()
33+
--Requirement
34+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
35+
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_GRAVE,0,2,2,nil)
36+
Duel.HintSelection(g)
37+
if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)==0 then return end
38+
--Effect
39+
local e1=Effect.CreateEffect(c)
40+
e1:SetType(EFFECT_TYPE_SINGLE)
41+
e1:SetCode(EFFECT_UPDATE_ATTACK)
42+
e1:SetValue(1000)
43+
e1:SetReset(RESET_EVENT|RESETS_STANDARD_DISABLE|RESET_PHASE|PHASE_END,2)
44+
c:RegisterEffect(e1)
45+
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,nil,e,tp)
46+
if #g>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
47+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
48+
local sg=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
49+
if #sg>0 then
50+
Duel.BreakEffect()
51+
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
52+
end
53+
end
54+
end

rush/c160216054.lua

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
--掻き混ぜコスモス姫
2+
--Princess Cosmos Stirs
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Name becomes "Jest of the Cosmos Princess" in the hand or 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_HAND)
12+
e0:SetValue(160017058)
13+
c:RegisterEffect(e0)
14+
--Change Position and Fusion Summon
15+
local params={fusfilter=aux.FilterBoolFunction(s.fusfilter),matfilter=s.mfilter,extrafil=s.fextra,extraop=Fusion.ShuffleMaterial,maxcount=3}
16+
local e1=Effect.CreateEffect(c)
17+
e1:SetDescription(aux.Stringid(id,0))
18+
e1:SetCategory(CATEGORY_POSITION)
19+
e1:SetType(EFFECT_TYPE_ACTIVATE)
20+
e1:SetCode(EVENT_FREE_CHAIN)
21+
e1:SetCondition(s.condition)
22+
e1:SetCost(s.cost)
23+
e1:SetTarget(Fusion.SummonEffTG(params))
24+
e1:SetOperation(s.operation(Fusion.SummonEffOP(params)))
25+
c:RegisterEffect(e1)
26+
end
27+
s.listed_names={160017058}
28+
function s.fusfilter(c)
29+
return c:IsRace(RACE_GALAXY) and c:IsDefense(1900,2600)
30+
end
31+
function s.mfilter(c)
32+
return c:IsLocation(LOCATION_GRAVE|LOCATION_MZONE) and c:IsRace(RACE_GALAXY) and c:IsAbleToDeck()
33+
end
34+
function s.fextra(e,tp,mg)
35+
return Duel.GetMatchingGroup(s.mfilter,tp,LOCATION_GRAVE|LOCATION_MZONE,0,nil)
36+
end
37+
function s.filter(c)
38+
return c:IsMonster() and c:IsRace(RACE_GALAXY)
39+
end
40+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
41+
return Duel.GetMatchingGroupCount(s.filter,tp,LOCATION_GRAVE,0,nil)>=5
42+
end
43+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
44+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeckOrExtraAsCost,tp,LOCATION_HAND,0,1,e:GetHandler()) end
45+
end
46+
function s.operation(fusop)
47+
return function(e,tp,eg,ep,ev,re,r,rp)
48+
--Requirement
49+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
50+
local td=Duel.SelectMatchingCard(tp,Card.IsAbleToDeckOrExtraAsCost,tp,LOCATION_HAND,0,1,1,nil)
51+
if Duel.SendtoDeck(td,nil,SEQ_DECKBOTTOM,REASON_COST)<1 then return end
52+
--Effect
53+
fusop(e,tp,eg,ep,ev,re,r,rp)
54+
end
55+
end

rush/c160216065.lua

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
--レジェンド・リネージ・マジシャン
2+
--Legend Lineage Magician
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Ritual
7+
c:EnableReviveLimit()
8+
--Treated as a Legend Card in the GY
9+
local e0=Effect.CreateEffect(c)
10+
e0:SetType(EFFECT_TYPE_SINGLE)
11+
e0:SetCode(EFFECT_IS_LEGEND)
12+
e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
13+
e0:SetRange(LOCATION_GRAVE)
14+
c:RegisterEffect(e0)
15+
--Piercing battle damage
16+
local e1=Effect.CreateEffect(c)
17+
e1:SetType(EFFECT_TYPE_SINGLE)
18+
e1:SetCode(EFFECT_PIERCE)
19+
c:RegisterEffect(e1)
20+
--Cannot be changed to Defense Position
21+
local e2=Effect.CreateEffect(c)
22+
e2:SetType(EFFECT_TYPE_SINGLE)
23+
e2:SetCode(EFFECT_CANNOT_CHANGE_POS_E)
24+
e2:SetCondition(s.poscon)
25+
e2:SetValue(s.efilter)
26+
c:RegisterEffect(e2)
27+
end
28+
function s.poscon(e)
29+
return e:GetHandler():IsAttackPos()
30+
end
31+
function s.efilter(e,te)
32+
return te:GetOwnerPlayer()==e:GetOwnerPlayer()
33+
end

rush/c160216066.lua

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
--レジェンド・ネクロマンサー
2+
--Legend Necromancer
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Treated as a Legend Card in the hand or GY
7+
local e0=Effect.CreateEffect(c)
8+
e0:SetType(EFFECT_TYPE_SINGLE)
9+
e0:SetCode(EFFECT_IS_LEGEND)
10+
e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
11+
e0:SetRange(LOCATION_HAND|LOCATION_GRAVE)
12+
c:RegisterEffect(e0)
13+
--Set 1 Ritual Spell
14+
local e1=Effect.CreateEffect(c)
15+
e1:SetDescription(aux.Stringid(id,0))
16+
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
17+
e1:SetType(EFFECT_TYPE_IGNITION)
18+
e1:SetRange(LOCATION_MZONE)
19+
e1:SetCountLimit(1)
20+
e1:SetCost(s.cost)
21+
e1:SetTarget(s.target)
22+
e1:SetOperation(s.operation)
23+
c:RegisterEffect(e1)
24+
end
25+
function s.cfilter(c)
26+
return c:IsMonster() and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToGraveAsCost()
27+
end
28+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
29+
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_HAND,0,1,nil) end
30+
end
31+
function s.setfilter(c)
32+
return c:IsRitualSpell() and c:IsSSetable()
33+
end
34+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
35+
if chk==0 then return Duel.IsExistingMatchingCard(s.setfilter,tp,LOCATION_GRAVE,0,1,nil) end
36+
end
37+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
38+
--Requirement
39+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
40+
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_HAND,0,1,1,nil)
41+
if Duel.SendtoGrave(g,REASON_COST)<1 then return end
42+
--Effect
43+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
44+
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.setfilter),tp,LOCATION_GRAVE,0,1,1,nil)
45+
if #g==0 then return end
46+
Duel.SSet(tp,g)
47+
end

rush/c160216067.lua

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
--若き剣士の祖
2+
--Grand Legend Saber Spirit
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Treated as a Legend Card in the hand or GY
7+
local e0=Effect.CreateEffect(c)
8+
e0:SetType(EFFECT_TYPE_SINGLE)
9+
e0:SetCode(EFFECT_IS_LEGEND)
10+
e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
11+
e0:SetRange(LOCATION_HAND|LOCATION_GRAVE)
12+
c:RegisterEffect(e0)
13+
--Add 1 level 4 Pyro monster to the hand
14+
local e1=Effect.CreateEffect(c)
15+
e1:SetDescription(aux.Stringid(id,0))
16+
e1:SetCategory(CATEGORY_TOHAND)
17+
e1:SetType(EFFECT_TYPE_IGNITION)
18+
e1:SetRange(LOCATION_MZONE)
19+
e1:SetCountLimit(1)
20+
e1:SetCondition(s.condition)
21+
e1:SetTarget(s.target)
22+
e1:SetOperation(s.operation)
23+
c:RegisterEffect(e1)
24+
end
25+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
26+
return e:GetHandler():IsStatus(STATUS_SUMMON_TURN)
27+
end
28+
function s.filter(c)
29+
return c:IsLevel(7) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsLegend() and c:IsDefense(300) 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.filter,tp,LOCATION_GRAVE,0,1,nil) end
33+
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
34+
end
35+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
36+
--Effect
37+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
38+
local g=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_GRAVE,0,1,1,nil)
39+
if #g>0 then
40+
Duel.SendtoHand(g,nil,REASON_EFFECT)
41+
Duel.ConfirmCards(1-tp,g)
42+
end
43+
local e1=Effect.CreateEffect(e:GetHandler())
44+
e1:SetDescription(aux.Stringid(id,1))
45+
e1:SetType(EFFECT_TYPE_FIELD)
46+
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
47+
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
48+
e1:SetTargetRange(1,0)
49+
e1:SetValue(s.aclimit)
50+
e1:SetReset(RESET_PHASE|PHASE_END)
51+
Duel.RegisterEffect(e1,tp)
52+
end
53+
function s.aclimit(e,re,tp)
54+
return re:GetHandler():IsCode(id)
55+
end

rush/c160216068.lua

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
--英魂の憑依
2+
--Legend Possessed
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Ritual Summon
7+
local e1=Ritual.CreateProc({handler=c,lvtype=RITPROC_GREATER,filter=s.ritualfil,matfilter=s.forcedgroup})
8+
e1:SetCondition(s.condition)
9+
c:RegisterEffect(e1)
10+
aux.GlobalCheck(s,function()
11+
local ge1=Effect.CreateEffect(c)
12+
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
13+
ge1:SetCode(EVENT_CHAIN_SOLVED)
14+
ge1:SetOperation(s.checkop)
15+
Duel.RegisterEffect(ge1,0)
16+
end)
17+
end
18+
s.listed_names={160216065,160216068}
19+
function s.checkop(e,tp,eg,ep,ev,re,r,rp)
20+
if re:GetHandler():IsCode(160216068) then
21+
Duel.RegisterFlagEffect(rp,id,RESET_PHASE|PHASE_END,0,1)
22+
end
23+
end
24+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
25+
return Duel.GetFlagEffect(tp,id)==0
26+
end
27+
function s.ritualfil(c)
28+
return c:IsCode(160216065)
29+
end
30+
function s.forcedgroup(c,e,tp)
31+
return c:IsLocation(LOCATION_MZONE) or c:IsLegend()
32+
end

rush/c160216070.lua

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
--エクスキューティー・ペガサス
2+
--Executie Pegasus
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Add 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:SetTarget(s.target)
15+
e1:SetOperation(s.operation)
16+
c:RegisterEffect(e1)
17+
end
18+
s.listed_names={160205032,160014064}
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.thfilter(c)
24+
return c:IsCode(160205032,160014064) and c:IsAbleToHand()
25+
end
26+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
27+
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
28+
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
29+
end
30+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
31+
--Effect
32+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
33+
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,1,nil)
34+
if #g>0 then
35+
Duel.SendtoHand(g,nil,REASON_EFFECT)
36+
Duel.ConfirmCards(1-tp,g)
37+
if g:GetFirst():IsCode(160014064) and Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
38+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKDEF)
39+
local dg=Duel.SelectMatchingCard(tp,aux.FilterMaximumSideFunctionEx(Card.IsFaceup),tp,0,LOCATION_MZONE,1,1,nil)
40+
Duel.HintSelection(dg)
41+
local e1=Effect.CreateEffect(e:GetHandler())
42+
e1:SetType(EFFECT_TYPE_SINGLE)
43+
e1:SetCode(EFFECT_UPDATE_ATTACK)
44+
e1:SetValue(-1800)
45+
e1:SetReset(RESETS_STANDARD_PHASE_END)
46+
dg:GetFirst():RegisterEffect(e1)
47+
end
48+
end
49+
end

0 commit comments

Comments
 (0)