Skip to content

Commit 16f954f

Browse files
committed
added new rush cards
1 parent ed3f3f9 commit 16f954f

19 files changed

Lines changed: 1050 additions & 0 deletions

rush/c160218001.lua

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
--地霊使いアウス
2+
--Aussa the Earth Charmer
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--flip
7+
local e0=Effect.CreateEffect(c)
8+
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
9+
e0:SetCode(EVENT_FLIP)
10+
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
11+
e0:SetOperation(s.flipop)
12+
c:RegisterEffect(e0)
13+
--Take control of an opponent's monster
14+
local e1=Effect.CreateEffect(c)
15+
e1:SetDescription(aux.Stringid(id,0))
16+
e1:SetCategory(CATEGORY_CONTROL)
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.flipop(e,tp,eg,ep,ev,re,r,rp)
26+
if Duel.IsMainPhase() then
27+
e:GetHandler():RegisterFlagEffect(id,RESET_EVENT|RESETS_STANDARD|RESET_PHASE|PHASE_END,0,1)
28+
end
29+
end
30+
function s.cfilter(c)
31+
return c:IsFaceup() and c:IsRace(RACE_SPELLCASTER) and c:IsDefense(1500)
32+
end
33+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
34+
return e:GetHandler():GetFlagEffect(id)~=0 or Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,e:GetHandler())
35+
end
36+
function s.ctrlfilter(c)
37+
return c:IsFaceup() and c:IsLevelBelow(8) and c:IsAttribute(ATTRIBUTE_EARTH) and not c:IsType(TYPE_MAXIMUM)
38+
end
39+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
40+
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
41+
and Duel.IsExistingMatchingCard(s.ctrlfilter,tp,0,LOCATION_MZONE,1,nil) end
42+
Duel.SetOperationInfo(0,CATEGORY_CONTROL,nil,1,0,0)
43+
end
44+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
45+
local c=e:GetHandler()
46+
--Effect
47+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL)
48+
local dg=Duel.SelectMatchingCard(tp,s.ctrlfilter,tp,0,LOCATION_MZONE,1,1,nil)
49+
if #dg>0 then
50+
Duel.HintSelection(dg)
51+
Duel.GetControl(dg,tp)
52+
end
53+
end

rush/c160218002.lua

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
--水霊使いエリア
2+
--Eria the Water Charmer
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--flip
7+
local e0=Effect.CreateEffect(c)
8+
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
9+
e0:SetCode(EVENT_FLIP)
10+
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
11+
e0:SetOperation(s.flipop)
12+
c:RegisterEffect(e0)
13+
--Take control of an opponent's monster
14+
local e1=Effect.CreateEffect(c)
15+
e1:SetDescription(aux.Stringid(id,0))
16+
e1:SetCategory(CATEGORY_CONTROL)
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.flipop(e,tp,eg,ep,ev,re,r,rp)
26+
if Duel.IsMainPhase() then
27+
e:GetHandler():RegisterFlagEffect(id,RESET_EVENT|RESETS_STANDARD|RESET_PHASE|PHASE_END,0,1)
28+
end
29+
end
30+
function s.cfilter(c)
31+
return c:IsFaceup() and c:IsRace(RACE_SPELLCASTER) and c:IsDefense(1500)
32+
end
33+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
34+
return e:GetHandler():GetFlagEffect(id)~=0 or Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,e:GetHandler())
35+
end
36+
function s.ctrlfilter(c)
37+
return c:IsFaceup() and c:IsLevelBelow(8) and c:IsAttribute(ATTRIBUTE_WATER) and not c:IsType(TYPE_MAXIMUM)
38+
end
39+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
40+
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
41+
and Duel.IsExistingMatchingCard(s.ctrlfilter,tp,0,LOCATION_MZONE,1,nil) end
42+
Duel.SetOperationInfo(0,CATEGORY_CONTROL,nil,1,0,0)
43+
end
44+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
45+
local c=e:GetHandler()
46+
--Effect
47+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL)
48+
local dg=Duel.SelectMatchingCard(tp,s.ctrlfilter,tp,0,LOCATION_MZONE,1,1,nil)
49+
if #dg>0 then
50+
Duel.HintSelection(dg)
51+
Duel.GetControl(dg,tp)
52+
end
53+
end

rush/c160218003.lua

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
--火霊使いヒータ
2+
--Hiita the Fire Charmer
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--flip
7+
local e0=Effect.CreateEffect(c)
8+
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
9+
e0:SetCode(EVENT_FLIP)
10+
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
11+
e0:SetOperation(s.flipop)
12+
c:RegisterEffect(e0)
13+
--Take control of an opponent's monster
14+
local e1=Effect.CreateEffect(c)
15+
e1:SetDescription(aux.Stringid(id,0))
16+
e1:SetCategory(CATEGORY_CONTROL)
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.flipop(e,tp,eg,ep,ev,re,r,rp)
26+
if Duel.IsMainPhase() then
27+
e:GetHandler():RegisterFlagEffect(id,RESET_EVENT|RESETS_STANDARD|RESET_PHASE|PHASE_END,0,1)
28+
end
29+
end
30+
function s.cfilter(c)
31+
return c:IsFaceup() and c:IsRace(RACE_SPELLCASTER) and c:IsDefense(1500)
32+
end
33+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
34+
return e:GetHandler():GetFlagEffect(id)~=0 or Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,e:GetHandler())
35+
end
36+
function s.ctrlfilter(c)
37+
return c:IsFaceup() and c:IsLevelBelow(8) and c:IsAttribute(ATTRIBUTE_FIRE) and not c:IsType(TYPE_MAXIMUM)
38+
end
39+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
40+
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
41+
and Duel.IsExistingMatchingCard(s.ctrlfilter,tp,0,LOCATION_MZONE,1,nil) end
42+
Duel.SetOperationInfo(0,CATEGORY_CONTROL,nil,1,0,0)
43+
end
44+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
45+
local c=e:GetHandler()
46+
--Effect
47+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL)
48+
local dg=Duel.SelectMatchingCard(tp,s.ctrlfilter,tp,0,LOCATION_MZONE,1,1,nil)
49+
if #dg>0 then
50+
Duel.HintSelection(dg)
51+
Duel.GetControl(dg,tp)
52+
end
53+
end

rush/c160218004.lua

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
--風霊使いウィン
2+
--Wynn the Wind Charmer
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--flip
7+
local e0=Effect.CreateEffect(c)
8+
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
9+
e0:SetCode(EVENT_FLIP)
10+
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
11+
e0:SetOperation(s.flipop)
12+
c:RegisterEffect(e0)
13+
--Take control of an opponent's monster
14+
local e1=Effect.CreateEffect(c)
15+
e1:SetDescription(aux.Stringid(id,0))
16+
e1:SetCategory(CATEGORY_CONTROL)
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.flipop(e,tp,eg,ep,ev,re,r,rp)
26+
if Duel.IsMainPhase() then
27+
e:GetHandler():RegisterFlagEffect(id,RESET_EVENT|RESETS_STANDARD|RESET_PHASE|PHASE_END,0,1)
28+
end
29+
end
30+
function s.cfilter(c)
31+
return c:IsFaceup() and c:IsRace(RACE_SPELLCASTER) and c:IsDefense(1500)
32+
end
33+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
34+
return e:GetHandler():GetFlagEffect(id)~=0 or Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,e:GetHandler())
35+
end
36+
function s.ctrlfilter(c)
37+
return c:IsFaceup() and c:IsLevelBelow(8) and c:IsAttribute(ATTRIBUTE_WIND) and not c:IsType(TYPE_MAXIMUM)
38+
end
39+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
40+
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
41+
and Duel.IsExistingMatchingCard(s.ctrlfilter,tp,0,LOCATION_MZONE,1,nil) end
42+
Duel.SetOperationInfo(0,CATEGORY_CONTROL,nil,1,0,0)
43+
end
44+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
45+
local c=e:GetHandler()
46+
--Effect
47+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL)
48+
local dg=Duel.SelectMatchingCard(tp,s.ctrlfilter,tp,0,LOCATION_MZONE,1,1,nil)
49+
if #dg>0 then
50+
Duel.HintSelection(dg)
51+
Duel.GetControl(dg,tp)
52+
end
53+
end

rush/c160218009.lua

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
--地霊術師アウス
2+
--Aussa the Earth Spiritualist
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Send to GY
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_TOHAND)
9+
e1:SetType(EFFECT_TYPE_IGNITION)
10+
e1:SetRange(LOCATION_MZONE)
11+
e1:SetCountLimit(1)
12+
e1:SetCondition(s.condition)
13+
e1:SetCost(s.cost)
14+
e1:SetTarget(s.target)
15+
e1:SetOperation(s.operation)
16+
c:RegisterEffect(e1)
17+
end
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.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.IsExistingMatchingCard(s.costfilter,tp,LOCATION_HAND|LOCATION_MZONE,0,1,nil) end
27+
end
28+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
29+
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,1) end
30+
Duel.SetPossibleOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
31+
end
32+
function s.spfilter(c,e,tp)
33+
return c:IsLevelBelow(5) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
34+
end
35+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
36+
local c=e:GetHandler()
37+
--Requirement
38+
local tg=Duel.SelectMatchingCard(tp,s.costfilter,tp,LOCATION_HAND|LOCATION_MZONE,0,1,1,nil)
39+
if Duel.SendtoGrave(tg,REASON_COST)<1 then return end
40+
--Effect
41+
if Duel.DiscardDeck(tp,1,REASON_EFFECT)==0 then return end
42+
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,nil,e,tp)
43+
if #g>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.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
48+
end
49+
end
50+
local e1=Effect.CreateEffect(c)
51+
e1:SetDescription(aux.Stringid(id,1))
52+
e1:SetType(EFFECT_TYPE_FIELD)
53+
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
54+
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
55+
e1:SetTargetRange(1,0)
56+
e1:SetValue(s.aclimit)
57+
e1:SetReset(RESET_PHASE|PHASE_END)
58+
Duel.RegisterEffect(e1,tp)
59+
end
60+
function s.aclimit(e,re,tp)
61+
return re:GetHandler():IsCode(id)
62+
end

rush/c160218010.lua

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
--水霊術師エリア
2+
--Eria the Water Spiritualist
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--recycle and draw
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
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+
local c=e:GetHandler()
21+
return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN)
22+
end
23+
function s.costfilter(c)
24+
return c:IsMonster() and c:IsAbleToGraveAsCost()
25+
end
26+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
27+
if chk==0 then return Duel.IsExistingMatchingCard(s.costfilter,tp,LOCATION_HAND|LOCATION_MZONE,0,1,nil) end
28+
end
29+
function s.tdfilter(c)
30+
return c:IsAbleToDeck() and c:IsMonster()
31+
end
32+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
33+
if chk==0 then return Duel.IsExistingMatchingCard(s.tdfilter,tp,0,LOCATION_GRAVE,1,nil) end
34+
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,0,LOCATION_GRAVE)
35+
Duel.SetPossibleOperationInfo(0,CATEGORY_DRAW,nil,1,tp,1)
36+
end
37+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
38+
local c=e:GetHandler()
39+
--Requirement
40+
local tg=Duel.SelectMatchingCard(tp,s.costfilter,tp,LOCATION_HAND|LOCATION_MZONE,0,1,1,nil)
41+
if Duel.SendtoGrave(tg,REASON_COST)<1 then return end
42+
--Effect
43+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
44+
local tg=Duel.SelectMatchingCard(tp,s.tdfilter,tp,0,LOCATION_GRAVE,1,1,nil)
45+
local tc=tg:GetFirst()
46+
Duel.HintSelection(tg)
47+
Duel.SendtoDeck(tg,nil,SEQ_DECKTOP,REASON_EFFECT)
48+
--Can only Special Summon in face-down Defense Position
49+
local e1=Effect.CreateEffect(e:GetHandler())
50+
e1:SetDescription(aux.Stringid(id,1))
51+
e1:SetType(EFFECT_TYPE_FIELD)
52+
e1:SetCode(EFFECT_FORCE_SPSUMMON_POSITION)
53+
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
54+
e1:SetTargetRange(0,1)
55+
e1:SetTarget(s.sumlimit)
56+
e1:SetLabel(tc:GetOriginalCodeRule())
57+
e1:SetValue(POS_FACEDOWN_DEFENSE)
58+
e1:SetReset(RESET_PHASE|PHASE_END,2)
59+
Duel.RegisterEffect(e1,tp)
60+
--Prevent players from Summoning monsters with the same name
61+
local e2=Effect.CreateEffect(e:GetHandler())
62+
e2:SetDescription(aux.Stringid(id,1))
63+
e2:SetType(EFFECT_TYPE_FIELD)
64+
e2:SetCode(EFFECT_CANNOT_SUMMON)
65+
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
66+
e2:SetTargetRange(0,1)
67+
e2:SetTarget(s.sumlimit)
68+
e2:SetLabel(tc:GetOriginalCodeRule())
69+
e2:SetReset(RESET_PHASE|PHASE_END,2)
70+
Duel.RegisterEffect(e2,tp)
71+
local e3=Effect.CreateEffect(c)
72+
e3:SetDescription(aux.Stringid(id,1))
73+
e3:SetType(EFFECT_TYPE_FIELD)
74+
e3:SetCode(EFFECT_CANNOT_ACTIVATE)
75+
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
76+
e3:SetTargetRange(1,0)
77+
e3:SetValue(s.aclimit)
78+
e3:SetReset(RESET_PHASE|PHASE_END)
79+
Duel.RegisterEffect(e3,tp)
80+
end
81+
function s.sumlimit(e,c,sump,sumtype,sumpos,targetp,se)
82+
return c:IsOriginalCodeRule(e:GetLabel())
83+
end
84+
function s.aclimit(e,re,tp)
85+
return re:GetHandler():IsCode(id)
86+
end

0 commit comments

Comments
 (0)