Skip to content

Commit 6b7b2dd

Browse files
committed
added new rush cards
1 parent 3f069a4 commit 6b7b2dd

17 files changed

Lines changed: 745 additions & 0 deletions

rush/c160217001.lua

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
--叛骨装剣ガイガスベルグ
2+
--Guyghasberg the Defiant Soulclad Sword
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Ritual monster
7+
c:EnableReviveLimit()
8+
--Gains 1000 ATK during the controller's turn
9+
local e1=Effect.CreateEffect(c)
10+
e1:SetType(EFFECT_TYPE_SINGLE)
11+
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
12+
e1:SetCode(EFFECT_UPDATE_ATTACK)
13+
e1:SetRange(LOCATION_MZONE)
14+
e1:SetCondition(s.condition)
15+
e1:SetValue(1000)
16+
c:RegisterEffect(e1)
17+
--Cannot be destroyed
18+
local e2=Effect.CreateEffect(c)
19+
e2:SetType(EFFECT_TYPE_SINGLE)
20+
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
21+
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
22+
e2:SetRange(LOCATION_MZONE)
23+
e2:SetCondition(s.condition2)
24+
e2:SetValue(1)
25+
c:RegisterEffect(e2)
26+
end
27+
function s.condition(e)
28+
return Duel.GetTurnPlayer()==e:GetHandler():GetControler()
29+
end
30+
function s.condition2(e)
31+
return Duel.IsExistingMatchingCard(Card.IsCode,e:GetHandlerPlayer(),LOCATION_GRAVE,0,1,nil,160018030)
32+
end

rush/c160217002.lua

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
--叛骨装剣ガイガスベルグ
2+
--Sphraruda the Defiant Soulclad Scripture
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Ritual monster
7+
c:EnableReviveLimit()
8+
--damage
9+
local e1=Effect.CreateEffect(c)
10+
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
11+
e1:SetCode(EVENT_BATTLE_DESTROYING)
12+
e1:SetRange(LOCATION_MZONE)
13+
e1:SetCondition(s.condition)
14+
e1:SetOperation(s.operation)
15+
c:RegisterEffect(e1)
16+
--Cannot be destroyed by battle
17+
local e2=Effect.CreateEffect(c)
18+
e2:SetType(EFFECT_TYPE_SINGLE)
19+
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
20+
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
21+
e2:SetRange(LOCATION_MZONE)
22+
e2:SetCondition(s.indcon)
23+
e2:SetValue(1)
24+
c:RegisterEffect(e2)
25+
end
26+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
27+
local a=Duel.GetAttacker()
28+
return a:IsControler(tp) and a:GetOriginalRace()==RACE_ZOMBIE and a:GetBattleTarget():IsControler(1-tp)
29+
end
30+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
31+
local bc=Duel.GetAttacker():GetBattleTarget()
32+
local g=Duel.GetMatchingGroup(Card.IsMonster,tp,LOCATION_GRAVE,0,nil)
33+
if bc and bc:IsLocation(LOCATION_GRAVE) and #g>0 then
34+
local sg=g:GetMaxGroup(Card.GetLevel)
35+
local lvl=sg:GetFirst():GetLevel()
36+
if lvl>0 then
37+
Duel.Damage(1-tp,lvl*200,REASON_EFFECT)
38+
end
39+
end
40+
end
41+
function s.indcon(e)
42+
return e:GetHandler():IsDefensePos() and Duel.IsExistingMatchingCard(Card.IsCode,e:GetHandlerPlayer(),LOCATION_GRAVE,0,1,nil,160018031)
43+
end

rush/c160217004.lua

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
--髑巌騎士モルドルネ
2+
--Mordorne the Skullcrag Knight
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Summon with 1 tribute
7+
local e1=aux.AddNormalSummonProcedure(c,true,true,1,1,SUMMON_TYPE_TRIBUTE,aux.Stringid(id,0),s.cfilter)
8+
--Make 1 of your monsters gain ATK
9+
local e2=Effect.CreateEffect(c)
10+
e2:SetDescription(aux.Stringid(id,0))
11+
e2:SetType(CATEGORY_ATKCHANGE)
12+
e2:SetType(EFFECT_TYPE_IGNITION)
13+
e2:SetRange(LOCATION_MZONE)
14+
e2:SetCountLimit(1)
15+
e2:SetCost(s.cost)
16+
e2:SetTarget(s.target)
17+
e2:SetOperation(s.operation)
18+
c:RegisterEffect(e2)
19+
end
20+
function s.cfilter(c)
21+
return c:IsRace(RACE_ZOMBIE)
22+
end
23+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
24+
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end
25+
end
26+
function s.filter(c)
27+
return c:IsFaceup() and c:IsRace(RACE_ZOMBIE)
28+
end
29+
function s.filter2(c)
30+
return s.filter(c) and c:IsAttribute(ATTRIBUTE_WIND)
31+
end
32+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
33+
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_MZONE,0,1,nil)
34+
and Duel.IsExistingMatchingCard(s.filter2,tp,LOCATION_MZONE,0,1,nil) end
35+
local ct=Duel.GetMatchingGroupCount(s.filter,tp,LOCATION_MZONE,0,nil)
36+
Duel.SetOperationInfo(0,CATEGORY_ATKCHANGE,nil,1,tp,ct*400)
37+
end
38+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
39+
--Requirement
40+
if Duel.DiscardDeck(tp,1,REASON_COST)<1 then return end
41+
--Effect
42+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
43+
local ct=Duel.GetMatchingGroupCount(s.filter,tp,LOCATION_MZONE,0,nil)
44+
local g=Duel.SelectMatchingCard(tp,s.filter2,tp,LOCATION_MZONE,0,1,1,nil)
45+
if #g>0 and ct>0 then
46+
Duel.HintSelection(g)
47+
local tc=g:GetFirst()
48+
--Gains ATK
49+
local e1=Effect.CreateEffect(e:GetHandler())
50+
e1:SetType(EFFECT_TYPE_SINGLE)
51+
e1:SetCode(EFFECT_UPDATE_ATTACK)
52+
e1:SetValue(ct*400)
53+
e1:SetReset(RESETS_STANDARD_PHASE_END)
54+
tc:RegisterEffect(e1)
55+
end
56+
end

rush/c160217006.lua

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
--叛骨のジーファ
2+
--Geefor the Defiant Soul
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Name becomes "Guyghast the Defiant Soul" 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(160018031)
13+
c:RegisterEffect(e0)
14+
--Increase Level by 1
15+
local e1=Effect.CreateEffect(c)
16+
e1:SetDescription(aux.Stringid(id,0))
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.cost(e,tp,eg,ep,ev,re,r,rp,chk)
26+
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end
27+
end
28+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
29+
if chk==0 then return e:GetHandler():HasLevel() end
30+
end
31+
function s.spfilter(c,e,tp)
32+
return c:IsCode(160018031) and c:IsLevel(5) and (c:IsAbleToHand() or (Duel.GetMZoneCount(tp)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)))
33+
end
34+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
35+
local c=e:GetHandler()
36+
--Requirement
37+
if Duel.DiscardDeck(tp,1,REASON_COST)<1 then return end
38+
local ct=Duel.GetOperatedGroup():GetFirst()
39+
--Effect
40+
c:UpdateLevel(1,RESETS_STANDARD_PHASE_END,c)
41+
if Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
42+
local tc=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
43+
if tc then
44+
aux.ToHandOrElse(tc,tp,
45+
function()
46+
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and tc:IsCanBeSpecialSummoned(e,0,tp,false,false)
47+
end,
48+
function()
49+
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
50+
end,
51+
aux.Stringid(id,2)
52+
)
53+
end
54+
end
55+
end

rush/c160217007.lua

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
--髑巌妃ソプラ
2+
--Sopla the Skullcrag Princess
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Send the top 2 cards of deck to GY
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetType(EFFECT_TYPE_IGNITION)
9+
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_DECKDES)
10+
e1:SetRange(LOCATION_MZONE)
11+
e1:SetCountLimit(1)
12+
e1:SetCondition(s.condition)
13+
e1:SetTarget(s.target)
14+
e1:SetOperation(s.operation)
15+
c:RegisterEffect(e1)
16+
end
17+
s.listed_names={160217015}
18+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
19+
local c=e:GetHandler()
20+
return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN)
21+
end
22+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
23+
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,1) end
24+
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,1)
25+
end
26+
function s.thfilter(c)
27+
return (c:IsCode(160217015) or (c:IsMonster() and c:IsRace(RACE_ZOMBIE) and c:IsLevel(3) and c:IsAttack(1200))) and c:IsAbleToHand()
28+
end
29+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
30+
--Effect
31+
Duel.DiscardDeck(tp,1,REASON_EFFECT)
32+
if Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
33+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
34+
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
35+
if #g>0 then
36+
Duel.SendtoHand(g,nil,REASON_EFFECT)
37+
Duel.ConfirmCards(1-tp,g)
38+
end
39+
end
40+
local e1=Effect.CreateEffect(e:GetHandler())
41+
e1:SetDescription(aux.Stringid(id,1))
42+
e1:SetType(EFFECT_TYPE_FIELD)
43+
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
44+
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
45+
e1:SetTargetRange(1,0)
46+
e1:SetValue(s.aclimit)
47+
e1:SetReset(RESET_PHASE|PHASE_END)
48+
Duel.RegisterEffect(e1,tp)
49+
end
50+
function s.aclimit(e,re,tp)
51+
return re:GetHandler():IsCode(id)
52+
end

rush/c160217009.lua

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
--叛骨装魂メイニール
2+
--Meinir the Defiant Soulclad Spirit
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Add card to 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.condition(e,tp,eg,ep,ev,re,r,rp)
20+
return e:GetHandler():IsStatus(STATUS_SUMMON_TURN)
21+
end
22+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
23+
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
24+
end
25+
function s.thfilter(c)
26+
return c:IsCode(160018030,160018031)
27+
end
28+
function s.thfilter2(c)
29+
return c:IsRitualSpell() 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,LOCATION_GRAVE,0,1,nil)
33+
and Duel.IsExistingMatchingCard(s.thfilter2,tp,LOCATION_GRAVE,0,1,nil) end
34+
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,tp,LOCATION_GRAVE)
35+
end
36+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
37+
--Requirement
38+
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
39+
--Effect
40+
local sg=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_GRAVE,0,nil)
41+
if #sg>0 then
42+
local tg=aux.SelectUnselectGroup(sg,1,tp,2,2,s.rescon,1,tp,HINTMSG_ATOHAND)
43+
Duel.SendtoHand(tg,nil,REASON_EFFECT)
44+
Duel.ConfirmCards(1-tp,tg)
45+
end
46+
end
47+
function s.rescon(sg,e,tp,mg)
48+
return sg:FilterCount(s.thfilter,nil)==1 and sg:FilterCount(s.thfilter2,nil)==1
49+
end

rush/c160217011.lua

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
--スカルライズ・スコール
2+
--Skullrise Squall
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={160217001,160018031}
10+
function s.ritualfil(c)
11+
return c:IsCode(160217001)
12+
end
13+
function s.forcedgroup(c,e,tp)
14+
return c:IsLocation(LOCATION_MZONE) and c:IsRace(RACE_ZOMBIE) 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+
local g=Duel.GetMatchingGroup(Card.IsFacedown,tp,0,LOCATION_ONFIELD,nil)
19+
if mg:IsExists(Card.IsOriginalCodeRule,1,nil,160018031) and #g>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
20+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
21+
local sg=g:Select(tp,1,1,nil)
22+
Duel.HintSelection(sg)
23+
if #sg>0 then
24+
Duel.BreakEffect()
25+
Duel.Destroy(sg,REASON_EFFECT)
26+
end
27+
end
28+
end

rush/c160217012.lua

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
--スカルライズ・ヴァイオレント
2+
--Skullrise Violent
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={160217002,160018030}
10+
function s.ritualfil(c)
11+
return c:IsCode(160217002)
12+
end
13+
function s.forcedgroup(c,e,tp)
14+
return c:IsLocation(LOCATION_MZONE) and c:IsRace(RACE_ZOMBIE) 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+
if mg:IsExists(Card.IsOriginalCodeRule,1,nil,160018030) and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
19+
Duel.BreakEffect()
20+
Duel.Draw(tp,1,REASON_EFFECT)
21+
end
22+
end

rush/c160217013.lua

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
--ブローウィング・スカルライズ
2+
--Blowing Skullrise
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Add 1 monster from the grave to the hand
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetType(EFFECT_TYPE_ACTIVATE)
10+
e1:SetCategory(CATEGORY_TOHAND)
11+
e1:SetCode(EVENT_FREE_CHAIN)
12+
e1:SetCost(s.cost)
13+
e1:SetTarget(s.target)
14+
e1:SetOperation(s.activate)
15+
c:RegisterEffect(e1)
16+
end
17+
s.listed_names={160217016}
18+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
19+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeckOrExtraAsCost,tp,LOCATION_HAND,0,1,e:GetHandler()) end
20+
end
21+
function s.thfilter(c)
22+
return (c:IsCode(160217016) or (c:IsMonster() and c:IsRace(RACE_ZOMBIE) and c:IsAttribute(ATTRIBUTE_WIND))) and c:IsAbleToHand()
23+
end
24+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
25+
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
26+
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
27+
end
28+
function s.activate(e,tp,eg,ep,ev,re,r,rp)
29+
local c=e:GetHandler()
30+
--Requirement
31+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
32+
local td=Duel.SelectMatchingCard(tp,Card.IsAbleToDeckOrExtraAsCost,tp,LOCATION_HAND,0,1,1,c)
33+
if Duel.SendtoDeck(td,nil,SEQ_DECKBOTTOM,REASON_COST)<1 then return end
34+
--Effect
35+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
36+
local dg=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
37+
if #dg>0 then
38+
Duel.SendtoHand(dg,nil,REASON_EFFECT)
39+
Duel.ConfirmCards(1-tp,dg)
40+
end
41+
end

0 commit comments

Comments
 (0)