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
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment