Skip to content

Commit e30d5f4

Browse files
committed
added new rush cards
1 parent c488001 commit e30d5f4

File tree

10 files changed

+385
-0
lines changed

10 files changed

+385
-0
lines changed

rush/c160216010.lua

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
--メェ~界の王姫メェ~グちゃん
2+
--Royal Princess of the Wooly Wunderworld - Miss Mutton
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--fusion material
7+
c:EnableReviveLimit()
8+
Fusion.AddProcMixN(c,true,true,CARD_MEEEG_CHAN,1,s.matfilter,2)
9+
end
10+
s.named_material={CARD_MEEEG_CHAN}
11+
function s.matfilter(c,scard,sumtype,tp)
12+
return c:IsRace(RACE_BEAST,scard,sumtype,tp) and c:IsType(TYPE_NORMAL)
13+
end

rush/c160216011.lua

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
--メェ~界パイロウール
2+
--Wooly Wunderworld Pyro Wool
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Fusion Summon Procedure
7+
c:EnableReviveLimit()
8+
Fusion.AddProcMixN(c,true,true,160009004,2)
9+
end

rush/c160216012.lua

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
--メェ~界サンダーラムダ
2+
--Wooly Wunderworld Thunder Rambda
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Fusion Summon Procedure
7+
c:EnableReviveLimit()
8+
Fusion.AddProcMixN(c,true,true,160010002,2)
9+
--Destroy up to 2 Spell/Trap on your opponent's field field
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetDescription(aux.Stringid(id,0))
12+
e1:SetCategory(CATEGORY_DESTROY)
13+
e1:SetType(EFFECT_TYPE_IGNITION)
14+
e1:SetRange(LOCATION_MZONE)
15+
e1:SetCountLimit(1)
16+
e1:SetCost(s.cost)
17+
e1:SetTarget(s.target)
18+
e1:SetOperation(s.operation)
19+
c:RegisterEffect(e1)
20+
end
21+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
22+
local c=e:GetHandler()
23+
if chk==0 then return c:IsAttackPos() and c:IsCanChangePositionRush() end
24+
end
25+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
26+
local dg=Duel.GetMatchingGroup(Card.IsSpellTrap,tp,0,LOCATION_ONFIELD,nil)
27+
if chk==0 then return #dg>0 end
28+
end
29+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
30+
local c=e:GetHandler()
31+
--Requirement
32+
if Duel.ChangePosition(c,POS_FACEUP_DEFENSE,0,0,0)<1 then return end
33+
--Effect
34+
local dg=Duel.GetMatchingGroup(Card.IsSpellTrap,tp,0,LOCATION_ONFIELD,nil)
35+
if #dg>0 then
36+
local sg=dg:Select(tp,1,2,nil)
37+
Duel.HintSelection(sg)
38+
Duel.Destroy(sg,REASON_EFFECT)
39+
end
40+
end

rush/c160216013.lua

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
--メェ~界アクアシープ
2+
--Wooly Wunderworld Aqua Sheep
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Fusion Summon Procedure
7+
c:EnableReviveLimit()
8+
Fusion.AddProcMixN(c,true,true,160010001,2)
9+
--Send to deck
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetCategory(CATEGORY_TODECK)
12+
e1:SetDescription(aux.Stringid(id,0))
13+
e1:SetRange(LOCATION_MZONE)
14+
e1:SetType(EFFECT_TYPE_IGNITION)
15+
e1:SetCountLimit(1)
16+
e1:SetCost(s.cost)
17+
e1:SetTarget(s.target)
18+
e1:SetOperation(s.operation)
19+
c:RegisterEffect(e1)
20+
end
21+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
22+
local c=e:GetHandler()
23+
if chk==0 then return c:IsAttackPos() and c:IsCanChangePositionRush() end
24+
end
25+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
26+
if chk==0 then return Duel.IsExistingMatchingCard(aux.FilterMaximumSideFunctionEx(Card.IsAbleToDeck),tp,0,LOCATION_MZONE,1,nil) end
27+
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,0,0)
28+
end
29+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
30+
local c=e:GetHandler()
31+
--Requirement
32+
if Duel.ChangePosition(c,POS_FACEUP_DEFENSE,0,0,0)<1 then return end
33+
--Effect
34+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
35+
local g=Duel.SelectMatchingCard(tp,aux.FilterMaximumSideFunctionEx(Card.IsAbleToDeck),tp,0,LOCATION_MZONE,1,1,nil)
36+
if #g>0 then
37+
g=g:AddMaximumCheck()
38+
Duel.HintSelection(g)
39+
if Duel.SendtoDeck(g,nil,SEQ_DECKBOTTOM,REASON_EFFECT)>0 and #g>1 then
40+
Duel.SortDeckbottom(1-tp,1-tp,#g)
41+
end
42+
end
43+
end

rush/c160216014.lua

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
--メェ~界グランムートン
2+
--Wooly Wunderworld Ground Mouton
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Fusion Summon Procedure
7+
c:EnableReviveLimit()
8+
Fusion.AddProcMixN(c,true,true,160009003,2)
9+
--cannot attack
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetType(EFFECT_TYPE_SINGLE)
12+
e1:SetCode(EFFECT_CANNOT_ATTACK)
13+
c:RegisterEffect(e1)
14+
--Cannot be destroyed by battle
15+
local e2=Effect.CreateEffect(c)
16+
e2:SetType(EFFECT_TYPE_SINGLE)
17+
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
18+
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
19+
e2:SetRange(LOCATION_MZONE)
20+
e2:SetCondition(s.indcon)
21+
e2:SetValue(1)
22+
c:RegisterEffect(e2)
23+
--Atk
24+
local e3=Effect.CreateEffect(c)
25+
e3:SetType(EFFECT_TYPE_FIELD)
26+
e3:SetCode(EFFECT_UPDATE_ATTACK)
27+
e3:SetRange(LOCATION_MZONE)
28+
e3:SetTargetRange(LOCATION_MZONE,0)
29+
e3:SetTarget(s.target)
30+
e3:SetValue(700)
31+
c:RegisterEffect(e3)
32+
local e4=e3:Clone()
33+
e4:SetCode(EFFECT_PIERCE)
34+
c:RegisterEffect(e4)
35+
end
36+
function s.indcon(e)
37+
return e:GetHandler():IsDefensePos()
38+
end
39+
function s.target(e,c)
40+
return c:IsCode(CARD_MEEEG_CHAN,160216010)
41+
end

rush/c160216017.lua

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
--羊界シャドウメリー
2+
--Wooly Wonderland Shadow Merry
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
-- Mill
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_DECKDES+CATEGORY_TOHAND)
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+
s.listed_names={160216025}
19+
function s.cfilter(c)
20+
return c:IsFaceup() and c:IsRace(RACE_BEAST) and c:IsType(TYPE_NORMAL)
21+
end
22+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
23+
return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil)
24+
end
25+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
26+
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3) end
27+
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,3)
28+
end
29+
function s.thfilter(c)
30+
return c:IsCode(160216025) and c:IsAbleToHand()
31+
end
32+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
33+
--Effect
34+
Duel.DiscardDeck(tp,3,REASON_EFFECT)
35+
if Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
36+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
37+
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,1,nil)
38+
if #g>0 then
39+
Duel.BreakEffect()
40+
Duel.SendtoHand(g,nil,REASON_EFFECT)
41+
Duel.ConfirmCards(1-tp,g)
42+
end
43+
end
44+
end

rush/c160216018.lua

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
--羊界フワフィー
2+
--Wooly Wonderland Fluffy
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
-- Add to hand or Special Summon
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND)
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+
s.listed_names={CARD_MEEEG_CHAN}
20+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
21+
return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,CARD_MEEEG_CHAN)
22+
end
23+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
24+
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,nil) end
25+
end
26+
function s.filter(c,e,tp)
27+
return c:IsCode(CARD_MEEEG_CHAN) and (c:IsAbleToHand() or (Duel.GetMZoneCount(tp)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)))
28+
end
29+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
30+
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
31+
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,1,tp,0)
32+
Duel.SetPossibleOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
33+
Duel.SetPossibleOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
34+
end
35+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
36+
--Requirement
37+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
38+
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,1,nil)
39+
if Duel.SendtoGrave(g,REASON_COST)<1 then return end
40+
--Effect
41+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
42+
local tc=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
43+
if tc then
44+
aux.ToHandOrElse(tc,tp,
45+
function()
46+
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and tc:IsCanBeSpecialSummoned(e,0,tp,false,false)
47+
end,
48+
function()
49+
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
50+
end,
51+
aux.Stringid(id,1)
52+
)
53+
end
54+
end

rush/c160216025.lua

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
--メェ~界の入り口
2+
--Gateway to the Wooly Wunderworld
3+
--scripted by YoshiDuels
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Send to the Graveyard and Fusion Summon
7+
local params = {s.filter,s.mfilter,s.fextra,Fusion.ShuffleMaterial}
8+
local e1=Effect.CreateEffect(c)
9+
e1:SetDescription(aux.Stringid(id,0))
10+
e1:SetCategory(CATEGORY_TOGRAVE)
11+
e1:SetType(EFFECT_TYPE_ACTIVATE)
12+
e1:SetCode(EVENT_FREE_CHAIN)
13+
e1:SetTarget(s.target)
14+
e1:SetOperation(s.operation(Fusion.SummonEffTG(table.unpack(params)),Fusion.SummonEffOP(table.unpack(params))))
15+
c:RegisterEffect(e1)
16+
end
17+
function s.filter(c)
18+
return c:IsAttribute(ATTRIBUTE_DARK) and c:IsRace(RACE_BEAST) and c:IsDefense(1600)
19+
end
20+
function s.mfilter(c)
21+
return c:IsRace(RACE_BEAST) and c:IsLocation(LOCATION_GRAVE|LOCATION_MZONE) and c:IsAbleToDeck()
22+
end
23+
function s.fextra(e,tp,mg)
24+
return Duel.GetMatchingGroup(s.mfilter,tp,LOCATION_GRAVE|LOCATION_MZONE,0,nil)
25+
end
26+
function s.cfilter(c)
27+
return c:IsMonster() and c:IsAbleToDeckOrExtraAsCost()
28+
end
29+
function s.tgfilter(c)
30+
return c:IsFaceup() and c:IsRace(RACE_BEAST)
31+
end
32+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
33+
if chk==0 then return Duel.IsExistingMatchingCard(s.tgfilter,tp,LOCATION_MZONE,0,1,nil) end
34+
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_MZONE)
35+
end
36+
function s.operation(fustg,fusop)
37+
return function(e,tp,eg,ep,ev,re,r,rp)
38+
--Effect
39+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
40+
local g=Duel.SelectMatchingCard(tp,s.tgfilter,tp,LOCATION_MZONE,0,1,1,nil)
41+
Duel.HintSelection(g)
42+
if Duel.SendtoGrave(g,REASON_EFFECT)==0 then return end
43+
if fustg(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
44+
Duel.BreakEffect()
45+
fusop(e,tp,eg,ep,ev,re,r,rp)
46+
end
47+
end
48+
end

rush/c160216026.lua

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
--メェ~グちゃんのファンメェ~ル
2+
--Miss Mutton's Flocking Fanmail
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:SetCategory(CATEGORY_DRAW|CATEGORY_SPECIAL_SUMMON)
9+
e1:SetType(EFFECT_TYPE_ACTIVATE)
10+
e1:SetCode(EVENT_FREE_CHAIN)
11+
e1:SetCost(s.cost)
12+
e1:SetTarget(s.target)
13+
e1:SetOperation(s.operation)
14+
c:RegisterEffect(e1)
15+
end
16+
function s.cfilter(c)
17+
return c:IsMonster() and c:IsRace(RACE_BEAST) and c:IsType(TYPE_NORMAL) and c:IsAbleToGraveAsCost()
18+
end
19+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
20+
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_HAND,0,1,nil) end
21+
end
22+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
23+
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end
24+
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
25+
end
26+
function s.spfilter(c,e,tp)
27+
return c:IsRace(RACE_BEAST) and c:IsType(TYPE_NORMAL) and c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
28+
end
29+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
30+
--Requirement
31+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
32+
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_HAND,0,1,1,nil)
33+
if Duel.SendtoGrave(g,REASON_COST)<1 then return end
34+
--Effect
35+
Duel.Draw(tp,2,REASON_EFFECT)
36+
local g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,nil,e,tp)
37+
if g:GetFirst():IsCode(CARD_MEEEG_CHAN) and #g2>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
38+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
39+
local sg=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
40+
if #sg>0 then
41+
Duel.BreakEffect()
42+
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
43+
end
44+
end
45+
end

0 commit comments

Comments
 (0)