Skip to content

Commit 9c35d20

Browse files
committed
added new rush cards
1 parent 575be25 commit 9c35d20

File tree

2 files changed

+104
-0
lines changed

2 files changed

+104
-0
lines changed

rush/c160023021.lua

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
--コズミック・サッカー
2+
--Cosmic Sucker
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Gain LP
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_RECOVER+CATEGORY_DRAW)
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+
aux.GlobalCheck(s,function()
18+
local ge1=Effect.CreateEffect(c)
19+
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
20+
ge1:SetCode(EVENT_DRAW)
21+
ge1:SetOperation(s.checkop)
22+
Duel.RegisterEffect(ge1,0)
23+
end)
24+
end
25+
function s.checkop(e,tp,eg,ep,ev,re,r,rp)
26+
if Duel.IsMainPhase() then
27+
Duel.RegisterFlagEffect(ep,id,RESET_PHASE|PHASE_END,0,1)
28+
end
29+
end
30+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
31+
return Duel.GetLP(tp)<Duel.GetLP(1-tp)
32+
end
33+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
34+
if chk==0 then return true end
35+
Duel.SetTargetPlayer(tp)
36+
Duel.SetTargetParam(300)
37+
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,300)
38+
end
39+
function s.filter(c)
40+
return c:IsFaceup() and c:IsNotMaximumModeSide()
41+
end
42+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
43+
--Effect
44+
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
45+
Duel.Recover(p,d,REASON_EFFECT)
46+
if Duel.GetFlagEffect(tp,id)==0 then
47+
Duel.BreakEffect()
48+
Duel.Draw(tp,1,REASON_EFFECT)
49+
local g=Duel.GetMatchingGroup(s.filter,tp,0,LOCATION_MZONE,nil)
50+
local lvl=g:GetSum(Card.Level)
51+
if lvl>=30 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
52+
Duel.Recover(tp,3000,REASON_EFFECT)
53+
end
54+
end
55+
end

rush/c160023043.lua

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
--歌憐奏女デュオルドール
2+
--Duordoll the Adorable Star
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Fusion Summon Procedure
7+
c:EnableReviveLimit()
8+
Fusion.AddProcMixN(c,true,true,160209061,2)
9+
Fusion.AddContactProc(c,s.contactfil,s.contactop,nil,nil,SUMMON_TYPE_FUSION,nil,false)
10+
--Shuffle 4 cards from opponent's GY to deck
11+
local e1=Effect.CreateEffect(c)
12+
e1:SetDescription(aux.Stringid(id,0))
13+
e1:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON)
14+
e1:SetType(EFFECT_TYPE_IGNITION)
15+
e1:SetRange(LOCATION_MZONE)
16+
e1:SetCountLimit(1)
17+
e1:SetTarget(s.target)
18+
e1:SetOperation(s.operation)
19+
c:RegisterEffect(e1)
20+
end
21+
function s.contactfil(tp)
22+
return Duel.GetMatchingGroup(aux.FaceupFilter(Card.IsAbleToDeckOrExtraAsCost),tp,LOCATION_ONFIELD,0,nil)
23+
end
24+
function s.contactop(g,tp)
25+
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST+REASON_MATERIAL)
26+
end
27+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
28+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_GRAVE,1,nil) end
29+
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_GRAVE)
30+
end
31+
function s.spfilter(c,e,tp)
32+
return c:IsLevel(3,4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
33+
end
34+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
35+
--Effect
36+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
37+
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(Card.IsAbleToDeck),tp,0,LOCATION_GRAVE,1,4,nil)
38+
Duel.HintSelection(g,4)
39+
if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)<1 then return end
40+
local g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,nil,e,tp)
41+
if #g2>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
42+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
43+
local sg=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
44+
if #sg>0 then
45+
Duel.BreakEffect()
46+
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
47+
end
48+
end
49+
end

0 commit comments

Comments
 (0)