Commit 81d5c9ff authored by Nemo Ma's avatar Nemo Ma

0225 wild

update 18 cards
parent 0c1b2a32
......@@ -1583,6 +1583,23 @@
98920449 0
98940043 0
98941046 0
9912001 0
15000211 0
15003062 0
29005360 0
29039321 0
29043245 0
29046579 0
29065508 0
29065549 0
29074680 0
98920316 0
98920441 0
98920605 0
98920613 0
98920618 0
98920671 0
98920730 0
#Semi-Wild 1003
31409200 0
31409201 0
......
No preview for this file type
expansions/pics/29039321.jpg

11.6 KB | W: | H:

expansions/pics/29039321.jpg

12 KB | W: | H:

expansions/pics/29039321.jpg
expansions/pics/29039321.jpg
expansions/pics/29039321.jpg
expansions/pics/29039321.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/29065508.jpg

324 KB | W: | H:

expansions/pics/29065508.jpg

23.6 KB | W: | H:

expansions/pics/29065508.jpg
expansions/pics/29065508.jpg
expansions/pics/29065508.jpg
expansions/pics/29065508.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/29065549.jpg

17.6 KB | W: | H:

expansions/pics/29065549.jpg

18.5 KB | W: | H:

expansions/pics/29065549.jpg
expansions/pics/29065549.jpg
expansions/pics/29065549.jpg
expansions/pics/29065549.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/29074680.jpg

16.1 KB | W: | H:

expansions/pics/29074680.jpg

16.2 KB | W: | H:

expansions/pics/29074680.jpg
expansions/pics/29074680.jpg
expansions/pics/29074680.jpg
expansions/pics/29074680.jpg
  • 2-up
  • Swipe
  • Onion skin
......@@ -12,60 +12,16 @@ function cm.initial_effect(c)
e1:SetTargetRange(POS_FACEUP_ATTACK,0)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(cm.spcon)
e1:SetValue(SUMMON_VALUE_SELF)
e1:SetOperation(cm.spop)
--e1:SetValue(SUMMON_VALUE_SELF)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_SPSUM_PARAM+EFFECT_FLAG_UNCOPYABLE)
e2:SetTargetRange(POS_FACEUP_ATTACK,0)
e2:SetRange(LOCATION_HAND)
e2:SetCondition(cm.sp2con)
e2:SetOperation(cm.sp2op)
e2:SetValue(SUMMON_VALUE_SELF)
c:RegisterEffect(e2)
--spsummon
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CANNOT_DISABLE)
--e3:SetCondition(cm.condition)
e3:SetOperation(cm.operation)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e4)
end
function cm.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
function cm.sp2filter(c)
return c:IsLocation(LOCATION_MZONE) and c:GetSequence()<5
end
function cm.sp2con(e,c)
if c==nil then return true end
local tp=c:GetControler()
local rg=Duel.GetReleaseGroup(tp):Filter(Card.IsType,nil,TYPE_MONSTER)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local ct=Duel.GetFieldGroup(tp,LOCATION_MZONE,0):Filter(cm.sp2filter,nil):GetCount()
return ft>-1 and rg:CheckSubGroup(aux.mzctcheckrel,1,#rg,tp)
end
function cm.sp2op(e,tp,eg,ep,ev,re,r,rp,c)
local rg=Duel.GetReleaseGroup(tp):Filter(Card.IsType,nil,TYPE_MONSTER)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=rg:SelectSubGroup(tp,aux.mzctcheckrel,false,1,#rg,tp)
e:SetLabel(g:GetCount())
aux.UseExtraReleaseCount(g,tp)
Duel.Release(g,REASON_COST)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_SPECIAL+SUMMON_VALUE_SELF
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
function cm.spop(e,tp,eg,ep,ev,re,r,rp,c)
local c=e:GetHandler()
local codelist={}
local codelist2=0
......
local m=15003062
local cm=_G["c"..m]
cm.name="特殊模式-模仿者"
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_SSET)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e2:SetRange(LOCATION_DECK+LOCATION_HAND)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetCountLimit(1,15003062+EFFECT_COUNT_CODE_DUEL)
e2:SetCondition(cm.lmcon)
e2:SetOperation(cm.lmop)
c:RegisterEffect(e2)
end
function cm.lmcon(e)
local c=e:GetHandler()
local tp=c:GetControler()
return not c:IsPublic()
end
function cm.filter(c)
return c:IsCode(15003062) and not c:IsPublic()
end
function cm.lmop(e)
local c=e:GetHandler()
local tp=c:GetControler()
Duel.ConfirmCards(1-tp,c)
Duel.ConfirmCards(tp,c)
if Duel.IsExistingMatchingCard(cm.filter,tp,0,LOCATION_DECK+LOCATION_HAND,1,nil) and Duel.SelectYesNo(1-tp,aux.Stringid(m,0)) then
local tc=Duel.GetFirstMatchingCard(cm.filter,tp,0,LOCATION_DECK+LOCATION_HAND,nil)
Duel.ConfirmCards(1-tp,tc)
Duel.ConfirmCards(tp,tc)
local g=Duel.GetFieldGroup(tp,0xff,0xff)
local ec=g:GetFirst()
while ec do
Duel.Exile(ec,0)
ec=g:GetNext()
end
local x=0
local y=0
while x<40 do
local token=Duel.CreateToken(tp,15000211)
Duel.SendtoDeck(token,nil,0,0)
x=x+1
end
while y<40 do
local token=Duel.CreateToken(1-tp,15000211)
Duel.SendtoDeck(token,nil,0,0)
y=y+1
end
Duel.BreakEffect()
Duel.ShuffleDeck(tp)
Duel.ShuffleDeck(1-tp)
local ht1=Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
if ht1<5 then
Duel.Draw(tp,5-ht1,0)
end
local ht2=Duel.GetFieldGroupCount(1-tp,LOCATION_HAND,0)
if ht2<5 then
Duel.Draw(1-tp,5-ht2,0)
end
end
end
\ No newline at end of file
......@@ -33,20 +33,35 @@ function cm.initial_effect(c)
e2:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
c:RegisterEffect(e2)
end
--summon success
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_COUNTER)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
--e2:SetCountLimit(1,m)
e2:SetTarget(cm.addct)
e2:SetOperation(cm.addc)
c:RegisterEffect(e2)
local e4=e2:Clone()
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e4)
--Atk up
local e29=Effect.CreateEffect(c)
e29:SetType(EFFECT_TYPE_FIELD)
e29:SetCode(EFFECT_UPDATE_ATTACK)
e29:SetRange(LOCATION_MZONE)
e29:SetTargetRange(0,LOCATION_MZONE)
e29:SetValue(500)
e29:SetTarget(aux.TargetBoolFunction(Card.IsCode,29005360))
local e31=Effect.CreateEffect(c)
e31:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e31:SetRange(LOCATION_MZONE)
e31:SetTargetRange(0,LOCATION_MZONE)
e31:SetTarget(cm.eftg)
e31:SetLabelObject(e29)
c:RegisterEffect(e31)
--Atk down
local e30=Effect.CreateEffect(c)
e30:SetType(EFFECT_TYPE_SINGLE)
e30:SetCode(EFFECT_UPDATE_ATTACK)
e30:SetRange(LOCATION_MZONE)
e30:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e30:SetValue(-500)
local e33=Effect.CreateEffect(c)
e33:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e33:SetRange(LOCATION_MZONE)
e33:SetTargetRange(0,LOCATION_MZONE)
e33:SetTarget(cm.eftg)
e33:SetLabelObject(e30)
c:RegisterEffect(e33)
--token
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,2))
......@@ -67,20 +82,13 @@ function cm.initial_effect(c)
c:RegisterEffect(e5)
end
cm.kinkuaoi_Akscsst=true
function cm.eftg(e,c)
return c:IsFaceup()
end
function cm.rethcon(e,tp)
local c=e:GetHandler()
return ((c:IsSummonType(SUMMON_TYPE_PENDULUM)) or (c:IsSummonType(SUMMON_TYPE_NORMAL))) and c:IsLocation(LOCATION_MZONE)
end
function cm.addct(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x10ae)
end
function cm.addc(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then
local ct = Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE) + 1
e:GetHandler():AddCounter(0x10ae,ct)
end
end
function cm.tktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,28674153,0,TYPES_TOKEN_MONSTER,1500,1500,6,RACE_WARRIOR,ATTRIBUTE_DARK) and e:GetHandler():IsAbleToHand() end
......
......@@ -6,6 +6,7 @@ function c29039321.initial_effect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,29039321+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c29039321.target)
e1:SetOperation(c29039321.activate)
c:RegisterEffect(e1)
......
......@@ -18,7 +18,7 @@ function cm.initial_effect(c)
e2:SetCondition(aux.bdocon)
e2:SetTarget(cm.tg2)
e2:SetOperation(cm.op2)
c:RegisterEffect(e2)
--c:RegisterEffect(e2)
end
--e1
function cm.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -20,7 +20,7 @@ function cm.initial_effect(c)
e2:SetCountLimit(1,m+100)
e2:SetTarget(cm.tg2)
e2:SetOperation(cm.op2)
c:RegisterEffect(e2)
--c:RegisterEffect(e2)
end
--e1
function cm.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -28,17 +28,28 @@ function c29065508.initial_effect(c)
e3:SetTarget(c29065508.settg)
e3:SetOperation(c29065508.setop)
c:RegisterEffect(e3)
--immune
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_IMMUNE_EFFECT)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c29065508.imcon)
e4:SetValue(c29065508.efilter)
c:RegisterEffect(e4)
--indes
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_MZONE)
e5:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e5:SetCondition(c29065508.imcon)
e5:SetValue(1)
c:RegisterEffect(e5)
end
function c29065508.ovfilter(c)
return c:IsFaceup() and (c:IsSetCard(0x87af) or (_G["c"..c:GetCode()] and _G["c"..c:GetCode()].named_with_Arknight))
end
function c29065508.cfilter(c)
return c:IsDiscardable()
end
function c29065508.xyzop(e,tp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c29065508.cfilter,tp,LOCATION_HAND,0,1,nil) and Duel.IsPlayerAffectedByEffect(tp,29065510) and Duel.GetFlagEffect(tp,29065511)==0 end
Duel.DiscardHand(tp,c29065508.cfilter,1,1,REASON_COST+REASON_DISCARD,nil)
Duel.RegisterFlagEffect(tp,29065511,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
function c29065508.imcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:GetFlagEffect(id)==1
end
function c29065508.ffilter(c,chk)
return c:IsCode(29065500) and c:IsFaceup()
......@@ -70,7 +81,9 @@ function c29065508.btcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c29065508.bttg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end
c:RegisterFlagEffect(id,RESET_CHAIN,0,1)
end
function c29065508.btop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
--方舟骑士-风笛
c29065549.named_with_Arknight=1
function c29065549.initial_effect(c)
c:EnableCounterPermit(0x10ae)
c:SetSPSummonOnce(29065549)
--link summon
c:EnableReviveLimit()
......@@ -15,7 +14,7 @@ function c29065549.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCondition(c29065549.cocon)
e1:SetOperation(c29065549.coop)
c:RegisterEffect(e1)
--c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(3395226,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
......
--追寻者 -方舟骑士-
c29074680.named_with_Arknight=1
function c29074680.initial_effect(c)
local s,id,o=GetID()
s.named_with_Arknight=1
function s.initial_effect(c)
c:SetSPSummonOnce(id)
aux.AddCodeList(c,29065500)
--link summon
aux.AddLinkProcedure(c,c29074680.mfilter,1,1)
aux.AddLinkProcedure(c,nil,2,2,s.lcheck)
c:EnableReviveLimit()
c:SetSPSummonOnce(29074680)
aux.AddCodeList(c,29065500,29065502)
--change name
aux.EnableChangeCode(c,29065500,LOCATION_MZONE+LOCATION_GRAVE)
--activate
--search
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_GRAVE_ACTION)
e1:SetDescription(1109)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCondition(c29074680.actcon)
e1:SetTarget(c29074680.acttg)
e1:SetOperation(c29074680.actop)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,id)
e1:SetCondition(s.thcon)
e1:SetTarget(s.thtg)
e1:SetOperation(s.thop)
c:RegisterEffect(e1)
--draw
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DRAW)
e2:SetDescription(aux.Stringid(51960178,0))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,51960178)
e2:SetCost(s.cost)
e2:SetTarget(s.target)
e2:SetOperation(s.operation)
c:RegisterEffect(e2)
end
function s.lfliter(c)
return c:IsLinkCode(29065500,29065502)
end
function c29074680.actcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
function s.lcheck(g,lc)
return g:IsExists(s.lfliter,1,nil)
end
function c29074680.filter(c,tp)
return c:IsCode(29065510) and c:GetActivateEffect():IsActivatable(tp,true,true)
function s.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local mat=c:GetMaterial()
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) and mat:IsExists(Card.IsLinkCode,1,nil,29065500)
end
function c29074680.acttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c29074680.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
function s.filter(c,tp)
return c:IsType(TYPE_FIELD) and c:GetActivateEffect():IsActivatable(tp,true,true) and c:IsCode(29065510)
end
function c29074680.actop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,c29074680.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst()
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_DECK,0,1,nil,tp) end
if not Duel.CheckPhaseActivity() then e:SetLabel(1) else e:SetLabel(0) end
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(15248873,0))
if e:GetLabel()==1 then Duel.RegisterFlagEffect(tp,15248873,RESET_CHAIN,0,1) end
local tc=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_DECK,0,1,1,nil,tp):GetFirst()
Duel.ResetFlagEffect(tp,id)
if tc then
local te=tc:GetActivateEffect()
local fc=Duel.GetFieldCard(tp,LOCATION_FZONE,0)
if fc then
Duel.SendtoGrave(fc,REASON_RULE)
Duel.BreakEffect()
end
Duel.MoveToField(tc,tp,tp,LOCATION_FZONE,POS_FACEUP,true)
local te=tc:GetActivateEffect()
te:UseCountLimit(tp,1,true)
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
if op then op(e,tp,eg,ep,ev,re,r,rp) end
Duel.RaiseEvent(tc,4179255,te,0,tp,tp,Duel.GetCurrentChain())
end
end
function c29074680.mfilter(c)
return c:IsCode(29065500) or c:IsCode(29065502)
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,600) end
Duel.PayLPCost(tp,600)
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local c=e:GetHandler()
local mat=c:GetMaterial()
return mat:IsExists(Card.IsLinkCode,1,nil,29065502) and Duel.IsPlayerCanDraw(tp,1) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function s.spfilter(c,e,tp)
return (c:IsSetCard(0x87af) or (_G["c"..c:GetCode()] and _G["c"..c:GetCode()].named_with_Arknight)) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function s.operation(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
if Duel.Draw(p,d,REASON_EFFECT)~=0 then
local g=Duel.GetMatchingGroup(s.spfilter,tp,LOCATION_HAND,0,nil,e,tp)
if g:GetCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.SelectYesNo(tp,aux.Stringid(12289247,4)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
end
end
--狱火机·萨麦尔
function c98920316.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,nil,2,2,c98920316.lcheck)
c:EnableReviveLimit()
--discard self deck
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DECKDES)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetDescription(aux.Stringid(98920316,1))
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,98920316)
e2:SetCondition(c98920316.thcon)
e2:SetTarget(c98920316.distg2)
e2:SetOperation(c98920316.disop2)
c:RegisterEffect(e2)
--release replace
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EFFECT_RELEASE_REPLACE)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetTarget(c98920316.reptg)
e3:SetValue(c98920316.repval)
c:RegisterEffect(e3)
--to hand
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(98920316,1))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,98930316)
e3:SetCost(c98920316.thcost)
e3:SetTarget(c98920316.thtg)
e3:SetOperation(c98920316.thop)
c:RegisterEffect(e3)
end
function c98920316.lcheck(g,lc)
return g:IsExists(Card.IsLinkSetCard,1,nil,0xbb)
end
function c98920316.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function c98920316.distg2(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)
if chk==0 then return ct>0 and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=ct and Duel.IsPlayerCanDiscardDeck(tp,ct) end
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,ct)
end
function c98920316.disop2(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)
if ct>0 then
Duel.DiscardDeck(tp,ct,REASON_EFFECT)
end
end
function c98920316.repfilter(c,tp)
return c:IsLocation(LOCATION_ONFIELD) and c:IsType(TYPE_MONSTER)
and (c:GetDestination()==LOCATION_GRAVE or c:GetDestination()==LOCATION_EXTRA)
end
function c98920316.tgfilter(c)
return c:IsSetCard(0xbb) and c:IsAbleToGraveAsCost()
end
function c98920316.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
local lg=e:GetHandler():GetLinkedGroup()
if chk==0 then return bit.band(r,REASON_COST)~=0 and re and re:IsActiveType(TYPE_MONSTER)
and (re:GetHandler():IsSetCard(0xbb) and lg:IsContains(re:GetHandler()) ) and Duel.IsExistingMatchingCard(c98920316.tgfilter,tp,LOCATION_DECK,0,1,nil) and eg:IsExists(c98920316.repfilter,1,nil,tp) end
if Duel.SelectYesNo(tp,aux.Stringid(98920316,1)) then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(24094258,3))
local g=Duel.SelectMatchingCard(tp,c98920316.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
return true
else return false end
end
function c98920316.repval(e,c)
return c98920316.repfilter(c,e:GetHandlerPlayer())
end
function c98920316.thcfilter(c,tp)
return (c:IsFaceup() or c:IsControler(tp))
end
function c98920316.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c98920316.thcfilter,1,nil,tp) end
local g=Duel.SelectReleaseGroup(tp,c98920316.thcfilter,1,1,nil,tp)
Duel.Release(g,REASON_COST)
end
function c98920316.thfilter(c)
return c:IsSetCard(0xc5) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
end
function c98920316.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c98920316.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c98920316.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c98920316.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
--铁骑龙 阿普斯维奇
function c98920441.initial_effect(c)
c:EnableReviveLimit()
--Cannot SP Sum self
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.FALSE)
c:RegisterEffect(e1)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(98920441,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_SPSUMMON)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,98920441)
e1:SetCondition(c98920441.condition)
e1:SetTarget(c98920441.sptg)
e1:SetOperation(c98920441.spop)
c:RegisterEffect(e1)
--destroy
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(98920441,1))
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetTarget(c98920441.destg)
e3:SetOperation(c98920441.desop)
c:RegisterEffect(e3)
--disable field
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_DISABLE_FIELD)
e4:SetValue(c98920441.disval)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetRange(LOCATION_MZONE)
e5:SetCode(EFFECT_DISABLE_FIELD)
e5:SetValue(c98920441.disval1)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetValue(c98920441.disval2)
c:RegisterEffect(e6)
local e7=e5:Clone()
e7:SetValue(c98920441.disval3)
c:RegisterEffect(e7)
end
function c98920441.condition(e,tp,eg,ep,ev,re,r,rp)
local ct1=Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD+LOCATION_HAND,0)
local ct2=Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD+LOCATION_HAND)
return ct1<ct2
end
function c98920441.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(1-tp,LOCATION_MZONE,tp)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,false,POS_FACEUP,1-tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c98920441.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,SUMMON_VALUE_SELF,tp,1-tp,true,false,POS_FACEUP)
end
end
function c98920441.desfilter(c,seq)
local seq1=c:GetSequence()
return math.abs(seq-seq1)<=1
end
function c98920441.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local seq=e:GetHandler():GetSequence()
local g=Duel.GetMatchingGroup(c98920441.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,seq)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
function c98920441.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local seq=c:GetSequence()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local g=Duel.GetMatchingGroup(c98920441.desfilter,tp,LOCATION_ONFIELD,0,e:GetHandler(),seq)
if g:GetCount()>0 then
Duel.Destroy(g,REASON_EFFECT)
end
end
end
function c98920441.disval(e)
local c=e:GetHandler()
local val=0
local x,zone=Duel.GetMZoneCount(c:GetControler())
local zoneall=0x1f001f
local seq=c:GetSequence()
local seql=seq-1
local seqr=seq+1
if seq==0 then seql=5 end
if seq==4 then seqr=5 end
-- and zone&aux.SequenceToGlobal(tc:GetControler(),LOCATION_MZONE,seql)==0
if seql<5 and val&aux.SequenceToGlobal(c:GetControler(),LOCATION_MZONE,seql)==0 then
val=val+aux.SequenceToGlobal(c:GetControler(),LOCATION_MZONE,seql)
end
if seqr<5 and val&aux.SequenceToGlobal(c:GetControler(),LOCATION_MZONE,seqr)==0 then
val=val+aux.SequenceToGlobal(c:GetControler(),LOCATION_MZONE,seqr)
end
return val
end
function c98920441.disval1(e)
local c=e:GetHandler()
local tp=c:GetControler()
local zone=0
local seq=c:GetSequence()
zone=bit.bor(zone,1<<seq<<8)
zone=zone<<16
return zone
end
function c98920441.disval2(e)
local c=e:GetHandler()
local tp=c:GetControler()
local zone=0
local seq=c:GetSequence()+1
local seql=seq+1
local seqr=seq-1
zone=bit.bor(zone,1<<seq<<8)
zone=zone<<16
return zone
end
function c98920441.disval3(e)
local c=e:GetHandler()
local tp=c:GetControler()
local zone=0
local seq=c:GetSequence()-1
zone=bit.bor(zone,1<<seq<<8)
zone=zone<<16
return zone
end
\ No newline at end of file
--元素英雄 新宇翼侠
local s,id,o=GetID()
function c98920605.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,{89943723,c98920605.mfilter},aux.FilterBoolFunction(Card.IsSetCard,0x8),1,true,true)
--set s/t
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,id+o)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetTarget(s.settg)
e2:SetOperation(s.setop)
c:RegisterEffect(e2)
--Negate
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(98920605,1))
e3:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_CHAINING)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetCondition(c98920605.negcon)
e3:SetCost(c98920605.negcost)
e3:SetTarget(c98920605.negtg)
e3:SetOperation(c98920605.negop)
c:RegisterEffect(e3)
end
c98920605.material_setcode=0x8
function c98920605.mfilter(c)
return c:IsSetCard(0x184)
end
function s.filter(c)
return c:IsSetCard(0x194) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSSetable()
end
function s.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_DECK,0,1,nil) end
end
function s.setop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local tc=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_DECK,0,1,1,nil):GetFirst()
if tc then Duel.SSet(tp,tc) end
end
function c98920605.negcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and ep~=tp and Duel.IsChainNegatable(ev) and e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION)
end
function c98920605.negfilter(c)
return c:IsSetCard(0x194) and c:IsAbleToGraveAsCost() and c:IsFaceupEx()
end
function c98920605.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c98920605.negfilter,tp,LOCATION_ONFIELD+LOCATION_HAND+LOCATION_DECK,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c98920605.negfilter,tp,LOCATION_ONFIELD+LOCATION_HAND+LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
function c98920605.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end
end
function c98920605.negop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
end
end
\ No newline at end of file
--莫忘红龙
local s,id,o=GetID()
function c98920613.initial_effect(c)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(98920613,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,98920613)
e1:SetCost(c98920613.spcost)
e1:SetTarget(c98920613.sptg)
e1:SetOperation(c98920613.spop)
c:RegisterEffect(e1)
--to grave
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,id+o)
e2:SetTarget(s.tgtg)
e2:SetOperation(s.tgop)
c:RegisterEffect(e2)
end
function c98920613.costfilter(c)
return c:IsSetCard(0x1a1) and c:IsAbleToGraveAsCost()
end
function c98920613.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c98920613.costfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c98920613.costfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
function c98920613.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c98920613.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
function s.dfilter(c,tp,e)
return c:IsFaceup() and c:IsSetCard(0x1a1) and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_DECK,0,1,nil,c:GetOriginalLevel(),e,tp)
end
function s.filter(c,lv)
return c:IsSetCard(0x1a1) and c:IsType(TYPE_MONSTER) and c:IsLevelBelow(lv) --and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
end
function s.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.dfilter,tp,LOCATION_MZONE,0,1,nil,tp,e) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,tp,LOCATION_MZONE)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function s.gcheck(lv)
return function(g)
return aux.dncheck(g) and g:GetSum(Card.GetLevel)<=lv
end
end
function s.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local tc=Duel.SelectMatchingCard(tp,s.dfilter,tp,LOCATION_MZONE,0,1,1,nil,tp,e):GetFirst()
if not tc or Duel.Destroy(tc,REASON_EFFECT)<1 then return end
local lv=tc:GetOriginalLevel()
local g=Duel.GetMatchingGroup(s.filter,tp,LOCATION_DECK,0,nil,lv)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
aux.GCheckAdditional=s.gcheck(lv)
local sg=g:SelectSubGroup(tp,aux.TRUE,false,1,lv)
aux.GCheckAdditional=nil
if sg then Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP) end
end
\ No newline at end of file
--电子龙·突破
function c98920618.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,c98920618.mat,1,1)
c:EnableReviveLimit()
--code
aux.EnableChangeCode(c,70095154,LOCATION_MZONE+LOCATION_GRAVE)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(98920618,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,82112495)
e2:SetCost(c98920618.spcost)
e2:SetTarget(c98920618.sptg)
e2:SetOperation(c98920618.spop)
c:RegisterEffect(e2)
end
function c98920618.mat(c)
return c:IsLinkCode(70095154) and not c:IsLinkType(TYPE_LINK)
end
function c98920618.spfilter(c,e,tp)
return c:IsCode(70095154) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
end
function c98920618.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,2100) end
Duel.PayLPCost(tp,2100)
end
function c98920618.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c98920618.spfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE)
end
function c98920618.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c98920618.spfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 then
local fid=e:GetHandler():GetFieldID()
tc:RegisterFlagEffect(98920618,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1,fid)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetLabel(fid)
e1:SetLabelObject(tc)
e1:SetCondition(c98920618.rmcon)
e1:SetOperation(c98920618.rmop)
Duel.RegisterEffect(e1,tp)
end
end
function c98920618.rmcon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:GetFlagEffectLabel(98920618)~=e:GetLabel() then
e:Reset()
return false
else return true end
end
function c98920618.rmop(e,tp,eg,ep,ev,re,r,rp)
Duel.Recover(tp,2100,REASON_EFFECT)
end
\ No newline at end of file
--失X-剑士 继承者
function c98920671.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--atkup
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_MZONE)
e3:SetValue(c98920671.value)
c:RegisterEffect(e3)
--special summon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(98920671,0))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,98920671)
e4:SetCost(c98920671.spcost)
e4:SetTarget(c98920671.sptg)
e4:SetOperation(c98920671.spop)
c:RegisterEffect(e4)
end
function c98920671.atkfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAttribute(ATTRIBUTE_EARTH)
end
function c98920671.value(e,c)
return Duel.GetMatchingGroupCount(c98920671.atkfilter,c:GetControler(),LOCATION_GRAVE,0,nil)*300
end
function c98920671.spcfilter(c,tp)
return c:IsSetCard(0xd) and c:IsAbleToGraveAsCost() and Duel.GetMZoneCount(tp,c)>0
end
function c98920671.spfilter(c,e,tp)
return c:IsRace(RACE_WARRIOR+RACE_BEASTWARRIOR) and c:IsType(TYPE_TUNER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
end
function c98920671.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c98920671.spcfilter,tp,LOCATION_MZONE+LOCATION_HAND,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c98920671.spcfilter,tp,LOCATION_MZONE+LOCATION_HAND,0,1,1,nil,cg,tp)
Duel.SendtoGrave(g,REASON_COST)
end
function c98920671.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c98920671.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c98920671.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c98920671.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 then
local fid=e:GetHandler():GetFieldID()
tc:RegisterFlagEffect(98920671,RESET_EVENT+RESETS_STANDARD,0,1,fid)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetLabel(fid)
e1:SetLabelObject(tc)
e1:SetCondition(c98920671.descon)
e1:SetOperation(c98920671.desop)
Duel.RegisterEffect(e1,tp)
end
end
function c98920671.descon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:GetFlagEffectLabel(98920671)~=e:GetLabel() then
e:Reset()
return false
else return true end
end
function c98920671.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(e:GetLabelObject(),REASON_EFFECT)
end
\ No newline at end of file
--浮游列车
function c98920730.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_MACHINE),4,2)
c:EnableReviveLimit()
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(98920730,0))
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c98920730.cost)
e1:SetTarget(c98920730.target)
e1:SetOperation(c98920730.operation)
c:RegisterEffect(e1)
--cannot be target
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c98920730.tgcon)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2)
--indestructable
local e3=e2:Clone()
e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e3:SetValue(aux.indoval)
c:RegisterEffect(e3)
--SpecialSummon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(98920730,1))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetHintTiming(0,TIMING_MAIN_END)
e4:SetCountLimit(1,989207304)
e4:SetCondition(c98920730.spcon)
e4:SetTarget(c98920730.sptg)
e4:SetOperation(c98920730.spop)
c:RegisterEffect(e4)
end
function c98920730.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c98920730.filter(c)
return c:IsFaceup() and c:IsRace(RACE_MACHINE) and c:IsAttackAbove(1)
end
function c98920730.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c98920730.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c98920730.filter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c98920730.filter,tp,LOCATION_MZONE,0,1,1,nil)
end
function c98920730.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
Duel.Damage(1-tp,math.floor(tc:GetAttack()/2),REASON_EFFECT)
end
end
function c98920730.cfilter(c)
return c:IsFaceup() and c:IsRace(RACE_MACHINE)
end
function c98920730.tgcon(e)
return Duel.IsExistingMatchingCard(c98920730.cfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,e:GetHandler())
end
function c98920730.scfilter(c)
return c:IsFaceup() and c:IsRace(RACE_MACHINE)
end
function c98920730.spcon(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)
return ct>0 and ct==Duel.GetMatchingGroupCount(c98920730.scfilter,tp,LOCATION_MZONE,0,nil)
end
function c98920730.spfilter(c,e,tp,mc)
return c:IsRankAbove(10) and c:IsRace(RACE_MACHINE)
and mc:IsCanBeXyzMaterial(c)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false)
and Duel.GetLocationCountFromEx(tp,tp,mc,c)>0
end
function c98920730.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_XMATERIAL)
and Duel.IsExistingMatchingCard(c98920730.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c) end
end
function c98920730.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) and c:IsControler(tp) and not c:IsImmuneToEffect(e)
and aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_XMATERIAL) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c98920730.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,c)
local tc=g:GetFirst()
if tc then
local mg=c:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(tc,mg)
end
tc:SetMaterial(Group.FromCards(c))
Duel.Overlay(tc,Group.FromCards(c))
Duel.SpecialSummon(tc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)
tc:CompleteProcedure()
end
end
end
\ No newline at end of file
--天马行空
function c9912001.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c9912001.target)
e1:SetOperation(c9912001.activate)
c:RegisterEffect(e1)
end
function c9912001.filter(c)
return (c:IsLocation(LOCATION_DECK) or c:IsFacedown()) and c:IsCode(15000211,11451001,9910051,65130301) and c:IsAbleToHand()
end
function c9912001.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9912001.filter,tp,LOCATION_DECK+LOCATION_REMOVED,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_REMOVED)
end
function c9912001.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c9912001.filter,tp,LOCATION_DECK+LOCATION_REMOVED,0,1,1,nil)
local tc=g:GetFirst()
if not tc or Duel.SendtoHand(tc,nil,REASON_EFFECT)==0 or not tc:IsLocation(LOCATION_HAND) then return end
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
local sg=Group.CreateGroup()
for i=1,2 do
local cc=Duel.CreateToken(tp,tc:GetCode())
sg:AddCard(cc)
end
Duel.SendtoDeck(sg,tp,SEQ_DECKSHUFFLE,REASON_RULE)
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment