Commit 4978ddf0 authored by Nemo Ma's avatar Nemo Ma

Update

parent 81cd4e33
No preview for this file type
......@@ -21,15 +21,15 @@ function cm.initial_effect(c)
end)
e1:SetOperation(function(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(pfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
Duel.ChangePosition(tc,POS_FACEUP_ATTACK)
Duel.ChangePosition(g,POS_FACEUP_ATTACK)
local c=e:GetHandler()
if #g>0 and c:IsFaceup() and c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e1:SetValue(#g*200)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
......
......@@ -14,7 +14,7 @@ function cm.initial_effect(c)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
local e2=Effect.CreateEffect(c)
e2:SetDescription(m*16)
e2:SetDescription(aux.Stringid(m,0))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetRange(LOCATION_MZONE)
......@@ -34,9 +34,8 @@ function cm.initial_effect(c)
end)
c:RegisterEffect(e2)
local e2=Effect.CreateEffect(c)
e2:SetDescription(m*16)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetDescription(aux.Stringid(m,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m)
e2:SetCost(function(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -52,11 +51,14 @@ function cm.initial_effect(c)
Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,ANNOUNCE_CARD_FILTER)
end)
e2:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetMatchingGroup(v_filter,tp,0,LOCATION_HAND+LOCATION_ONFIELD,nil)
Duel.ConfirmCards(tp,tg)
local ac=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
local g=Duel.GetMatchingGroup(v_filter,tp,0,LOCATION_HAND+LOCATION_ONFIELD,nil):Filter(Card.IsCode,nil,ac)
local g=tg:Filter(Card.IsCode,nil,ac)
if g:GetCount()>0 then
Duel.Destroy(g,REASON_EFFECT)
end
Duel.ShuffleHand(1-tp)
end)
c:RegisterEffect(e2)
end
......@@ -76,14 +78,14 @@ function cm.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetReleaseGroup(tp):Filter(cm.spfilter,nil,c)
local g2=Duel.GetMatchingGroup(1-tp):Filter(cm.spfilter_,nil,c)
g1:Merge(g2)
local g2=Duel.GetReleaseGroup(1-tp):Filter(cm.spfilter_,nil,c)
g:Merge(g2)
return g:IsExists(cm.spfilter1,1,nil,tp,g)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetReleaseGroup(tp):Filter(cm.spfilter,nil,c)
local g2=Duel.GetMatchingGroup(1-tp):Filter(cm.spfilter_,nil,c)
g1:Merge(g2)
local g2=Duel.GetReleaseGroup(1-tp):Filter(cm.spfilter_,nil,c)
g:Merge(g2)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g1=g:FilterSelect(tp,cm.spfilter1,1,1,nil,tp,g)
local mc=g1:GetFirst()
......
......@@ -20,7 +20,6 @@ function c33700373.initial_effect(c)
c:RegisterEffect(e3)
--tg
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_BATTLE_DAMAGE)
e2:SetCondition(c33700373.condition)
......@@ -36,13 +35,13 @@ function c33700373.operation(e,tp,eg,ep,ev,re,r,rp)
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e3:SetReset(RESET_PHASE+PHASE_END,2)
e3:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetTargetRange(0xff,0xff)
e3:SetTargetRange(LOCATION_ONFIELD,LOCATION_ONFIELD)
e3:SetTarget(c33700373.tg)
e3:SetValue(1)
e3:SetValue(aux.tgoval)
Duel.RegisterEffect(e3,tp)
end
function c33700373.tg(e,re,rp)
return re:GetHandler()~=e:GetOwner() and rp==1-e:GetHandlerPlayer()
function c33700373.tg(e,c)
return c~=e:GetHandler()
end
function c33700373.damcon(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
......
......@@ -89,8 +89,6 @@ function cm.coutg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HANDE)
end
if ct>=10 then
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
if ct>=20 then
......@@ -111,8 +109,7 @@ function cm.couop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
if ct>=10 or e:GetLabel()==33700090 then
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
Duel.Draw(tp,1,REASON_EFFECT)
end
if ct>=20 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
......
......@@ -82,7 +82,7 @@ function cm.rectg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function cm.recop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT) then
if tc:IsRelateToEffect(e) and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)>0 then
Duel.Recover(tp,tc:GetAttack(),REASON_EFFECT)
end
end
......
......@@ -45,7 +45,7 @@ function cm.rectg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function cm.recop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT) then
if tc:IsRelateToEffect(e) and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)>0 then
Duel.Recover(tp,tc:GetDefense(),REASON_EFFECT)
end
end
......
......@@ -21,15 +21,12 @@ function c33700905.initial_effect(c)
e3:SetCode(EFFECT_CANNOT_ACTIVATE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(1,1)
e3:SetValue(c33700905.aclimit)
e3:SetValue(aux.TRUE)
c:RegisterEffect(e3)
end
function c33700905.disable(e,c)
return c~=e:GetHandler()
end
function c33700905.aclimit(e,re,tp)
return not re:GetHandler():IsImmuneToEffect(e)
end
function c33700905.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not e:IsHasType(EFFECT_TYPE_ACTIVATE) then return end
......
......@@ -86,9 +86,9 @@ function c33700921.operation(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(33700921,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,0)
end
function c33700921.dop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,0)
if Duel.SelectYesNo(tp,aux.Stringid(33700921,0)) then
Duel.Recover(tp,ev,REASON_EFFECT)
end
Duel.ChangeBattleDamage(ep,0)
end
end
......@@ -65,8 +65,8 @@ function c33700933.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c33700933.activate(e,tp,eg,ep,ev,re,r,rp,chk)
local lp=Duel.GetLP(tp)-1
if lp<=0 then return end
Duel.SetLP(tp,lp)
if Duel.GetLP(tp)<=1 then return end
Duel.SetLP(tp,1)
local b1=lp<9999
local b2=lp>=9999 and Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
local b3=lp>=15000 and Duel.IsExistingMatchingCard(nil,tp,LOCATION_HAND,LOCATION_HAND,1,nil)
......
......@@ -36,7 +36,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp,chk)
local act=Duel.AnnounceNumber(tp,table.unpack(t))
Duel.ConfirmDecktop(tp,act)
local rg=Duel.GetDecktopGroup(tp,act)
local codect=rg:GetClassCount(Card.IsCode)
local codect=rg:GetClassCount(Card.GetCode)
if codect<act then
if c then Duel.SendtoGrave(c,REASON_EFFECT)
Duel.ShuffleDeck(tp)
......
--动物朋友 北狐 ~雪~
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
local m=33700941
local cm=_G["c"..m]
function cm.initial_effect(c)
function c33700941.initial_effect(c)
--synchro summon
c:EnableReviveLimit()
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
local e1=rsef.SV_LIMIT(c,"ress")
local e2=rsef.SV_LIMIT(c,"resns")
local e3=rsef.STO(c,EVENT_SPSUMMON_SUCCESS,{m,0},1)
e3:SetOperation(function(e,tp)
local g=Duel.GetFieldGroup(tp,LOCATION_DECK,0)
if #g>0 then Duel.ConfirmCards(1-tp,g) end
if g:GetClassCount(Card.GetCode)<#g then return end
local rc=rscf.GetRelationCard(e)
if rc then
e:GetLabelObject():SetLabel(1)
end
end)
local f1=function(tp)
local g=Duel.GetFieldGroup(tp,LOCATION_GRAVE,0)
return g:GetClassCount(Card.GetCode)==#g
end
local e4=rsef.QO(c,EVENT_CHAINING,{m,0},1,"rm,neg","dsp,dcal",LOCATION_MZONE,rscon.negcon(f1),nil,cm.tg,cm.op)
e3:SetLabelObject(e4)
local f2=function(e)
return Duel.GetCurrentChain()==0
--cannot release
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UNRELEASABLE_SUM)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(1)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UNRELEASABLE_NONSUM)
c:RegisterEffect(e2)
--gain effect
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetTarget(c33700941.getg)
e3:SetOperation(c33700941.geop)
c:RegisterEffect(e3)
end
function c33700941.getg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0 end
end
function c33700941.geop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetFieldGroup(tp,LOCATION_DECK,0)
if g:GetCount()<1 then return end
Duel.ConfirmCards(1-tp,g)
if g:GetClassCount(Card.GetCode)==g:GetCount() and c:IsRelateToEffect(e) and c:IsFaceup() then
c33700941.arcanareg(c)
end
local e4=rsef.QO(c,EVENT_SPSUMMON,{m,0},1,"rm,diss",nil,LOCATION_MZONE,f2,nil,cm.tg2,cm.op2)
Duel.ShuffleDeck(tp)
end
function cm.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE_SUMMON,eg,eg:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,eg,eg:GetCount(),0,0)
function c33700941.arcanareg(c)
--negate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e1:SetCondition(c33700941.negcon)
e1:SetTarget(c33700941.negtg)
e1:SetOperation(c33700941.negop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
--disable spsummon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DISABLE_SUMMON+CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_SPSUMMON)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e2:SetCondition(c33700941.dscon)
e2:SetTarget(c33700941.dstg)
e2:SetOperation(c33700941.dsop)
c:RegisterEffect(e2)
end
function cm.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateSummon(eg)
Duel.Remove(eg,POS_FACEUP,REASON_EFFECT)
function c33700941.negcon(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,LOCATION_GRAVE,0)
return g:GetClassCount(Card.GetCode)==g:GetCount()
and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return re:GetHandler():IsAbleToRemove() and e:GetLabel()==1 end
function c33700941.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return aux.nbcon(tp,re) end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_REMOVE,eg,1,0,0)
end
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
function c33700941.negop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Remove(eg,POS_FACEUP,REASON_EFFECT)
end
end
\ No newline at end of file
end
function c33700941.dscon(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,LOCATION_GRAVE,0)
return g:GetClassCount(Card.GetCode)==g:GetCount() and Duel.GetCurrentChain()==0
end
function c33700941.dstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE_SUMMON,eg,eg:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,eg,eg:GetCount(),0,0)
end
function c33700941.dsop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateSummon(eg)
Duel.Remove(eg,POS_FACEUP,REASON_EFFECT)
end
......@@ -5,7 +5,8 @@ local cm=_G["c"..m]
function cm.initial_effect(c)
rscf.SetSummonCondition(c)
aux.AddXyzProcedureLevelFree(c,cm.mfilter,aux.TRUE,40,40)
local e1=rsef.I(c,{m,0},{1,m,2},"sp",nil,LOCATION_EXTRA+LOCATION_GRAVE,nil,rscost.lpcost(true),cm.sptg,cm.spop)
local e0=rsef.I(c,{m,0},{1,m,2},"sp",nil,LOCATION_EXTRA,nil,rscost.lpcost(true),cm.sptg,cm.spop)
local e1=rsef.I(c,{m,0},{1,m,2},"sp",nil,LOCATION_GRAVE,nil,rscost.lpcost(true),cm.sptg,cm.spop)
local e3=rsef.SV_ADD(c,"att",cm.attfilter)
local e5=rsef.SV_INDESTRUCTABLE(c,"battle",1,cm.con(ATTRIBUTE_LIGHT))
local e8=rsef.I(c,{m,2},1,"th","tg",LOCATION_MZONE,cm.con(ATTRIBUTE_WATER),nil,rstg.target({Card.IsAbleToHand,"th",LOCATION_ONFIELD,0,1,1,c}),cm.thop)
......@@ -77,7 +78,7 @@ function cm.rfilter(c,e,tp)
end
function cm.rtg(e,tp,eg,ep,ev,re,r,rp,chk)
local og=e:GetLabelObject():GetLabelObject()
if chk==0 then return og:IsExists(cm.rfilter,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
if chk==0 then return og and og:IsExists(cm.rfilter,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetTargetCard(og)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_GRAVE)
end
......
--.LiveVTuber Kiso Azuki
function c33701100.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,1,3)
c:EnableReviveLimit()
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCost(c33701100.tgcost)
e2:SetOperation(c33701100.tgop)
c:RegisterEffect(e2)
--extra material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701100,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetLabelObject(c)
e2:SetCondition(c33701100.xyzcon)
e2:SetOperation(c33701100.xyzop)
e2:SetValue(SUMMON_TYPE_XYZ)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetTarget(c33701100.mattg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
end
function c33701100.tgcost(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c33701100.tgop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAINING)
e1:SetLabelObject(e)
e1:SetOperation(c33701100.actop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetLabelObject(e)
e2:SetOperation(c33701100.actop1)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
function c33701100.actop(e,tp,eg,ep,ev,re,r,rp)
local xe=e:GetLabelObject()
if ep==tp and re~=xe then
Duel.SetChainLimit(c33701100.chainlm)
e:Reset()
end
end
function c33701100.chainlm(e,rp,tp)
return tp==rp
end
function c33701100.actop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local xe=e:GetLabelObject()
if ep==tp and re~=xe then
e:Reset()
if Duel.GetCurrentPhase()==PHASE_STANDBY then
Duel.SkipPhase(tp,PHASE_STANDBY,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(tp,PHASE_MAIN1,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(tp,PHASE_BATTLE,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(tp,PHASE_MAIN2,RESET_PHASE+PHASE_END,1)
elseif Duel.GetCurrentPhase()==PHASE_MAIN1 then
Duel.SkipPhase(tp,PHASE_MAIN1,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(tp,PHASE_BATTLE,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(tp,PHASE_MAIN2,RESET_PHASE+PHASE_END,1)
elseif Duel.GetCurrentPhase()==PHASE_BATTLE then
Duel.SkipPhase(tp,PHASE_BATTLE,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(tp,PHASE_MAIN2,RESET_PHASE+PHASE_END,1)
elseif Duel.GetCurrentPhase()==PHASE_MAIN2 then
Duel.SkipPhase(tp,PHASE_MAIN2,RESET_PHASE+PHASE_END,1)
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_SKIP_DP)
e1:SetTargetRange(0,1)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
Duel.RegisterEffect(e1,tp)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_SKIP_SP)
e1:SetTargetRange(0,1)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
Duel.RegisterEffect(e1,tp)
end
end
function c33701100.mattg(e,c)
return c:IsSetCard(0x1445) and c:IsType(TYPE_XYZ) and c:IsRank(2,12)
end
function c33701100.xyzcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
local xc=e:GetLabelObject()
return Duel.GetLocationCountFromEx(tp,tp,xc,e:GetHandler())>0 and xc:IsCanBeXyzMaterial(nil)
end
function c33701100.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local xc=e:GetLabelObject()
local mg=xc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(e:GetHandler(),mg)
end
e:GetHandler():SetMaterial(Group.FromCards(xc))
Duel.Overlay(e:GetHandler(),Group.FromCards(xc))
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetTargetRange(1,0)
e3:SetTarget(c33701100.splimit)
Duel.RegisterEffect(e3,tp)
end
function c33701100.splimit(e,c,tp,sumtp,sumpos)
return bit.band(sumtp,SUMMON_TYPE_XYZ)==SUMMON_TYPE_XYZ
end
--.LiveVTuber Yozakura Tama
function c33701101.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,2,3)
c:EnableReviveLimit()
--cannot direct attack
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
c:RegisterEffect(e1)
--chain attack
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33701101,0))
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BATTLE_DESTROYING)
e3:SetCost(c33701101.atcost)
e3:SetCondition(c33701101.atcon)
e3:SetOperation(c33701101.atop)
c:RegisterEffect(e3)
--ov
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_PHASE+PHASE_BATTLE)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1)
e4:SetTarget(c33701101.sptg)
e4:SetOperation(c33701101.spop)
c:RegisterEffect(e4)
--extra material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701101,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetLabelObject(c)
e2:SetCondition(c33701101.xyzcon)
e2:SetOperation(c33701101.xyzop)
e2:SetValue(SUMMON_TYPE_XYZ)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetTarget(c33701101.mattg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
end
function c33701101.atcost(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c33701101.atcon(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 c33701101.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack()
end
function c33701101.spfilter(c,e,tp,tid)
return c:GetTurnID()==tid and bit.band(c:GetReason(),REASON_BATTLE)~=0 and c:GetReasonCard()==e:GetHandler()
end
function c33701101.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local tid=Duel.GetTurnCount()
if chk==0 then return Duel.IsExistingMatchingCard(c33701101.spfilter,tp,0,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_DECK+LOCATION_EXTRA,1,nil,e,tp,tid) end
end
function c33701101.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tid=Duel.GetTurnCount()
local g=Duel.SelectMatchingCard(tp,c33701101.spfilter,tp,0,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_DECK+LOCATION_EXTRA,1,99,nil,e,tp,tid)
Duel.Overlay(c,g)
end
function c33701101.mattg(e,c)
return c:IsSetCard(0x1445) and c:IsType(TYPE_XYZ) and c:IsRank(3,1)
end
function c33701101.xyzcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
local xc=e:GetLabelObject()
return Duel.GetLocationCountFromEx(tp,tp,xc,e:GetHandler())>0 and xc:IsCanBeXyzMaterial(nil)
end
function c33701101.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local xc=e:GetLabelObject()
local mg=xc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(e:GetHandler(),mg)
end
e:GetHandler():SetMaterial(Group.FromCards(xc))
Duel.Overlay(e:GetHandler(),Group.FromCards(xc))
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetTargetRange(1,0)
e3:SetTarget(c33701101.splimit)
Duel.RegisterEffect(e3,tp)
end
function c33701101.splimit(e,c,tp,sumtp,sumpos)
return bit.band(sumtp,SUMMON_TYPE_XYZ)==SUMMON_TYPE_XYZ
end
--.LiveVTuber Kakyoin Chieri
function c33701102.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,3,3)
c:EnableReviveLimit()
--extra material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701102,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetLabelObject(c)
e2:SetCondition(c33701102.xyzcon)
e2:SetOperation(c33701102.xyzop)
e2:SetValue(SUMMON_TYPE_XYZ)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetTarget(c33701102.mattg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--activate cost
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_ACTIVATE_COST)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(0,1)
e2:SetCost(c33701102.costchk)
e2:SetOperation(c33701102.costop)
c:RegisterEffect(e2)
--accumulate
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(0x10000000+33701102)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(0,1)
c:RegisterEffect(e3)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701102,0))
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_BE_BATTLE_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c33701102.atcost)
e1:SetOperation(c33701102.negop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701102,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c33701102.tgcon)
e2:SetCost(c33701102.atcost)
e2:SetTarget(c33701102.distg)
e2:SetOperation(c33701102.disop)
c:RegisterEffect(e2)
end
function c33701102.mattg(e,c)
return c:IsSetCard(0x1445) and c:IsType(TYPE_XYZ) and c:IsRank(4,2)
end
function c33701102.xyzcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
local xc=e:GetLabelObject()
return Duel.GetLocationCountFromEx(tp,tp,xc,e:GetHandler())>0 and xc:IsCanBeXyzMaterial(nil)
end
function c33701102.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local xc=e:GetLabelObject()
local mg=xc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(e:GetHandler(),mg)
end
e:GetHandler():SetMaterial(Group.FromCards(xc))
Duel.Overlay(e:GetHandler(),Group.FromCards(xc))
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetTargetRange(1,0)
e3:SetTarget(c33701102.splimit)
Duel.RegisterEffect(e3,tp)
end
function c33701102.splimit(e,c,tp,sumtp,sumpos)
return bit.band(sumtp,SUMMON_TYPE_XYZ)==SUMMON_TYPE_XYZ
end
function c33701102.costchk(e,te_or_c,tp)
local ct=Duel.GetFlagEffect(tp,33701102)
return Duel.CheckLPCost(tp,ct*e:GetHandler():GetOverlayCount()*200)
end
function c33701102.costop(e,tp,eg,ep,ev,re,r,rp)
Duel.PayLPCost(tp,e:GetHandler():GetOverlayCount()*200)
end
function c33701102.atcost(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c33701102.negop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateAttack()
end
function c33701102.tgcon(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsContains(e:GetHandler())
end
function c33701102.distg(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)
end
function c33701102.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateActivation(ev)
end
--.LiveVTuber Mokota Mememe
function c33701103.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,4,3)
c:EnableReviveLimit()
--extra material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701103,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetLabelObject(c)
e2:SetCondition(c33701103.xyzcon)
e2:SetOperation(c33701103.xyzop)
e2:SetValue(SUMMON_TYPE_XYZ)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetTarget(c33701103.mattg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--immune
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetValue(c33701103.efilter)
e1:SetCondition(c33701103.imcon)
c:RegisterEffect(e1)
--dis
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701103,1))
e1:SetCategory(CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCost(c33701103.discost1)
e1:SetTarget(c33701103.distg1)
e1:SetOperation(c33701103.disop1)
c:RegisterEffect(e1)
end
function c33701103.mattg(e,c)
return c:IsSetCard(0x1445) and c:IsType(TYPE_XYZ) and c:IsRank(5,3)
end
function c33701103.xyzcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
local xc=e:GetLabelObject()
return Duel.GetLocationCountFromEx(tp,tp,xc,e:GetHandler())>0 and xc:IsCanBeXyzMaterial(nil)
end
function c33701103.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local xc=e:GetLabelObject()
local mg=xc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(e:GetHandler(),mg)
end
e:GetHandler():SetMaterial(Group.FromCards(xc))
Duel.Overlay(e:GetHandler(),Group.FromCards(xc))
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetTargetRange(1,0)
e3:SetTarget(c33701103.splimit)
Duel.RegisterEffect(e3,tp)
end
function c33701103.splimit(e,c,tp,sumtp,sumpos)
return bit.band(sumtp,SUMMON_TYPE_XYZ)==SUMMON_TYPE_XYZ
end
function c33701103.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
end
function c33701103.imfil(c)
return not c:IsType(TYPE_EFFECT)
end
function c33701103.imcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return Duel.IsExistingMatchingCard(c33701103.imfil,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
end
function c33701103.discost1(e,tp,eg,ep,ev,re,r,rp,chk)
local zx=Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,LOCATION_ONFIELD)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) and zx>0 end
local x=e:GetHandler():RemoveOverlayCard(tp,1,zx,REASON_COST)
e:SetLabel(x)
end
function c33701103.distg1(e,tp,eg,ep,ev,re,r,rp,chk)
local x=e:GetLabel()
if chk==0 then return true end
local x=e:GetLabel()
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,x,x,nil)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,g:GetCount(),0,0)
end
function c33701103.disop1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCode(EFFECT_DISABLE)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
tc:RegisterEffect(e2)
tc=g:GetNext()
end
end
--.LiveVTuber Ushimaki Riko
function c33701104.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,5,3)
c:EnableReviveLimit()
--extra material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701104,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetLabelObject(c)
e2:SetCondition(c33701104.xyzcon)
e2:SetOperation(c33701104.xyzop)
e2:SetValue(SUMMON_TYPE_XYZ)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetTarget(c33701104.mattg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
e4:SetOperation(c33701104.ciop)
c:RegisterEffect(e4)
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EVENT_DRAW)
e4:SetOperation(c33701104.ciop1)
c:RegisterEffect(e4)
--
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_MZONE)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetCost(c33701104.tdcost)
e5:SetOperation(c33701104.tdop)
c:RegisterEffect(e5)
end
c33701104.toss_coin=true
function c33701104.mattg(e,c)
return c:IsSetCard(0x1445) and c:IsType(TYPE_XYZ) and c:IsRank(6,4)
end
function c33701104.xyzcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
local xc=e:GetLabelObject()
return Duel.GetLocationCountFromEx(tp,tp,xc,e:GetHandler())>0 and xc:IsCanBeXyzMaterial(nil)
end
function c33701104.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local xc=e:GetLabelObject()
local mg=xc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(e:GetHandler(),mg)
end
e:GetHandler():SetMaterial(Group.FromCards(xc))
Duel.Overlay(e:GetHandler(),Group.FromCards(xc))
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetTargetRange(1,0)
e3:SetTarget(c33701104.splimit)
Duel.RegisterEffect(e3,tp)
end
function c33701104.splimit(e,c,tp,sumtp,sumpos)
return bit.band(sumtp,SUMMON_TYPE_XYZ)==SUMMON_TYPE_XYZ
end
function c33701104.ciop(e,tp,eg,ep,ev,re,r,rp)
if eg:IsContains(e:GetHandler()) then return end
Duel.Hint(HINT_CARD,0,33701104)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_COIN)
local coin=Duel.AnnounceCoin(rp)
local res=Duel.TossCoin(rp,1)
if coin==res then
Duel.SendtoDeck(eg,nil,0,REASON_EFFECT)
end
end
function c33701104.ciop1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetCurrentPhase()==PHASE_DRAW then return end
Duel.Hint(HINT_CARD,0,33701104)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_COIN)
local coin=Duel.AnnounceCoin(rp)
local res=Duel.TossCoin(rp,1)
if coin==res then
Duel.SendtoDeck(eg,nil,0,REASON_EFFECT)
end
end
function c33701104.tdcost(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c33701104.tdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_TO_HAND)
e1:SetLabelObject(c)
e1:SetCondition(c33701104.txcon)
e1:SetOperation(c33701104.txop)
e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_TO_DECK)
Duel.RegisterEffect(e2,tp)
end
function c33701104.txfil(c,xp)
return c:IsControler(1-xp) and c:IsPreviousLocation(LOCATION_ONFIELD)
end
function c33701104.txcon(e,tp,eg,ep,ev,re,r,rp)
local xp=e:GetLabelObject():GetControler()
return eg:IsExists(c33701104.txfil,1,nil,xp)
end
function c33701104.txop(e,tp,eg,ep,ev,re,r,rp)
local xp=e:GetLabelObject():GetControler()
if Duel.SelectEffectYesNo(xp,e:GetLabelObject()) then
local mg=Duel.GetDecktopGroup(xp,1)
Duel.SendtoDeck(mg,1-xp,0,REASON_EFFECT)
end
end
--.LiveVTuber Kitakami Futaba
function c33701105.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,6,3)
c:EnableReviveLimit()
--extra material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701105,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetLabelObject(c)
e2:SetCondition(c33701105.xyzcon)
e2:SetOperation(c33701105.xyzop)
e2:SetValue(SUMMON_TYPE_XYZ)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetTarget(c33701105.mattg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--atk
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701105,1))
e1:SetCategory(CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCost(c33701105.atkcost1)
e1:SetOperation(c33701105.atkop1)
c:RegisterEffect(e1)
--destroy
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33701105,1))
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BATTLE_CONFIRM)
e3:SetOperation(c33701105.desop)
c:RegisterEffect(e3)
end
function c33701105.mattg(e,c)
return c:IsSetCard(0x1445) and c:IsType(TYPE_XYZ) and c:IsRank(7,5)
end
function c33701105.xyzcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
local xc=e:GetLabelObject()
return Duel.GetLocationCountFromEx(tp,tp,xc,e:GetHandler())>0 and xc:IsCanBeXyzMaterial(nil)
end
function c33701105.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local xc=e:GetLabelObject()
local mg=xc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(e:GetHandler(),mg)
end
e:GetHandler():SetMaterial(Group.FromCards(xc))
Duel.Overlay(e:GetHandler(),Group.FromCards(xc))
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetTargetRange(1,0)
e3:SetTarget(c33701105.splimit)
Duel.RegisterEffect(e3,tp)
end
function c33701105.splimit(e,c,tp,sumtp,sumpos)
return bit.band(sumtp,SUMMON_TYPE_XYZ)==SUMMON_TYPE_XYZ
end
function c33701105.atkcost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) and Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler()) end
local x=e:GetHandler():RemoveOverlayCard(tp,1,99,REASON_COST)
e:SetLabel(x)
end
function c33701105.atkop1(e,tp,eg,ep,ev,re,r,rp,chk)
local x=e:GetLabel()
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,e:GetHandler())
local tc=g:GetFirst()
while tc do
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(-1000*x)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
tc=g:GetNext()
end
end
function c33701105.desop(e,tp,eg,ep,ev,re,r,rp)
local t=e:GetHandler():GetBattleTarget()
if t:IsRelateToBattle() and t~=nil then
Duel.Hint(HINT_CARD,0,33701105)
Duel.SendtoHand(t,nil,REASON_EFFECT)
end
end
--.LiveVTuber Carro Pino
function c33701106.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,7,3)
c:EnableReviveLimit()
--extra material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701106,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetLabelObject(c)
e2:SetCondition(c33701106.xyzcon)
e2:SetOperation(c33701106.xyzop)
e2:SetValue(SUMMON_TYPE_XYZ)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetTarget(c33701106.mattg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--def
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_DEFENSE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(c33701106.atkval)
c:RegisterEffect(e1)
--remove
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_RANGE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_TO_GRAVE_REDIRECT)
e2:SetTargetRange(LOCATION_OVERLAY,0)
e2:SetTarget(c33701106.rmtg)
e2:SetValue(LOCATION_HAND)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1)
e3:SetCost(c33701106.ovcost)
e3:SetTarget(c33701106.ovtg)
e3:SetOperation(c33701106.ovop)
c:RegisterEffect(e3)
end
function c33701106.atkval(e,c)
return c:GetOverlayCount()*1000
end
function c33701106.mattg(e,c)
return c:IsSetCard(0x1445) and c:IsType(TYPE_XYZ) and c:IsRank(8,6)
end
function c33701106.xyzcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
local xc=e:GetLabelObject()
return Duel.GetLocationCountFromEx(tp,tp,xc,e:GetHandler())>0 and xc:IsCanBeXyzMaterial(nil)
end
function c33701106.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local xc=e:GetLabelObject()
local mg=xc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(e:GetHandler(),mg)
end
e:GetHandler():SetMaterial(Group.FromCards(xc))
Duel.Overlay(e:GetHandler(),Group.FromCards(xc))
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetTargetRange(1,0)
e3:SetTarget(c33701106.splimit)
Duel.RegisterEffect(e3,tp)
end
function c33701106.splimit(e,c,tp,sumtp,sumpos)
return bit.band(sumtp,SUMMON_TYPE_XYZ)==SUMMON_TYPE_XYZ
end
function c33701106.rmtg(e,c)
return e:GetHandler():GetOverlayGroup():IsContains(c)
end
function c33701106.ovcost(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c33701106.ovtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsCanOverlay,tp,LOCATION_DECK,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,Card.IsCanOverlay,tp,LOCATION_DECK,0,1,1,nil)
Duel.SetTargetCard(g)
end
function c33701106.ovop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
Duel.Overlay(e:GetHandler(),tc)
end
--.LiveVTuber Nekonoki Mochi
function c33701107.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,8,3)
c:EnableReviveLimit()
--extra material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701107,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetLabelObject(c)
e2:SetCondition(c33701107.xyzcon)
e2:SetOperation(c33701107.xyzop)
e2:SetValue(SUMMON_TYPE_XYZ)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetTarget(c33701107.mattg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--effect gian
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_ADJUST)
e5:SetRange(LOCATION_MZONE)
e5:SetOperation(c33701107.efop)
c:RegisterEffect(e5)
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCost(c33701107.ovcost)
e3:SetTarget(c33701107.ovtg)
e3:SetOperation(c33701107.ovop)
c:RegisterEffect(e3)
end
function c33701107.mattg(e,c)
return c:IsSetCard(0x1445) and c:IsType(TYPE_XYZ) and c:IsRank(9,7)
end
function c33701107.xyzcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
local xc=e:GetLabelObject()
return Duel.GetLocationCountFromEx(tp,tp,xc,e:GetHandler())>0 and xc:IsCanBeXyzMaterial(nil)
end
function c33701107.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local xc=e:GetLabelObject()
local mg=xc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(e:GetHandler(),mg)
end
e:GetHandler():SetMaterial(Group.FromCards(xc))
Duel.Overlay(e:GetHandler(),Group.FromCards(xc))
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetTargetRange(1,0)
e3:SetTarget(c33701107.splimit)
Duel.RegisterEffect(e3,tp)
end
function c33701107.splimit(e,c,tp,sumtp,sumpos)
return bit.band(sumtp,SUMMON_TYPE_XYZ)==SUMMON_TYPE_XYZ
end
function c33701107.effilter(c)
return c:IsSetCard(0x44f)
end
function c33701107.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=c:GetOverlayGroup(tp,1,0)
local wg=ct:Filter(c33701107.effilter,nil,tp)
local wbc=wg:GetFirst()
while wbc do
local code=wbc:GetOriginalCode()
if c:IsFaceup() and c:GetFlagEffect(code)==0 then
c:CopyEffect(code,RESET_EVENT+0x1fe0000+EVENT_CHAINING,1)
c:RegisterFlagEffect(code,RESET_EVENT+0x1fe0000+EVENT_CHAINING,0,1)
end
wbc=wg:GetNext()
end
end
function c33701107.ovcost(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c33701107.ovfil(c)
return c:IsCanOverlay() and c:IsSetCard(0x44f)
end
function c33701107.ovtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c33701107.ovfil,tp,LOCATION_DECK,0,1,nil) and not e:GetHandler():GetOverlayGroup():IsExists(Card.IsSetCard,1,nil,0x44f) end
local g=Duel.SelectMatchingCard(tp,c33701107.ovfil,tp,LOCATION_DECK,0,1,1,nil)
Duel.SetTargetCard(g)
end
function c33701107.ovop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
Duel.Overlay(e:GetHandler(),tc)
end
--.LiveVTuber Yaezawa Natori
function c33701108.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,9,3)
c:EnableReviveLimit()
--extra material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701108,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetLabelObject(c)
e2:SetCondition(c33701108.xyzcon)
e2:SetOperation(c33701108.xyzop)
e2:SetValue(SUMMON_TYPE_XYZ)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetTarget(c33701108.mattg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--disable
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c33701108.incon)
e4:SetTargetRange(LOCATION_ONFIELD,LOCATION_ONFIELD)
e4:SetCode(EFFECT_DISABLE)
c:RegisterEffect(e4)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O+EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCode(EVENT_CHAINING)
e1:SetCategory(CATEGORY_NEGATE)
e1:SetCondition(c33701108.discon)
e1:SetTarget(c33701108.distg)
e1:SetOperation(c33701108.disop)
c:RegisterEffect(e1)
end
function c33701108.mattg(e,c)
return c:IsSetCard(0x1445) and c:IsType(TYPE_XYZ) and c:IsRank(10,8)
end
function c33701108.xyzcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
local xc=e:GetLabelObject()
return Duel.GetLocationCountFromEx(tp,tp,xc,e:GetHandler())>0 and xc:IsCanBeXyzMaterial(nil)
end
function c33701108.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local xc=e:GetLabelObject()
local mg=xc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(e:GetHandler(),mg)
end
e:GetHandler():SetMaterial(Group.FromCards(xc))
Duel.Overlay(e:GetHandler(),Group.FromCards(xc))
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetTargetRange(1,0)
e3:SetTarget(c33701108.splimit)
Duel.RegisterEffect(e3,tp)
end
function c33701108.splimit(e,c,tp,sumtp,sumpos)
return bit.band(sumtp,SUMMON_TYPE_XYZ)==SUMMON_TYPE_XYZ
end
function c33701108.incon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayCount()==0
end
function c33701108.dfilter(c,tp)
return c:IsControler(tp)
end
function c33701108.discon(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) or not Duel.IsChainNegatable(ev) then return false end
local ex,tg,tc=Duel.GetOperationInfo(ev,CATEGORY_NEGATE)
return re:IsHasCategory(CATEGORY_NEGATE) and ex and tg~=nil and tc+tg:FilterCount(c33701108.dfilter,nil,tp)-tg:GetCount()>0
end
function c33701108.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
end
function c33701108.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
--.LiveVTuber Kongo Iroha
function c33701109.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,10,3)
c:EnableReviveLimit()
--extra material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701109,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetLabelObject(c)
e2:SetCondition(c33701109.xyzcon)
e2:SetOperation(c33701109.xyzop)
e2:SetValue(SUMMON_TYPE_XYZ)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetTarget(c33701109.mattg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--end ov
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_PHASE+PHASE_END)
e4:SetCountLimit(1)
e4:SetRange(LOCATION_MZONE)
e4:SetTarget(c33701109.edtg)
e4:SetOperation(c33701109.edop)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EVENT_PHASE+PHASE_STANDBY)
c:RegisterEffect(e5)
--actlimit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(1,1)
e2:SetValue(1)
e2:SetCondition(c33701109.actcon)
c:RegisterEffect(e2)
end
function c33701109.mattg(e,c)
return c:IsSetCard(0x1445) and c:IsType(TYPE_XYZ) and c:IsRank(11,9)
end
function c33701109.xyzcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
local xc=e:GetLabelObject()
return Duel.GetLocationCountFromEx(tp,tp,xc,e:GetHandler())>0 and xc:IsCanBeXyzMaterial(nil)
end
function c33701109.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local xc=e:GetLabelObject()
local mg=xc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(e:GetHandler(),mg)
end
e:GetHandler():SetMaterial(Group.FromCards(xc))
Duel.Overlay(e:GetHandler(),Group.FromCards(xc))
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetTargetRange(1,0)
e3:SetTarget(c33701109.splimit)
Duel.RegisterEffect(e3,tp)
end
function c33701109.splimit(e,c,tp,sumtp,sumpos)
return bit.band(sumtp,SUMMON_TYPE_XYZ)==SUMMON_TYPE_XYZ
end
function c33701109.edtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c33701109.edop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:CheckRemoveOverlayCard(tp,1,REASON_EFFECT) then
c:RemoveOverlayCard(tp,1,1,REASON_EFFECT)
else
Duel.SendtoGrave(c,REASON_EFFECT)
end
end
function c33701109.actcon(e)
return Duel.GetAttacker()==e:GetHandler() or Duel.GetAttackTarget()==e:GetHandler()
end
--.LiveVTuber Yamato Iori
function c33701110.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,11,3)
c:EnableReviveLimit()
--extra material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701110,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetLabelObject(c)
e2:SetCondition(c33701110.xyzcon)
e2:SetOperation(c33701110.xyzop)
e2:SetValue(SUMMON_TYPE_XYZ)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetTarget(c33701110.mattg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--token
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1)
e4:SetCost(c33701110.spcost)
e4:SetTarget(c33701110.sptg)
e4:SetOperation(c33701110.spop)
c:RegisterEffect(e4)
--re
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_RECOVER)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_MZONE)
e5:SetCost(c33701110.recost)
e5:SetTarget(c33701110.retg)
e5:SetOperation(c33701110.reop)
c:RegisterEffect(e5)
end
function c33701110.mattg(e,c)
return c:IsSetCard(0x1445) and c:IsType(TYPE_XYZ) and c:IsRank(12,10)
end
function c33701110.xyzcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
local xc=e:GetLabelObject()
return Duel.GetLocationCountFromEx(tp,tp,xc,e:GetHandler())>0 and xc:IsCanBeXyzMaterial(nil)
end
function c33701110.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local xc=e:GetLabelObject()
local mg=xc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(e:GetHandler(),mg)
end
e:GetHandler():SetMaterial(Group.FromCards(xc))
Duel.Overlay(e:GetHandler(),Group.FromCards(xc))
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetTargetRange(1,0)
e3:SetTarget(c33701110.splimit)
Duel.RegisterEffect(e3,tp)
end
function c33701110.splimit(e,c,tp,sumtp,sumpos)
return bit.band(sumtp,SUMMON_TYPE_XYZ)==SUMMON_TYPE_XYZ
end
function c33701110.spcost(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 c33701110.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not Duel.IsPlayerAffectedByEffect(tp,59822133)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and Duel.IsPlayerCanSpecialSummonMonster(tp,33701110,nil,0x4011,2000,2000,11,RACE_CYBERSE,ATTRIBUTE_WATER) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,2,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,0,0)
end
function c33701110.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=1 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,33701113,nil,0x4011,2000,2000,11,RACE_CYBERSE,ATTRIBUTE_WATER) then
local token1=Duel.CreateToken(tp,33701113)
Duel.SpecialSummonStep(token1,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetLabelObject(c)
e1:SetValue(c33701110.atkval)
token1:RegisterEffect(e1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_SET_DEFENSE)
e1:SetLabelObject(c)
e1:SetValue(c33701110.atkval1)
token1:RegisterEffect(e1)
--cannot release
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_UNRELEASABLE_SUM)
e4:SetReset(RESET_EVENT+RESETS_STANDARD)
e4:SetValue(1)
token1:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_UNRELEASABLE_NONSUM)
token1:RegisterEffect(e5)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e2:SetLabelObject(c)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetValue(c33701110.atxx)
token1:RegisterEffect(e2)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_CHANGE_RACE)
e2:SetLabelObject(c)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetValue(c33701110.atra)
token1:RegisterEffect(e2)
--
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e6:SetRange(LOCATION_MZONE)
e6:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e6:SetReset(RESET_EVENT+RESETS_STANDARD)
token1:RegisterEffect(e6)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e6:SetRange(LOCATION_MZONE)
e6:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e6:SetReset(RESET_EVENT+RESETS_STANDARD)
token1:RegisterEffect(e6)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e6:SetRange(LOCATION_MZONE)
e6:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e6:SetReset(RESET_EVENT+RESETS_STANDARD)
token1:RegisterEffect(e6)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e6:SetRange(LOCATION_MZONE)
e6:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e6:SetReset(RESET_EVENT+RESETS_STANDARD)
token1:RegisterEffect(e6)
local token2=Duel.CreateToken(tp,33701113)
Duel.SpecialSummonStep(token2,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetLabelObject(c)
e1:SetValue(c33701110.atkval)
token2:RegisterEffect(e1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_SET_DEFENSE)
e1:SetLabelObject(c)
e1:SetValue(c33701110.atkval1)
token1:RegisterEffect(e1)
--cannot release
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_UNRELEASABLE_SUM)
e4:SetReset(RESET_EVENT+RESETS_STANDARD)
e4:SetValue(1)
token2:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_UNRELEASABLE_NONSUM)
token2:RegisterEffect(e5)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e2:SetLabelObject(c)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetValue(c33701110.atxx)
token2:RegisterEffect(e2)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_CHANGE_RACE)
e2:SetLabelObject(c)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetValue(c33701110.atra)
token2:RegisterEffect(e2)
--
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e6:SetRange(LOCATION_MZONE)
e6:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e6:SetReset(RESET_EVENT+RESETS_STANDARD)
token2:RegisterEffect(e6)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e6:SetRange(LOCATION_MZONE)
e6:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e6:SetReset(RESET_EVENT+RESETS_STANDARD)
token2:RegisterEffect(e6)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e6:SetRange(LOCATION_MZONE)
e6:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e6:SetReset(RESET_EVENT+RESETS_STANDARD)
token2:RegisterEffect(e6)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e6:SetRange(LOCATION_MZONE)
e6:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e6:SetReset(RESET_EVENT+RESETS_STANDARD)
token2:RegisterEffect(e6)
Duel.SpecialSummonComplete()
end
end
function c33701110.atkval(e,c)
return e:GetLabelObject():GetAttack()
end
function c33701110.atkval1(e,c)
return e:GetLabelObject():GetDefense()
end
function c33701110.atxx(e,c)
return e:GetLabelObject():GetAttribute()
end
function c33701110.atra(e,c)
return e:GetLabelObject():GetRace()
end
function c33701110.recost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_MZONE,0,1,nil,33701113) end
local tc=Duel.SelectMatchingCard(tp,Card.IsCode,tp,LOCATION_MZONE,0,1,1,nil,33701113):GetFirst()
Duel.Release(tc,REASON_COST+REASON_RULE)
e:SetLabel(tc:GetAttack())
end
function c33701110.retg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local atk=e:GetLabel()
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(atk)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,atk)
end
function c33701110.reop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT)
end
--.LiveVTuber Kagura Suzu
function c33701111.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,11,3)
c:EnableReviveLimit()
--extra material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701111,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetLabelObject(c)
e2:SetCondition(c33701111.xyzcon)
e2:SetOperation(c33701111.xyzop)
e2:SetValue(SUMMON_TYPE_XYZ)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetTarget(c33701111.mattg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCost(c33701111.tgcost)
e2:SetOperation(c33701111.tgop)
c:RegisterEffect(e2)
end
function c33701111.mattg(e,c)
return c:IsSetCard(0x1445) and c:IsType(TYPE_XYZ) and c:IsRank(1,11)
end
function c33701111.xyzcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
local xc=e:GetLabelObject()
return Duel.GetLocationCountFromEx(tp,tp,xc,e:GetHandler())>0 and xc:IsCanBeXyzMaterial(nil)
end
function c33701111.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local xc=e:GetLabelObject()
local mg=xc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(e:GetHandler(),mg)
end
e:GetHandler():SetMaterial(Group.FromCards(xc))
Duel.Overlay(e:GetHandler(),Group.FromCards(xc))
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetTargetRange(1,0)
e3:SetTarget(c33701111.splimit)
Duel.RegisterEffect(e3,tp)
end
function c33701111.splimit(e,c,tp,sumtp,sumpos)
return bit.band(sumtp,SUMMON_TYPE_XYZ)==SUMMON_TYPE_XYZ
end
function c33701111.tgcost(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c33701111.tgop(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_SWAP_BASE_AD)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
--immune
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetDescription(aux.Stringid(33701111,1))
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CLIENT_HINT)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetValue(c33701111.efilter)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,2)
c:RegisterEffect(e1)
end
function c33701111.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
end
--VTuber Merry Milk
function c33701112.initial_effect(c)
--xyz summon
c:EnableReviveLimit()
aux.AddXyzProcedureLevelFree(c,nil,c33701112.xyzcheck,3,3)
--attribute
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_ADD_ATTRIBUTE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(0x2f)
c:RegisterEffect(e2)
--extra material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701112,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetLabelObject(c)
e2:SetCondition(c33701112.xyzcon)
e2:SetOperation(c33701112.xyzop)
e2:SetValue(SUMMON_TYPE_XYZ)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetTarget(c33701112.mattg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--em
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701112,1))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(c33701112.xyzcon2)
e2:SetOperation(c33701112.xyzop2)
e2:SetValue(SUMMON_TYPE_XYZ)
c:RegisterEffect(e2)
end
function c33701112.xyzcheck(g)
return g:GetClassCount(Card.GetLevel)==1
end
function c33701112.mattg(e,c)
return c:IsSetCard(0x1445) and c:IsType(TYPE_XYZ)
end
function c33701112.xyzcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
local xc=e:GetLabelObject()
return Duel.GetLocationCountFromEx(tp,tp,xc,e:GetHandler())>0 and xc:IsCanBeXyzMaterial(nil)
end
function c33701112.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local xc=e:GetLabelObject()
local mg=xc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(e:GetHandler(),mg)
end
e:GetHandler():SetMaterial(Group.FromCards(xc))
Duel.Overlay(e:GetHandler(),Group.FromCards(xc))
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetTargetRange(1,0)
e3:SetTarget(c33701112.splimit)
Duel.RegisterEffect(e3,tp)
end
function c33701112.splimit(e,c,tp,sumtp,sumpos)
return bit.band(sumtp,SUMMON_TYPE_XYZ)==SUMMON_TYPE_XYZ
end
function c33701112.xxxfil(c,e,tp)
return c:IsCanBeXyzMaterial(nil) and Duel.GetLocationCountFromEx(tp,tp,c,e:GetHandler())>0 and c:IsSetCard(0x1445) and c:IsType(TYPE_XYZ) and c:GetOverlayCount()>0
end
function c33701112.xyzcon2(e,c,og,lmat,min,max)
if c==nil then return Duel.IsExistingMatchingCard(c33701112.xxxfil,tp,LOCATION_MZONE,0,1,nil,e,tp) end
local tp=c:GetControler()
return true
end
function c33701112.xyzop2(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local tc=Duel.SelectMatchingCard(tp,c33701112.xxxfil,tp,LOCATION_MZONE,0,1,1,nil,e,tp):GetFirst()
tc:RemoveOverlayCard(tp,1,1,REASON_COST+REASON_XYZ)
local mg=tc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(e:GetHandler(),mg)
end
e:GetHandler():SetMaterial(Group.FromCards(tc))
Duel.Overlay(e:GetHandler(),Group.FromCards(tc))
end
--Mushroom Token
function c33701113.initial_effect(c)
end
--White Elephant?!
function c33701315.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c33701315.sptg)
e1:SetOperation(c33701315.spop)
c:RegisterEffect(e1)
end
function c33701315.spfil(c,e,tp)
return c:IsType(TYPE_LINK) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
end
function c33701315.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33701315.spfil,tp,LOCATION_EXTRA,0,1,nil,e,tp) and Duel.GetLocationCountFromEx(tp)>0 end
local g=Duel.SelectMatchingCard(tp,c33701315.spfil,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,tp,LOCATION_EXTRA)
end
function c33701315.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)
if Duel.GetControl(tc,1-tp,PHASE_END,2) then
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_RECOVER)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetLabel(1-c:GetControler())
e1:SetTarget(c33701315.retg)
e1:SetOperation(c33701315.reop)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SUMMON_SUCCESS)
tc:RegisterEffect(e2)
end
end
function c33701315.refil(c,e,cp)
return e:GetHandler():GetLinkedGroup():IsContains(c) and c:GetReasonPlayer()==cp
end
function c33701315.retg(e,tp,eg,ep,ev,re,r,rp,chk)
local cp=e:GetLabel()
if chk==0 then return eg:IsExists(c33701315.refil,1,nil,e,cp) end
local atk=eg:Filter(c33701315.refil,nil,e,cp):GetSum(Card.GetAttack)
Duel.SetTargetPlayer(1-cp)
Duel.SetTargetParam(atk)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,1-cp,atk)
end
function c33701315.reop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,33701315)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT)
end
--散华—神性的终结
function c33701316.initial_effect(c)
--ac
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c33701316.tg)
e1:SetOperation(c33701316.op)
c:RegisterEffect(e1)
--act in hand
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_REPEAT)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e2:SetCondition(c33701316.handcon)
c:RegisterEffect(e2)
end
function c33701316.cdfil(c,code)
return c:IsCode(code)
end
function c33701316.handcon(e)
local tp=e:GetHandlerPlayer()
local g=Duel.GetFieldGroup(tp,LOCATION_MZONE,0)
local code1=0
local tc1=g:GetFirst()
while tc1 do
code1=bit.bor(code1,tc1:GetCode())
tc1=g:GetNext()
end
local g1=Duel.GetFieldGroup(tp,0,LOCATION_MZONE)
local code2=0
local tc2=g1:GetFirst()
while tc2 do
code2=bit.bor(code2,tc2:GetCode())
tc2=g1:GetNext()
end
return code1==code2
end
function c33701316.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,1,nil):GetFirst()
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
local code=g:GetCode()
e:SetLabel(code)
end
function c33701316.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local code=e:GetLabel()
--
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetRange(LOCATION_EXTRA+LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_DECK+LOCATION_REMOVED)
e0:SetCode(EVENT_SPSUMMON_SUCCESS)
e0:SetLabel(code)
e0:SetOperation(c33701316.tiop2)
c:RegisterEffect(e0)
--Disable
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_DISABLE)
e2:SetRange(LOCATION_EXTRA+LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_DECK+LOCATION_REMOVED)
e2:SetTargetRange(0,LOCATION_MZONE)
e2:SetLabel(code)
e2:SetTarget(c33701316.cntg)
e2:SetCondition(c33701316.cncon1)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_DISABLE_EFFECT)
c:RegisterEffect(e3)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SUMMON)
e1:SetRange(LOCATION_EXTRA+LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_DECK+LOCATION_REMOVED)
e1:SetLabel(code)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCondition(c33701316.cncon2)
e1:SetTargetRange(0,1)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_MSET)
c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
c:RegisterEffect(e3)
end
function c33701316.tiop2(e,tp,eg,ep,ev,re,r,rp)
local code=e:GetLabel()
if not eg:IsExists(Card.IsCode,1,nil,code) then return end
if not eg:GetFirst():GetSummonPlayer()==tp then return end
e:GetHandler():RegisterFlagEffect(code,0,0,0)
end
function c33701316.cncon1(e,tp,eg,ep,ev,re,r,rp)
local code=e:GetLabel()
return e:GetHandler():GetFlagEffect(code)>=7
end
function c33701316.cntg(e,c)
return c:GetSummonPlayer()~=e:GetHandlerPlayer()
end
function c33701316.cncon2(e,tp,eg,ep,ev,re,r,rp)
local code=e:GetLabel()
return e:GetHandler():GetFlagEffect(code)>=13
end
--卓越融合
function c33701317.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c33701317.target)
e1:SetOperation(c33701317.activate)
c:RegisterEffect(e1)
end
function c33701317.filter0(c)
return c:IsOnField() and c:IsAbleToRemove()
end
function c33701317.filter1(c,e)
return c:IsOnField() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e)
end
function c33701317.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c33701317.filter3(c)
return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToRemove()
end
function c33701317.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c33701317.filter0,nil)
local mg2=Duel.GetMatchingGroup(c33701317.filter3,tp,LOCATION_GRAVE+LOCATION_DECK+LOCATION_HAND+LOCATION_MZONE,LOCATION_GRAVE+LOCATION_DECK+LOCATION_MZONE,nil)
mg1:Merge(mg2)
local res=Duel.IsExistingMatchingCard(c33701317.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c33701317.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg3,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_ONFIELD+LOCATION_GRAVE)
end
function c33701317.activate(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c33701317.filter1,nil,e)
local mg2=Duel.GetMatchingGroup(c33701317.filter3,tp,LOCATION_GRAVE+LOCATION_DECK+LOCATION_HAND+LOCATION_MZONE,LOCATION_GRAVE+LOCATION_DECK+LOCATION_MZONE,nil)
mg1:Merge(mg2)
local sg1=Duel.GetMatchingGroup(c33701317.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg3=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c33701317.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg3,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1)
--
local zc=mat1:GetFirst()
local x=0
while zc do
if zc:IsLocation(LOCATION_GRAVE) then
x=x+1500
elseif zc:IsLocation(LOCATION_DECK) and zc:IsControler(tp) then
x=x+4000
elseif zc:IsLocation(LOCATION_DECK) and zc:IsControler(tp) then
x=x+6000
end
zc=mat1:GetNext()
end
e:SetLabel(x)
Duel.Remove(mat1,POS_FACEUP,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg3,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
Duel.SetLP(tp,Duel.GetLP(tp)-e:GetLabel())
end
end
--生自虚拟世界的风
function c33701318.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,33701318+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c33701318.cost)
e1:SetTarget(c33701318.target)
e1:SetOperation(c33701318.activate)
e1:SetLabel(0)
c:RegisterEffect(e1)
end
function c33701318.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100)
if chk==0 then return true end
end
function c33701318.costfilter(c,e,tp)
if c:GetSummonLocation()~=LOCATION_EXTRA then
return c:IsFaceup() and Duel.IsExistingMatchingCard(c33701318.spfilter,tp,LOCATION_DECK,0,1,nil,c,e,tp)
and Duel.GetMZoneCount(tp,c)>0
else
return c:IsFaceup() and Duel.IsExistingMatchingCard(c33701318.spfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,nil,c,e,tp)
and Duel.GetMZoneCount(tp,c)>0
end
end
function c33701318.spfilter(c,tc,e,tp)
return ((c:IsSetCard(0x344c) and c:IsLocation(LOCATION_DECK)) or
((c:IsSetCard(0x445)) and c:IsLocation(LOCATION_EXTRA)))
and c:GetOriginalAttribute()==tc:GetOriginalAttribute()
and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
end
function c33701318.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()~=100 then return false end
e:SetLabel(0)
return e:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.CheckReleaseGroup(tp,c33701318.costfilter,1,nil,e,tp)
end
e:SetLabel(0)
local g=Duel.SelectReleaseGroup(tp,c33701318.costfilter,1,1,nil,e,tp)
Duel.Release(g,REASON_COST)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,0)
end
function c33701318.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:GetSummonLocation()==LOCATION_EXTRA then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
g=Duel.SelectMatchingCard(tp,c33701318.spfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,1,nil,tc,e,tp):GetFirst()
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
g=Duel.SelectMatchingCard(tp,c33701318.spfilter,tp,LOCATION_DECK,0,1,1,nil,tc,e,tp):GetFirst()
end
if Duel.SpecialSummon(g,0,tp,tp,true,false,POS_FACEUP) then
local fid=c:GetFieldID()
g:RegisterFlagEffect(33701318,RESET_EVENT+RESETS_STANDARD,0,1,fid)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetCountLimit(1)
e3:SetLabel(fid)
e3:SetLabelObject(g)
e3:SetCondition(c33701318.thcon1)
e3:SetOperation(c33701318.thop1)
Duel.RegisterEffect(e3,tp)
Duel.SpecialSummonComplete()
end
end
function c33701318.thcon1(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:GetFlagEffectLabel(33701318)==e:GetLabel() then
return true
else
e:Reset()
return false
end
end
function c33701318.thop1(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
Duel.SendtoHand(tc,tp,REASON_EFFECT)
end
--虚拟主播 本间向日葵
function c33701319.initial_effect(c)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701319,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1)
e1:SetTarget(c33701319.sptg)
e1:SetOperation(c33701319.spop)
c:RegisterEffect(e1)
--hand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701319,1))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_HAND)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetCost(c33701319.hdcost)
e2:SetOperation(c33701319.hdop)
c:RegisterEffect(e2)
--summon with 3 tribute
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LIMIT_SUMMON_PROC)
e1:SetCondition(c33701319.ttcon)
e1:SetOperation(c33701319.ttop)
e1:SetValue(SUMMON_TYPE_ADVANCE)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_LIMIT_SET_PROC)
c:RegisterEffect(e2)
--cannot be target
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c33701319.cbcon)
e2:SetValue(c33701319.xefilter1)
c:RegisterEffect(e2)
--cannot be target
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c33701319.cbcon)
e2:SetValue(c33701319.xefilter2)
c:RegisterEffect(e2)
end
function c33701319.cbcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_ADVANCE)
end
function c33701319.xefilter1(e,re,rp)
return re:IsActiveType(TYPE_MONSTER)
end
function c33701319.xefilter2(e,te)
return te:GetOwner():IsType(TYPE_MONSTER)
end
function c33701319.spfil(c,e,tp)
return c:IsAbleToHand() and not c:IsType(TYPE_EFFECT)
end
function c33701319.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33701319.spfil,tp,LOCATION_MZONE,0,1,nil,e,tp) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
local g=Duel.SelectMatchingCard(tp,c33701319.spfil,tp,LOCATION_MZONE,0,1,1,nil,e,tp)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_MZONE)
end
function c33701319.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if Duel.SendtoHand(tc,tp,REASON_EFFECT) then
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP)
end
end
function c33701319.hdcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end
Duel.SendtoGrave(e:GetHandler(),REASON_DISCARD+REASON_COST)
end
function c33701319.hdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_ONFIELD+LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND+LOCATION_EXTRA,LOCATION_ONFIELD+LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND+LOCATION_EXTRA)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetTarget(c33701319.eftg)
e1:SetValue(c33701319.efilter1)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetValue(1)
Duel.RegisterEffect(e2,tp)
end
function c33701319.eftg(e,c)
return not c:IsType(TYPE_EFFECT)
end
function c33701319.efilter1(e,te)
return te:GetOwner()~=e:GetOwner()
end
function c33701319.ttfil(c)
return c:IsReleasable() and not c:IsType(TYPE_EFFECT)
end
function c33701319.ttcon(e,c,minc)
if c==nil then return true end
return Duel.IsExistingMatchingCard(c33701319.ttfil,tp,LOCATION_MZONE,0,2,nil)
end
function c33701319.ttop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectMatchingCard(tp,c33701319.ttfil,tp,LOCATION_MZONE,0,2,2,nil)
c:SetMaterial(g)
Duel.Release(g,REASON_SUMMON+REASON_MATERIAL)
end
function c33701319.setcon(e,c,minc)
if not c then return true end
return false
end
--Hololive虚拟主播 戌神沁音
function c33701320.initial_effect(c)
c:EnableReviveLimit()
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_SET_BASE_ATTACK)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(c33701320.val)
c:RegisterEffect(e2)
--atk
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(c33701320.atkval)
c:RegisterEffect(e3)
--disable
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetRange(LOCATION_MZONE)
e4:SetTargetRange(LOCATION_MZONE,0)
e4:SetTarget(c33701320.distg)
e4:SetCode(EFFECT_DISABLE)
c:RegisterEffect(e4)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(c33701320.distg)
c:RegisterEffect(e1)
--
local e6=Effect.CreateEffect(c)
e6:SetCategory(CATEGORY_DISABLE)
e6:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE)
e6:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e6:SetRange(LOCATION_MZONE)
e6:SetOperation(c33701320.iop2)
c:RegisterEffect(e6)
end
function c33701320.val(e,c)
return c:GetMaterial():GetCount()*1300
end
function c33701320.xfil(c)
return (c:IsSetCard(0x344c) or c:IsSetCard(0x445))
end
function c33701320.atkval(e,c)
local tp=c:GetControler()
return Duel.GetMatchingGroupCount(c33701320.xfil,tp,LOCATION_MZONE,0,nil,1-tp)*500
end
function c33701320.distg(e,c)
return not (c:IsSetCard(0x344c) or c:IsSetCard(0x445))
end
function c33701320.iop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local x=Duel.GetMatchingGroupCount(aux.TRUE,tp,LOCATION_MZONE,0,e:GetHandler())
if x==0 then return end
if Duel.SelectEffectYesNo(tp,e:GetHandler()) then
Duel.Hint(HINT_CARD,0,33701320)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,x,nil)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCode(EFFECT_DISABLE_EFFECT)
tc:RegisterEffect(e2)
tc=g:GetNext()
end
end
end
--虚拟主播 本间向日葵 SP
function c33701321.initial_effect(c)
c:EnableReviveLimit()
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetOperation(c33701321.eqop)
c:RegisterEffect(e1)
--sd
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_MZONE)
e1:SetOperation(c33701321.sdop)
c:RegisterEffect(e1)
end
function c33701321.sdfil(c,e,tp)
return e:GetHandler():GetEquipGroup():IsContains(c) and c:GetColumnGroupCount()~=0
end
function c33701321.seqfil(c,qg)
return qg:IsContains(c)
end
function c33701321.sdop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.SelectMatchingCard(tp,c33701321.sdfil,tp,LOCATION_SZONE,LOCATION_SZONE,1,1,nil,e,tp):GetFirst()
local qg=tc:GetColumnGroup()
Duel.SendtoGrave(tc,REASON_COST)
Duel.SendtoGrave(qg,REASON_EFFECT)
end
function c33701321.eqfil(c)
return c:IsType(TYPE_EQUIP+TYPE_MONSTER) and not c:IsForbidden()
end
function c33701321.eqop(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if not Duel.IsExistingMatchingCard(c33701321.eqfil,tp,LOCATION_DECK,0,1,nil) or Duel.GetLocationCount(tp,LOCATION_SZONE)==0 then return end
if Duel.SelectEffectYesNo(tp,e:GetHandler()) then
local tc=Duel.SelectMatchingCard(tp,c33701321.eqfil,tp,LOCATION_DECK,0,1,1,nil):GetFirst()
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,tp,LOCATION_DECK)
if not Duel.Equip(tp,tc,c) then return end
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT+EFFECT_FLAG_OWNER_RELATE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(c33701321.eqlimit)
tc:RegisterEffect(e1)
local lv=tc:GetLevel()
if lv>0 then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_EQUIP)
e2:SetProperty(EFFECT_FLAG_OWNER_RELATE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetValue(lv*400)
tc:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e3)
end
end
end
function c33701321.eqlimit(e,c)
return e:GetOwner()==c
end
--虚拟主播 有栖Mana
function c33701322.initial_effect(c)
c:SetUniqueOnField(1,0,33701322)
c:EnableReviveLimit()
--splimit
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetOperation(c33701322.spop)
c:RegisterEffect(e1)
--SpecialSummon tp
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetOperation(c33701322.bspop)
c:RegisterEffect(e2)
--SpecialSummon 1-tp
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetOperation(c33701322.bspop1)
c:RegisterEffect(e2)
end
function c33701322.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SetLP(tp,Duel.GetLP(tp)/2)
end
function c33701322.bspop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) and Duel.CheckLPCost(tp,1000) and Duel.GetTurnPlayer()==tp and e:GetHandler():IsReason(REASON_BATTLE) and Duel.SelectEffectYesNo(tp,e:GetHandler()) then
Duel.PayLPCost(tp,1000)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
end
function c33701322.bspop1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetTurnPlayer()==tp then return end
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701322,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_STANDBY)
e1:SetCountLimit(1,33701322)
e1:SetRange(LOCATION_GRAVE+LOCATION_HAND+LOCATION_DECK+LOCATION_REMOVED)
e1:SetTarget(c33701322.sptgx)
e1:SetOperation(c33701322.spopx)
c:RegisterEffect(e1)
end
function c33701322.sptgx(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,0)
end
function c33701322.spopx(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetTurnPlayer()~=tp then return end
e:Reset()
if Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP) then
Duel.Recover(tp,2100,REASON_EFFECT)
end
end
--虚拟YouTuber 绊爱 SP
function c33701323.initial_effect(c)
c:EnableReviveLimit()
--special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_EXTRA)
e1:SetValue(SUMMON_TYPE_LINK)
e1:SetCondition(c33701323.spcon)
e1:SetOperation(c33701323.spop)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetValue(c33701323.synlimit)
c:RegisterEffect(e2)
end
function c33701323.spfil(c)
return c:IsCanBeLinkMaterial(nil) and (c:IsType(TYPE_SPELL+TYPE_TRAP) or c:IsRace(RACE_CYBERSE))
end
function c33701323.spcon(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandler():GetControler()
return Duel.IsExistingMatchingCard(c33701323.spfil,tp,LOCATION_ONFIELD,0,2,nil)
end
function c33701323.spop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c33701323.spfil,tp,LOCATION_ONFIELD,0,2,2,nil)
e:GetHandler():SetMaterial(g)
Duel.SendtoGrave(g,REASON_LINK+REASON_MATERIAL)
end
function c33701323.synlimit(e,c)
if not c then return false end
return not c:IsSetCard(0x445) and c:IsLocation(LOCATION_EXTRA)
end
--虚拟YouTuber 宇志海莓
function c33701324.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1,1)
c:EnableReviveLimit()
--pierce
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_PIERCE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e2:SetCondition(c33701324.damcon)
e2:SetOperation(c33701324.damop)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(c33701324.intg)
e3:SetCondition(c33701324.incon)
e3:SetValue(c33701324.inefil)
c:RegisterEffect(e3)
--
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:SetCondition(c33701324.incon1)
e3:SetValue(c33701324.val)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetCode(EFFECT_IMMUNE_EFFECT)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c33701324.incon1)
e4:SetValue(c33701324.inefil)
c:RegisterEffect(e4)
--
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e5:SetValue(1)
e5:SetRange(LOCATION_MZONE)
c:RegisterEffect(e5)
end
function c33701324.damcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return ep~=tp and c==Duel.GetAttacker() and Duel.GetAttackTarget() and Duel.GetAttackTarget():IsDefensePos()
end
function c33701324.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end
function c33701324.intg(e,c)
return c~=e:GetHandler()
end
function c33701324.incon(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandler():GetControler()
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)>1
end
function c33701324.inefil(e,te)
return te:GetOwner():GetControler()~=e:GetOwner():GetControler()
end
function c33701324.incon1(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandler():GetControler()
return Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)==1
end
function c33701324.val(e,c)
return c:GetDefense()
end
--虚拟YouTuber的善意
function c33701325.initial_effect(c)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701325,2))
e2:SetCategory(CATEGORY_NEGATE+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetCost(c33701325.negcost)
e2:SetCondition(c33701325.negcon)
e2:SetTarget(c33701325.negtg)
e2:SetOperation(c33701325.negop)
c:RegisterEffect(e2)
end
function c33701325.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.PayLPCost(tp,1000)
end
function c33701325.nefil(c)
return (c:IsSetCard(0x445) or c:IsSetCard(0x344c))
end
function c33701325.negcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
if g==nil then return end
return g:FilterCount(c33701325.nefil,nil)~=0
end
function c33701325.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
end
function c33701325.sdfil(c)
return c:IsSetCard(0x445) or c:IsSetCard(0x344c)
end
function c33701325.negop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateEffect(ev) then
if Duel.IsExistingMatchingCard(c33701325.sdfil,tp,LOCATION_ONFIELD+LOCATION_HAND+LOCATION_DECK,0,1,nil) and Duel.SelectEffectYesNo(tp,e:GetHandler()) then
local g=Duel.SelectMatchingCard(tp,c33701325.sdfil,tp,LOCATION_ONFIELD+LOCATION_HAND+LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
local c=e:GetHandler()
local tc=re:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetTargetRange(0,LOCATION_ONFIELD)
e1:SetTarget(c33701325.distg)
e1:SetLabelObject(tc)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING)
e2:SetCondition(c33701325.discon)
e2:SetOperation(c33701325.disop)
e2:SetLabelObject(tc)
Duel.RegisterEffect(e2,tp)
end
function c33701325.distg(e,c)
local tc=e:GetLabelObject()
return c:IsCode(tc:GetCode())
end
function c33701325.discon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
return re:GetHandler():IsCode(tc:GetCode())
end
function c33701325.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
--引火上身
function c33701326.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c33701326.op)
c:RegisterEffect(e1)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetRange(LOCATION_SZONE)
e1:SetValue(c33701326.damval)
c:RegisterEffect(e1)
end
function c33701326.damval(e,re,val,r,rp,rc)
return val*3
end
function c33701326.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
e:GetHandler():SetTurnCounter(0)
--COUNTER
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_SZONE)
e1:SetOperation(c33701326.desop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e:GetHandler():RegisterEffect(e1)
e:GetHandler():RegisterFlagEffect(1082946,RESET_PHASE+PHASE_END+RESET_OPPO_TURN,0,3)
end
function c33701326.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=c:GetTurnCounter()
ct=ct+1
c:SetTurnCounter(ct)
if ct==2 then
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_SZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetOperation(c33701326.ssop)
c:RegisterEffect(e1)
end
end
function c33701326.ssop(e,tp,eg,ep,ev,re,r,rp)
e:Reset()
Duel.SendtoGrave(e:GetHandler(),REASON_EFFECT)
Duel.SetLP(1-tp,Duel.GetLP(tp))
end
--引火烧身
function c33701327.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c33701327.activate)
c:RegisterEffect(e1)
end
function c33701327.xspfil(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c33701327.activate(e,tp,eg,ep,ev,re,r,rp)
local opt=0
opt=Duel.SelectOption(1-tp,aux.Stringid(33701327,0),aux.Stringid(33701327,1))
if opt==0 then
local x1=Duel.GetFieldGroup(tp,LOCATION_HAND,0):GetCount()
local x2=Duel.GetFieldGroup(1-tp,LOCATION_HAND,0):GetCount()
if x1>6 then
Duel.DiscardHand(tp,aux.TRUE,x1-6,x1-6,REASON_EFFECT,nil)
else
Duel.Draw(tp,6-x1,REASON_EFFECT)
end
if x2>6 then
Duel.DiscardHand(1-tp,aux.TRUE,x2-6,x2-6,REASON_EFFECT,nil)
else
Duel.Draw(1-tp,6-x2,REASON_EFFECT)
end
local g1=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
local g2=Duel.GetFieldGroup(1-tp,LOCATION_HAND,0)
Duel.SendtoHand(g1,1-tp,REASON_EFFECT)
Duel.SendtoHand(g2,tp,REASON_EFFECT)
else
Duel.Draw(tp,1,REASON_EFFECT)
Duel.Draw(1-tp,1,REASON_EFFECT)
if Duel.IsExistingMatchingCard(c33701327.xspfil,tp,0,LOCATION_DECK,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(33701327,2)) then
local ag=Duel.GetMatchingGroup(c33701327.xspfil,1-tp,0,LOCATION_DECK,nil,e,tp)
Duel.ConfirmCards(tp,ag)
local g=Duel.SelectMatchingCard(tp,c33701327.xspfil,1-tp,0,LOCATION_DECK,1,1,nil,e,tp)
Duel.SpecialSummon(g,0,tp,1-tp,false,false,POS_FACEUP)
end
if Duel.IsExistingMatchingCard(c33701327.xspfil,1-tp,0,LOCATION_DECK,1,nil,e,tp) and Duel.SelectYesNo(1-tp,aux.Stringid(33701327,2)) then
local ag=Duel.GetMatchingGroup(c33701327.xspfil,tp,0,LOCATION_DECK,nil,e,tp)
Duel.ConfirmCards(1-tp,ag)
local g=Duel.SelectMatchingCard(1-tp,c33701327.xspfil,1-tp,LOCATION_DECK,0,1,1,nil,e,tp)
Duel.SpecialSummon(g,0,1-tp,tp,false,false,POS_FACEUP)
end
end
end
--自食其桃
function c33701328.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701328,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_BATTLE_DESTROYED)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,33701328)
e1:SetCondition(c33701328.condition)
e1:SetTarget(c33701328.target)
e1:SetOperation(c33701328.operation)
c:RegisterEffect(e1)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701328,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,03701328)
e1:SetCondition(c33701328.condition1)
e1:SetTarget(c33701328.target1)
e1:SetOperation(c33701328.operation1)
c:RegisterEffect(e1)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701328,2))
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCategory(CATEGORY_EQUIP)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,00701328)
e1:SetTarget(c33701328.eqtg)
e1:SetOperation(c33701328.eqop)
c:RegisterEffect(e1)
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_INDESTRUCTABLE)
e4:SetValue(1)
c:RegisterEffect(e4)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e2:SetRange(LOCATION_SZONE)
e2:SetOperation(c33701328.damop)
c:RegisterEffect(e2)
end
function c33701328.damop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetAttacker()~=e:GetHandler():GetEquipTarget() and Duel.GetAttackTarget()~=e:GetHandler():GetEquipTarget() then return end
Duel.ChangeBattleDamage(tp,0)
end
function c33701328.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:GetFirst():IsControler(e:GetHandlerPlayer())
end
function c33701328.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAttackAbove,tp,0,LOCATION_MZONE,1,nil,e,tp,0) end
Duel.ConfirmCards(tp,e:GetHandler())
local g=eg:GetFirst():GetReasonCard()
Duel.SetTargetCard(g)
end
function c33701328.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(0)
tc:RegisterEffect(e1)
end
function c33701328.condition1(e,tp,eg,ep,ev,re,r,rp)
return eg:FilterCount(Card.IsType,nil,TYPE_MONSTER)>0 and eg:FilterCount(Card.IsReason,nil,REASON_EFFECT)>0 and eg:FilterCount(Card.IsReason,nil,REASON_DESTROY)>0 and eg:FilterCount(Card.IsControler,nil,tp)>0
end
function c33701328.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAttackAbove,tp,0,LOCATION_MZONE,1,nil,e,tp,0) end
Duel.ConfirmCards(tp,e:GetHandler())
local g=Duel.GetMatchingGroup(Card.IsAttackAbove,tp,0,LOCATION_MZONE,nil,e,tp,0)
Duel.SetTargetCard(g)
end
function c33701328.operation1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(-1000)
tc:RegisterEffect(e1)
tc=g:GetNext()
end
end
function c33701328.eqtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_MZONE,1,nil,e,tp) end
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_MZONE,1,1,nil,e,tp)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,tp,0)
end
function c33701328.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not Duel.Equip(tp,c,tc) then return end
local e1=Effect.CreateEffect(tc)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT+EFFECT_FLAG_OWNER_RELATE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetLabelObject(tc)
e1:SetValue(c33701328.eqlimit)
c:RegisterEffect(e1)
end
function c33701328.eqlimit(e,c)
return e:GetOwner()==c
end
--水晶魔法小妖精 露克西
function c33701329.initial_effect(c)
--SSet
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e1:SetRange(LOCATION_HAND+LOCATION_MZONE)
e1:SetCost(c33701329.sscost)
e1:SetTarget(c33701329.sstg)
e1:SetOperation(c33701329.ssop)
c:RegisterEffect(e1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_DECK)
e1:SetOperation(c33701329.actop)
c:RegisterEffect(e1)
if not c33701329.global_check then
c33701329.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_CHAINING)
ge1:SetOperation(c33701329.checkop)
Duel.RegisterEffect(ge1,0)
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_CHAINING)
ge1:SetOperation(c33701329.checkop1)
Duel.RegisterEffect(ge1,0)
end
end
function c33701329.actop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.GetDecktopGroup(tp,1):IsContains(e:GetHandler()) then return end
if not e:GetHandler():IsFaceup() then return end
if ep==tp and re:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.SetChainLimit(c33701329.chainlm)
end
end
function c33701329.chainlm(e,rp,tp)
return tp==rp
end
function c33701329.checkop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(re:GetHandler():GetControler(),33701329,RESET_PHASE+PHASE_END,0,1)
end
function c33701329.checkop1(e,tp,eg,ep,ev,re,r,rp)
if re:IsActiveType(TYPE_MONSTER) then return end
Duel.RegisterFlagEffect(re:GetHandler():GetControler(),00701329,RESET_PHASE+PHASE_END,0,1)
end
function c33701329.sscost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(03701329)==0 and e:GetHandler():IsAbleToRemove() end
e:GetHandler():RegisterFlagEffect(03701329,RESET_EVENT+RESET_CHAIN,0,1)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
function c33701329.ssfil(c)
return c:IsSSetable() and ((c:IsType(TYPE_SPELL) and c:IsType(TYPE_CONTINUOUS)) or c:GetType()==TYPE_TRAP )
end
function c33701329.ssfil2(c,code)
return c:IsSSetable() and ((c:IsType(TYPE_SPELL) and c:IsType(TYPE_CONTINUOUS)) or c:GetType()==TYPE_TRAP ) and c:IsCode(code)
end
function c33701329.sstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(1-tp,33701329)>=5 and Duel.IsExistingMatchingCard(c33701329.ssfil,tp,LOCATION_DECK,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
end
function c33701329.ssop(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.SelectMatchingCard(tp,c33701329.ssfil,tp,LOCATION_DECK,0,1,1,nil):GetFirst()
Duel.SSet(tp,tc)
local code=tc:GetCode()
if Duel.IsExistingMatchingCard(c33701329.ssfil2,tp,LOCATION_DECK,0,1,nil,code) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(33701329,0)) then
local g1=Duel.SelectMatchingCard(tp,c33701329.ssfil2,tp,LOCATION_DECK,0,1,1,nil,code)
Duel.SSet(tp,g1)
if Duel.IsExistingMatchingCard(c33701329.ssfil2,tp,LOCATION_DECK,0,1,nil,code) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(33701329,0)) then
local g2=Duel.SelectMatchingCard(tp,c33701329.ssfil2,tp,LOCATION_DECK,0,1,1,nil,code)
Duel.SSet(tp,g2)
end
end
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetReset(RESET_PHASE+PHASE_STANDBY)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_REMOVED)
e1:SetOperation(c33701329.puop)
c:RegisterEffect(e1)
end
function c33701329.puop(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.GetFlagEffect(tp,00701329)~=0 then return end
if Duel.SelectYesNo(tp,aux.Stringid(33701329,1)) then
Duel.SendtoDeck(e:GetHandler(),tp,0,REASON_EFFECT)
e:GetHandler():ReverseInDeck()
end
end
--电拟神招 改 ~生如泡沫~
function c33701330.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c33701330.cost)
e1:SetTarget(c33701330.target)
e1:SetOperation(c33701330.activate)
c:RegisterEffect(e1)
end
function c33701330.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.PayLPCost(tp,1000)
end
function c33701330.filter(c,e,tp)
local g=Duel.GetMatchingGroup(Card.IsReleasable,tp,LOCATION_MZONE+LOCATION_HAND,0,c)
local lv=c:GetOriginalLevel()
return (c:IsSetCard(0x445) or c:IsSetCard(0x344c)) and g:CheckWithSumEqual(Card.GetLevel,lv,1,99)
end
function c33701330.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33701330.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,0)
end
function c33701330.activate(e,tp,eg,ep,ev,re,r,rp)
local g2=Duel.GetMatchingGroup(Card.IsReleasable,tp,LOCATION_MZONE+LOCATION_HAND,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,c33701330.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
local tc=tg:GetFirst()
local lv=tc:GetOriginalLevel()
local g=g2:Filter(aux.TRUE,tc)
local mat=g:SelectWithSumEqual(tp,Card.GetLevel,lv,1,99)
tc:SetMaterial(mat)
Duel.ReleaseRitualMaterial(mat)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,true,true,POS_FACEUP)
tc:CompleteProcedure()
end
--一个世界的纪录 ~残留的记忆~
function c33701331.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c33701331.cost)
c:RegisterEffect(e1)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetRange(LOCATION_FZONE)
e1:SetTargetRange(1,0)
e1:SetCondition(c33701331.con1)
e1:SetValue(aux.TRUE)
c:RegisterEffect(e1)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetRange(LOCATION_FZONE)
e1:SetTargetRange(0,1)
e1:SetCondition(c33701331.con2)
e1:SetValue(aux.TRUE)
c:RegisterEffect(e1)
end
function c33701331.cofil1(c)
return c:IsAbleToRemoveAsCost() and c:IsCode(33700902)
end
function c33701331.cofil2(c)
return c:IsAbleToRemoveAsCost() and c:IsCode(33700903)
end
function c33701331.cofil3(c)
return c:IsAbleToRemoveAsCost() and c:IsCode(33700904)
end
function c33701331.cofil4(c)
return c:IsAbleToRemoveAsCost() and c:IsCode(33700905)
end
function c33701331.cofil5(c)
return c:IsAbleToRemoveAsCost() and c:IsCode(11113135)
end
function c33701331.cofil6(c)
return c:IsAbleToRemoveAsCost() and c:IsCode(33700906)
end
function c33701331.xcofil1(c)
return c:IsCode(33700902)
end
function c33701331.xcofil2(c)
return c:IsCode(33700903)
end
function c33701331.xcofil3(c)
return c:IsCode(33700904)
end
function c33701331.xcofil4(c)
return c:IsCode(33700905)
end
function c33701331.xcofil5(c)
return c:IsCode(11113135)
end
function c33701331.xcofil6(c)
return c:IsCode(33700906)
end
function c33701331.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return
Duel.IsExistingMatchingCard(c33701331.cofil1,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,nil) and
Duel.IsExistingMatchingCard(c33701331.cofil2,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,nil) and
Duel.IsExistingMatchingCard(c33701331.cofil3,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,nil) and
Duel.IsExistingMatchingCard(c33701331.cofil4,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,nil) and
Duel.IsExistingMatchingCard(c33701331.cofil5,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,nil) and
Duel.IsExistingMatchingCard(c33701331.cofil6,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end
local g1=Duel.SelectMatchingCard(tp,c33701331.cofil1,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
local g2=Duel.SelectMatchingCard(tp,c33701331.cofil2,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
local g3=Duel.SelectMatchingCard(tp,c33701331.cofil3,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
local g4=Duel.SelectMatchingCard(tp,c33701331.cofil4,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
local g5=Duel.SelectMatchingCard(tp,c33701331.cofil5,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
local g6=Duel.SelectMatchingCard(tp,c33701331.cofil6,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
g1:Merge(g2)
g1:Merge(g3)
g1:Merge(g4)
g1:Merge(g5)
g1:Merge(g6)
Duel.Remove(g1,POS_FACEUP,REASON_COST)
end
function c33701331.con1(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)~=0 and
Duel.IsExistingMatchingCard(c33701331.xcofil1,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) and
Duel.IsExistingMatchingCard(c33701331.xcofil2,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) and
Duel.IsExistingMatchingCard(c33701331.xcofil3,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) and
Duel.IsExistingMatchingCard(c33701331.xcofil4,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) and
Duel.IsExistingMatchingCard(c33701331.xcofil5,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) and
Duel.IsExistingMatchingCard(c33701331.xcofil6,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil)
end
function c33701331.con2(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandler():GetControler()
return Duel.GetFieldGroupCount(1-tp,LOCATION_MZONE,0)~=0 and
Duel.IsExistingMatchingCard(c33701331.xcofil1,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) and
Duel.IsExistingMatchingCard(c33701331.xcofil2,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) and
Duel.IsExistingMatchingCard(c33701331.xcofil3,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) and
Duel.IsExistingMatchingCard(c33701331.xcofil4,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) and
Duel.IsExistingMatchingCard(c33701331.xcofil5,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) and
Duel.IsExistingMatchingCard(c33701331.xcofil6,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil)
end
--千篇万花
function c33710901.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33710901,0))
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c33710901.target)
e1:SetOperation(c33710901.activate)
c:RegisterEffect(e1)
--forbidden
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e2:SetCode(EFFECT_CHANGE_CODE)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(0x7f,0x7f)
e2:SetTarget(c33710901.bantg)
e2:SetValue(c33710901.cval)
e2:SetLabelObject(e1)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33710901,1))
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1)
e3:SetCondition(c33710901.spcon)
e3:SetTarget(c33710901.sptg)
e3:SetOperation(c33710901.spop)
e3:SetLabelObject(e1)
c:RegisterEffect(e3)
--EFFECT GAIN
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_ADJUST)
e5:SetRange(LOCATION_SZONE)
e5:SetLabelObject(e1)
e5:SetOperation(c33710901.op)
c:RegisterEffect(e5)
--
end
function c33710901.eftg(e,c)
local code=e:GetLabelObject():GetLabelObject():GetLabel()
return c:IsType(TYPE_MONSTER) and c:GetOriginalCode()==code
end
function c33710901.acfilter(c,code,mc)
return c:GetTextAttack()==mc:GetTextAttack() and c:GetTextDefense()==mc:GetTextDefense() and c:GetOriginalCode()~=code and c:IsAbleToRemove() and c:IsType(TYPE_MONSTER) and c:GetLevel()==mc:GetLevel() and c:GetAttribute()==mc:GetAttribute() and c:GetRace()==mc:GetRace()
end
function c33710901.acfilter1(c,code,mc)
if c:GetTextAttack()==mc:GetTextAttack() and c:GetTextDefense()==mc:GetTextDefense() and c:GetOriginalCode()~=code and c:IsAbleToRemove() and c:IsType(TYPE_MONSTER)and c:GetLevel()==mc:GetLevel() and c:GetAttribute()==mc:GetAttribute() and c:GetRace()==mc:GetRace()
then c:RegisterFlagEffect(code+16100000000,RESET_CHAIN,0,0) return true
else return false
end
end
function c33710901.target(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetFieldGroup(tp,LOCATION_DECK,0)
local flag=0
local ag=Group.CreateGroup()
local codes={}
for c in aux.Next(g) do
local code=c:GetCode()
if not ag:IsExists(Card.IsCode,1,nil,code) and g:IsExists(c33710901.acfilter,1,nil,code,c) and c:IsType(TYPE_MONSTER) then
ag:AddCard(c)
table.insert(codes,code)
flag=1
end
end
if chk==0 then return flag==1 end
local g=Duel.GetFieldGroup(tp,LOCATION_DECK,0)
local flag=0
local ag=Group.CreateGroup()
local codes1={}
for c in aux.Next(g) do
local code=c:GetCode()
if not ag:IsExists(Card.IsCode,1,nil,code) then
local sg=Duel.GetMatchingGroup(c33710901.acfilter1,tp,LOCATION_DECK,0,nil,code,c)
if sg:GetCount()>0 and c:IsType(TYPE_MONSTER) then
ag:AddCard(c)
table.insert(codes1,code)
flag=1
end
end
end
table.sort(codes1)
--c:IsCode(codes[1])
local afilter={codes1[1],OPCODE_ISCODE}
if #codes1>1 then
--or ... or c:IsCode(codes[i])
for i=2,#codes1 do
table.insert(afilter,codes1[i])
table.insert(afilter,OPCODE_ISCODE)
table.insert(afilter,OPCODE_OR)
end
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE)
local ac=Duel.AnnounceCard(tp,table.unpack(afilter))
getmetatable(e:GetHandler()).announce_filter={TYPE_SPELL+TYPE_TRAP,OPCODE_ISTYPE,OPCODE_NOT}
Duel.SetTargetParam(ac)
Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK)
end
function c33710901.filter(c,code)
return c:IsAbleToRemove() and c:GetFlagEffect(code+16100000000)~=0 and c:GetCode()~=code
end
function c33710901.copyfilter(c,code)
return c:GetOriginalCode()==code
end
function c33710901.copyfilter22(c,code)
return c:GetFlagEffect(33710901)~=0
end
function c33710901.activate(e,tp,eg,ep,ev,re,r,rp)
local ac=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tc=Duel.SelectMatchingCard(tp,c33710901.filter,tp,LOCATION_DECK,0,1,1,nil,ac):GetFirst()
if tc and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)~=0 then
e:SetLabel(ac)
e:SetLabelObject(tc)
e:GetHandler():RegisterFlagEffect(16133710901,RESET_EVENT+RESETS_STANDARD,0,0)
local g=Duel.GetMatchingGroup(c33710901.copyfilter,tp,0x7f,0x7f,nil,ac)
for gc in aux.Next(g) do
tc:RegisterFlagEffect(33710901,RESET_EVENT+EVENT_CUSTOM+33710901,0,0)
local cid=tc:CopyEffect(tc:GetOriginalCode(),0)
local e0=Effect.CreateEffect(tc)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_ADJUST)
e0:SetLabel(cid)
e0:SetLabelObject(e:GetHandler())
e0:SetOperation(c33710901.resetop)
Duel.RegisterEffect(e0,tp)
end
end
end
function c33710901.resetop(e,tp,eg,ep,ev,re,r,rp)
if e:GetLabelObject():GetFlagEffect(16133710901)==0 then
local c=e:GetOwner()
local cid=e:GetLabel()
if cid~=0 then
c:ResetEffect(cid,RESET_COPY)
c:ResetEffect(RESET_DISABLE,RESET_EVENT)
c:ResetFlagEffect(33710901)
end
e:Reset()
end
end
function c33710901.resetop1(e,tp,eg,ep,ev,re,r,rp)
Debug.Message(1)
end
function c33710901.bantg(e,c)
local code1,code2=c:GetOriginalCodeRule()
local fcode=e:GetLabelObject():GetLabel()
return (code1==fcode or code2==fcode) and (not c:IsOnField() or c:GetRealFieldID()>e:GetFieldID())
end
function c33710901.cval(e)
return e:GetLabelObject():GetLabelObject():GetOriginalCode()
end
function c33710901.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return rp==1-tp and c:IsReason(REASON_DESTROY) and c:IsPreviousLocation(LOCATION_SZONE) and c:GetPreviousControler()==tp
end
function c33710901.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c33710901.spop(e,tp,eg,ep,ev,re,r,rp)
local fc=e:GetLabelObject():GetLabelObject()
if not fc then return end
local code=fc:GetCode()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,1)
e1:SetLabel(code)
e1:SetValue(c33710901.actlimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c33710901.actlimit(e,te,tp)
return te:GetHandler():GetCode()==e:GetLabel()
end
function c33710901.copyfilter1(c,code)
return c:GetOriginalCode()==code and c:GetFlagEffect(33710901)==0
end
function c33710901.op(e,tp,eg,ep,ev,re,r,rp)
local code=e:GetLabelObject():GetLabel()
local ac=e:GetLabelObject():GetLabelObject():GetOriginalCode()
local g=Duel.GetMatchingGroup(c33710901.copyfilter1,tp,0x7f,0x7f,nil,code)
for tc in aux.Next(g) do
tc:RegisterFlagEffect(33710901,RESET_EVENT+EVENT_CUSTOM+33710901,0,0)
local cid=tc:CopyEffect(ac,0)
local e0=Effect.CreateEffect(tc)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_ADJUST)
e0:SetLabel(cid)
e0:SetLabelObject(e:GetHandler())
e0:SetOperation(c33710901.resetop)
Duel.RegisterEffect(e0,tp)
end
end
\ No newline at end of file
--虚拟主播 有栖Mana SP
function c33710902.initial_effect(c)
c:EnableReviveLimit()
--Actto
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33710902,0))
e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_REMOVE+CATEGORY_RECOVER)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetTarget(c33710902.tgtg)
e2:SetOperation(c33710902.tgop)
c:RegisterEffect(e2)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_MATERIAL_CHECK)
e1:SetValue(c33710902.valcheck)
e1:SetLabelObject(e2)
c:RegisterEffect(e1)
end
function c33710902.tgfilter(c)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_SPELL) and (c:IsAbleToGrave() or c:IsAbleToRemove())
end
function c33710902.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33710902.tgfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil) or (e:GetLabel()==1 and Duel.IsExistingMatchingCard(c33710902.tgfilter,tp,LOCATION_HAND+LOCATION_DECK,LOCATION_DECK,1,nil)) end
if e:GetLabel()==0 then
local sg=Duel.SelectMatchingCard(tp,c33710902.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.SetTargetCard(sg)
end
if e:GetLabel()==1 then
local g=Duel.GetFieldGroup(tp,0,LOCATION_DECK)
Duel.ConfirmCards(tp,g)
local sg=Duel.SelectMatchingCard(tp,c33710902.tgfilter,tp,LOCATION_DECK,LOCATION_DECK,1,1,nil)
Duel.SetTargetCard(sg)
end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,1,tp,2100)
end
function c33710902.tgop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
if g:GetCount()>0 then
local tc=g:GetFirst()
if tc and tc:IsAbleToGrave() and (not tc:IsAbleToRemove() or Duel.SelectOption(tp,1191,1192)==0) then
if Duel.SendtoGrave(tc,REASON_EFFECT)~=0 then
Duel.Recover(tp,2100,REASON_EFFECT)
end
else
if Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)~=0 then
Duel.Recover(tp,2100,REASON_EFFECT)
end
end
end
local tg=Duel.GetOperatedGroup()
if tg:GetCount()~=0 and tg:GetFirst():IsCode(33701330) then
Duel.SetLP(tp,Duel.GetLP(tp)*2)
end
end
function c33710902.valcheck(e,c)
local g=c:GetMaterial()
if g:IsExists(Card.IsSetCard,1,nil,0x344c) then
e:GetLabelObject():SetLabel(1)
else
e:GetLabelObject():SetLabel(0)
end
end
\ No newline at end of file
--天之理
function c33710903.initial_effect(c)
--re
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33710903,0))
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c33710903.target)
e1:SetOperation(c33710903.operation)
c:RegisterEffect(e1)
if not c33710903.global_check then
c33710903.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_CHAINING)
ge1:SetOperation(c33710903.checkop)
Duel.RegisterEffect(ge1,0)
end
end
function c33710903.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=re:GetHandler()
if tc then
Duel.RegisterFlagEffect(re:GetHandler():GetControler(),16133710903+Duel.GetTurnCount(),RESET_PHASE+PHASE_END,0,2)
end
end
function c33710903.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0 end
end
function c33710903.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)==0 then return end
local e0=Effect.CreateEffect(e:GetHandler())
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e0:SetCode(EFFECT_CANNOT_ACTIVATE)
e0:SetTargetRange(1,0)
e0:SetValue(c33710903.actlimit)
Duel.RegisterEffect(e0,tp)
Duel.ConfirmDecktop(tp,1)
local g=Duel.GetDecktopGroup(tp,1)
local c=e:GetHandler()
if g:GetCount()>0 then
g:GetFirst():ReverseInDeck()
local tc=g:GetFirst()
local e1=Effect.CreateEffect(tc)
e1:SetDescription(aux.Stringid(33710903,1))
e1:SetCategory(CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_TO_HAND)
e1:SetTarget(c33710903.sptg)
e1:SetOperation(c33710903.spop)
e1:SetReset(RESET_EVENT+0x1de0000)
tc:RegisterEffect(e1)
end
end
function c33710903.actlimit(e,te,tp)
local g=Duel.GetDecktopGroup(tp,1)
if not g then return false end
return Duel.GetTurnPlayer()~=tp
and g:GetFirst():IsFaceup()
end
function c33710903.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsRelateToEffect(e) end
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,0,0,1-tp,Duel.GetFlagEffect(1-tp,16133710903+Duel.GetTurnCount()-1)*500)
end
function c33710903.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.Damage(1-tp,Duel.GetFlagEffect(1-tp,16133710903+Duel.GetTurnCount()-1)*500,REASON_EFFECT)
end
end
\ No newline at end of file
--将死亡唱成一首歌
function c33710904.initial_effect(c)
--to remove
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c33710904.tgtg)
e1:SetOperation(c33710904.tgop)
c:RegisterEffect(e1)
end
function c33710904.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetFieldGroup(1-tp,LOCATION_MZONE,0)
if chk==0 then return Duel.IsPlayerCanRemove(1-tp)
and g:IsExists(Card.IsAbleToRemove,1,nil,1-tp,POS_FACEUP,REASON_RULE) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,0,LOCATION_MZONE)
end
function c33710904.tgop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsPlayerCanRemove(1-tp) then return end
local g=Duel.GetFieldGroup(tp,0,LOCATION_MZONE)
local ct=g:GetCount()
if ct>0 then
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_REMOVE)
local sg=g:FilterSelect(1-tp,Card.IsAbleToRemove,1,ct,nil,1-tp,POS_FACEUP,REASON_RULE)
if Duel.Remove(sg,POS_FACEUP,REASON_RULE)~=0 then
local og=Duel.GetOperatedGroup()
local sum=(og:GetSum(Card.GetTextAttack)+og:GetSum(Card.GetTextDefense))*3
if sum==0 then sum=8000 end
Duel.SetLP(1-tp,sum)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(0,1)
e1:SetValue(c33710904.aclimit)
e1:SetLabelObject(og)
Duel.RegisterEffect(e1,tp)
end
end
end
function c33710904.aclimit(e,re,tp)
local c=re:GetHandler()
local tg=e:GetLabelObject()
local flag=false
if not tg then return false end
local tc=tg:GetFirst()
while tc do
flag=c:IsCode(tc:GetCode())
tc=tg:GetNext()
end
return flag
end
\ No newline at end of file
--流浪的交易者 ~各取所需~
function c33710905.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c33710905.activate)
c:RegisterEffect(e1)
end
function c33710905.activate(e,tp,eg,ep,ev,re,r,rp)
local b1=Duel.GetMatchingGroupCount(Card.IsAbleToHand,tp,LOCATION_HAND,0,nil)>0 or Duel.GetMatchingGroupCount(Card.IsAbleToHand,1-tp,LOCATION_HAND,0,nil)>0
local b2=Duel.GetMatchingGroupCount(Card.IsControlerCanBeChanged,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)>0
local b3=Duel.GetMatchingGroupCount(Card.IsAbleToDeck,tp,LOCATION_DECK,0,nil)>9 and Duel.GetMatchingGroupCount(Card.IsAbleToDeck,1-tp,LOCATION_DECK,0,nil)>9
stsck1={1,2,3,4}
if not b1 then table.remove(stsck1,2) end
if not b2 then table.remove(stsck1,3) end
if not b3 then table.remove(stsck1,4) end
local op=0
if #stsck1==1 then op=Duel.SelectOption(tp,aux.Stringid(33710905,1)) end
if #stsck1==2 then op=Duel.SelectOption(tp,aux.Stringid(33710905,stsck1[1]),aux.Stringid(33710905,stsck1[2])) end
if #stsck1==3 then op=Duel.SelectOption(tp,aux.Stringid(33710905,stsck1[1]),aux.Stringid(33710905,stsck1[2]),aux.Stringid(33710905,stsck1[3])) end
if #stsck1==4 then op=Duel.SelectOption(tp,aux.Stringid(33710905,1),aux.Stringid(33710905,2),aux.Stringid(33710905,3),aux.Stringid(33710905,4)) end
local op1=op
op=stsck1[op1+1]-1
table.remove(stsck1,op1+1)
if op==0 then
local lp1=Duel.GetLP(tp)
local lp2=Duel.GetLP(1-tp)
Duel.SetLP(tp,lp2)
Duel.SetLP(1-tp,lp1)
elseif op==1 then
local g1=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
local g2=Duel.GetFieldGroup(1-tp,LOCATION_HAND,0)
if g1:GetCount()==0 and g2:GetCount()==0 then return end
if g2 then
Duel.ConfirmCards(tp,g2)
end
if g1 then
Duel.ConfirmCards(1-tp,g1)
end
if g2 then
Duel.SendtoHand(g2,tp,REASON_EFFECT)
end
if g1 then
Duel.SendtoHand(g1,1-tp,REASON_EFFECT)
end
elseif op==2 then
local g1=Duel.GetMatchingGroup(Card.IsControlerCanBeChanged,tp,LOCATION_ONFIELD,0,nil)
local g2=Duel.GetMatchingGroup(Card.IsControlerCanBeChanged,1-tp,LOCATION_ONFIELD,0,nil)
Duel.GetControl(g1,1-tp)
Duel.GetControl(g2,tp)
else
local g1=Duel.GetDecktopGroup(tp,10)
local g2=Duel.GetDecktopGroup(1-tp,10)
Duel.SendtoDeck(g2,tp,2,REASON_EFFECT)
Duel.SendtoDeck(g1,1-tp,2,REASON_EFFECT)
end
local num=#stsck1
tp=1-tp
local num2=0
for i=1,num,1 do
if #stsck1==0 then return end
if #stsck1==1 then op=Duel.SelectOption(tp,aux.Stringid(33710905,stsck1[1])) end
if #stsck1==2 then op=Duel.SelectOption(tp,aux.Stringid(33710905,stsck1[1]),aux.Stringid(33710905,stsck1[2])) end
if #stsck1==3 then op=Duel.SelectOption(tp,aux.Stringid(33710905,stsck1[1]),aux.Stringid(33710905,stsck1[2]),aux.Stringid(33710905,stsck1[3])) end
local op1=op
op=stsck1[op1+1]-1
table.remove(stsck1,op1+1)
if op==0 then
local lp1=Duel.GetLP(tp)
local lp2=Duel.GetLP(1-tp)
Duel.SetLP(tp,lp2)
Duel.SetLP(1-tp,lp1)
elseif op==1 then
local g1=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
local g2=Duel.GetFieldGroup(1-tp,LOCATION_HAND,0)
if g1:GetCount()==0 and g2:GetCount()==0 then return end
if g2 then
Duel.ConfirmCards(tp,g2)
end
if g1 then
Duel.ConfirmCards(1-tp,g1)
end
if g2 then
Duel.SendtoHand(g2,tp,REASON_EFFECT)
end
if g1 then
Duel.SendtoHand(g1,1-tp,REASON_EFFECT)
end
elseif op==2 then
local g1=Duel.GetMatchingGroup(Card.IsControlerCanBeChanged,tp,LOCATION_ONFIELD,0,nil)
local g2=Duel.GetMatchingGroup(Card.IsControlerCanBeChanged,1-tp,LOCATION_ONFIELD,0,nil)
Duel.GetControl(g1,1-tp)
Duel.GetControl(g2,tp)
else
local g1=Duel.GetDecktopGroup(tp,10)
local g2=Duel.GetDecktopGroup(1-tp,10)
Duel.SendtoDeck(g2,tp,2,REASON_EFFECT)
Duel.SendtoDeck(g1,1-tp,2,REASON_EFFECT)
end
num2=num2+1
if not Duel.SelectYesNo(tp,aux.Stringid(33710905,5)) or #stsck1==0 then
Duel.SetLP(tp,Duel.GetLP(tp)+5555*num2)
return
end
end
Duel.SetLP(tp,Duel.GetLP(tp)+5555*num2)
end
\ No newline at end of file
--劳改
function c33710906.initial_effect(c)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
---
if not c33710906.global_check then
c33710906.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SUMMON_SUCCESS)
ge1:SetOperation(c33710906.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge2:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(ge2,0)
local ge3=Effect.CreateEffect(c)
ge3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge3:SetCode(EVENT_CHAINING)
ge3:SetOperation(c33710906.checkop2)
Duel.RegisterEffect(ge3,0)
end
--changemonster
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33710906,0))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetRange(LOCATION_SZONE)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,33710906)
e1:SetCondition(c33710906.con1)
e1:SetOperation(c33710906.op1)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--changetrap
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,33710907)
e3:SetCondition(c33710906.con2)
e3:SetOperation(c33710906.op2)
c:RegisterEffect(e3)
--changeSpell
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAINING)
e4:SetRange(LOCATION_SZONE)
e4:SetCountLimit(1,33710908)
e4:SetCondition(c33710906.con3)
e4:SetOperation(c33710906.op3)
c:RegisterEffect(e4)
end
function c33710906.monfil(c)
return c:GetSummonPlayer()==Duel.GetTurnPlayer()
end
function c33710906.checkop(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(c33710906.monfil,nil)
if g:GetCount()>0 then Duel.RegisterFlagEffect(Duel.GetTurnPlayer(),33710906,RESET_PHASE+PHASE_END,0,1) end
end
function c33710906.checkop2(e,tp,eg,ep,ev,re,r,rp)
if re:GetHandler():IsType(TYPE_TRAP) and re:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.RegisterFlagEffect(re:GetHandler():GetControler(),33710907,RESET_PHASE+PHASE_END,0,1)
end
if re:GetHandler():IsType(TYPE_SPELL) and re:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.RegisterFlagEffect(re:GetHandler():GetControler(),33710908,RESET_PHASE+PHASE_END,0,1)
end
end
function c33710906.prfilter(c)
return c:IsFaceup() and c:IsCode(33710906)
end
function c33710906.con1(e,tp,eg)
local g=eg:Filter(c33710906.monfil,nil)
return g:GetCount()>0 and Duel.GetFlagEffect(Duel.GetTurnPlayer,33710906)==0 and Duel.GetMatchingGroupCount(c33710906.prfilter,tp,LOCATION_ONFIELD,0,nil)>0
end
function c33710906.op1(e,tp,eg)
local g=eg:Filter(c33710906.monfil,nil)
for tc in aux.Next(g) do
tc:ReplaceEffect(33710924, RESET_EVENT + RESETS_STANDARD)
end
end
function c33710906.con2(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler():IsType(TYPE_TRAP) and re:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.GetFlagEffect(Duel.GetTurnPlayer,33710907)==0 and Duel.GetMatchingGroupCount(c33710906.prfilter,tp,LOCATION_ONFIELD,0,nil)>1
end
function c33710906.op2(e,tp,eg,ep,ev,re,r,rp)
local g=Group.CreateGroup()
Duel.ChangeTargetCard(ev,g)
Duel.ChangeChainOperation(ev,c33710906.repop)
end
function c33710906.con3(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler():IsType(TYPE_SPELL) and re:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.GetFlagEffect(Duel.GetTurnPlayer,33710908)==0 and Duel.GetMatchingGroupCount(c33710906.prfilter,tp,LOCATION_ONFIELD,0,nil)>2
end
function c33710906.op3(e,tp,eg,ep,ev,re,r,rp)
local g=Group.CreateGroup()
Duel.ChangeTargetCard(ev,g)
Duel.ChangeChainOperation(ev,c33710906.repop)
end
function c33710906.repop(e,tp,eg,ep,ev,re,r,rp)
Duel.Recover(tp,2000,REASON_EFFECT)
Duel.SendtoGrave(e:GetHandler(),REASON_EFFECT)
end
\ No newline at end of file
--砂之星的采集
function c33710907.initial_effect(c)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--deck check
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33710907,0))
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_SZONE)
e1:SetCountLimit(1)
e1:SetTarget(c33710907.tg)
e1:SetOperation(c33710907.op)
c:RegisterEffect(e1)
end
function c33710907.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>4 and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_DECK,0,1,nil) end
local code=e:GetHandler():GetCode()
getmetatable(e:GetHandler()).announce_filter={0x442,OPCODE_ISSETCARD,code,OPCODE_ISCODE,OPCODE_NOT,OPCODE_AND}
local ac=Duel.AnnounceCard(tp,table.unpack(getmetatable(e:GetHandler()).announce_filter))
Duel.SetTargetParam(ac)
Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,0)
end
function c33710907.thfilter(c,code)
return c:IsCode(code) and c:IsAbleToHand()
end
function c33710907.tgfilter(c,code)
return c:IsCode(code) and c:IsAbleToGrave()
end
function c33710907.op(e,tp,eg,ep,ev,re,r,rp)
local ac=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
local b1=Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>4
local b2=Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>9
local op=0
local flag=0
local flag1=1
local num=5
if b1 and b2 then
op=Duel.SelectOption(tp,aux.Stringid(33710907,1),aux.Stringid(33710907,2))
else
op=Duel.SelectOption(tp,aux.Stringid(33710907,1))
end
if op==0 then
num=5
Duel.ConfirmDecktop(tp,5)
local g=Duel.GetDecktopGroup(tp,5)
if g:GetClassCount(Card.GetCode)~=g:GetCount() then flag1=0 end
if g:GetCount()>0 then
if g:IsExists(Card.IsCode,1,nil,ac) then
local thg=g:Filter(c33710907.thfilter,nil,ac)
if thg:GetCount()>0 then
local tc=thg:Select(tp,1,1,nil)
Duel.SendtoHand(tc,tp,REASON_EFFECT)
flag=1
end
end
end
else
num=10
Duel.ConfirmDecktop(tp,10)
local g=Duel.GetDecktopGroup(tp,10)
if g:GetClassCount(Card.GetCode)~=g:GetCount() then flag1=0 end
if g:GetCount()>0 then
if g:IsExists(Card.IsCode,1,nil,ac) then
local thg=g:Filter(c33710907.thfilter,nil,ac)
if thg:GetCount()>0 then
local tc=thg:Select(tp,1,1,nil)
Duel.SendtoHand(tc,tp,REASON_EFFECT)
flag=1
end
end
end
end
if num==5 and Duel.IsExistingMatchingCard(c33710907.tgfilter,tp,LOCATION_DECK,0,1,nil,ac) and flag==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tgg=Duel.SelectMatchingCard(tp,c33710907.tgfilter,tp,LOCATION_DECK,0,1,1,nil,ac)
Duel.SendtoGrave(tgg,REASON_EFFECT)
end
if num==10 and Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_DECK,0,1,nil,ac) and flag==0 then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(33710907,3))
local tgg=Duel.SelectMatchingCard(tp,Card.IsCode,tp,LOCATION_DECK,0,1,1,nil,ac)
if tgg:GetCount()>0 then
Duel.MoveSequence(tgg:GetFirst(),0)
Duel.ConfirmDecktop(tp,1)
end
end
if flag1==0 then Duel.SendtoGrave(e:GetHandler(),REASON_EFFECT) end
end
\ No newline at end of file
--虚拟YouTuber 饼叽v
function c33710908.initial_effect(c)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33710908,0))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetTarget(c33710908.seqtg)
e2:SetOperation(c33710908.seqop)
c:RegisterEffect(e2)
end
function c33710908.seqtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)>0 and e:GetHandler():IsLocation(LOCATION_MZONE) end
end
function c33710908.seqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsControler(1-tp) then return end
if not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local seq=0
if c:IsControlerCanBeChanged() then
seq=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0xe000e0)
else
seq=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0xe000e0)
end
if seq==nil then return end
local nseq=math.log(seq,2)
if nseq<16 then Duel.MoveSequence(c,nseq) end
if nseq>15 then
local dis=bit.lshift(0x1,nseq-16)
Duel.GetControl(c,1-tp,0,0,dis)
end
local seq=c:GetSequence()
local dg=Group.CreateGroup()
if seq<5 then dg=Duel.GetMatchingGroup(c33710908.desfilter2,tp,LOCATION_MZONE,LOCATION_MZONE,nil,seq,c:GetControler()) end
if dg:GetCount()>0 then
local b1=dg:IsExists(Card.IsAbleToGrave,1,nil) and Duel.IsExistingMatchingCard(c33710908.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,dg:GetSum(Card.GetLevel))
local b2=dg:IsExists(c33710908.filtt,1,nil,c:GetControler()) and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(c33710908.spfilter2),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp)
local op=0
if not (b1 or b2) then return end
if not Duel.SelectYesNo(tp,aux.Stringid(33710908,1)) then return end
if b1 and b2 then
op=Duel.SelectOption(tp,aux.Stringid(33710908,2),aux.Stringid(33710908,3))
elseif b1 then
op=Duel.SelectOption(tp,aux.Stringid(33710908,2))
else
op=Duel.SelectOption(tp,aux.Stringid(33710908,3))+1
end
if op==0 then
if Duel.SendtoGrave(dg,REASON_EFFECT)~=0 then
local og=Duel.GetOperatedGroup()
local lv=og:GetSum(Card.GetLevel)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,c33710908.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,dg:GetSum(Card.GetLevel))
if tg:GetCount()>0 then
Duel.SpecialSummon(tg,0,tp,tp,true,false,POS_FACEUP)
end
end
else
if Duel.Release(dg:Filter(c33710908.filtt,nil,c:GetControler()),REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33710908.spfilter2),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
if tg:GetCount()>0 then
Duel.SpecialSummon(tg,0,tp,tp,true,false,POS_FACEUP)
end
end
end
end
end
function c33710908.spfilter(c,e,tp,lv)
return c:IsSetCard(0x445) and not c:IsCode(33710908) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and c:GetLevel()<=lv and c:GetLevel()>0
end
function c33710908.spfilter2(c,e,tp)
return c:IsSetCard(0x445,0x344c) and not c:IsCode(33710908) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
end
function c33710908.filtt(c,tp)
return Duel.IsPlayerCanRelease(tp,c)
end
function c33710908.desfilter2(c,s,tp)
local seq=c:GetSequence()
return seq<5 and math.abs(seq-s)==1 and c:IsControler(tp)
end
\ No newline at end of file
--快乐八重彩
function c33710909.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(c33710909.condition)
e1:SetOperation(c33710909.activate)
c:RegisterEffect(e1)
end
function c33710909.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLP(tp)/Duel.GetLP(1-tp)>=8
end
function c33710909.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.SetLP(1-tp,0)
end
\ No newline at end of file
--梦幻联动 ~双厨狂喜~
function c33710910.initial_effect(c)
--Active
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_END)
e1:SetCondition(c33710910.thcon)
e1:SetTarget(c33710910.thtg)
e1:SetOperation(c33710910.thop)
c:RegisterEffect(e1)
end
function c33710910.thcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE and Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)
end
function c33710910.spfilter(c,e,tp,g)
return c:IsCanBeSpecialSummoned(e,0,tp,true,false) and g:IsExists(Card.IsCode,1,nil,c:GetCode()) and ((c:IsType(TYPE_LINK+TYPE_PENDULUM) and c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0) or (Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and not (c:IsType(TYPE_LINK+TYPE_PENDULUM) and c:IsLocation(LOCATION_EXTRA))))
end
function c33710910.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(Card.IsFaceup,1-tp,LOCATION_MZONE,0,nil)
if chk==0 then return Duel.IsExistingMatchingCard(c33710910.spfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,nil,e,tp,g) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,nil,0,0)
end
function c33710910.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ggg=Duel.GetMatchingGroup(Card.IsFaceup,1-tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c33710910.spfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,nil,e,tp,ggg)
while g:GetCount()>0 do
local sg=g:Select(tp,1,1,nil)
local tc=sg:GetFirst()
g:RemoveCard(tc)
if Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)~=0 then
local fid=c:GetFieldID()
tc:RegisterFlagEffect(33710910,RESET_EVENT+RESETS_STANDARD,0,1,fid)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33710910,5))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetCountLimit(1)
e3:SetLabel(fid)
e3:SetLabelObject(tc)
e3:SetCondition(c33710910.thcon1)
e3:SetOperation(c33710910.thop1)
Duel.RegisterEffect(e3,tp)
Duel.SpecialSummonComplete()
g=g:Filter(c33710910.spfilter,nil,e,tp,ggg)
end
end
end
function c33710910.thcon1(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:GetFlagEffectLabel(33710910)==e:GetLabel() then
return true
else
e:Reset()
return false
end
end
function c33710910.thop1(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
Duel.SendtoHand(tc,tp,REASON_EFFECT)
end
\ No newline at end of file
--Calamus & Alula ~梦迹的孩子们~
function c33710911.initial_effect(c)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,nil,2,2)
--TEF
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PREDRAW)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c33710911.con)
e1:SetTarget(c33710911.tg)
e1:SetOperation(c33710911.op)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_PREDRAW)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c33710911.con1)
e2:SetTarget(c33710911.tg1)
e2:SetOperation(c33710911.op1)
c:RegisterEffect(e2)
--Effect Draw
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_DRAW_COUNT)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(1,1)
e3:SetCondition(c33710911.con2)
e3:SetValue(2)
c:RegisterEffect(e3)
end
function c33710911.con(e,tp,eg,ep,ev,re,r,rp)
return tp==Duel.GetTurnPlayer() and Duel.GetFieldGroupCount(1-tp,LOCATION_DECK,0)>0
and Duel.GetDrawCount(tp)>0 and e:GetHandler():GetLinkedGroup():IsExists(Card.IsControler,1,nil,1-tp)
end
function c33710911.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0 end
local dt=Duel.GetDrawCount(tp)
if dt~=0 then
_replace_count=0
_replace_max=dt
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_DRAW_COUNT)
e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_DRAW)
e1:SetValue(0)
Duel.RegisterEffect(e1,tp)
end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK)
end
function c33710911.op(e,tp,eg,ep,ev,re,r,rp)
_replace_count=_replace_count+1
if _replace_count>_replace_max or not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetDecktopGroup(1-tp,1)
if g:GetCount()>0 then
Duel.DisableShuffleCheck()
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c33710911.con1(e,tp,eg,ep,ev,re,r,rp)
return tp~=Duel.GetTurnPlayer() and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0
and Duel.GetDrawCount(tp)>0 and e:GetHandler():GetLinkedGroup():IsExists(Card.IsControler,1,nil,tp)
end
function c33710911.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0 end
local dt=Duel.GetDrawCount(1-tp)
if dt~=0 then
_replace_count=0
_replace_max=dt
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_DRAW_COUNT)
e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_DRAW)
e1:SetValue(0)
Duel.RegisterEffect(e1,1-tp)
end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK)
end
function c33710911.op1(e,tp,eg,ep,ev,re,r,rp)
_replace_count=_replace_count+1
if _replace_count>_replace_max or not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetDecktopGroup(tp,1)
if g:GetCount()>0 then
Duel.DisableShuffleCheck()
Duel.SendtoHand(g,1-tp,REASON_EFFECT)
Duel.ConfirmCards(tp,g)
end
end
function c33710911.con2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetLinkedGroupCount()==0
end
\ No newline at end of file
--风所到达的场所 ~ 亚由
function c33710912.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,11,5,c33710912.ovfilter,aux.Stringid(33710912,0),5,nil)
c:EnableReviveLimit()
--SpecialSummonLIMIT
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(c33710912.sslimit)
c:RegisterEffect(e1)
--SpecialSummon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33710912,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCost(c33710912.cost1)
e2:SetTarget(c33710912.tg1)
e2:SetOperation(c33710912.op1)
c:RegisterEffect(e2)
end
function c33710912.ovfilter(c)
return c:IsFaceup() and (c:IsType(TYPE_SYNCHRO) or c:IsType(TYPE_XYZ) or c:IsType(TYPE_FUSION)) and (c:IsLevelAbove(9) or c:IsRankAbove(9))
end
function c33710912.sslimit(e,c,sump,sumtype,sumpos,targetp,se)
return c:IsLocation(LOCATION_EXTRA)
end
function c33710912.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
local sum=e:GetHandler():GetOverlayGroup():GetCount()
if chk==0 then return e:GetHandler():GetOverlayCount()>0
and e:GetHandler():CheckRemoveOverlayCard(tp,e:GetHandler():GetOverlayCount(),REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,e:GetHandler():GetOverlayCount(),e:GetHandler():GetOverlayCount(),REASON_COST)
local sum1=e:GetHandler():GetOverlayGroup():GetCount()
e:SetLabel(sum-sum1)
end
function c33710912.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c33710912.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,nil,tp,LOCATION_GRAVE)
end
function c33710912.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local num=e:GetLabel()
if Duel.IsPlayerAffectedByEffect(tp,59822133) then num=1 end
if not (Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c33710912.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp)) then return end
num=math.min(num,Duel.GetLocationCount(tp,LOCATION_MZONE))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c33710912.spfilter,tp,LOCATION_GRAVE,0,1,num,nil,e,tp)
c:RegisterFlagEffect(33710912,RESET_EVENT+RESETS_STANDARD,0,0)
if sg:GetCount()>0 then
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
local tc=sg:GetFirst()
while tc do
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetLabelObject(c)
e2:SetCondition(c33710912.condition1)
e2:SetValue(aux.tgoval)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2,true)
tc=sg:GetNext()
end
end
end
function c33710912.condition1(e)
local c=e:GetLabelObject()
return c:IsLocation(LOCATION_MZONE) and c:GetFlagEffect(33710912)~=0
end
\ No newline at end of file
--永恒的约定
function c33710913.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,33710913+EFFECT_COUNT_CODE_DUEL)
e1:SetTarget(c33710913.target)
e1:SetOperation(c33710913.activate)
c:RegisterEffect(e1)
end
function c33710913.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_EXTRA,0,1,nil,tp,POS_FACEDOWN,REASON_EFFECT) end
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_EXTRA,0,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,sg,sg:GetCount(),0,0)
end
function c33710913.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,33710913)~=0 then return end
Duel.RegisterFlagEffect(tp,33710913,0,0,0)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(c33710913.splimit1)
Duel.RegisterEffect(e1,tp)
local flag=1
local sg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_EXTRA,0,nil,tp,POS_FACEDOWN,REASON_EFFECT)
if Duel.Remove(sg,POS_FACEDOWN,REASON_EFFECT)~=0 then
if Duel.SelectYesNo(tp,aux.Stringid(33710913,2)) then
Duel.PayLPCost(tp,2000)
flag=0
local token1=Duel.CreateToken(tp,33710928)
Duel.SendtoDeck(token1,tp,0,REASON_EFFECT)
local token2=Duel.CreateToken(tp,33710916)
Duel.SendtoDeck(token2,tp,0,REASON_EFFECT)
local token3=Duel.CreateToken(tp,33710917)
Duel.SendtoDeck(token3,tp,0,REASON_EFFECT)
local token4=Duel.CreateToken(tp,33710918)
Duel.SendtoDeck(token4,tp,0,REASON_EFFECT)
local token5=Duel.CreateToken(tp,33710915)
Duel.SendtoDeck(token5,tp,0,REASON_EFFECT)
end
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetOperation(c33710913.gain)
e1:SetLabel(flag)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetLabel(flag)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(e2,tp)
end
end
function c33710913.gain(e,tp,eg,ep,ev,re,r,rp)
local flag=e:GetLabel()
local tg=eg:Filter(Card.IsControler,nil,tp)
local tc=tg:GetFirst()
stack11={1,3,5}
while tc and tc:GetFlagEffect(33710913)==0 do
stsck1={1,3,5}
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(33710913,4))
local op=Duel.SelectOption(tp,aux.Stringid(33710913,stsck1[1]),aux.Stringid(33710913,stsck1[2]),aux.Stringid(33710913,stsck1[3]))
local op1=op
local flag2=0
tc:RegisterFlagEffect(33710913,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,0,0,aux.Stringid(33710913,stack11[op1+1]))
table.remove(stsck1,op1+1)
if flag==1 then
flag2=Duel.SelectOption(tp,aux.Stringid(33710913,stsck1[1]),aux.Stringid(33710913,stsck1[2]))
tc:RegisterFlagEffect(33710913,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,0,0,aux.Stringid(33710913,stsck1[flag2+1]))
end
local sum=stack11[op+1]
if flag~=0 then
sum=sum+stsck1[flag2+1]
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_DESTROYED)
e1:SetLabel(sum)
e1:SetOperation(c33710913.op0)
tc:RegisterEffect(e1,true)
tc=tg:GetNext()
end
end
function c33710913.op0(e)
local num=e:GetLabel()
if num==1 then
if Duel.IsPlayerCanDraw(e:GetHandler():GetControler(),1) then
Duel.Draw(tp,1,REASON_EFFECT)
end
elseif num==3 then
if Duel.IsExistingMatchingCard(aux.TRUE,e:GetHandler():GetControler(),LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,e:GetHandler():GetControler(),LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.Destroy(g,REASON_EFFECT)
end
elseif num==4 then
if Duel.IsPlayerCanDraw(e:GetHandler():GetControler(),1) then
Duel.Draw(tp,1,REASON_EFFECT)
end
if Duel.IsExistingMatchingCard(aux.TRUE,e:GetHandler():GetControler(),LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,e:GetHandler():GetControler(),LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.Destroy(g,REASON_EFFECT)
end
elseif num==5 then
local g=Duel.GetMatchingGroup(c33710913.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
local tc=sg:GetFirst()
Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_DISABLE_EFFECT)
tc:RegisterEffect(e2)
Duel.SpecialSummonComplete()
end
elseif num==6 then
if Duel.IsPlayerCanDraw(e:GetHandler():GetControler(),1) then
Duel.Draw(tp,1,REASON_EFFECT)
end
local g=Duel.GetMatchingGroup(c33710913.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
local tc=sg:GetFirst()
Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DISABLE)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e4=e3:Clone()
e4:SetCode(EFFECT_DISABLE_EFFECT)
tc:RegisterEffect(e4)
Duel.SpecialSummonComplete()
end
else
if Duel.IsExistingMatchingCard(aux.TRUE,e:GetHandler():GetControler(),LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,e:GetHandler():GetControler(),LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.Destroy(g,REASON_EFFECT)
end
local g=Duel.GetMatchingGroup(c33710913.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
local tc=sg:GetFirst()
Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP)
local e5=Effect.CreateEffect(e:GetHandler())
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_DISABLE)
e5:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_DISABLE_EFFECT)
tc:RegisterEffect(e6)
Duel.SpecialSummonComplete()
end
end
e:Reset()
end
function c33710913.spfilter(c,e,tp)
return c:IsLevel(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c33710913.splimit1(e,c,tp,sumtp,sumpos)
return not c:GetOriginalCode()==33710928 and c:IsLocation(LOCATION_EXTRA)
end
\ No newline at end of file
--随风而去的悲伤
function c33710915.initial_effect(c)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--UPDATE ATK/DEF
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetTarget(aux.TargetBoolFunction(Card.IsType,TYPE_TOKEN))
e1:SetValue(500)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e2)
--cannot be Destroyed
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(aux.TargetBoolFunction(Card.IsType,TYPE_TOKEN))
e3:SetValue(1)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
c:RegisterEffect(e4)
local e5=e3:Clone()
e5:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
c:RegisterEffect(e5)
end
\ No newline at end of file
--随羊飞舞的无力
function c33710916.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunRep2(c,aux.FilterBoolFunction(Card.IsType,TYPE_TOKEN),2,63,false)
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetOperation(c33710916.sucop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCost(c33710916.cost)
e2:SetTarget(c33710916.target)
e2:SetOperation(c33710916.activate)
c:RegisterEffect(e2)
end
function c33710916.sucop(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_SET_BASE_ATTACK)
e1:SetValue(c:GetMaterialCount()*500)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_SET_BASE_DEFENSE)
c:RegisterEffect(e2)
end
function c33710916.ff(c)
return c:IsAbleToRemoveAsCost() and c:IsType(TYPE_MONSTER)
end
function c33710916.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33710916.ff,tp,LOCATION_DECK,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c33710916.ff,tp,LOCATION_DECK,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
local g=Duel.GetOperatedGroup()
local g=g:GetFirst()
e:SetLabelObject(g)
end
function c33710916.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingTarget(Card.IsType,tp,LOCATION_MZONE,0,1,nil,TYPE_TOKEN) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,Card.IsType,tp,LOCATION_MZONE,0,1,1,nil,TYPE_TOKEN)
end
function c33710916.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
local g=e:GetLabelObject()
if tc:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(g:GetTextAttack())
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e12=Effect.CreateEffect(c)
e12:SetType(EFFECT_TYPE_SINGLE)
e12:SetCode(EFFECT_SET_DEFENSE_FINAL)
e12:SetValue(g:GetTextDefense())
e12:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e12)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_ATTACK_ANNOUNCE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(c33710916.ftarget)
e2:SetLabel(tc:GetFieldID())
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
end
function c33710916.ftarget(e,c)
return e:GetLabel()~=c:GetFieldID()
end
\ No newline at end of file
--随波而涌的潮鸣
function c33710917.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,4,2)
c:EnableReviveLimit()
--token
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33710917,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_MZONE)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_END_PHASE)
e1:SetCost(c33710917.spcost)
e1:SetTarget(c33710917.sptg)
e1:SetOperation(c33710917.spop)
c:RegisterEffect(e1)
--ATKUP
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_ATKCHANGE)
e2:SetDescription(aux.Stringid(33710917,0))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCost(c33710917.cost)
e2:SetOperation(c33710917.operation)
c:RegisterEffect(e2)
end
function c33710917.cost1(e,c,tp,st)
return Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_ONFIELD,0,1,nil,TYPE_TOKEN)
end
function c33710917.spcost(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 c33710917.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,33710919,0,0x4011,0,0,4,nil,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATTRIBUTE)
local rc=Duel.AnnounceAttribute(tp,1,0xffff)
e:SetLabel(rc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RACE)
local rac=Duel.AnnounceRace(tp,1,RACE_ALL)
e:SetLabel(rc)
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(rac)
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function c33710917.spop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetLabel(rc)
e1:SetTarget(c33710917.splimit1)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0)
e2:SetLabel(rac)
e2:SetTarget(c33710917.splimit2)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
local rc=e:GetLabel()
local p,rac=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
or not Duel.IsPlayerCanSpecialSummonMonster(tp,33710919,0,0x4011,0,0,4,rac,rc) then return end
local token=Duel.CreateToken(tp,33710919)
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP)
local e11=Effect.CreateEffect(e:GetHandler())
e11:SetType(EFFECT_TYPE_SINGLE)
e11:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e11:SetValue(rc)
e11:SetReset(RESET_EVENT+RESETS_STANDARD)
token:RegisterEffect(e11)
local e21=Effect.CreateEffect(e:GetHandler())
e21:SetType(EFFECT_TYPE_SINGLE)
e21:SetCode(EFFECT_CHANGE_RACE)
e21:SetValue(rac)
e21:SetReset(RESET_EVENT+RESETS_STANDARD)
token:RegisterEffect(e21)
Duel.SpecialSummonComplete()
end
function c33710917.splimit1(e,c,tp,sumtp,sumpos)
return not c:IsAttribute(e:GetLabel())
end
function c33710917.splimit2(e,c,tp,sumtp,sumpos)
return not c:IsRace(e:GetLabel())
end
function c33710917.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local sg=e:GetHandler():GetOverlayGroup()
sg:KeepAlive()
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) and Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_MZONE,0,1,nil,TYPE_TOKEN) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
sg:Remove(c33710917.ff,nil,e:GetHandler():GetOverlayGroup())
e:SetLabelObject(sg)
end
function c33710917.ff(c,g)
return g:IsContains(c)
end
function c33710917.operation(e,tp,eg,ep,ev,re,r,rp)
local sg=e:GetLabelObject()
local g=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_MZONE,0,nil,33710919)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(sg:GetFirst():GetAttack())
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetValue(sg:GetFirst():GetDefense())
tc:RegisterEffect(e2)
tc=g:GetNext()
end
end
\ No newline at end of file
--随绊而去的永恒
function c33710918.initial_effect(c)
c:EnableReviveLimit()
aux.AddLinkProcedure(c,c33710918.matfilter,3,3)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(0,1)
e1:SetValue(1)
e1:SetCondition(c33710918.actcon)
c:RegisterEffect(e1)
--Remove
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33710918,0))
e2:SetCategory(CATEGORY_REMOVE)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(TIMING_DAMAGE_STEP)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c33710918.rmcon)
e2:SetTarget(c33710918.rmtg)
e2:SetOperation(c33710918.rmop)
c:RegisterEffect(e2)
--double damage
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c33710918.damcon)
e3:SetOperation(c33710918.damop)
c:RegisterEffect(e3)
end
function c33710918.matfilter(c)
return c:IsType(TYPE_TOKEN)
end
function c33710918.actcon(e)
local a=Duel.GetAttacker()
return a and a:IsControler(e:GetHandlerPlayer()) and a:IsType(TYPE_TOKEN) and e:GetHandler():GetLinkedGroup():IsContains(a)
end
function c33710918.rmcon(e,tp,eg,ep,ev,re,r,rp)
local phase=Duel.GetCurrentPhase()
if phase~=PHASE_DAMAGE or Duel.IsDamageCalculated() then return false end
local tc=Duel.GetAttacker()
if tc:IsControler(1-tp) then tc=Duel.GetAttackTarget() end
return tc:IsType(TYPE_TOKEN) and tc:IsRelateToBattle() and e:GetHandler():GetLinkedGroup():IsContains(tc) and not e:GetHandler():IsStatus(STATUS_CHAINING)
end
function c33710918.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetAttacker()
local bc=Duel.GetAttackTarget()
if tc:IsControler(1-tp) then
tc=Duel.GetAttackTarget()
bc=Duel.GetAttacker()
end
if chk==0 then return tc and tc:IsType(TYPE_TOKEN) and bc:IsAbleToRemove() and e:GetHandler():GetLinkedGroup():IsContains(tc) end
e:SetLabelObject(bc)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,bc,1,0,0)
end
function c33710918.rmop(e,tp,eg,ep,ev,re,r,rp)
local bc=e:GetLabelObject()
if not bc or not bc:IsAbleToRemove() then return end
Duel.Remove(bc,POS_FACEUP,REASON_EFFECT)
end
function c33710918.damcon(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
return ep==1-tp and e:GetHandler():GetLinkedGroup():IsContains(tc) and tc:IsType(TYPE_TOKEN) and Duel.GetAttackTarget()==nil
end
function c33710918.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end
\ No newline at end of file
--组装融合
function c33710920.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c33710920.target)
e1:SetOperation(c33710920.activate)
c:RegisterEffect(e1)
end
function c33710920.filter1(c,e)
return not c:IsImmuneToEffect(e) and c:IsLocation(LOCATION_HAND) and c:IsAbleToRemove() and c:IsType(TYPE_MONSTER)
end
function c33710920.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and m:CheckWithSumEqual(Card.GetLevel,c:GetLevel(),1,99,c) and not c:IsType(TYPE_EFFECT)
end
function c33710920.filter3(g,tp,c,e)
return g:GetSum(Card.GetLevel)==c:GetLevel() and c:IsAbleToRemove()
end
function c33710920.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetFieldGroup(tp,LOCATION_HAND,0):Filter(c33710920.filter1,nil,e)
local res=Duel.IsExistingMatchingCard(c33710920.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c33710920.activate(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetFieldGroup(tp,LOCATION_HAND,0):Filter(c33710920.filter1,nil,e)
local sg1=Duel.GetMatchingGroup(c33710920.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
if sg1:GetCount()>0then
local sg=sg1:Clone()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) then
local mat1=mg1:SelectSubGroup(tp,c33710920.filter3,true,1,mg1:GetCount(),tp,tc,e)
Duel.Remove(mat1,POS_FACEUP,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(mat1:GetSum(Card.GetAttack))
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetCategory(CATEGORY_ATKCHANGE)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SET_DEFENSE_FINAL)
e2:SetValue(mat1:GetSum(Card.GetDefense))
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2,true)
end
end
end
\ No newline at end of file
--破防
function c33710921.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(c33710921.con)
e1:SetOperation(c33710921.activate)
c:RegisterEffect(e1)
if c33710921.counter==nil then
c33710921.counter=true
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_DESTROYED)
e2:SetOperation(c33710921.addcount)
Duel.RegisterEffect(e2,0)
end
end
function c33710921.addcount(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(Card.IsReason,nil,REASON_BATTLE)
local tc=g:GetFirst()
while tc do
Duel.RegisterFlagEffect(tc:GetPreviousControler(),33710921,RESET_PHASE+PHASE_END,0,1)
tc=g:GetNext()
end
end
function c33710921.con(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE
end
function c33710921.activate(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e2:SetOperation(c33710921.dop)
e2:SetReset(RESET_PHASE+PHASE_END,1)
Duel.RegisterEffect(e2,tp)
end
function c33710921.dop(e,tp,eg,ep,ev,re,r,rp)
if ep~=tp and Duel.GetFlagEffect(1-tp,33710921)>=6 then
Duel.ChangeBattleDamage(ep,13370)
e:Reset()
end
end
\ No newline at end of file
--虚拟YouTuber 未来明 ~NEW WORLD~
function c33710922.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,4,6,c33710922.ovfilter,aux.Stringid(33710922,0),6,c33710922.xyzop)
c:EnableReviveLimit()
--Data up
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33710922,1))
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c33710922.cost1)
e1:SetTarget(c33710922.tg1)
e1:SetOperation(c33710922.op1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c33710922.tgcon)
e2:SetValue(aux.indoval)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e3:SetValue(1)
c:RegisterEffect(e3)
--immue
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_IMMUNE_EFFECT)
e4:SetCondition(c33710922.efcon)
e4:SetValue(c33710922.efilter)
c:RegisterEffect(e4)
end
function c33710922.ovfilter(c)
return c:IsFaceup() and c:IsType(TYPE_SYNCHRO) and c:GetLevel()>=7
end
function c33710922.xyzop(e,tp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_ONFIELD,0,1,nil,TYPE_TOKEN) end
end
function c33710922.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
local sum=e:GetHandler():GetOverlayGroup():GetCount()
if chk==0 then return e:GetHandler():GetOverlayCount()>0
and e:GetHandler():CheckRemoveOverlayCard(tp,e:GetHandler():GetOverlayCount(),REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,e:GetHandler():GetOverlayCount(),e:GetHandler():GetOverlayCount(),REASON_COST)
local sum1=e:GetHandler():GetOverlayGroup():GetCount()
e:SetLabel((sum-sum1)*500)
end
function c33710922.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsLocation(LOCATION_MZONE) and e:GetHandler():IsFaceup() end
end
function c33710922.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local num=e:GetLabel()
if not c:IsRelateToEffect(e) or not c:IsFaceup() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_DEFENSE)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(num)
c:RegisterEffect(e1)
end
function c33710922.tgcon(e)
return e:GetHandler():IsAttackPos() and e:GetHandler():GetOverlayCount()>0
end
function c33710922.efcon(e)
return e:GetHandler():IsDefensePos() and e:GetHandler():GetOverlayCount()==0
end
function c33710922.efilter(e,te)
return te:GetHandler()~=e:GetHandler()
end
\ No newline at end of file
--劳改复制体
function c33710924.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_RECOVER)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetTarget(c33710924.tg)
e1:SetOperation(c33710924.op)
c:RegisterEffect(e1)
end
function c33710924.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local num=e:GetHandler():GetAttack()+e:GetHandler():GetDefense()
if chk==0 then return num>0 end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(num)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,num)
end
function c33710924.op(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT)
end
\ No newline at end of file
--永恒的少女
function c33710928.initial_effect(c)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(c33710928.matfilter),1)
c:EnableReviveLimit()
--to deck
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33710928,1))
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCost(c33710928.tdcost)
e1:SetTarget(c33710928.tdtg)
e1:SetOperation(c33710928.tdop)
c:RegisterEffect(e1)
--SpecialSummon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33710928,2))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetCondition(c33710928.condition)
e2:SetTarget(c33710928.target)
e2:SetOperation(c33710928.operation)
c:RegisterEffect(e2)
end
function c33710928.matfilter(c)
return not c:IsAttribute(ATTRIBUTE_DARK)
end
function c33710928.tdcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,Card.IsType,1,nil,TYPE_TOKEN) end
local g=Duel.SelectReleaseGroup(tp,Card.IsType,1,1,nil,TYPE_TOKEN)
Duel.Release(g,REASON_COST)
end
function c33710928.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_MZONE,1,nil) end
end
function c33710928.tdop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,0,LOCATION_MZONE,1,1,nil)
if g:GetCount()>0 then
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
end
function c33710928.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsReason(REASON_DESTROY) and c:IsReason(REASON_EFFECT)
and c:GetPreviousControler()==tp
end
function c33710928.filter(c,e,tp)
return c:IsType(TYPE_MONSTER) and c:IsRace(RACE_SPELLCASTER) and c:IsLevelBelow(4)
end
function c33710928.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c33710928.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function c33710928.operation(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,c33710928.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil,e,tp)
if g:GetCount()<1 then return end
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
\ No newline at end of file
--苍白月下 纯真之眼
function c33711001.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,c33711001.mfilter,5,3)
c:EnableReviveLimit()
--special summon
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33711001,4))
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e0:SetRange(LOCATION_EXTRA)
e0:SetValue(SUMMON_TYPE_XYZ)
e0:SetCondition(c33711001.spcon1)
e0:SetOperation(c33711001.spop1)
c:RegisterEffect(e0)
--immune
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(c33711001.imtg)
e1:SetValue(c33711001.efilter)
c:RegisterEffect(e1)
--indes
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(c33711001.indtg)
e2:SetValue(1)
c:RegisterEffect(e2)
--cannot release
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_RELEASE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(1,1)
e3:SetTarget(c33711001.rellimit)
c:RegisterEffect(e3)
--token
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33711001,1))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetCountLimit(1)
e4:SetCost(c33711001.spcost)
e4:SetTarget(c33711001.sptg)
e4:SetOperation(c33711001.spop)
c:RegisterEffect(e4)
--leave field
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(33711001,2))
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e5:SetCode(EVENT_LEAVE_FIELD)
e5:SetCondition(c33711001.setcon)
e5:SetTarget(c33711001.settg)
e5:SetOperation(c33711001.setop)
c:RegisterEffect(e5)
end
function c33711001.mfilter(c)
return c:IsAttribute(ATTRIBUTE_EARTH) and c:IsFaceup()
end
function c33711001.ovfilter1(c,sc)
return c:IsFaceup() and c:IsSetCard(0x440) and c:IsCanBeXyzMaterial(sc)
end
function c33711001.ovfilter(c,sc)
return c:IsFaceup() and c:IsCode(33700033,33700051,33701072) and c:IsCanBeXyzMaterial(sc)
end
function c33711001.spcon1(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetMatchingGroupCount(c33711001.ovfilter,tp,LOCATION_MZONE,0,nil,c)>0
and Duel.GetMatchingGroupCount(c33711001.ovfilter1,tp,LOCATION_MZONE,0,nil,c)>0
end
function c33711001.spzfilter(g,sc)
return g:IsExists(c33711001.ovfilter,1,nil,sc) and g:IsExists(c33711001.ovfilter,1,nil,sc)
end
function c33711001.spop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g1=Duel.GetMatchingGroup(c33711001.ovfilter,tp,LOCATION_MZONE,0,nil,c)
local g2=Duel.GetMatchingGroup(c33711001.ovfilter1,tp,LOCATION_MZONE,0,nil,c)
g1:Merge(g2)
local sg=g1:SelectSubGroup(tp,c33711001.spzfilter,false,2,2,e:GetHandler())
local og=Group.CreateGroup()
for tc in aux.Next(sg) do
local mg=tc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(c,mg)
end
c:SetMaterial(Group.FromCards(tc))
Duel.Overlay(c,Group.FromCards(tc))
end
end
function c33711001.setcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE)
end
function c33711001.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c33711001.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and e:GetHandler():IsRelateToEffect(e) then
if Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,true) then
local e0=Effect.CreateEffect(c)
e0:SetCode(EFFECT_CHANGE_TYPE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetReset(RESET_EVENT+0x1fe0000)
e0:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
c:RegisterEffect(e0)
--avoid damage
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE)
e1:SetRange(LOCATION_SZONE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetValue(0)
e1:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e2)
end
end
end
function c33711001.imtg(e,c)
return c:IsAttribute(ATTRIBUTE_EARTH) and c:IsFaceup() and c:IsLevel(5)
end
function c33711001.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end
function c33711001.indtg(e,c)
return c:IsAttribute(ATTRIBUTE_EARTH) and c:IsFaceup() and c:IsLevel(5)
end
function c33711001.rellimit(e,c,tp,sumtp)
return c:IsAttribute(ATTRIBUTE_EARTH) and c:IsFaceup() and c:IsLevel(5)
end
function c33711001.spcost(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 c33711001.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,33711002,nil,0x4011,nil,nil,5,RACE_WARRIOR,ATTRIBUTE_EARTH) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function c33711001.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local atk=c:GetAttack()
local def=c:GetDefense()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or not Duel.IsPlayerCanSpecialSummonMonster(tp,33711002,0,0x4011,atk,def,5,RACE_WARRIOR,ATTRIBUTE_EARTH) then return end
local token=Duel.CreateToken(tp,33711002)
c:CreateRelation(token,RESET_EVENT+RESETS_STANDARD)
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(c33711001.tokenatk)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD)
token:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_SET_DEFENSE_FINAL)
e2:SetValue(c33711001.tokendef)
token:RegisterEffect(e2,true)
Duel.SpecialSummonComplete()
end
function c33711001.tokenatk(e,c)
return e:GetOwner():GetAttack()
end
function c33711001.tokendef(e,c)
return e:GetOwner():GetDefense()
end
\ No newline at end of file
--疑虚拟YouTuber 星野尼亚
function c33711003.initial_effect(c)
--fusion
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c33711003.ffilter,2,true)
--SpecialSummonLIMIT
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(c33711003.sslimit)
c:RegisterEffect(e1)
--Special Summon other
local e2 = Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33711003, 0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP + EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetTarget(c33711003.sptg2)
e2:SetOperation(c33711003.spop2)
c:RegisterEffect(e2)
--spsummon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33711003,1))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetCost(c33711003.spcost)
e3:SetTarget(c33711003.sptg)
e3:SetOperation(c33711003.spop)
c:RegisterEffect(e3)
end
function c33711003.ffilter(c,fc,sub,mg,sg)
return not sg or not sg:IsExists(Card.IsFusionAttribute,1,c,c:GetFusionAttribute())
end
function c33711003.sslimit(e,c,sump,sumtype,sumpos,targetp,se)
return not c:IsCode(e:GetHandler():GetCode())
end
function c33711003.spfilter(c, e, tp, code)
return c:IsCode(code) and c:IsCanBeSpecialSummoned(e, 0, tp, false, false)
end
function c33711003.sptg2(e, tp, eg, ep, ev, re, r, rp, chk)
if chk == 0 then
return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and
Duel.IsExistingMatchingCard(c33711003.spfilter, tp, LOCATION_EXTRA, 0, 1, nil, e, tp, e:GetHandler():GetCode())
end
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, nil, tp, LOCATION_HAND + LOCATION_GRAVE)
end
function c33711003.spop2(e, tp, eg, ep, ev, re, r, rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then
return
end
local num=Duel.GetLocationCount(tp,LOCATION_MZONE)
if Duel.IsPlayerAffectedByEffect(tp,59822133) then num=1 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g = Duel.SelectMatchingCard(tp,c33711003.spfilter,tp,LOCATION_EXTRA,0,1,num,nil,e,tp,e:GetHandler():GetCode())
if #g > 0 then
Duel.SpecialSummon(g, 0, tp, tp, false, false, POS_FACEUP)
end
end
function c33711003.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,Card.IsCode,1,nil,33711003) end
local g=Duel.SelectReleaseGroup(tp,Card.IsCode,1,1,nil,33711003)
Duel.Release(g,REASON_COST)
end
function c33711003.spfilter(c,e,tp)
return c:IsCode(33711003) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and c:IsAttack(2000) and c:IsDefense(2000)
end
function c33711003.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMZoneCount(tp,e:GetHandler())>0
and Duel.IsExistingMatchingCard(c33711003.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c33711003.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c33711003.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
if g:GetCount()>0 then
local tc=g:GetFirst()
if Duel.SpecialSummonStep(tc,0,tp,tp,true,false,POS_FACEUP) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
end
Duel.SpecialSummonComplete()
end
end
end
\ No newline at end of file
--感官超载
function c33711004.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(c33711004.condition)
e1:SetTarget(c33711004.target)
e1:SetOperation(c33711004.activate)
c:RegisterEffect(e1)
if not c33711004.global_check then
c33711004.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_DRAW)
ge1:SetOperation(c33711004.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge2:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(ge2,0)
end
end
function c33711004.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
Duel.RegisterFlagEffect(tc:GetControler(),33711004,RESET_PHASE+PHASE_END,0,1)
tc=eg:GetNext()
end
end
function c33711004.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(1-tp,33711004)>4
end
function c33711004.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(1-tp,21) end
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(21)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,1-tp,21)
end
function c33711004.activate(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)==21 then
if Duel.SelectYesNo(tp,aux.Stringid(33711004,1)) then
local thg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
Duel.SendtoHand(thg,1-tp,REASON_EFFECT)
local num=Duel.GetOperatedGroup():GetCount()
Duel.Draw(p,(21+num)*2,REASON_EFFECT)
end
end
end
\ No newline at end of file
--幽波纹之力
function c33711005.initial_effect(c)
c:SetUniqueOnField(LOCATION_SZONE,0,33711005)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--Cal cost
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0)
e2:SetOperation(c33711005.costop)
c:RegisterEffect(e2)
end
function c33711005.actarget(e,te,tp)
return true
end
function c33711005.atkcostfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove(tp,POS_FACEUP,REASON_RULE)
end
function c33711005.costop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_CARD,0,33711005)
local num1=0
local num2=0
local num3=0
local num4=0
local a=Duel.GetAttacker()
local b=Duel.GetAttackTarget()
local sg=Group.CreateGroup()
sg:AddCard(a)
sg:AddCard(b)
local sg1=sg:Filter(Card.IsControler,nil,tp)
local sg2=sg:Filter(Card.IsControler,nil,1-tp)
local tc=Duel.SelectMatchingCard(tp,c33711005.atkcostfilter,tp,LOCATION_DECK,0,1,1,nil,tp)
local tc2=Duel.SelectMatchingCard(1-tp,c33711005.atkcostfilter,1-tp,LOCATION_DECK,0,1,1,nil,1-tp)
if tc:GetCount()>0 then
tc=tc:GetFirst()
num1=tc:GetTextAttack()
num2=tc:GetTextDefense()
end
if tc2:GetCount()>0 then
tc2=tc2:GetFirst()
num3=tc2:GetTextAttack()
num4=tc2:GetTextDefense()
end
Duel.Remove(tc,POS_FACEUP,REASON_RULE)
Duel.Remove(tc2,POS_FACEUP,REASON_RULE)
for i in aux.Next(sg1) 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_DAMAGE_CAL)
e1:SetValue(num1)
i:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetValue(num2)
i:RegisterEffect(e2)
end
for i in aux.Next(sg2) do
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DAMAGE_CAL)
e3:SetValue(num3)
i:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_UPDATE_DEFENSE)
e4:SetValue(num4)
i:RegisterEffect(e4)
end
end
\ No newline at end of file
--正正堂堂 动物朋友
function c33711006.initial_effect(c)
Duel.EnableGlobalFlag(GLOBALFLAG_DECK_REVERSE_CHECK)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c33711006.activate)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_REVERSE_DECK)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(1,1)
c:RegisterEffect(e2)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_PUBLIC)
e4:SetRange(LOCATION_SZONE)
e4:SetTargetRange(LOCATION_HAND,0)
c:RegisterEffect(e4)
--announce
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33711006,0))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DECKDES)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1)
e3:SetTarget(c33711006.target)
e3:SetOperation(c33711006.operation)
c:RegisterEffect(e3)
end
function c33711006.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetFieldGroup(tp,0,LOCATION_DECK)
Duel.ConfirmCards(tp,g)
if g:GetCount()>0 then
g=g:Filter(Card.IsAbleToHand,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,1-tp,REASON_EFFECT)
Duel.ConfirmCards(tp,sg)
end
end
end
function c33711006.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,1)
and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_DECK,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE)
getmetatable(e:GetHandler()).announce_filter={TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK,OPCODE_ISTYPE,OPCODE_NOT}
local ac=Duel.AnnounceCard(tp,table.unpack(getmetatable(e:GetHandler()).announce_filter))
Duel.SetTargetParam(ac)
Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,0)
end
function c33711006.desfilter(c)
return c:IsCode(33711006) and c:IsFaceup()
end
function c33711006.operation(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) or not Duel.IsPlayerCanDiscardDeck(tp,1) then return end
Duel.ConfirmDecktop(tp,1)
local g=Duel.GetDecktopGroup(tp,1)
local tc=g:GetFirst()
local ac=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
if tc:IsCode(ac) and tc:IsAbleToHand() then
Duel.DisableShuffleCheck()
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ShuffleHand(tp)
else
Duel.DisableShuffleCheck()
Duel.SendtoGrave(tc,REASON_EFFECT+REASON_REVEAL)
local sc=Duel.GetOperatedGroup()
sc=sc:GetFirst()
if not sc:IsSetCard(0x442) then
local deg=Duel.GetMatchingGroup(c33711006.desfilter,tp,LOCATION_SZONE,0,nil)
Duel.Destroy(deg,REASON_EFFECT)
end
end
end
\ No newline at end of file
--罪恶的牺牲
function c33711007.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
local e00=Effect.CreateEffect(c)
e00:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e00:SetProperty(EFFECT_FLAG_DELAY)
e00:SetCode(EVENT_CUSTOM+33711007)
e00:SetRange(LOCATION_SZONE)
e00:SetCondition(c33711007.con)
e00:SetOperation(c33711007.op)
c:RegisterEffect(e00)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_REMOVE)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EFFECT_CHANGE_DAMAGE)
e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(1,0)
e3:SetValue(c33711007.damval)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e4:SetCondition(c33711007.damcon)
c:RegisterEffect(e4)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_SZONE)
e2:SetCode(EFFECT_CHANGE_DAMAGE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0)
e2:SetCondition(c33711007.valcon)
e2:SetValue(c33711007.val)
c:RegisterEffect(e2)
end
function c33711007.valcon(e)
return true
end
function c33711007.val(e,re,dam,r,rp,rc)
return dam*2
end
function c33711007.damval(e,re,val,r,rp,rc)
local c=e:GetHandler()
local tp=Duel.GetTurnPlayer()
if bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0 and c:GetFlagEffect(33711007)==0 then
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>2 then
c:RegisterFlagEffect(33711007,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
Duel.DisableActionCheck(true)
Duel.RaiseEvent(c,EVENT_CUSTOM+33711007,e,val,tp,rp,re)
end
end
Duel.DisableActionCheck(false)
return val
end
function c33711007.con(e,tp,eg)
return e:GetHandler():GetFlagEffect(33711007)~=0 and e:GetHandler():GetFlagEffect(33711008)==0
end
function c33711007.op(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>2 and Duel.SelectYesNo(tp,aux.Stringid(33711007,1)) then
Duel.ConfirmDecktop(tp,3)
local g=Duel.GetDecktopGroup(tp,3)
local hg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
if hg:GetCount()>0 then
hg:Merge(g)
hg=hg:Filter(Card.IsType,nil,TYPE_MONSTER)
if hg:GetCount()>0 then
local tc=hg:Select(tp,1,1,nil):GetFirst()
Duel.Remove(tc,POS_FACEDOWN,REASON_EFFECT)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(c33711007.sumlimit)
e1:SetLabel(tc:GetCode())
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
Duel.RegisterEffect(e2,tp)
local c=e:GetHandler()
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_DISABLE)
e3:SetTargetRange(0x7f,0x7f)
e3:SetTarget(c33711007.distg)
e3:SetLabelObject(tc)
Duel.RegisterEffect(e3,tp)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAIN_SOLVING)
e4:SetCondition(c33711007.discon)
e4:SetOperation(c33711007.disop)
e4:SetLabelObject(tc)
Duel.RegisterEffect(e4,tp)
Duel.Damage(tp,math.max(0,r-tc:GetTextDefense()),REASON_EFFECT)
e:GetHandler():RegisterFlagEffect(33711008,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
end
else
Duel.Damage(tp,r/2^(Duel.GetMatchingGroupCount(c33711007.filter2,tp,LOCATION_SZONE,0,nil)-1),REASON_EFFECT)
e:GetHandler():RegisterFlagEffect(33711008,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
end
function c33711007.filter2(c)
return c:IsFaceup() and c:GetOriginalCode()==33711007
end
function c33711007.distg(e,c)
local tc=e:GetLabelObject()
return c:IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c33711007.discon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
return re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c33711007.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
function c33711007.sumlimit(e,c)
return c:IsCode(e:GetLabel())
end
function c33711007.damcon(e)
return e:GetHandler():GetFlagEffect(33711007)==0
end
\ No newline at end of file
--虚拟主播 乙女音 SP
function c33711008.initial_effect(c)
c:EnableReviveLimit()
--sp1
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33711008,1))
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetCountLimit(1)
e1:SetCondition(c33711008.spcon)
e1:SetTarget(c33711008.sptg)
e1:SetOperation(c33711008.spop)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33711008,2))
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_BATTLED)
e2:SetCountLimit(1)
e2:SetCondition(c33711008.thcon)
e2:SetTarget(c33711008.thtg)
e2:SetOperation(c33711008.thop)
c:RegisterEffect(e2)
end
function c33711008.spcon(e,tp)
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0 and Duel.GetCurrentPhase()==PHASE_MAIN1
end
function c33711008.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c33711008.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or not e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,false) then return end
if Duel.SpecialSummonStep(e:GetHandler(),0,tp,tp,true,false,POS_FACEUP) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+0xff0000)
e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetValue(c:GetTextAttack()/2)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetReset(RESET_EVENT+0xff0000)
e2:SetCode(EFFECT_SET_BASE_DEFENSE)
e2:SetValue(c:GetTextDefense()/2)
c:RegisterEffect(e2)
Duel.SpecialSummonComplete()
if Duel.GetTurnCount()<2 then
Duel.SkipPhase(tp,PHASE_MAIN1,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(tp,PHASE_END,RESET_PHASE+PHASE_END,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_SKIP_TURN)
e1:SetTargetRange(0,1)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
Duel.RegisterEffect(e1,tp)
Duel.SkipPhase(tp,PHASE_DRAW,RESET_PHASE+PHASE_END,2)
Duel.SkipPhase(tp,PHASE_STANDBY,RESET_PHASE+PHASE_END,2)
Duel.SkipPhase(tp,PHASE_MAIN1,RESET_PHASE+PHASE_END,2)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_EP)
e2:SetTargetRange(1,0)
e2:SetReset(RESET_PHASE+PHASE_MAIN1+RESET_SELF_TURN)
Duel.RegisterEffect(e2,tp)
else
Duel.SkipPhase(tp,PHASE_MAIN1,RESET_PHASE+PHASE_END,1)
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DIRECT_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
end
end
function c33711008.thcon(e)
return Duel.GetAttacker()==e:GetHandler()
end
function c33711008.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end
function c33711008.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.SkipPhase(tp,PHASE_BATTLE,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(tp,PHASE_MAIN2,RESET_PHASE+PHASE_END,1)
if Duel.GetActivityCount(tp,ACTIVITY_SUMMON)==0 and Duel.GetActivityCount(tp,ACTIVITY_SPSUMMON)==0 and e:GetHandler():IsAbleToHand() and Duel.SelectYesNo(tp,aux.Stringid(33711008,0)) then
Duel.SendtoHand(e:GetHandler(),tp,REASON_EFFECT)
end
end
\ No newline at end of file
--动物朋友 二色薮猫
function c33711009.initial_effect(c)
--xyz summon
aux.AddXyzProcedureLevelFree(c,aux.FilterBoolFunction(Card.IsSetCard,0x442),aux.FilterBoolFunction(Card.IsFaceup),2,2)
c:EnableReviveLimit()
--code
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e1:SetValue(33700055)
c:RegisterEffect(e1)
--to grave
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33711009,1))
e2:SetCategory(CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCost(c33711009.cost)
e2:SetTarget(c33711009.target)
e2:SetOperation(c33711009.operation)
c:RegisterEffect(e2)
end
function c33711009.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c33711009.tgfilter(c)
return c:IsSetCard(0x442) and c:IsAbleToGrave()
end
function c33711009.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33711009.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function c33711009.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c33711009.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
\ No newline at end of file
--对极之心
function c33711010.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetCondition(c33711010.con)
e1:SetCost(c33711010.cost)
e1:SetTarget(c33711010.tg)
e1:SetOperation(c33711010.op)
c:RegisterEffect(e1)
end
function c33711010.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and Duel.GetCurrentPhase()==PHASE_END
end
function c33711010.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,5000) end
Duel.PayLPCost(tp,5000)
end
function c33711010.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_HAND,LOCATION_HAND)>0 end
end
function c33711010.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_SKIP_TURN)
e1:SetTargetRange(0,1)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EVENT_PREDRAW)
e2:SetTargetRange(1,0)
e2:SetCondition(c33711010.condition1)
e2:SetOperation(c33711010.drawop)
Duel.RegisterEffect(e2,tp)
local g1=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
local g2=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
if g1:GetCount()==0 and g2:GetCount()==0 then return end
Duel.ConfirmCards(tp,g2)
Duel.ConfirmCards(1-tp,g1)
Duel.SendtoHand(g1,1-tp,REASON_EFFECT)
Duel.SendtoHand(g2,tp,REASON_EFFECT)
Duel.ShuffleHand(tp)
Duel.ShuffleHand(1-tp)
end
function c33711010.condition1(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function c33711010.drawop(e,tp,eg,ep,ev,re,r,rp)
local dt=Duel.GetDrawCount(tp)
if dt~=0 then
if Duel.SelectYesNo(tp,aux.Stringid(33711010,1)) then
aux.DrawReplaceCount=0
aux.DrawReplaceMax=dt
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_DRAW_COUNT)
e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_DRAW)
e1:SetValue(0)
Duel.RegisterEffect(e1,tp)
local g=Duel.GetDecktopGroup(1-tp,dt)
Duel.DisableShuffleCheck()
Duel.SendtoHand(g,tp,REASON_EFFECT)
end
end
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetCountLimit(1)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return true
end)
e2:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
local g2=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
Duel.ConfirmCards(tp,g2)
Duel.ConfirmCards(1-tp,g1)
Duel.SendtoHand(g1,1-tp,REASON_EFFECT)
Duel.SendtoHand(g2,tp,REASON_EFFECT)
Duel.ShuffleHand(tp)
Duel.ShuffleHand(1-tp)
local tfg=Duel.GetFieldGroup(tp,LOCATION_ONFIELD,0)
for tc in aux.Next(tfg) do
if tc:IsAbleToChangeControler() then
if tc:IsLocation(LOCATION_MZONE) and Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0 then
Duel.GetControl(tc,1-tp)
elseif tc:IsLocation(LOCATION_FZONE) then
local fc=Duel.GetFieldCard(tp,LOCATION_FZONE,0)
if fc then
Duel.SendtoGrave(fc,REASON_RULE)
Duel.BreakEffect()
end
local pos=tc:GetPosition()
Duel.MoveToField(tc,tp,1-tp,LOCATION_FZONE,pos,true)
else
if Duel.GetLocationCount(1-tp,LOCATION_SZONE)>0 then
local pos=tc:GetPosition()
Duel.MoveToField(tc,tp,1-tp,LOCATION_SZONE,pos,true)
end
end
end
end
end)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
e:Reset()
end
\ No newline at end of file
#222DIY
#Nemoma 337 0x440-0x44f
!setname 0x440 篝(Kagari
......
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