Skip to content

Commit 2c06a13

Browse files
committed
added new rush cards
1 parent 3793bcb commit 2c06a13

File tree

6 files changed

+252
-0
lines changed

6 files changed

+252
-0
lines changed

rush/c160020020.lua

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
--デーモンの呪術師
2+
--Archfiend Shaman
3+
--Scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Draw
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_DRAW|CATEGORY_TOGRAVE)
10+
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
11+
e1:SetType(EFFECT_TYPE_IGNITION)
12+
e1:SetRange(LOCATION_MZONE)
13+
e1:SetCountLimit(1)
14+
e1:SetCost(s.cost)
15+
e1:SetTarget(s.target)
16+
e1:SetOperation(s.operation)
17+
c:RegisterEffect(e1)
18+
end
19+
function s.costfilter(c)
20+
return c:IsMonster() and c:IsAttribute(ATTRIBUTE_DARK) and c:IsRace(RACE_FIEND) and c:IsAbleToGraveAsCost()
21+
end
22+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
23+
if chk==0 then return Duel.IsExistingMatchingCard(s.costfilter,tp,LOCATION_HAND,0,1,nil) end
24+
end
25+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
26+
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
27+
Duel.SetTargetPlayer(tp)
28+
Duel.SetTargetParam(1)
29+
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
30+
end
31+
function s.filter(c)
32+
return c:IsFaceup() and c:HasLevel() and c:IsLevelAbove(3) and c:IsNotMaximumModeSide()
33+
end
34+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
35+
--Requirement
36+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
37+
local g=Duel.SelectMatchingCard(tp,s.costfilter,tp,LOCATION_HAND,0,1,1,nil)
38+
if Duel.SendtoGrave(g,REASON_COST)<1 then return end
39+
--Effect
40+
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
41+
Duel.Draw(p,d,REASON_EFFECT)
42+
if Duel.IsExistingMatchingCard(s.filter,tp,0,LOCATION_MZONE,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
43+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_APPLYTO)
44+
local tc=Duel.SelectMatchingCard(tp,s.filter,tp,0,LOCATION_MZONE,1,1,nil):GetFirst()
45+
if tc then
46+
Duel.HintSelection(tc)
47+
tc:UpdateLevel(-2,RESETS_STANDARD_PHASE_END,e:GetHandler())
48+
end
49+
end
50+
end

rush/c160020021.lua

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
--デーモンの伝令
2+
--Archfiend Messenger
3+
--Scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Destroy 1 face down-card
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetType(EFFECT_TYPE_IGNITION)
10+
e1:SetCategory(CATEGORY_DESTROY)
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+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
19+
return Duel.IsExistingMatchingCard(aux.FaceupFilter(Card.IsCode,CARD_SUMMONED_SKULL),tp,LOCATION_MZONE,0,1,nil)
20+
end
21+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
22+
local dg=Duel.GetMatchingGroup(Card.IsFacedown,tp,0,LOCATION_ONFIELD,nil)
23+
if chk==0 then return #dg>0 end
24+
end
25+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
26+
--Effect
27+
local dg=Duel.GetMatchingGroup(Card.IsFacedown,tp,0,LOCATION_ONFIELD,nil)
28+
if #dg>0 then
29+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
30+
local sg=dg:Select(tp,1,1,nil)
31+
Duel.HintSelection(sg)
32+
Duel.Destroy(sg,REASON_EFFECT)
33+
end
34+
end

rush/c160020022.lua

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
--デーモンの槍兵
2+
--Archfiend Spear Soldier
3+
--Scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Destroy 1 face down-card
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetType(EFFECT_TYPE_IGNITION)
10+
e1:SetCategory(CATEGORY_DESTROY)
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+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
19+
return Duel.IsExistingMatchingCard(aux.FaceupFilter(Card.IsCode,CARD_SUMMONED_SKULL),tp,LOCATION_MZONE,0,1,nil)
20+
and e:GetHandler():IsStatus(STATUS_SUMMON_TURN)
21+
end
22+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
23+
local dg=Duel.GetMatchingGroup(Card.IsNotMaximumModeSide,tp,0,LOCATION_MZONE,nil)
24+
if chk==0 then return #dg>0 end
25+
end
26+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
27+
--Effect
28+
local dg=Duel.GetMatchingGroup(Card.IsNotMaximumModeSide,tp,0,LOCATION_MZONE,nil)
29+
if #dg>0 then
30+
local sg=dg:Select(tp,1,1,nil)
31+
sg=sg:AddMaximumCheck()
32+
Duel.HintSelection(sg)
33+
if Duel.Destroy(sg,REASON_EFFECT)>0 and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
34+
Duel.BreakEffect()
35+
Duel.Draw(tp,1,REASON_EFFECT)
36+
end
37+
end
38+
end

rush/c160020023.lua

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
--惑乱のスカル・デーモン
2+
--Skull Archfiend of Confusion
3+
--Scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Name becomes "Summoned Skull" in the hand or GY
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|LOCATION_GRAVE)
12+
e0:SetValue(CARD_SUMMONED_SKULL)
13+
c:RegisterEffect(e0)
14+
--Change name to "Summoned Skull" and take control
15+
local e1=Effect.CreateEffect(c)
16+
e1:SetDescription(aux.Stringid(id,0))
17+
e1:SetCategory(CATEGORY_CONTROL)
18+
e1:SetType(EFFECT_TYPE_IGNITION)
19+
e1:SetRange(LOCATION_MZONE)
20+
e1:SetCountLimit(1)
21+
e1:SetCost(s.cost)
22+
e1:SetTarget(s.target)
23+
e1:SetOperation(s.operation)
24+
c:RegisterEffect(e1)
25+
end
26+
s.listed_names={CARD_SUMMONED_SKULL}
27+
function s.costfilter(c)
28+
return c:IsMonster() and c:IsAttribute(ATTRIBUTE_DARK) and c:IsRace(RACE_FIEND) and c:IsAbleToGraveAsCost()
29+
end
30+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
31+
if chk==0 then return Duel.IsExistingMatchingCard(s.costfilter,tp,LOCATION_HAND,0,1,nil) end
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.SetPossibleOperationInfo(0,CATEGORY_CONTROL,nil,1,0,0)
36+
end
37+
function s.ctrlfilter(c)
38+
return c:IsFaceup() and c:IsLevelBelow(8) and not c:IsType(TYPE_MAXIMUM) and c:IsControlerCanBeChanged(true)
39+
end
40+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
41+
local c=e:GetHandler()
42+
--Requirement
43+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
44+
local g=Duel.SelectMatchingCard(tp,s.costfilter,tp,LOCATION_HAND,0,1,1,nil)
45+
if Duel.SendtoGrave(g,REASON_COST)<1 then return end
46+
--Effect
47+
--Change name to "Summoned Skull"
48+
local e1=Effect.CreateEffect(c)
49+
e1:SetType(EFFECT_TYPE_SINGLE)
50+
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
51+
e1:SetCode(EFFECT_CHANGE_CODE)
52+
e1:SetValue(CARD_SUMMONED_SKULL)
53+
e1:SetReset(RESETS_STANDARD_PHASE_END)
54+
c:RegisterEffect(e1)
55+
local g=Duel.GetMatchingGroup(s.ctrlfilter,tp,0,LOCATION_MZONE,nil,e,tp)
56+
if #g>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
57+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL)
58+
local dg=Duel.SelectMatchingCard(tp,s.ctrlfilter,tp,0,LOCATION_MZONE,1,1,nil)
59+
if #dg>0 then
60+
Duel.HintSelection(dg)
61+
Duel.GetControl(dg,tp)
62+
end
63+
end
64+
end

rush/c160020048.lua

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
--デーモンの顕現
2+
--Archfiend's Manifestation
3+
--Scripted by AlphaKretin
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
c:EnableReviveLimit()
7+
Fusion.AddProcMix(c,true,true,CARD_SUMMONED_SKULL,aux.FilterBoolFunctionEx(Card.IsAttribute,ATTRIBUTE_DARK))
8+
--Change name
9+
local e1=Effect.CreateEffect(c)
10+
e1:SetType(EFFECT_TYPE_SINGLE)
11+
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
12+
e1:SetCode(EFFECT_CHANGE_CODE)
13+
e1:SetRange(LOCATION_MZONE)
14+
e1:SetValue(CARD_SUMMONED_SKULL)
15+
c:RegisterEffect(e1)
16+
--Increase ATK
17+
local e2=Effect.CreateEffect(c)
18+
e2:SetType(EFFECT_TYPE_FIELD)
19+
e2:SetRange(LOCATION_MZONE)
20+
e2:SetTargetRange(LOCATION_MZONE,0)
21+
e2:SetCode(EFFECT_UPDATE_ATTACK)
22+
e2:SetTarget(aux.TargetBoolFunction(Card.IsCode,CARD_SUMMONED_SKULL))
23+
e2:SetValue(500)
24+
c:RegisterEffect(e2)
25+
end
26+
s.listed_names={CARD_SUMMONED_SKULL}

rush/c160020062.lua

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
--デーモンの雷撃
2+
--Archfiend's Thunder Bolt
3+
--Scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Activate
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetCategory(CATEGORY_DESTROY)
9+
e1:SetType(EFFECT_TYPE_ACTIVATE)
10+
e1:SetCode(EVENT_SUMMON_SUCCESS)
11+
e1:SetCondition(s.condition)
12+
e1:SetTarget(s.target)
13+
e1:SetOperation(s.activate)
14+
c:RegisterEffect(e1)
15+
end
16+
function s.cfilter(c)
17+
return c:IsFaceup() and c:IsLevelAbove(6) and c:IsRace(RACE_FIEND) and c:IsAttribute(ATTRIBUTE_DARK)
18+
end
19+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
20+
if #eg~=1 then return false end
21+
local tc=eg:GetFirst()
22+
return tc:IsFaceup() and tc:IsSummonPlayer(1-tp) and Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil)
23+
end
24+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
25+
local g=Duel.GetMatchingGroup(Card.IsNotMaximumModeSide,tp,0,LOCATION_ONFIELD,nil)
26+
if chk==0 then return #g>0 end
27+
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,tp,0)
28+
end
29+
function s.activate(e,tp,eg,ep,ev,re,r,rp)
30+
--Effect
31+
local g=Duel.GetMatchingGroup(Card.IsNotMaximumModeSide,tp,0,LOCATION_ONFIELD,nil)
32+
if #g==0 then return end
33+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
34+
local dg=g:Select(tp,1,1,nil)
35+
if #dg>0 then
36+
Duel.HintSelection(dg)
37+
dg=dg:AddMaximumCheck()
38+
Duel.Destroy(dg,REASON_EFFECT)
39+
end
40+
end

0 commit comments

Comments
 (0)