Commit 97071f63 authored by tsubaki's avatar tsubaki

1.999zyu update

parent e393b778
No preview for this file type
...@@ -2,7 +2,7 @@ TET=TET or {} ...@@ -2,7 +2,7 @@ TET=TET or {}
Pyro = 50219 Pyro = 50219
Hydro = 50216 Hydro = 50216
Electro=50213 Electro=50213
Cryo = 50210 Cyro = 50210
Anemo= 50240 Anemo= 50240
Geo= 50234 Geo= 50234
...@@ -71,7 +71,7 @@ if not TET.ELCounter then ...@@ -71,7 +71,7 @@ if not TET.ELCounter then
end end
end end
--融化 --融化
if code == Cryo then if code == Cyro then
Duel.Hint(HINT_CARD,0,50703) Duel.Hint(HINT_CARD,0,50703)
count = count-num count = count-num
if Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE then if Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE then
...@@ -132,7 +132,7 @@ if not TET.ELCounter then ...@@ -132,7 +132,7 @@ if not TET.ELCounter then
end end
end end
--冻结 --冻结
if code == Cryo then if code == Cyro then
Duel.Hint(HINT_CARD,0,50705) Duel.Hint(HINT_CARD,0,50705)
count = count-num count = count-num
local cc=te:GetHandler() local cc=te:GetHandler()
...@@ -200,19 +200,19 @@ if not TET.ELCounter then ...@@ -200,19 +200,19 @@ if not TET.ELCounter then
end end
end end
--超导 --超导
if code == Cryo then if code == Cyro then
Duel.Hint(HINT_CARD,0,50706) Duel.Hint(HINT_CARD,0,50706)
count = count-num count = count-num
Duel.Damage(tp,Mystery*100,REASON_EFFECT) Duel.Damage(tp,Mystery*100,REASON_EFFECT)
local cc=te:GetHandler() local cc=te:GetHandler()
local g=Duel.GetMatchingGroup(TET.chaodao,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(TET.chaodao,tp,LOCATION_MZONE,0,nil)
while g:GetCount()>0 do local tc=g:GetFirst()
local tc=g:GetFirst() while tc do
local e1=Effect.CreateEffect(cc) local e1=Effect.CreateEffect(cc)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_DEFENSE_FINAL) e1:SetCode(EFFECT_SET_DEFENSE_FINAL)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetValue(0) e1:SetValue(0)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
tc=g:GetNext() tc=g:GetNext()
...@@ -230,7 +230,7 @@ if not TET.ELCounter then ...@@ -230,7 +230,7 @@ if not TET.ELCounter then
TET.crystal(ze,tp,Mystery) TET.crystal(ze,tp,Mystery)
end end
--冰为底 --冰为底
elseif genso == Cryo then elseif genso == Cyro then
--融化 --融化
if code == Pyro then if code == Pyro then
Duel.Hint(HINT_CARD,0,50703) Duel.Hint(HINT_CARD,0,50703)
...@@ -286,13 +286,13 @@ if not TET.ELCounter then ...@@ -286,13 +286,13 @@ if not TET.ELCounter then
Duel.Damage(tp,Mystery*100,REASON_EFFECT) Duel.Damage(tp,Mystery*100,REASON_EFFECT)
local cc=te:GetHandler() local cc=te:GetHandler()
local g=Duel.GetMatchingGroup(TET.chaodao,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(TET.chaodao,tp,LOCATION_MZONE,0,nil)
while g:GetCount()>0 do local tc=g:GetFirst()
local tc=g:GetFirst() while tc do
local e1=Effect.CreateEffect(cc) local e1=Effect.CreateEffect(cc)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_DEFENSE_FINAL) e1:SetCode(EFFECT_SET_DEFENSE_FINAL)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetValue(0) e1:SetValue(0)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
tc=g:GetNext() tc=g:GetNext()
......
...@@ -126,6 +126,7 @@ ...@@ -126,6 +126,7 @@
!setname 0x246 仙符 !setname 0x246 仙符
!setname 0x249 天理法则 !setname 0x249 天理法则
!setname 0x250 原神 !setname 0x250 原神
!setname 0x2521 钟离
!setname 0x251 星莲 !setname 0x251 星莲
!setname 0x251a 一轮 !setname 0x251a 一轮
!setname 0x251b 云山 !setname 0x251b 云山
......
No preview for this file type
--风速幻想✿射命丸文
function c1100006.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(1164)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_EXTRA)
e1:SetCondition(c1100006.SynMixCondition(aux.Tuner(nil),aux.NonTuner(Card.IsSetCard,0x208),1,99))
e1:SetTarget(c1100006.SynMixTarget(aux.Tuner(nil),aux.NonTuner(Card.IsSetCard,0x208),1,99))
e1:SetOperation(c1100006.SynMixOperation(aux.Tuner(nil),aux.NonTuner(Card.IsSetCard,0x208),1,99))
e1:SetValue(SUMMON_TYPE_SYNCHRO)
c:RegisterEffect(e1)
--
if not c1100006.global_check then
c1100006.global_check=true
local ge1=Effect.GlobalEffect()
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_TO_DECK)
ge1:SetCondition(c1100006.Gcon1)
ge1:SetOperation(c1100006.Gop1)
Duel.RegisterEffect(ge1,0)
local ge2=Effect.GlobalEffect()
ge2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge2:SetCode(EVENT_ADJUST)
ge2:SetOperation(c1100006.Gop2)
Duel.RegisterEffect(ge2,0)
end
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DIRECT_ATTACK)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(1100006,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c1100006.con3)
e3:SetTarget(c1100006.tg3)
e3:SetOperation(c1100006.op3)
c:RegisterEffect(e3)
--
end
--
function c1100006.ExFilter(c,syncard)
return c:GetFlagEffect(1100006)>0
and c:IsLocation(LOCATION_DECK)
and c:IsCanBeSynchroMaterial(syncard)
end
function c1100006.GetSynMaterials(tp,syncard)
local mg=Duel.GetMatchingGroup(Auxiliary.SynMaterialFilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,syncard)
local dg=Duel.GetFieldGroup(tp,LOCATION_DECK,0)
if dg:GetCount()>0 then
local exg=dg:GetMinGroup(Card.GetSequence)
if c1100006.ExFilter(exg:GetFirst(),syncard) then mg:Merge(exg) end
end
if mg:IsExists(Card.GetHandSynchro,1,nil) then
local mg2=Duel.GetMatchingGroup(Card.IsCanBeSynchroMaterial,tp,LOCATION_HAND,0,nil,syncard)
if mg2:GetCount()>0 then mg:Merge(mg2) end
end
return mg
end
function c1100006.SynMixFilter1(c,f1,f2,minc,maxc,syncard,mg,smat,gc,mgchk)
return f1(c,syncard) and mg:IsExists(c1100006.SynMixFilter2,1,c,f2,minc,maxc,syncard,mg,smat,c,gc,mgchk)
end
function c1100006.SynMixFilter2(c,f2,minc,maxc,syncard,mg1,smat,mat1,gc,mgchk)
if not f2(c,syncard,mat1) then return false end
local sg=Group.FromCards(mat1,c)
local mg=mg1:Clone()
mg=mg:Filter(f2,sg,syncard)
return c1100006.SynMixCheck(mg,sg,minc-1,maxc-1,syncard,smat,gc,mgchk)
end
function c1100006.SynMixCheck(mg,sg1,minc,maxc,syncard,smat,gc,mgchk)
local tp=syncard:GetControler()
local sg=Group.CreateGroup()
if minc==0 and c1100006.SynMixCheckGoal(tp,sg1,0,0,syncard,sg,smat,gc,mgchk) then return true end
if maxc==0 then return false end
return mg:IsExists(c1100006.SynMixCheckRecursive,1,nil,tp,sg,mg,0,minc,maxc,syncard,sg1,smat,gc,mgchk)
end
function c1100006.SynMixCheckGoal(tp,sg,minc,ct,syncard,sg1,smat,gc,mgchk)
if ct<minc then return false end
local g=sg:Clone()
if sg1 then g:Merge(sg1) end
if Duel.GetLocationCountFromEx(tp,tp,g,syncard)<1 then return false end
if gc and not gc(g) then return false end
if smat and not g:IsContains(smat) then return false end
if not Auxiliary.MustMaterialCheck(g,tp,EFFECT_MUST_BE_SMATERIAL) then return false end
local b1=g:IsExists(c1100006.ExFilter,1,nil,syncard)
local b2=Duel.CheckSynchroMaterial(syncard,aux.Tuner(nil),aux.NonTuner(nil),g:GetCount()-1,g:GetCount()-1,smat,g)
if (not b1) and (not b2) then return false end
if b1 then
local lv=0
for tc in aux.Next(g) do
lv=lv+tc:GetOriginalLevel(syncard)
end
local Change_Lv_Effect=Effect.CreateEffect(syncard)
Change_Lv_Effect:SetType(EFFECT_TYPE_SINGLE)
Change_Lv_Effect:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_CANNOT_DISABLE)
Change_Lv_Effect:SetCode(EFFECT_CHANGE_LEVEL)
Change_Lv_Effect:SetValue(lv)
syncard:RegisterEffect(Change_Lv_Effect,true)
local check=1
if Duel.CheckSynchroMaterial(syncard,aux.Tuner(nil),aux.NonTuner(nil),g:GetCount()-1,g:GetCount()-1,smat,g) then
check=0
end
Change_Lv_Effect:Reset()
if check==1 then return false end
end
local hg=g:Filter(Card.IsLocation,nil,LOCATION_HAND)
if hg:GetCount()>0 and not mgchk then
local found=false
for c in aux.Next(g) do
local he,hf,hmin,hmax=c:GetHandSynchro()
if he then
found=true
if hf and hg:IsExists(Auxiliary.SynLimitFilter,1,c,hf,he,syncard) then return false end
if (hmin and hg:GetCount()<hmin) or (hmax and hg:GetCount()>hmax) then return false end
end
end
if not found then return false end
end
for c in aux.Next(g) do
local le,lf,lloc,lmin,lmax=c:GetTunerLimit()
if le then
local lct=g:GetCount()-1
if lloc then
local llct=g:FilterCount(Card.IsLocation,c,lloc)
if llct~=lct then return false end
end
if lf and g:IsExists(Auxiliary.SynLimitFilter,1,c,lf,le,syncard) then return false end
if (lmin and lct<lmin) or (lmax and lct>lmax) then return false end
end
end
return true
end
function c1100006.SynMixCheckRecursive(c,tp,sg,mg,ct,minc,maxc,syncard,sg1,smat,gc,mgchk)
sg:AddCard(c)
ct=ct+1
local res=c1100006.SynMixCheckGoal(tp,sg,minc,ct,syncard,sg1,smat,gc,mgchk)
or (ct<maxc and mg:IsExists(c1100006.SynMixCheckRecursive,1,sg,tp,sg,mg,ct,minc,maxc,syncard,sg1,smat,gc,mgchk))
sg:RemoveCard(c)
ct=ct-1
return res
end
function c1100006.SynMixCondition(f1,f2,minc,maxc,gc)
return function(e,c,smat,mg1,min,max)
if c==nil then return true end
if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end
local minc=minc
local maxc=maxc
if min then
if min>minc then minc=min end
if max<maxc then maxc=max end
if minc>maxc then return false end
end
local tp=c:GetControler()
local mg
local mgchk=false
if mg1 then
mg=mg1
mgchk=true
else
mg=c1100006.GetSynMaterials(tp,c)
end
if smat~=nil then mg:AddCard(smat) end
return mg:IsExists(c1100006.SynMixFilter1,1,nil,f1,f2,minc,maxc,c,mg,smat,gc,mgchk)
end
end
function c1100006.SynMixTarget(f1,f2,minc,maxc,gc)
return function(e,tp,eg,ep,ev,re,r,rp,chk,c,smat,mg1,min,max)
local minc=minc
local maxc=maxc
if min then
if min>minc then minc=min end
if max<maxc then maxc=max end
if minc>maxc then return false end
end
local g=Group.CreateGroup()
local mg
if mg1 then
mg=mg1
else
mg=c1100006.GetSynMaterials(tp,c)
end
if smat~=nil then mg:AddCard(smat) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local mat1=mg:FilterSelect(tp,c1100006.SynMixFilter1,1,1,nil,f1,f2,minc,maxc,c,mg,smat,gc):GetFirst()
g:AddCard(mat1)
local g2=Group.CreateGroup()
for i=0,maxc-1 do
local mg2=mg:Clone()
mg2=mg2:Filter(f2,g,c)
local cg=mg2:Filter(c1100006.SynMixCheckRecursive,g2,tp,g2,mg2,i,minc,maxc,c,g,smat,gc)
if cg:GetCount()==0 then break end
local minct=1
if c1100006.SynMixCheckGoal(tp,g2,minc,i,c,g,smat,gc) then
minct=0
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local tg=cg:Select(tp,minct,1,nil)
if tg:GetCount()==0 then break end
g2:Merge(tg)
end
g:Merge(g2)
if g:GetCount()>0 then
g:KeepAlive()
e:SetLabelObject(g)
return true
else return false end
end
end
function c1100006.SynMixOperation(f1,f2,minct,maxc,gc)
return function(e,tp,eg,ep,ev,re,r,rp,c,smat,mg,min,max)
local g=e:GetLabelObject()
c:SetMaterial(g)
local lv=0
if g:IsExists(c1100006.ExFilter,1,nil,c) then
for tc in aux.Next(g) do
lv=lv+tc:GetOriginalLevel(c)
end
end
Duel.SendtoGrave(g,REASON_MATERIAL+REASON_SYNCHRO)
g:DeleteGroup()
if lv>0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_CHANGE_LEVEL)
e1:SetValue(lv)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD)
c:RegisterEffect(e1)
end
end
end
--
function c1100006.Gfilter1(c)
return c:GetSequence()==0 and c:IsReason(REASON_COST)
end
function c1100006.Gcon1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return eg:IsExists(c1100006.Gfilter1,1,nil) and re:IsActivated()
end
function c1100006.Gop1(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:Filter(c1100006.Gfilter1,nil):GetFirst()
tc:RegisterFlagEffect(1100006,RESET_EVENT+0x1fe0000,0,0,1)
end
function c1100006.Gfilter2(c)
return c:GetFlagEffect(1100006)>0 and c:GetSequence()~=0
end
function c1100006.Gop2(e,tp,eg,ep,ev,re,r,rp)
local dg=Duel.GetFieldGroup(tp,LOCATION_DECK,0)
local lg=dg:Filter(c1100006.Gfilter2,nil)
if lg:GetCount()<1 then return end
for tc in aux.Next(lg) do
tc:ResetFlagEffect(1100006)
end
end
--
function c1100006.con3(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and rp~=tp
end
function c1100006.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(1100007)==0
and Duel.IsExistingMatchingCard(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,1,nil,c) end
c:RegisterFlagEffect(1100007,RESET_CHAIN,0,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c1100006.op3(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:GetControler()~=tp or not c:IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,c)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SynchroSummon(tp,sg:GetFirst(),c)
end
end
--
\ No newline at end of file
...@@ -30,11 +30,10 @@ function c50000.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -30,11 +30,10 @@ function c50000.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c50000.filter,tp,0x3,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c50000.filter,tp,0x3,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.Remove(g,POS_FACEUP,REASON_EFFECT) Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
if Duel.GetOperatedGroup():FilterCount(Card.IsPreviousLocation, nil, LOCATION_HAND)>0 then
Duel.Draw(tp,1,REASON_EFFECT)
end
local code=g:GetFirst():GetCode() local code=g:GetFirst():GetCode()
_G["c"..code].activate(e,tp,eg,ep,ev,re,r,rp) _G["c"..code].activate(e,tp,eg,ep,ev,re,r,rp)
end end
local ct=5-Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
if ct>0 then
Duel.Draw(tp,1,REASON_EFFECT)
end
end end
--护法夜叉☪魈
function c50103.initial_effect(c)
--xyz summon
c:EnableReviveLimit()
aux.AddXyzProcedure(c,nil,5,75,c50103.xyzfilter)
--Anemo
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(50103,0))
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_MZONE)
e4:SetCost(c50103.bcost)
e4:SetTarget(c50103.btg)
e4:SetOperation(c50103.bop)
c:RegisterEffect(e4)
--atk up
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetCondition(c50103.acon)
e3:SetValue(800)
c:RegisterEffect(e3)
--evil cost
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_PHASE+PHASE_STANDBY)
e2:SetCountLimit(1)
e2:SetOperation(c50103.op4)
c:RegisterEffect(e2)
end
function c50103.xyzfilter(c)
return c:IsAttribute(ATTRIBUTE_WIND) and c:IsSetCard(0x250)
end
function c50103.bcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST)
end
function c50103.btg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c50103.bop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
--chain attack
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(50103,1))
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_BATTLED)
e2:SetCondition(c50103.atcon)
e2:SetOperation(c50103.atop)
c:RegisterEffect(e2)
end
function c50103.atcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local bc=c:GetBattleTarget()
return bc and bc:IsStatus(STATUS_BATTLE_DESTROYED) and c:IsChainAttackable() and c:IsStatus(STATUS_OPPO_BATTLE)
end
function c50103.atop(e,tp,eg,ep,ev,re,r,rp)
local num=1
local genso,count=TET.ELCounter.Get(1-tp)
TET.ELCounter.Add(nil,1-tp,50240,num,e)
local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
end
function c50103.afilter(c)
return c:IsSetCard(0x2521) and c:IsFaceup()
end
function c50103.acon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c50103.afilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil)
end
function c50103.op4(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetHandler():GetOverlayCount()
if ct>0 then return end
if Duel.GetLP(tp)>=500 then
Duel.PayLPCost(tp,500)
end
end
...@@ -6,7 +6,7 @@ function c50108.initial_effect(c) ...@@ -6,7 +6,7 @@ function c50108.initial_effect(c)
--Anemo --Anemo
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(50108,0)) e4:SetDescription(aux.Stringid(50108,0))
e4:SetCategory(CATEGORY_DAMAGE+CATEGORY_SPECIAL_SUMMON) e4:SetCategory(CATEGORY_DAMAGE)
e4:SetType(EFFECT_TYPE_IGNITION) e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,50108) e4:SetCountLimit(1,50108)
...@@ -30,26 +30,15 @@ function c50108.bcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -30,26 +30,15 @@ function c50108.bcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST)
end end
function c50108.spfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c50108.btg(e,tp,eg,ep,ev,re,r,rp,chk) function c50108.btg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return true end
and Duel.IsExistingMatchingCard(c50108.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
function c50108.bop(e,tp,eg,ep,ev,re,r,rp) function c50108.bop(e,tp,eg,ep,ev,re,r,rp)
local num=3 for i = 1, 2 do
local genso,count=TET.ELCounter.Get(1-tp) local num=1
TET.ELCounter.Add(nil,1-tp,50240,num,e) local genso,count=TET.ELCounter.Get(1-tp)
TET.ELCounter.Add(nil,1-tp,50240,num,e)
Duel.Damage(1-tp, 600, REASON_EFFECT) Duel.Damage(1-tp, 300, REASON_EFFECT)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c50108.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function c50108.value(e,c) function c50108.value(e,c)
......
--烟火之邀☪魈
function c50153.initial_effect(c)
--Electro
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(50153,0))
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(2,50153)
e4:SetTarget(c50153.btg)
e4:SetOperation(c50153.bop)
c:RegisterEffect(e4)
local e2 =e4:Clone()
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetRange(LOCATION_HAND)
e2:SetTarget(c50153.ctg)
e2:SetOperation(c50153.cop)
c:RegisterEffect(e2)
end
function c50153.btg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c50153.bop(e,tp,eg,ep,ev,re,r,rp)
local num=1
local genso,count=TET.ELCounter.Get(1-tp)
TET.ELCounter.Add(nil,1-tp,50240,num,e)
end
function c50153.ctg(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 c50153.cop(e,tp,eg,ep,ev,re,r,rp)
local num=1
local genso,count=TET.ELCounter.Get(1-tp)
TET.ELCounter.Add(nil,1-tp,50240,num,e)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
...@@ -3,7 +3,7 @@ function c50216.initial_effect(c) ...@@ -3,7 +3,7 @@ function c50216.initial_effect(c)
--xyz summon --xyz summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddXyzProcedure(c,nil,5,75,c50216.xyzfilter) aux.AddXyzProcedure(c,nil,5,75,c50216.xyzfilter)
--Anemo --Hydro
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(50216,0)) e4:SetDescription(aux.Stringid(50216,0))
e4:SetType(EFFECT_TYPE_QUICK_O) e4:SetType(EFFECT_TYPE_QUICK_O)
......
--真珠之智☪珊瑚宫心海
function c50222.initial_effect(c)
--xyz summon
c:EnableReviveLimit()
aux.AddXyzProcedure(c,nil,5,75,c50222.xyzfilter)
--Hydro
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(50222,0))
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_MZONE)
e4:SetCost(c50222.bcost)
e4:SetTarget(c50222.btg)
e4:SetOperation(c50222.bop)
c:RegisterEffect(e4)
end
function c50222.xyzfilter(c)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsSetCard(0x250)
end
function c50222.bcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST)
end
function c50222.btg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c50222.bop(e,tp,eg,ep,ev,re,r,rp)
local num=2
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50216 and count>1 then num=4-count end
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50216,num,e)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(aux.tgoval)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
c:RegisterEffect(e1,true)
--heal
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_DAMAGE_STEP_END)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
e3:SetCondition(c50222.elccon)
e3:SetOperation(c50222.eleop)
c:RegisterEffect(e3,tp)
--atk up
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(c50222.value)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
c:RegisterEffect(e2,true)
end
function c50222.elccon(e,tp,eg,ep,ev,re,r,rp)
local a,d=Duel.GetBattleMonster(tp)
return a and a:GetControler()==tp
end
function c50222.eleop(e,tp,eg,ep,ev,re,r,rp)
local num=1
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50216 and count>1 then num=2-count end
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50216,num,e)
Duel.Draw(tp,1,REASON_EFFECT)
local ct=Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
Duel.Recover(tp,ct*200,REASON_EFFECT)
end
function c50222.value(e,c)
return Duel.GetFieldGroupCount(c:GetControler(),LOCATION_HAND,0)*400
end
--琉焰华舞☪宵宫
function c50225.initial_effect(c)
--xyz summon
c:EnableReviveLimit()
aux.AddXyzProcedure(c,nil,5,75,c50225.xyzfilter)
--Pyro
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(50225,0))
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,50225)
e4:SetCost(c50225.bcost)
e4:SetTarget(c50225.btg)
e4:SetOperation(c50225.bop)
c:RegisterEffect(e4)
end
function c50225.xyzfilter(c)
return c:IsAttribute(ATTRIBUTE_FIRE) and c:IsSetCard(0x250)
end
function c50225.bcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST)
end
function c50225.btg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c50225.bop(e,tp,eg,ep,ev,re,r,rp)
local num=2
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50219 and count>1 then num=3-count end
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50219,num,e)
--effect
local c=e:GetHandler()
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_CHAINING)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,1)
e3:SetCondition(c50225.pycon)
e3:SetOperation(c50225.pyop)
Duel.RegisterEffect(e3,tp)
local e2=e3:Clone()
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetCondition(c50225.apycon)
e2:SetOperation(c50225.apyop)
Duel.RegisterEffect(e2,tp)
end
function c50225.pycon(e,tp,eg,ep,ev,re,r,rp)
return ep==tp and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and re:IsActiveType(TYPE_MONSTER)
and e:GetHandler():GetFlagEffect(50225)==0
end
function c50225.pyop(e,tp,eg,ep,ev,re,r,rp)
local num=1
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50219 and count>1 then num=2-count end
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50219,num,e)
e:GetHandler():RegisterFlagEffect(50225, RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END, 0, 1)
end
function c50225.apycon(e,tp,eg,ep,ev,re,r,rp)
local at=Duel.GetAttacker()
return at:GetControler()==tp and at:GetFlagEffect(50226)==0
end
function c50225.apyop(e,tp,eg,ep,ev,re,r,rp)
local num=1
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50219 and count>1 then num=2-count end
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50219,num,e)
local at=Duel.GetAttacker()
at:RegisterFlagEffect(50226, RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END, 0, 1)
end
...@@ -3,7 +3,7 @@ function c50228.initial_effect(c) ...@@ -3,7 +3,7 @@ function c50228.initial_effect(c)
--xyz summon --xyz summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddXyzProcedure(c,nil,5,75,c50228.xyzfilter) aux.AddXyzProcedure(c,nil,5,75,c50228.xyzfilter)
--Anemo --Electro
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(50228,0)) e4:SetDescription(aux.Stringid(50228,0))
e4:SetType(EFFECT_TYPE_QUICK_O) e4:SetType(EFFECT_TYPE_QUICK_O)
......
...@@ -23,7 +23,7 @@ function c50231.bcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -23,7 +23,7 @@ function c50231.bcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST)
end end
function c50231.filter(c) function c50231.filter(c)
return c:IsSetCard(0x250) and c:IsAbleToHand() return c:IsSetCard(0x250) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER)
end end
function c50231.btg(e,tp,eg,ep,ev,re,r,rp,chk) function c50231.btg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c50231.filter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c50231.filter,tp,LOCATION_DECK,0,1,nil) end
...@@ -36,6 +36,6 @@ function c50231.bop(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,6 +36,6 @@ function c50231.bop(e,tp,eg,ep,ev,re,r,rp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
Duel.Recover(tp, ct*800, REASON_EFFECT) Duel.Recover(tp, ct*400, REASON_EFFECT)
end end
end end
--黑羽鸣镝☪九条裟罗
function c50237.initial_effect(c)
--xyz summon
c:EnableReviveLimit()
aux.AddXyzProcedure(c,nil,5,75,c50237.xyzfilter)
--Electro
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(50237,0))
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetCost(c50237.bcost)
e4:SetTarget(c50237.btg)
e4:SetOperation(c50237.bop)
c:RegisterEffect(e4)
end
function c50237.xyzfilter(c)
return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsSetCard(0x250)
end
function c50237.bcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,3,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,3,3,REASON_COST)
end
function c50237.btg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c50237.bop(e,tp,eg,ep,ev,re,r,rp)
local num=2
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50213 and count>0 then num=3-count end
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50213,num,e)
local c=e:GetHandler()
--dd
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_EXTRA_ATTACK)
e5:SetTargetRange(LOCATION_MZONE,0)
e5:SetTarget(aux.TargetBoolFunction(c50237.xyzfilter))
e5:SetValue(1)
Duel.RegisterEffect(e5,tp)
end
--红毹婵娟☪云堇
require "expansions/script/nef/TheElementTheory"
function c50243.initial_effect(c)
--xyz summon
c:EnableReviveLimit()
aux.AddXyzProcedure(c,nil,5,75,c50243.xyzfilter)
--Anemo
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(50243,0))
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,50243)
e4:SetCost(c50243.bcost)
e4:SetTarget(c50243.btg)
e4:SetOperation(c50243.bop)
c:RegisterEffect(e4)
end
function c50243.xyzfilter(c)
return c:IsAttribute(ATTRIBUTE_EARTH) and c:IsSetCard(0x250)
end
function c50243.bcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST)
end
function c50243.btg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c50243.bop(e,tp,eg,ep,ev,re,r,rp)
local num=1
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50234 and count>0 then num=1-count end
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50234,num,e)
local c=e:GetHandler()
local def=c:GetDefense()
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_BATTLE_DAMAGE)
e5:SetCondition(c50243.reccon)
e5:SetOperation(c50243.recop)
e5:SetLabel(def)
Duel.RegisterEffect(e5,tp)
end
function c50243.qfilter(c)
return c:GetPreviousLocation()~=LOCATION_EXTRA
end
function c50243.reccon(e,tp,eg,ep,ev,re,r,rp)
return eg:FilterCount(c50243.qfilter, nil)>0 and ep==1-tp and ev>0
end
function c50243.recop(e,tp,eg,ep,ev,re,r,rp)
local def=e:GetLabel()
Duel.Damage(1-tp,def,REASON_BATTLE)
end
--棘冠恩典☪罗莎莉亚
function c50255.initial_effect(c)
--xyz summon
c:EnableReviveLimit()
aux.AddXyzProcedure(c,nil,5,75,c50255.xyzfilter)
--Cyro
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(50255,0))
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,50255)
e4:SetCost(c50255.bcost)
e4:SetTarget(c50255.btg)
e4:SetOperation(c50255.bop)
c:RegisterEffect(e4)
end
function c50255.xyzfilter(c)
return c:IsAttribute(ATTRIBUTE_DARK) and c:IsSetCard(0x250)
end
function c50255.bcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST)
end
function c50255.btg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c50255.bop(e,tp,eg,ep,ev,re,r,rp)
local num=2
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50210 and count>1 then num=3-count end
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50210,num,e)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil)
if g:GetCount()>0 then
local sc=g:GetFirst()
while sc do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(300)
sc:RegisterEffect(e1)
sc=g:GetNext()
end
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetReset(RESET_PHASE+PHASE_END,2)
e1:SetOperation(c50255.cop)
Duel.RegisterEffect(e1,tp)
end
function c50255.cop(e,tp,eg,ep,ev,re,r,rp)
local num=2
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50210 and count>1 then num=3-count end
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50210,num,e)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil)
if g:GetCount()>0 then
local sc=g:GetFirst()
while sc do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(300)
sc:RegisterEffect(e1)
sc=g:GetNext()
end
end
end
--浮岳虹珠☪珊瑚宫心海
function c50322.initial_effect(c)
--Hydro
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(50322,0))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1)
e4:SetTarget(c50322.btg)
e4:SetOperation(c50322.bop)
c:RegisterEffect(e4)
end
function c50322.btg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE) >= 0
and Duel.IsPlayerCanSpecialSummonMonster(tp,50622,0x250,0x4011,0,0,1,RACE_AQUA,ATTRIBUTE_WATER) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function c50322.bop(e,tp,eg,ep,ev,re,r,rp)
local num=1
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50216 and count>1 then num=3-count end
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50216,num,e)
local numt=1
local genso,count=TET.ELCounter.Get(tp)
if genso==50216 and count>1 then numt=3-count end
if numt<0 then numt=0 end
TET.ELCounter.Add(nil,tp,50216,numt,e)
local c=e:GetHandler()
if Duel.GetMZoneCount(tp)<0 or not Duel.IsPlayerCanSpecialSummonMonster(tp,50622,0x250,0x4011,0,0,1,RACE_AQUA,ATTRIBUTE_WATER) then return end
local token = Duel.CreateToken(tp,50622)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
--effect
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(aux.tgoval)
token:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_IGNORE_BATTLE_TARGET)
e2:SetValue(1)
token:RegisterEffect(e2)
token:SetTurnCounter(0)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCountLimit(1)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EVENT_PHASE+PHASE_END)
e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,6)
e4:SetOperation(c50322.desop)
token:RegisterEffect(e4)
token:RegisterFlagEffect(1082946,RESET_PHASE+PHASE_END,0,3)
c50322[c]=e1
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_REMAIN_FIELD)
token:RegisterEffect(e1)
end
function c50322.atklimit(e,c)
return c~=e:GetHandler()
end
function c50322.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=c:GetTurnCounter()
ct=ct+1
c:SetTurnCounter(ct)
local num=1
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50216 and count>1 then num=3-count end
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50216,num,e)
local hct=Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
Duel.Recover(tp,hct*400,REASON_EFFECT)
if ct>=6 then
Duel.Destroy(c,REASON_RULE)
c:ResetFlagEffect(1082946)
end
end
--焰色天河☪宵宫
function c50325.initial_effect(c)
--Pyro
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(50325,0))
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1)
e4:SetTarget(c50325.btg)
e4:SetOperation(c50325.bop)
c:RegisterEffect(e4)
end
function c50325.btg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c50325.bop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetValue(1)
c:RegisterEffect(e1,true)
local e5=e1:Clone()
e5:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
c:RegisterEffect(e5,true)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(50325,1))
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_BATTLED)
e3:SetCondition(c50325.ccon)
e3:SetOperation(c50325.cop)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e3,true)
end
function c50325.ccon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return Duel.GetAttacker()==c and aux.bdocon(e,tp,eg,ep,ev,re,r,rp)
end
function c50325.cop(e,tp,eg,ep,ev,re,r,rp)
local num=1
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50219 and count>1 then num=2-count end
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50219,num,e)
if e:GetHandler():IsChainAttackable() then
Duel.ChainAttack()
end
end
...@@ -38,7 +38,7 @@ function c50328.bop(e,tp,eg,ep,ev,re,r,rp) ...@@ -38,7 +38,7 @@ function c50328.bop(e,tp,eg,ep,ev,re,r,rp)
end end
function c50328.elccon(e,tp,eg,ep,ev,re,r,rp) function c50328.elccon(e,tp,eg,ep,ev,re,r,rp)
local a,d=Duel.GetBattleMonster(tp) local a,d=Duel.GetBattleMonster(tp)
return a and a:GetControler()==tp and Duel.GetFlagEffect(tp, 50328)==0 return a and a:GetControler()==tp and a:GetFlagEffect(50328)==0
end end
function c50328.eleop(e,tp,eg,ep,ev,re,r,rp) function c50328.eleop(e,tp,eg,ep,ev,re,r,rp)
local num=1 local num=1
...@@ -46,7 +46,8 @@ function c50328.eleop(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,7 +46,8 @@ function c50328.eleop(e,tp,eg,ep,ev,re,r,rp)
if genso==50213 and count>1 then num=2-count end if genso==50213 and count>1 then num=2-count end
if num<0 then num=0 end if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50213,num,e) TET.ELCounter.Add(nil,1-tp,50213,num,e)
Duel.RegisterFlagEffect(tp, 50328, RESET_PHASE+PHASE_END, 0, 1) local a,d=Duel.GetBattleMonster(tp)
a:RegisterFlagEffect(50328, RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END, 0, 1)
end end
function c50328.filter(c) function c50328.filter(c)
return c:GetPreviousLocation()==LOCATION_OVERLAY return c:GetPreviousLocation()==LOCATION_OVERLAY
......
--鸦羽咒咏☪九条裟罗
function c50337.initial_effect(c)
--Electro
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(50337,0))
e4:SetCategory(CATEGORY_ATKCHANGE)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetCountLimit(1)
e4:SetRange(LOCATION_MZONE)
e4:SetTarget(c50337.btg)
e4:SetOperation(c50337.bop)
c:RegisterEffect(e4)
end
function c50337.btg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c50337.bop(e,tp,eg,ep,ev,re,r,rp)
local num=1
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50213 and count>0 then num=3-count end
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50213,num,e)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil)
if g:GetCount()>0 then
local sc=g:GetFirst()
while sc do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetValue(600)
sc:RegisterEffect(e1)
sc=g:GetNext()
end
end
end
...@@ -28,6 +28,9 @@ function c50340.ctg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -28,6 +28,9 @@ function c50340.ctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,0,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,0,LOCATION_GRAVE)
end end
function c50340.dfilter(c)
return c:IsSetCard(0x250) and c:IsAbleToDeck()
end
function c50340.cop(e,tp,eg,ep,ev,re,r,rp) function c50340.cop(e,tp,eg,ep,ev,re,r,rp)
local num=1 local num=1
local genso,count=TET.ELCounter.Get(1-tp) local genso,count=TET.ELCounter.Get(1-tp)
...@@ -39,7 +42,7 @@ function c50340.cop(e,tp,eg,ep,ev,re,r,rp) ...@@ -39,7 +42,7 @@ function c50340.cop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_PUBLIC) e1:SetCode(EFFECT_PUBLIC)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_GRAVE,0,1,2,nil) local g=Duel.SelectMatchingCard(tp,c50340.dfilter,tp,LOCATION_GRAVE,0,1,2,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoDeck(g,nil,2,REASON_EFFECT) Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end end
......
--翘楚明坤☪云堇
function c50343.initial_effect(c)
--Geo
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(50343,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,50343)
e1:SetCondition(c50343.tgcon1)
e1:SetTarget(c50343.btg)
e1:SetOperation(c50343.tgop1)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(50343,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_BE_BATTLE_TARGET)
e2:SetRange(LOCATION_HAND)
e2:SetCountLimit(1,50343)
e2:SetCondition(c50343.tgcon2)
e2:SetTarget(c50343.btg)
e2:SetOperation(c50343.tgop2)
c:RegisterEffect(e2)
--Immune
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_IMMUNE_EFFECT)
e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e0:SetRange(LOCATION_MZONE)
e0:SetTarget(c50343.target)
e0:SetValue(c50343.efilter)
c:RegisterEffect(e0)
end
function c50343.tfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x250) and c:IsControler(tp) and c:IsLocation(LOCATION_MZONE)
end
function c50343.tgcon1(e,tp,eg,ep,ev,re,r,rp)
if rp==tp or not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:GetCount()==1 and g:IsExists(c50343.tfilter,1,nil,tp)
end
function c50343.btg(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 c50343.tgop1(e,tp,eg,ep,ev,re,r,rp)
local num=1
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50234 and count>0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50234,num,e)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.ChangeTargetCard(ev,Group.FromCards(c))
end
end
function c50343.tgcon2(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
return tc:IsControler(tp) and tc:IsFaceup() and tc:IsSetCard(0x250)
end
function c50343.tgop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
local a=Duel.GetAttacker()
Duel.CalculateDamage(a,c,true)
end
end
function c50343.target(e,c)
local te,g=Duel.GetChainInfo(0,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TARGET_CARDS)
return te and te:IsHasProperty(EFFECT_FLAG_CARD_TARGET) and g and g:IsContains(c) and c:IsSummonType(SUMMON_TYPE_SPECIAL)
end
function c50343.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end
--罪之导引☪罗莎莉亚
function c50355.initial_effect(c)
--Electro
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(50355,0))
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,50355)
e4:SetTarget(c50355.btg)
e4:SetOperation(c50355.bop)
c:RegisterEffect(e4)
local e2 =e4:Clone()
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetRange(LOCATION_HAND)
e2:SetTarget(c50355.ctg)
e2:SetOperation(c50355.cop)
c:RegisterEffect(e2)
end
function c50355.btg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c50355.bop(e,tp,eg,ep,ev,re,r,rp)
local num=1
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50210 and count>1 then num=4-count end
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50210,num,e)
end
function c50355.ctg(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 c50355.cop(e,tp,eg,ep,ev,re,r,rp)
local num=1
local genso,count=TET.ELCounter.Get(1-tp)
if genso==50210 and count>2 then num=4-count end
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50210,num,e)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
...@@ -44,9 +44,9 @@ end ...@@ -44,9 +44,9 @@ end
function c50377.bbop(e,tp,eg,ep,ev,re,r,rp) function c50377.bbop(e,tp,eg,ep,ev,re,r,rp)
local num=1 local num=1
local genso,count=TET.ELCounter.Get(1-tp) local genso,count=TET.ELCounter.Get(1-tp)
if genso==50216 and count>1 then num=2-count end if genso==50210 and count>1 then num=2-count end
if num<0 then num=0 end if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50216,num,e) TET.ELCounter.Add(nil,1-tp,50210,num,e)
local atk=e:GetHandler():GetAttack() local atk=e:GetHandler():GetAttack()
Duel.Recover(tp,atk*2,REASON_EFFECT) Duel.Recover(tp,atk*2,REASON_EFFECT)
if Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)<=2 then if Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)<=2 then
......
--地理法则☪蓝绿之力 --地理法则☪蓝绿之力
function c50501.initial_effect(c) function c50501.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(50501,0)) e1:SetDescription(aux.Stringid(50501,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(2,50501) e1:SetCountLimit(2,50501)
e1:SetCondition(c50501.condition) e1:SetCondition(c50501.condition)
e1:SetCost(c50501.cost1) e1:SetCost(c50501.cost1)
e1:SetTarget(c50501.target1) e1:SetTarget(c50501.target1)
e1:SetOperation(c50501.operation1) e1:SetOperation(c50501.operation1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(50501,1)) e2:SetDescription(aux.Stringid(50501,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_ACTIVATE) e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(2,50501) e2:SetCountLimit(2,50501)
e2:SetCondition(c50501.condition) e2:SetCondition(c50501.condition)
e2:SetCost(c50501.cost2) e2:SetCost(c50501.cost2)
e2:SetTarget(c50501.target2) e2:SetTarget(c50501.target2)
e2:SetOperation(c50501.operation2) e2:SetOperation(c50501.operation2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(50501,2)) e3:SetDescription(aux.Stringid(50501,2))
e3:SetCategory(CATEGORY_TOHAND) e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_GRAVE) e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(2,50501) e3:SetCountLimit(2,50501)
e3:SetCost(c50501.cost3) e3:SetCost(c50501.cost3)
e3:SetTarget(c50501.target3) e3:SetTarget(c50501.target3)
e3:SetOperation(c50501.operation3) e3:SetOperation(c50501.operation3)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c50501.filter(c) function c50501.filter(c)
return c:IsSetCard(0x250) return c:IsSetCard(0x250)
end end
function c50501.condition(e,tp,eg,ep,ev,re,r,rp) function c50501.condition(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c50501.filter,tp,LOCATION_DECK,0,nil) local g=Duel.GetMatchingGroup(c50501.filter,tp,LOCATION_DECK,0,nil)
return g:GetClassCount(Card.GetOriginalCode)>3 return g:GetClassCount(Card.GetOriginalCode)>3
end end
function c50501.spfilter4(c,e,tp) function c50501.spfilter4(c,e,tp)
return c:IsSetCard(0x250) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:GetLevel()==4 return c:IsSetCard(0x250) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:GetLevel()==4
end end
function c50501.spfilter5(c,e,tp) function c50501.spfilter5(c,e,tp)
return c:IsSetCard(0x250) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:GetLevel()==5 return c:IsSetCard(0x250) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:GetLevel()==5
end end
function c50501.cost1(e,tp,eg,ep,ev,re,r,rp,chk) function c50501.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,4000) end if chk==0 then return Duel.CheckLPCost(tp,4000) end
Duel.PayLPCost(tp,4000) Duel.PayLPCost(tp,4000)
end end
function c50501.target1(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c50501.target1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>1 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and Duel.IsExistingMatchingCard(c50501.spfilter4,tp,LOCATION_DECK,0,1,nil,e,tp) and Duel.IsExistingMatchingCard(c50501.spfilter4,tp,LOCATION_DECK,0,1,nil,e,tp)
and Duel.IsExistingMatchingCard(c50501.spfilter5,tp,LOCATION_DECK,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c50501.spfilter5,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_DECK)
end end
function c50501.operation1(e,tp,eg,ep,ev,re,r,rp) function c50501.operation1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=1 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=1 then return end
local c=e:GetHandler() local c=e:GetHandler()
local g4=Duel.GetMatchingGroup(c50501.spfilter4,tp,LOCATION_DECK,0,nil,e,tp) local g4=Duel.GetMatchingGroup(c50501.spfilter4,tp,LOCATION_DECK,0,nil,e,tp)
local g5=Duel.GetMatchingGroup(c50501.spfilter5,tp,LOCATION_DECK,0,nil,e,tp) local g5=Duel.GetMatchingGroup(c50501.spfilter5,tp,LOCATION_DECK,0,nil,e,tp)
local g1=g4:RandomSelect(tp, 1) local g1=g4:RandomSelect(tp, 1)
local g2=g5:RandomSelect(tp, 1) local g2=g5:RandomSelect(tp, 1)
g1:Merge(g2) g1:Merge(g2)
Duel.SpecialSummon(g1,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g1,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetTarget(c50501.splimit) e1:SetTarget(c50501.splimit)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c50501.splimit(e,c) function c50501.splimit(e,c)
return not c:IsSetCard(0x250) return not c:IsSetCard(0x250)
end end
function c50501.cost2(e,tp,eg,ep,ev,re,r,rp,chk) function c50501.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,800) end if chk==0 then return Duel.CheckLPCost(tp,800) end
Duel.PayLPCost(tp,800) Duel.PayLPCost(tp,800)
end end
function c50501.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c50501.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c50501.spfilter4,tp,LOCATION_DECK,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c50501.spfilter4,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end end
function c50501.operation2(e,tp,eg,ep,ev,re,r,rp) function c50501.operation2(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local c=e:GetHandler() local c=e:GetHandler()
local g4=Duel.GetMatchingGroup(c50501.spfilter4,tp,LOCATION_DECK,0,nil,e,tp) local g4=Duel.GetMatchingGroup(c50501.spfilter4,tp,LOCATION_DECK,0,nil,e,tp)
local g1=g4:RandomSelect(tp, 1) local g1=g4:RandomSelect(tp, 1)
Duel.SpecialSummon(g1,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g1,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetTarget(c50501.splimit) e1:SetTarget(c50501.splimit)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c50501.cost3(e,tp,eg,ep,ev,re,r,rp,chk) function c50501.cost3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,200) end if chk==0 then return Duel.CheckLPCost(tp,200) end
Duel.PayLPCost(tp,200) Duel.PayLPCost(tp,200)
end end
function c50501.target3(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c50501.target3(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():IsAbleToHand() end if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND, e:GetHandler(),1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND, e:GetHandler(),1,tp,LOCATION_GRAVE)
end end
function c50501.operation3(e,tp,eg,ep,ev,re,r,rp) function c50501.operation3(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,nil,REASON_EFFECT) Duel.SendtoHand(c,nil,REASON_EFFECT)
end end
end end
...@@ -28,8 +28,19 @@ function c50502.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -28,8 +28,19 @@ function c50502.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(c50502.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end end
end end
function c50502.splimit(e,c)
return not c:IsSetCard(0x250)
end
function c50502.xyzfilter1(c) function c50502.xyzfilter1(c)
return c:IsFaceup() and c:IsType(TYPE_XYZ) return c:IsFaceup() and c:IsType(TYPE_XYZ)
end end
...@@ -39,24 +50,24 @@ end ...@@ -39,24 +50,24 @@ end
function c50502.etg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c50502.etg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c50502.xyzfilter1(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c50502.xyzfilter1(chkc) end
if chk==0 then if chk==0 then
local ct=Duel.GetFlagEffect(tp, 50502)+Duel.GetFlagEffect(1-tp, 50502) local ct=Duel.GetFlagEffect(tp, 50502)+Duel.GetFlagEffect(1-tp, 50502)
local tgg=Duel.IsExistingTarget(c50502.xyzfilter1,tp,LOCATION_MZONE,0,1,nil) local tgg=Duel.IsExistingTarget(c50502.xyzfilter1,tp,LOCATION_MZONE,0,1,nil)
if ct>2 then if ct>2 then
return tgg and Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_GRAVE,ct,e:GetHandler()) return tgg and Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_GRAVE,ct,e:GetHandler())
else else
return tgg and Duel.IsExistingMatchingCard(c50502.xyzfilter2,tp,0,LOCATION_GRAVE,ct,e:GetHandler()) return tgg and Duel.IsExistingMatchingCard(c50502.xyzfilter2,tp,0,LOCATION_GRAVE,ct,e:GetHandler())
end end
end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,c50502.xyzfilter1,tp,LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectTarget(tp,c50502.xyzfilter1,tp,LOCATION_MZONE,0,1,1,nil)
end end
function c50502.eop(e,tp,eg,ep,ev,re,r,rp) function c50502.eop(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetFlagEffect(tp, 50502)+Duel.GetFlagEffect(1-tp, 50502) local ct=Duel.GetFlagEffect(tp, 50502)+Duel.GetFlagEffect(1-tp, 50502)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
local g=Duel.SelectMatchingCard(tp,c50502.xyzfilter2,tp,0,LOCATION_GRAVE,ct,ct,nil) local g=Duel.SelectMatchingCard(tp,c50502.xyzfilter2,tp,0,LOCATION_GRAVE,ct,ct,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.Overlay(tc,g) Duel.Overlay(tc,g)
end end
end end
end end
...@@ -35,7 +35,7 @@ function c50503.initial_effect(c) ...@@ -35,7 +35,7 @@ function c50503.initial_effect(c)
e3:SetTarget(c50503.etg) e3:SetTarget(c50503.etg)
e3:SetOperation(c50503.eop) e3:SetOperation(c50503.eop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--Cryo --Cyro
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_DIRECT_ATTACK) e4:SetCode(EFFECT_DIRECT_ATTACK)
...@@ -129,17 +129,17 @@ function c50503.acon(e,tp,eg,ep,ev,re,r,rp) ...@@ -129,17 +129,17 @@ function c50503.acon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c50503.afilter, tp, LOCATION_MZONE, 0, 2, nil) return Duel.IsExistingMatchingCard(c50503.afilter, tp, LOCATION_MZONE, 0, 2, nil)
end end
function c50503.spfilter(c,e,tp) function c50503.spfilter(c,e,tp)
return c:IsSetCard(0x250) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsLevelBelow(5) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c50503.atg(e,tp,eg,ep,ev,re,r,rp,chk) function c50503.atg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c50503.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c50503.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
function c50503.aop(e,tp,eg,ep,ev,re,r,rp) function c50503.aop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c50503.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c50503.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
......
--闭锁内心的圣女
local m=66919015
local cm=_G["c"..m]
function cm.initial_effect(c)
cm.dfc_front_side=66919017
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(1164)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_EXTRA)
e1:SetCondition(cm.SynMixCondition(aux.Tuner(nil),aux.NonTuner(nil),1,99))
e1:SetTarget(cm.SynMixTarget(aux.Tuner(nil),aux.NonTuner(nil),1,99))
e1:SetOperation(cm.SynMixOperation(aux.Tuner(nil),aux.NonTuner(nil),1,99))
e1:SetValue(SUMMON_TYPE_SYNCHRO)
c:RegisterEffect(e1)
--search
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetTarget(cm.thtg)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
local e12=Effect.CreateEffect(c)
e12:SetType(EFFECT_TYPE_SINGLE)
e12:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e12:SetRange(LOCATION_MZONE)
e12:SetCode(EFFECT_IMMUNE_EFFECT)
e12:SetValue(cm.efilter)
c:RegisterEffect(e1)
--
end
function cm.efilter(e,re)
return e:GetHandlerPlayer()==re:GetOwnerPlayer() and not (re:GetHandler():IsCode(m) or re:GetHandler():IsCode(m+1))
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) and e:GetHandler():GetFlagEffect(m)~=0 end
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local token=Duel.CreateToken(tp,m+1)
Duel.SendtoHand(token,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,token)
end
--
function cm.SynMixCondition(f1,f2,minc,maxc,gc)
return function(e,c,smat,mg1,min,max)
if c==nil then return true end
if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end
local minc=minc
local maxc=maxc
if min then
if min>minc then minc=min end
if max<maxc then maxc=max end
if minc>maxc then return false end
end
local tp=c:GetControler()
local mg
local mgchk=false
if mg1 then
mg=mg1
mgchk=true
else
mg=aux.GetSynMaterials(tp,c)
end
if smat~=nil then mg:AddCard(smat) end
return mg:IsExists(cm.SynMixFilter1,1,nil,f1,f2,minc,maxc,c,mg,smat,gc,mgchk)
end
end
function cm.SynMixTarget(f1,f2,minc,maxc,gc)
return function(e,tp,eg,ep,ev,re,r,rp,chk,c,smat,mg1,min,max)
local minc=minc
local maxc=maxc
if min then
if min>minc then minc=min end
if max<maxc then maxc=max end
if minc>maxc then return false end
end
local g=Group.CreateGroup()
local mg
if mg1 then
mg=mg1
else
mg=aux.GetSynMaterials(tp,c)
end
if smat~=nil then mg:AddCard(smat) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local mat1=mg:FilterSelect(tp,cm.SynMixFilter1,1,1,nil,f1,f2,minc,maxc,c,mg,smat,gc):GetFirst()
g:AddCard(mat1)
local g2=Group.CreateGroup()
for i=0,maxc-1 do
local mg2=mg:Clone()
mg2=mg2:Filter(f2,g,c)
local cg=mg2:Filter(cm.SynMixCheckRecursive,g2,tp,g2,mg2,i,minc,maxc,c,g,smat,gc)
if cg:GetCount()==0 then break end
local minct=1
if cm.SynMixCheckGoal(tp,g2,minc,i,c,g,smat,gc) then
minct=0
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local tg=cg:Select(tp,minct,1,nil)
if tg:GetCount()==0 then break end
g2:Merge(tg)
end
g:Merge(g2)
if g:GetCount()>0 then
g:KeepAlive()
e:SetLabelObject(g)
return true
else return false end
end
end
function cm.SynMixOperation(f1,f2,minct,maxc,gc)
return function(e,tp,eg,ep,ev,re,r,rp,c,smat,mg,min,max)
local g=e:GetLabelObject()
c:SetMaterial(g)
if not Duel.CheckSynchroMaterial(c,aux.Tuner(nil),aux.NonTuner(nil),g:GetCount()-1,g:GetCount()-1,smat,g) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_CHANGE_LEVEL)
e1:SetValue(12)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD)
c:RegisterEffect(e1)
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD,0,1)
end
Duel.SendtoGrave(g,REASON_MATERIAL+REASON_SYNCHRO)
g:DeleteGroup()
end
end
function cm.SynMixFilter1(c,f1,f2,minc,maxc,syncard,mg,smat,gc,mgchk)
return f1(c,syncard) and mg:IsExists(cm.SynMixFilter2,1,c,f2,minc,maxc,syncard,mg,smat,c,gc,mgchk)
end
function cm.SynMixFilter2(c,f2,minc,maxc,syncard,mg1,smat,mat1,gc,mgchk)
if not f2(c,syncard,mat1) then return false end
local sg=Group.FromCards(mat1,c)
local mg=mg1:Clone()
mg=mg:Filter(f2,sg,syncard)
return cm.SynMixCheck(mg,sg,minc-1,maxc-1,syncard,smat,gc,mgchk)
end
function cm.SynMixCheck(mg,sg1,minc,maxc,syncard,smat,gc,mgchk)
local tp=syncard:GetControler()
local sg=Group.CreateGroup()
if minc==0 and cm.SynMixCheckGoal(tp,sg1,0,0,syncard,sg,smat,gc,mgchk) then return true end
if maxc==0 then return false end
return mg:IsExists(cm.SynMixCheckRecursive,1,nil,tp,sg,mg,0,minc,maxc,syncard,sg1,smat,gc,mgchk)
end
function cm.SynMixCheckRecursive(c,tp,sg,mg,ct,minc,maxc,syncard,sg1,smat,gc,mgchk)
sg:AddCard(c)
ct=ct+1
local res=cm.SynMixCheckGoal(tp,sg,minc,ct,syncard,sg1,smat,gc,mgchk)
or (ct<maxc and mg:IsExists(cm.SynMixCheckRecursive,1,sg,tp,sg,mg,ct,minc,maxc,syncard,sg1,smat,gc,mgchk))
sg:RemoveCard(c)
ct=ct-1
return res
end
function cm.SynMixCheckGoal(tp,sg,minc,ct,syncard,sg1,smat,gc,mgchk)
if ct<minc then return false end
local g=sg:Clone()
if sg1 then g:Merge(sg1) end
if Duel.GetLocationCountFromEx(tp,tp,g,syncard)<1 then return false end
if gc and not gc(g) then return false end
if smat and not g:IsContains(smat) then return false end
if not Auxiliary.MustMaterialCheck(g,tp,EFFECT_MUST_BE_SMATERIAL) then return false end
local b1=Duel.CheckSynchroMaterial(syncard,aux.Tuner(nil),aux.NonTuner(nil),g:GetCount()-1,g:GetCount()-1,smat,g)
local b2=false
local le=Effect.CreateEffect(syncard)
le:SetType(EFFECT_TYPE_SINGLE)
le:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_CANNOT_DISABLE)
le:SetCode(EFFECT_CHANGE_LEVEL)
le:SetValue(12)
syncard:RegisterEffect(le,true)
if Duel.CheckSynchroMaterial(syncard,aux.Tuner(Card.IsSynchroType,TYPE_SYNCHRO),aux.NonTuner(Card.IsSynchroType,TYPE_SYNCHRO),g:GetCount()-1,g:GetCount()-1,smat,g) then b2=true end
le:Reset()
if (not b1) and (not b2) then return false end
local hg=g:Filter(Card.IsLocation,nil,LOCATION_HAND)
if hg:GetCount()>0 and not mgchk then
local found=false
for c in aux.Next(g) do
local he,hf,hmin,hmax=c:GetHandSynchro()
if he then
found=true
if hf and hg:IsExists(Auxiliary.SynLimitFilter,1,c,hf,he,syncard) then return false end
if (hmin and hg:GetCount()<hmin) or (hmax and hg:GetCount()>hmax) then return false end
end
end
if not found then return false end
end
for c in aux.Next(g) do
local le,lf,lloc,lmin,lmax=c:GetTunerLimit()
if le then
local lct=g:GetCount()-1
if lloc then
local llct=g:FilterCount(Card.IsLocation,c,lloc)
if llct~=lct then return false end
end
if lf and g:IsExists(Auxiliary.SynLimitFilter,1,c,lf,le,syncard) then return false end
if (lmin and lct<lmin) or (lmax and lct>lmax) then return false end
end
end
return true
end
\ No newline at end of file
--秘仪『七星之剑』
function c74563029.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_DRAW)
e1:SetCondition(c74563029.regcon)
e1:SetOperation(c74563029.regop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCondition(c74563029.condition)
e2:SetCost(c74563029.cost)
e2:SetTarget(c74563029.target)
e2:SetOperation(c74563029.activate)
c:RegisterEffect(e2)
end
function c74563029.regcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return Duel.GetFlagEffect(tp,74563029)==0 and Duel.GetCurrentPhase()==PHASE_DRAW and c:IsReason(REASON_RULE)
end
function c74563029.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.SelectYesNo(tp,aux.Stringid(74563029,0)) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_PUBLIC)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_MAIN1)
c:RegisterEffect(e1)
c:RegisterFlagEffect(74563029,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_MAIN1,EFFECT_FLAG_CLIENT_HINT,1,0,66)
end
end
function c74563029.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 and not Duel.CheckPhaseActivity()
end
function c74563029.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(74563029)~=0 end
end
function c74563029.filter(c,e,tp)
return c.dfc_front_side and not c:IsType(TYPE_FLIP) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsRace(RACE_PSYCHO)
end
function c74563029.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c74563029.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetChainLimit(aux.FALSE)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c74563029.activate(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,c74563029.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
if Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_ATTACK)~=0 then
local tc=g:GetFirst()
e:SetLabel(tc.dfc_front_side)
local c=e:GetHandler()
local mcode=tc:GetOriginalCode()
if Duel.ChangePosition(tc,POS_FACEDOWN_ATTACK,POS_FACEDOWN_DEFENSE,POS_FACEDOWN_ATTACK,POS_FACEDOWN_DEFENSE)>0 then
local tcode=e:GetLabel()
tc:SetEntityCode(tcode,true)
tc:ReplaceEffect(tcode,0,0)
Duel.SetMetatable(tc,_G["c"..tcode])
Duel.ChangePosition(tc,POS_FACEUP_ATTACK)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not mcode then return end
c:SetEntityCode(mcode)
c:ReplaceEffect(mcode,0,0)
Duel.SetMetatable(c,_G["c"..mcode])
end)
tc:RegisterEffect(e2)
end
end
end
end
function c74563029.spfilter(c,e,tp)
return c:IsSetCard(0x410) and c:IsRace(RACE_PSYCHO) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_PENDULUM,tp,false,false)
end
function c74563029.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c74563029.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c74563029.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,c74563029.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if #g>0 then
Duel.SpecialSummon(g,SUMMON_TYPE_PENDULUM,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
--春符『惊喜之春』
require("expansions/script/nef/nef")
function c74563030.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_RECOVER+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c74563030.activate)
c:RegisterEffect(e1)
--act in hand
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e2:SetCondition(c74563030.handcon)
c:RegisterEffect(e2)
Nef.SeasonChange(c)
end
function c74563030.handcon(e)
return Nef.PLCounter.Get(e:GetHandlerPlayer(),999104)==1
end
function c74563030.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
--damage
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetOperation(c74563030.regop)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetCondition(c74563030.damcon)
e3:SetOperation(c74563030.damop)
e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp)
local e31=Effect.CreateEffect(c)
e31:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e31:SetCode(EVENT_PHASE+PHASE_END)
e31:SetCountLimit(1)
e31:SetOperation(c74563030.effop)
e31:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e31,tp)
end
function c74563030.regop(e,tp,eg,ep,ev,re,r,rp)
if rp==tp then return end
e:GetHandler():RegisterFlagEffect(74563030,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_CHAIN,0,1)
end
function c74563030.damcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return ep~=tp and c:GetFlagEffect(74563030)~=0
end
function c74563030.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,74563030)
Duel.Recover(tp,600,REASON_EFFECT)
end
function c74563030.spfilter(c,lv,e,tp)
return (c:IsLevelBelow(lv) or c:IsRankBelow(lv)) and c:IsSetCard(0x123) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and (not c:IsLocation(LOCATION_EXTRA) or Duel.GetLocationCountFromEx(tp,tp,nil,c)>0)
end
function c74563030.effop(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c74563030.spfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,nil,ct,e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(74563030,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c74563030.spfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,1,nil,ct,e,tp)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
This diff is collapsed.
--九尾妖兽✿八云蓝
function c86379694.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(c86379694.spcon)
e1:SetOperation(c86379694.spop)
c:RegisterEffect(e1)
--nine
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ADJUST)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c86379694.condition)
e2:SetOperation(c86379694.operation)
c:RegisterEffect(e2)
--tozone
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetOperation(c86379694.tzop)
c:RegisterEffect(e3)
--remove
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(86379694,0))
e5:SetCategory(CATEGORY_POSITION)
e5:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_REMOVE)
e5:SetTarget(c86379694.gtg)
e5:SetOperation(c86379694.gop)
c:RegisterEffect(e5)
--
if not c86379694.global_check then
c86379694.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SUMMON_SUCCESS)
ge1:SetOperation(c86379694.checkop1)
Duel.RegisterEffect(ge1,0)
local ge2=Effect.CreateEffect(c)
ge2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge2:SetCode(EVENT_SPSUMMON_SUCCESS)
ge2:SetOperation(c86379694.checkop2)
Duel.RegisterEffect(ge2,0)
local ge3=Effect.CreateEffect(c)
ge3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge3:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
ge3:SetOperation(c86379694.checkop3)
Duel.RegisterEffect(ge3,0)
local ge4=Effect.CreateEffect(c)
ge4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge4:SetCode(EVENT_MSET)
ge4:SetOperation(c86379694.checkop1)
Duel.RegisterEffect(ge4,0)
local ge5=Effect.CreateEffect(c)
ge5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge5:SetCode(EVENT_SSET)
ge5:SetOperation(c86379694.checkop4)
Duel.RegisterEffect(ge5,0)
end
end
--
function c86379694.checkop1(e,tp,eg,ep,ev,re,r,rp)
for tc in aux.Next(eg) do
tc:RegisterFlagEffect(186379654,RESET_EVENT+RESET_TOFIELD+RESET_TOHAND+RESET_TOGRAVE+RESET_PHASE+PHASE_END,0,1)
end
end
function c86379694.checkop2(e,tp,eg,ep,ev,re,r,rp)
for tc in aux.Next(eg) do
tc:RegisterFlagEffect(186379655,RESET_EVENT+RESET_TOFIELD+RESET_TOHAND+RESET_TOGRAVE+RESET_PHASE+PHASE_END,0,1)
end
end
function c86379694.checkop3(e,tp,eg,ep,ev,re,r,rp)
for tc in aux.Next(eg) do
tc:RegisterFlagEffect(186379656,RESET_EVENT+RESET_TOFIELD+RESET_TOHAND+RESET_TOGRAVE+RESET_PHASE+PHASE_END,0,1)
end
end
function c86379694.checkop4(e,tp,eg,ep,ev,re,r,rp)
for tc in aux.Next(eg) do
tc:RegisterFlagEffect(186379657,RESET_EVENT+RESET_TOFIELD+RESET_TOHAND+RESET_TOGRAVE+RESET_PHASE+PHASE_END,0,1)
end
end
--
function c86379694.filter(c)
return c:IsSetCard(0x225a) and c:IsAbleToRemoveAsCost() and c:IsRace(RACE_BEAST)
end
function c86379694.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
and Duel.IsExistingMatchingCard(c86379694.filter,tp,LOCATION_MZONE,0,1,nil)
end
function c86379694.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c86379694.filter,tp,LOCATION_MZONE,0,1,1,nil)
local tc=g:GetFirst()
Duel.Remove(tc,POS_FACEUP,REASON_COST+REASON_TEMPORARY)
if tc:IsLocation(LOCATION_REMOVED) then
local fid=c:GetFieldID()
tc:RegisterFlagEffect(86379694,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
tc:RegisterFlagEffect(86379695,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,2,fid)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetLabel(fid)
e1:SetLabelObject(tc)
e1:SetCondition(c86379694.con1_2)
e1:SetOperation(c86379694.op1_2)
e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp)
end
end
function c86379694.con1_2(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
return tc:GetFlagEffect(86379694)<=0
end
function c86379694.op1_2(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
local fid=e:GetLabel()
if tc:GetFlagEffect(86379695)>0 and tc:GetFlagEffectLabel(86379695)==fid then
Duel.ReturnToField(tc)
end
end
--
function c86379694.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,LOCATION_ONFIELD)>12
end
function c86379694.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,c)
while Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,LOCATION_ONFIELD)>12 and g:GetCount()>0 do
local sg=g:GetMaxGroup(Card.GetFieldID)
local tc=sg:GetFirst()
g:RemoveCard(tc)
if Duel.Remove(tc,POS_FACEUP,REASON_RULE+REASON_TEMPORARY)~=0 then
if tc:IsLocation(LOCATION_REMOVED) then
tc:CreateRelation(c,RESET_EVENT+RESETS_STANDARD)
c:SetCardTarget(tc)
end
end
end
end
--
function c86379694.tzfilter(c,rc)
return c:IsRelateToCard(rc)
end
function c86379694.tzop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c86379694.tzfilter,tp,LOCATION_REMOVED,LOCATION_REMOVED,nil,c)
if g:GetCount()>0 then
for tc in aux.Next(g) do
Duel.ReturnToField(tc)
end
end
end
--
function c86379694.gtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then
if bit.band(c:GetReason(),REASON_TEMPORARY)~=0 then
return
chkc:IsLocation(LOCATION_MZONE)
else
return
chkc:IsLocation(LOCATION_MZONE) and chkc:IsCanChangePosition()
end
end
if chk==0 then
if bit.band(c:GetReason(),REASON_TEMPORARY)~=0 then
return
Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
else
return
Duel.IsExistingTarget(Card.IsCanChangePosition,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
end
end
if bit.band(c:GetReason(),REASON_TEMPORARY)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,1,0,0)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectTarget(tp,Card.IsCanChangePosition,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,1,0,0)
end
end
function c86379694.gop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.ChangePosition(tc,POS_FACEUP_DEFENSE,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK)
end
local rc=e:GetHandler()
if rc:IsRelateToEffect(e) and bit.band(rc:GetReason(),REASON_TEMPORARY)~=0 and rc:IsPreviousLocation(LOCATION_ONFIELD) then
local pos=rc:GetPreviousPosition()
local cp=rc:GetPreviousControler()
if rc:IsType(TYPE_FIELD) and rc:IsPreviousLocation(LOCATION_FZONE) then
if Duel.GetFieldCard(cp,LOCATION_SZONE,5) then
Duel.SendtoGrave(rc,REASON_RULE)
else
Duel.MoveToField(rc,cp,cp,LOCATION_FZONE,pos,true)
if rc:IsFacedown() and rc:GetFlagEffect(186379657)>0 then
rc:SetStatus(STATUS_SET_TURN,true)
end
end
elseif rc:IsType(TYPE_PENDULUM) and rc:IsPreviousLocation(LOCATION_PZONE) then
if Duel.GetFieldCard(cp,LOCATION_PZONE,0) and Duel.GetFieldCard(cp,LOCATION_PZONE,1) then
Duel.SendtoGrave(rc,REASON_RULE)
else
Duel.MoveToField(rc,cp,cp,LOCATION_PZONE,pos,true)
end
elseif rc:IsType(TYPE_MONSTER) and rc:IsPreviousLocation(LOCATION_SZONE) then
local ty=rc:GetPreviousTypeOnField()
if Duel.GetLocationCount(cp,LOCATION_SZONE)>0 then
Duel.MoveToField(rc,cp,cp,LOCATION_SZONE,pos,true)
local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetValue(ty)
rc:RegisterEffect(e1,true)
else
Duel.SendtoGrave(rc,REASON_RULE)
end
elseif rc:IsPreviousLocation(LOCATION_MZONE) then
if Duel.GetLocationCount(cp,LOCATION_MZONE)>0 and rc:IsType(TYPE_MONSTER) then
local a=0
if rc:GetFlagEffect(186379654)>0 then
a=1
end
if rc:GetFlagEffect(186379655)>0 then
a=2
end
if rc:GetFlagEffect(186379656)>0 then
a=3
end
Duel.MoveToField(rc,cp,cp,LOCATION_MZONE,pos,true)
if a==1 then
rc:SetStatus(STATUS_SUMMON_TURN,true)
end
if a==2 then
rc:SetStatus(STATUS_SPSUMMON_TURN,true)
end
if a==3 then
rc:SetStatus(STATUS_FLIP_SUMMON_TURN,true)
end
else
Duel.SendtoGrave(rc,REASON_RULE)
end
elseif rc:IsPreviousLocation(LOCATION_SZONE) then
if Duel.GetLocationCount(cp,LOCATION_SZONE)>0 then
local a=0
if rc:GetFlagEffect(186379657)>0 then
a=4
end
Duel.MoveToField(rc,cp,cp,LOCATION_SZONE,pos,true)
if rc:IsFacedown() and a==4 then
rc:SetStatus(STATUS_SET_TURN,true)
end
else
Duel.SendtoGrave(rc,REASON_RULE)
end
end
end
end
--湖✿中冰晶
function c99999003.initial_effect(c)
--spsummon proc
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCondition(c99999003.spcon)
e1:SetTarget(c99999003.sptg)
e1:SetOperation(c99999003.spop)
e1:SetCountLimit(1,99999003)
c:RegisterEffect(e1)
--cannot link material
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e2:SetValue(c99999003.lmlimit)
c:RegisterEffect(e2)
--draw
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DRAW)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCondition(c99999003.drcon)
e3:SetTarget(c99999003.drtg)
e3:SetOperation(c99999003.drop)
c:RegisterEffect(e3)
end
function c99999003.lmlimit(e)
local c=e:GetHandler()
return c:IsStatus(STATUS_SPSUMMON_TURN)
end
function c99999003.spfilter(c)
return c:IsFaceup() and c:GetOriginalCode()==(22090)
end
function c99999003.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
function c99999003.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c99999003.cfilter,tp,LOCATION_FZONE,0,1,nil)
end
function c99999003.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 c99999003.drcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_GRAVE) and r==REASON_SYNCHRO and e:GetHandler():GetReasonCard():IsSetCard(0x999)
end
function c99999003.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c99999003.drop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
end
This diff is collapsed.
Duel.LoadScript("nef/nef.lua")
Duel.LoadScript("nef/msc.lua")
Duel.LoadScript("nef/fus.lua")
Duel.LoadScript("nef/ets.lua")
Duel.LoadScript("nef/elf.lua")
Duel.LoadScript("nef/dss.lua")
Duel.LoadScript("nef/afi.lua")
-- require "expansions/script/nef/nef"
-- require "expansions/script/nef/msc"
-- require "expansions/script/nef/fus"
-- require "expansions/script/nef/ets"
-- require "expansions/script/nef/elf"
-- require "expansions/script/nef/dss"
-- require "expansions/script/nef/afi"
-- require "nef/nef"
-- require "nef/msc"
-- require "nef/fus"
-- require "nef/ets"
-- require "nef/elf"
-- require "nef/dss"
-- require "nef/afi"
\ No newline at end of file
This diff is collapsed.
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