Skip to content

Commit 3e78179

Browse files
committed
added new rush cards
1 parent f7bc318 commit 3e78179

13 files changed

Lines changed: 764 additions & 0 deletions

rush/c160022001.lua

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
--OTSアシッドブロブ
2+
--OuTerverSe Acid Blob
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Name becomes "OuTerverSe" 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(160022200)
13+
c:RegisterEffect(e0)
14+
--Reduce ATK
15+
local e1=Effect.CreateEffect(c)
16+
e1:SetDescription(aux.Stringid(id,0))
17+
e1:SetCategory(CATEGORY_ATKCHANGE)
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={160022200}
27+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
28+
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end
29+
end
30+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
31+
local c=e:GetHandler()
32+
if chk==0 then return c:CanChangeIntoTypeRush(RACE_GALAXY) end
33+
end
34+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
35+
local c=e:GetHandler()
36+
--Requirement
37+
if Duel.DiscardDeck(tp,1,REASON_COST)<1 then return end
38+
--Effect
39+
local e1=Effect.CreateEffect(c)
40+
e1:SetType(EFFECT_TYPE_SINGLE)
41+
e1:SetCode(EFFECT_CHANGE_RACE)
42+
e1:SetValue(RACE_GALAXY)
43+
e1:SetReset(RESETS_STANDARD_PHASE_END)
44+
c:RegisterEffect(e1)
45+
if Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,160022200)
46+
and Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil)
47+
and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
48+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKDEF)
49+
local dg=Duel.SelectMatchingCard(tp,aux.FilterMaximumSideFunctionEx(Card.IsFaceup),tp,0,LOCATION_MZONE,1,1,nil)
50+
Duel.HintSelection(dg)
51+
local e1=Effect.CreateEffect(e:GetHandler())
52+
e1:SetType(EFFECT_TYPE_SINGLE)
53+
e1:SetCode(EFFECT_UPDATE_ATTACK)
54+
e1:SetValue(-500)
55+
e1:SetReset(RESETS_STANDARD_PHASE_END)
56+
dg:GetFirst():RegisterEffect(e1)
57+
local e2=e1:Clone()
58+
e2:SetCode(EFFECT_UPDATE_DEFENSE)
59+
dg:GetFirst():RegisterEffect(e2)
60+
end
61+
end

rush/c160022002.lua

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
--OTSバグファンガス
2+
--OuTerverSe Bug Fungus
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Name becomes "OuTerverSe" 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(160022200)
13+
c:RegisterEffect(e0)
14+
--Look at face-down monster
15+
local e1=Effect.CreateEffect(c)
16+
e1:SetDescription(aux.Stringid(id,0))
17+
e1:SetCategory(CATEGORY_DESTROY)
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={160022200}
27+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
28+
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end
29+
end
30+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
31+
local c=e:GetHandler()
32+
if chk==0 then return c:CanChangeIntoTypeRush(RACE_GALAXY) end
33+
end
34+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
35+
local c=e:GetHandler()
36+
--Requirement
37+
if Duel.DiscardDeck(tp,1,REASON_COST)<1 then return end
38+
--Effect
39+
local e1=Effect.CreateEffect(c)
40+
e1:SetType(EFFECT_TYPE_SINGLE)
41+
e1:SetCode(EFFECT_CHANGE_RACE)
42+
e1:SetValue(RACE_GALAXY)
43+
e1:SetReset(RESETS_STANDARD_PHASE_END)
44+
c:RegisterEffect(e1)
45+
if Duel.IsExistingMatchingCard(Card.IsFacedown,tp,0,LOCATION_MZONE,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
46+
local tc=Duel.SelectMatchingCard(tp,Card.IsFacedown,tp,0,LOCATION_MZONE,1,1,nil):GetFirst()
47+
if not tc then return end
48+
Duel.ConfirmCards(tp,tc)
49+
if Duel.GetMatchingGroupCount(Card.IsCode,tp,LOCATION_GRAVE,0,nil,160022200)>=5 and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
50+
Duel.BreakEffect()
51+
Duel.Destroy(tc,REASON_EFFECT)
52+
end
53+
end
54+
end

rush/c160022003.lua

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
--OTSアヌビスタ
2+
--OuTerverSe Anubistar
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Name becomes "OuTerverSe" 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(160022200)
13+
c:RegisterEffect(e0)
14+
--Change to Defense Position
15+
local e1=Effect.CreateEffect(c)
16+
e1:SetDescription(aux.Stringid(id,0))
17+
e1:SetCategory(CATEGORY_DESTROY)
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={160022200}
27+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
28+
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end
29+
end
30+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
31+
local c=e:GetHandler()
32+
if chk==0 then return c:CanChangeIntoTypeRush(RACE_GALAXY) end
33+
end
34+
function s.filter(c)
35+
return c:IsAttackPos() and c:IsCanChangePositionRush()
36+
end
37+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
38+
local c=e:GetHandler()
39+
--Requirement
40+
if Duel.DiscardDeck(tp,1,REASON_COST)<1 then return end
41+
--Effect
42+
local e1=Effect.CreateEffect(c)
43+
e1:SetType(EFFECT_TYPE_SINGLE)
44+
e1:SetCode(EFFECT_CHANGE_RACE)
45+
e1:SetValue(RACE_GALAXY)
46+
e1:SetReset(RESETS_STANDARD_PHASE_END)
47+
c:RegisterEffect(e1)
48+
local sg=Duel.GetMatchingGroup(s.filter,tp,0,LOCATION_MZONE,nil)
49+
if #sg>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
50+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
51+
local sc=Group.Select(sg,tp,1,1,nil)
52+
if #sc==0 then return end
53+
Duel.HintSelection(sc)
54+
Duel.BreakEffect()
55+
Duel.ChangePosition(sc,POS_FACEUP_DEFENSE)
56+
end
57+
end

rush/c160022004.lua

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
--OTSレインペイル
2+
--OuTerverSe Rainpale
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Name becomes "OuTerverSe" 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(160022200)
13+
c:RegisterEffect(e0)
14+
--Fusion Summon
15+
local params = {s.fusfilter,s.matfilter}
16+
local e1=Effect.CreateEffect(c)
17+
e1:SetDescription(aux.Stringid(id,0))
18+
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
19+
e1:SetType(EFFECT_TYPE_IGNITION)
20+
e1:SetRange(LOCATION_MZONE)
21+
e1:SetCountLimit(1)
22+
e1:SetCost(s.cost)
23+
e1:SetTarget(s.target)
24+
e1:SetOperation(s.operation(Fusion.SummonEffTG(table.unpack(params)),Fusion.SummonEffOP(table.unpack(params))))
25+
c:RegisterEffect(e1)
26+
end
27+
s.listed_names={11549357}
28+
function s.fusfilter(c)
29+
return c:IsAttribute(ATTRIBUTE_EARTH|ATTRIBUTE_WATER|ATTRIBUTE_FIRE|ATTRIBUTE_WIND)
30+
end
31+
function s.matfilter(c)
32+
return c:IsLocation(LOCATION_HAND|LOCATION_MZONE) and c:IsAbleToGrave()
33+
end
34+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
35+
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,2) end
36+
end
37+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
38+
local c=e:GetHandler()
39+
if chk==0 then return c:CanChangeIntoTypeRush(RACE_GALAXY) end
40+
Duel.SetPossibleOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
41+
Duel.SetPossibleOperationInfo(0,CATEGORY_FUSION_SUMMON,nil,1,tp,0)
42+
end
43+
function s.operation(fustg,fusop)
44+
return function(e,tp,eg,ep,ev,re,r,rp)
45+
--Requirement
46+
if Duel.DiscardDeck(tp,2,REASON_COST)<1 then return end
47+
--Effect
48+
local c=e:GetHandler()
49+
local e1=Effect.CreateEffect(c)
50+
e1:SetType(EFFECT_TYPE_SINGLE)
51+
e1:SetCode(EFFECT_CHANGE_RACE)
52+
e1:SetValue(RACE_GALAXY)
53+
e1:SetReset(RESETS_STANDARD_PHASE_END)
54+
c:RegisterEffect(e1)
55+
if fustg(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
56+
Duel.BreakEffect()
57+
fusop(e,tp,eg,ep,ev,re,r,rp)
58+
end
59+
--Prevent non-Galaxy from attacking
60+
local e2=Effect.CreateEffect(e:GetHandler())
61+
e2:SetType(EFFECT_TYPE_FIELD)
62+
e2:SetCode(EFFECT_CANNOT_ATTACK)
63+
e2:SetTargetRange(LOCATION_MZONE,0)
64+
e2:SetTarget(function(_,c) return not c:IsRace(RACE_GALAXY) end)
65+
e2:SetReset(RESET_PHASE|PHASE_END)
66+
Duel.RegisterEffect(e2,tp)
67+
end
68+
end

rush/c160022005.lua

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
--OTSニードルメイカー
2+
--OuTerverSe Needle Maker
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Name becomes "OuTerverSe" 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(160022200)
13+
c:RegisterEffect(e0)
14+
--Change to Defense Position
15+
local e1=Effect.CreateEffect(c)
16+
e1:SetDescription(aux.Stringid(id,0))
17+
e1:SetCategory(CATEGORY_DESTROY)
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={160022200}
27+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
28+
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,3) end
29+
end
30+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
31+
local c=e:GetHandler()
32+
if chk==0 then return c:CanChangeIntoTypeRush(RACE_GALAXY) end
33+
end
34+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
35+
local c=e:GetHandler()
36+
--Requirement
37+
if Duel.DiscardDeck(tp,3,REASON_COST)<1 then return end
38+
--Effect
39+
local e1=Effect.CreateEffect(c)
40+
e1:SetType(EFFECT_TYPE_SINGLE)
41+
e1:SetCode(EFFECT_CHANGE_RACE)
42+
e1:SetValue(RACE_GALAXY)
43+
e1:SetReset(RESETS_STANDARD_PHASE_END)
44+
c:RegisterEffect(e1)
45+
if c:CanBeDoubleTribute(FLAG_DOUBLE_TRIB_OTS_OBLIVION) then
46+
c:AddDoubleTribute(id,s.otfilter,s.eftg,RESETS_STANDARD_PHASE_END,FLAG_DOUBLE_TRIB_OTS_OBLIVION)
47+
end
48+
--Prevent non-Galaxy from attacking
49+
local e2=Effect.CreateEffect(e:GetHandler())
50+
e2:SetType(EFFECT_TYPE_FIELD)
51+
e2:SetCode(EFFECT_CANNOT_ATTACK)
52+
e2:SetTargetRange(LOCATION_MZONE,0)
53+
e2:SetTarget(function(_,c) return not c:IsRace(RACE_GALAXY) end)
54+
e2:SetReset(RESET_PHASE|PHASE_END)
55+
Duel.RegisterEffect(e2,tp)
56+
end
57+
function s.otfilter(c,tp)
58+
return c:IsDoubleTribute(FLAG_DOUBLE_TRIB_OTS_OBLIVION) and (c:IsControler(tp) or c:IsFaceup())
59+
end
60+
function s.eftg(e,c)
61+
return c:IsCode(160022008) and c:IsLevelAbove(7) and c:IsSummonableCard()
62+
end

rush/c160022006.lua

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
--OTSバースト・オブリビオン
2+
--OuTerverSe Byugyuwazzo
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Name becomes "OuTerverSe" 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(160022200)
13+
c:RegisterEffect(e0)
14+
--summon without tribute
15+
local e1=Effect.CreateEffect(c)
16+
e1:SetDescription(aux.Stringid(id,0))
17+
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
18+
e1:SetType(EFFECT_TYPE_SINGLE)
19+
e1:SetCode(EFFECT_SUMMON_PROC)
20+
e1:SetCondition(s.ntcon)
21+
c:RegisterEffect(e1)
22+
--Special Summon
23+
local e2=Effect.CreateEffect(c)
24+
e2:SetDescription(aux.Stringid(id,1))
25+
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
26+
e2:SetType(EFFECT_TYPE_IGNITION)
27+
e2:SetRange(LOCATION_MZONE)
28+
e2:SetCountLimit(1)
29+
e2:SetCost(s.cost)
30+
e2:SetTarget(s.target)
31+
e2:SetOperation(s.operation)
32+
c:RegisterEffect(e2)
33+
end
34+
s.listed_names={160022200,160022057}
35+
function s.ntcon(e,c,minc)
36+
if c==nil then return true end
37+
return minc==0 and c:GetLevel()>4 and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
38+
and Duel.IsExistingMatchingCard(Card.IsCode,e:GetHandlerPlayer(),LOCATION_GRAVE,0,3,nil,160022200)
39+
end
40+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
41+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,nil) end
42+
end
43+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
44+
local c=e:GetHandler()
45+
if chk==0 then return c:CanChangeIntoTypeRush(RACE_GALAXY) end
46+
end
47+
function s.thfilter(c)
48+
return c:IsCode(160022057) and c:IsAbleToHand()
49+
end
50+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
51+
local c=e:GetHandler()
52+
--Requirement
53+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
54+
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,1,nil)
55+
if Duel.SendtoGrave(g,REASON_COST)<1 then return end
56+
--Effect
57+
local e1=Effect.CreateEffect(c)
58+
e1:SetType(EFFECT_TYPE_SINGLE)
59+
e1:SetCode(EFFECT_CHANGE_RACE)
60+
e1:SetValue(RACE_GALAXY)
61+
e1:SetReset(RESETS_STANDARD_PHASE_END)
62+
c:RegisterEffect(e1)
63+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
64+
if Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
65+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
66+
local g2=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,1,nil)
67+
if #g2>0 then
68+
Duel.BreakEffect()
69+
Duel.SendtoHand(g2,nil,REASON_EFFECT)
70+
Duel.ConfirmCards(1-tp,g2)
71+
end
72+
end
73+
end

0 commit comments

Comments
 (0)