Skip to content

Commit 38637df

Browse files
committed
added new rush cards
1 parent ad7e59f commit 38637df

File tree

3 files changed

+163
-0
lines changed

3 files changed

+163
-0
lines changed

rush/c160023035.lua

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
--集約の魔導師
2+
--Intensive Magician
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Gain 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: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.costfilter(c)
23+
return c:IsMonster() and c:IsAbleToGraveAsCost()
24+
end
25+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
26+
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) end
27+
end
28+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
29+
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_SZONE,0)>0 end
30+
end
31+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
32+
local c=e:GetHandler()
33+
--Requirement
34+
if Duel.DiscardDeck(tp,2,REASON_COST)<2 then return end
35+
--Effect
36+
local ct=Duel.GetFieldGroupCount(tp,LOCATION_SZONE,0)
37+
local e1=Effect.CreateEffect(c)
38+
e1:SetType(EFFECT_TYPE_SINGLE)
39+
e1:SetCode(EFFECT_UPDATE_ATTACK)
40+
e1:SetReset(RESETS_STANDARD_PHASE_END)
41+
e1:SetValue(ct*500)
42+
c:RegisterEffect(e1)
43+
if Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,83746708) then
44+
local e2=Effect.CreateEffect(c)
45+
e2:SetType(EFFECT_TYPE_SINGLE)
46+
e2:SetCode(EFFECT_UPDATE_ATTACK)
47+
e2:SetReset(RESETS_STANDARD_PHASE_END)
48+
e2:SetValue(1000)
49+
c:RegisterEffect(e2)
50+
end
51+
end

rush/c160457005.lua

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
--封拳のキョシー
2+
--Kyoshee of the Forbidden Fist
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Reduce Level
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.cost(e,tp,eg,ep,ev,re,r,rp,chk)
19+
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,1) end
20+
end
21+
function s.cfilter(c)
22+
return c:IsFaceup() and c:IsLevelAbove(3) and not c:IsMaximumModeSide()
23+
end
24+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
25+
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,0,LOCATION_MZONE,1,nil) end
26+
end
27+
function s.spfilter(c,e,tp)
28+
return c:IsCode(id) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
29+
end
30+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
31+
--Requirement
32+
local c=e:GetHandler()
33+
if Duel.DiscardDeck(tp,1,REASON_COST)<0 then return end
34+
--Effect
35+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
36+
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,0,LOCATION_MZONE,1,1,nil)
37+
if #g>0 then
38+
Duel.HintSelection(g)
39+
local tc=g:GetFirst()
40+
--decrease level by 2
41+
tc:UpdateLevel(-2,RESETS_STANDARD_PHASE_END,c)
42+
local g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,nil,e,tp)
43+
if c:IsAttackPos() and #g2>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
44+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
45+
local sg=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
46+
if #sg>0 then
47+
Duel.BreakEffect()
48+
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
49+
end
50+
end
51+
end
52+
end

rush/c160457006.lua

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
--プラネット・イージス
2+
--Planet Aegis
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Make 1 monster lose 600 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.cost(e,tp,eg,ep,ev,re,r,rp,chk)
19+
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) end
20+
end
21+
function s.filter(c)
22+
return c:IsFaceup() and c:IsRace(RACE_GALAXY) and c:IsNotMaximumModeSide()
23+
end
24+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
25+
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_MZONE,0,1,nil) end
26+
end
27+
function s.filter2(c)
28+
return c:IsSpellTrap() and (not c:IsHasEffect(EFFECT_CANNOT_TO_DECK) or not c:IsHasEffect(EFFECT_CANNOT_TO_HAND))
29+
end
30+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
31+
local c=e:GetHandler()
32+
--Requirement
33+
if Duel.DiscardDeck(tp,2,REASON_COST)<2 then return end
34+
--Effect
35+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
36+
local g=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_MZONE,0,1,1,nil)
37+
if Duel.IsExistingMatchingCard(s.filter2,tp,LOCATION_ONFIELD,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
38+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT)
39+
local tg=Duel.SelectMatchingCard(tp,s.filter2,tp,LOCATION_ONFIELD,0,1,1,nil)
40+
g:Merge(tg)
41+
end
42+
Duel.HintSelection(g)
43+
for tc in g:Iter() do
44+
--Effect
45+
local e1=Effect.CreateEffect(c)
46+
e1:SetType(EFFECT_TYPE_SINGLE)
47+
e1:SetCode(EFFECT_CANNOT_TO_DECK)
48+
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
49+
e1:SetCondition(s.indcond)
50+
e1:SetValue(1)
51+
e1:SetReset(RESETS_STANDARD_PHASE_END,2)
52+
tc:RegisterEffect(e1)
53+
local e2=e1:Clone()
54+
e2:SetCode(EFFECT_CANNOT_TO_HAND)
55+
tc:RegisterEffect(e2)
56+
end
57+
end
58+
function s.indcond(e)
59+
return Duel.IsTurnPlayer(1-e:GetHandlerPlayer())
60+
end

0 commit comments

Comments
 (0)