Skip to content

Commit ef3c43d

Browse files
committed
added new rush cards
1 parent 6950120 commit ef3c43d

4 files changed

Lines changed: 193 additions & 0 deletions

File tree

rush/c160025005.lua

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
--バニシング・ソリティウス
2+
--Vanishing Solitius
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Name change
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+
s.listed_names={160311018}
19+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
20+
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end
21+
end
22+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
23+
local c=e:GetHandler()
24+
if chk==0 then return not c:IsCode(160313001) end
25+
Duel.SetPossibleOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
26+
end
27+
function s.thfilter(c)
28+
return ((c:IsType(TYPE_FIELD) and c:IsSpell()) or c:IsCode(CARD_FUSION)) and c:IsAbleToHand()
29+
end
30+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
31+
--Requirement
32+
if Duel.DiscardDeck(tp,1,REASON_COST)<1 then return end
33+
--Effect
34+
local c=e:GetHandler()
35+
--Name becomes "Vanishing Heliacal Riser"
36+
local e1=Effect.CreateEffect(c)
37+
e1:SetType(EFFECT_TYPE_SINGLE)
38+
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
39+
e1:SetCode(EFFECT_CHANGE_CODE)
40+
e1:SetValue(160313001)
41+
e1:SetReset(RESETS_STANDARD_PHASE_END)
42+
c:RegisterEffect(e1)
43+
if Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
44+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
45+
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,1,nil)
46+
if #g>0 then
47+
Duel.BreakEffect()
48+
Duel.SendtoHand(g,nil,REASON_EFFECT)
49+
Duel.ConfirmCards(1-tp,g)
50+
local e2=Effect.CreateEffect(c)
51+
e2:SetType(EFFECT_TYPE_FIELD)
52+
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
53+
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
54+
e2:SetTargetRange(1,0)
55+
e2:SetValue(s.aclimit)
56+
e2:SetReset(RESET_PHASE|PHASE_END)
57+
Duel.RegisterEffect(e2,tp)
58+
end
59+
end
60+
end
61+
function s.aclimit(e,re,tp)
62+
return re:GetHandler():IsCode(id)
63+
end

rush/c160025006.lua

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
--バニシング・ソプデト
2+
--Vanishing Sopdet
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Name becomes "Vanishing Heliacal Riser" 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(160313001)
13+
c:RegisterEffect(e0)
14+
--Change monster's battle position
15+
local e1=Effect.CreateEffect(c)
16+
e1:SetCategory(CATEGORY_POSITION)
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.condition(e,tp,eg,ep,ev,re,r,rp)
26+
local c=e:GetHandler()
27+
return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN)
28+
end
29+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
30+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsCanChangePositionRush,tp,0,LOCATION_MZONE,1,nil) end
31+
end
32+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
33+
local c=e:GetHandler()
34+
--Effect
35+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
36+
local g=Duel.SelectMatchingCard(tp,Card.IsCanChangePositionRush,tp,0,LOCATION_MZONE,1,1,nil)
37+
Duel.HintSelection(g)
38+
if #g>0 then
39+
Duel.ChangePosition(g,POS_FACEUP_DEFENSE,POS_FACEDOWN_DEFENSE,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK)
40+
if Duel.IsExistingMatchingCard(Card.IsSpellTrap,tp,0,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
41+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
42+
local g=Duel.SelectMatchingCard(tp,Card.IsSpellTrap,tp,0,LOCATION_ONFIELD,1,1,nil)
43+
Duel.HintSelection(g)
44+
Duel.BreakEffect()
45+
Duel.Destroy(g,REASON_EFFECT)
46+
end
47+
end
48+
end

rush/c160025028.lua

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
--中間管理シャイン・マネージャー
2+
--Worker Warrior - Multitasking Manager
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Send itself to GY, prevent effect damage
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetType(EFFECT_TYPE_IGNITION)
10+
e1:SetCategory(CATEGORY_TOGRAVE)
11+
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
12+
e1:SetRange(LOCATION_MZONE)
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.CheckLPCost(tp,1200) and Duel.IsPlayerCanDiscardDeckAsCost(tp,3) end
20+
end
21+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
22+
if chk==0 then return e:GetHandler():IsAbleToDeck() end
23+
end
24+
function s.filter(c)
25+
return c:IsFaceup() and c:IsOriginalCodeRule(160204038)
26+
end
27+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
28+
local c=e:GetHandler()
29+
--Requirement
30+
Duel.PayLPCost(tp,1200)
31+
if Duel.DiscardDeck(tp,3,REASON_COST)<3 then return end
32+
--Effect
33+
if Duel.SendtoDeck(c,nil,SEQ_DECKTOP,REASON_EFFECT)>0 and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_MZONE,0,1,nil) 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

rush/c160025037.lua

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
--マッシグ・ニャングラー
2+
--Mässig Anglurr
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Send the top 2 cards of your Deck to the GY
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_DECKDES)
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+
end
18+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
19+
return e:GetHandler():IsStatus(STATUS_SUMMON_TURN)
20+
end
21+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
22+
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) or Duel.IsPlayerCanDiscardDeck(1-tp,2) end
23+
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,2)
24+
end
25+
function s.spfilter(c,e,tp)
26+
if Duel.GetTurnCount()~=2 and c:IsLevelAbove(7) then return false end
27+
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
28+
end
29+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
30+
--Effect
31+
local b1=Duel.IsPlayerCanDiscardDeck(tp,2)
32+
local b2=Duel.IsPlayerCanDiscardDeck(1-tp,2)
33+
local op=Duel.SelectEffect(tp,{b1,aux.Stringid(id,0)},{b2,aux.Stringid(id,1)})
34+
local ct=0
35+
if op==1 then ct=Duel.DiscardDeck(tp,2,REASON_EFFECT) elseif op==2 then ct=Duel.DiscardDeck(1-tp,2,REASON_EFFECT) end
36+
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.spfilter),tp,0,LOCATION_GRAVE,nil,e,tp)
37+
if #g>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
38+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
39+
local sg=Duel.SelectMatchingCard(tp,s.spfilter,tp,0,LOCATION_GRAVE,1,1,nil,e,tp)
40+
if #sg>0 then
41+
Duel.BreakEffect()
42+
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
43+
end
44+
end
45+
end

0 commit comments

Comments
 (0)