Commit 320d062d authored by TanakaKotoha's avatar TanakaKotoha

strings and delete

parent 036dba88
No preview for this file type
...@@ -465,12 +465,6 @@ ...@@ -465,12 +465,6 @@
30558008 0 --破灭幻械 -[创造者]- 30558008 0 --破灭幻械 -[创造者]-
30558009 1 --破灭幻械 -[智眼]- 30558009 1 --破灭幻械 -[智眼]-
30558013 0 --破灭幻械 注魂 30558013 0 --破灭幻械 注魂
#314
31400001 0 --超热血捕手
31400012 0 --永恒的温柔
31400049 1 --岩热炎龙机
31470003 0 --红移舌代谢龙
31470005 0 --白音齿真理龙
#328 #328
32828002 1 --风卷浪 32828002 1 --风卷浪
#333 #333
...@@ -857,7 +851,6 @@ ...@@ -857,7 +851,6 @@
65010537 0 --白魔军魂 苏亚雷斯 65010537 0 --白魔军魂 苏亚雷斯
65010539 0 --白魔军魂 安娜斯塔西亚 65010539 0 --白魔军魂 安娜斯塔西亚
65010543 1 --白魔军魂 高尔博斯托 65010543 1 --白魔军魂 高尔博斯托
65020211 0 --虚拟水神剑士
65020212 0 --行星驱逐舰 风雪游隼号 65020212 0 --行星驱逐舰 风雪游隼号
65020213 0 --「六兆年零一夜物语」凑友希那 65020213 0 --「六兆年零一夜物语」凑友希那
#650-2 #650-2
......
...@@ -40,7 +40,7 @@ function cm.sumsuc(e,tp,eg,ep,ev,re,r,rp) ...@@ -40,7 +40,7 @@ function cm.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function cm.actlimit(e,re,tp) function cm.actlimit(e,re,tp)
return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsImmuneToEffect(e) return re:IsActiveType(TYPE_MONSTER) and re:GetActivateLocation()==LOCATION_MZONE
end end
function cm.lvfilter(c,tp) function cm.lvfilter(c,tp)
local LeftScale=c:GetLeftScale() local LeftScale=c:GetLeftScale()
......
--超热血捕手
function c31400001.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_DAMAGE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(c31400001.con)
e1:SetTarget(c31400001.tg)
e1:SetOperation(c31400001.hop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_DAMAGE)
e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(c31400001.con)
e2:SetTarget(c31400001.tg)
e2:SetOperation(c31400001.gop)
c:RegisterEffect(e2)
end
function c31400001.con(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp and bit.band(r,REASON_EFFECT)~=0
end
function c31400001.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,ev)
end
function c31400001.hop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local val=Duel.Damage(1-tp,ev,REASON_EFFECT)
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
function c31400001.gop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local val=Duel.Damage(1-tp,ev,REASON_EFFECT)
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1,true)
end
end
\ No newline at end of file
--超热血跑者
function c31400002.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(c31400002.spcon)
e1:SetValue(1)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,31400002)
e2:SetTarget(c31400002.seatg)
e2:SetOperation(c31400002.seaop)
c:RegisterEffect(e2)
end
function c31400002.spcon(e,c)
if c==nil then return true end
return Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c31400002.spfilter,c:GetControler(),LOCATION_MZONE,0,1,nil)
end
function c31400002.spfilter(c)
return c:IsFaceup() and c:IsRace(RACE_WARRIOR) and c:GetLevel()==3 and c:IsAttribute(ATTRIBUTE_FIRE)
end
function c31400002.seatg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(tp) end
if chk==0 then return Duel.IsExistingTarget(c31400002.tg,tp,LOCATION_ONFIELD,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c31400002.tg,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c31400002.tg(c)
return c:IsFaceup() and c:IsRace(RACE_WARRIOR) and c:GetLevel()==3 and c:IsAttribute(ATTRIBUTE_FIRE) and c:GetAttack()>=500
end
function c31400002.seaop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c31400002.filter,tp,LOCATION_DECK,0,0,math.floor(tc:GetAttack()/500),nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c31400002.filter(c)
return c:IsRace(RACE_WARRIOR) and c:GetLevel()==3 and c:IsAttribute(ATTRIBUTE_FIRE)
end
\ No newline at end of file
--超热血王牌
function c31400003.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,31400003)
e1:SetTarget(c31400003.seatg)
e1:SetOperation(c31400003.seaop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCost(c31400003.spcost)
e2:SetTarget(c31400003.sptg)
e2:SetOperation(c31400003.spop)
c:RegisterEffect(e2)
end
function c31400003.filter(c)
return c:IsRace(RACE_WARRIOR) and c:IsLevel(3) and c:IsAttribute(ATTRIBUTE_FIRE)
end
function c31400003.seatg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c31400003.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c31400003.seaop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c31400003.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c31400003.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c31400003.filter,1,nil,tp) end
local g=Duel.SelectReleaseGroup(tp,c31400003.filter,1,1,nil,tp)
Duel.Release(g,REASON_COST)
end
function c31400003.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
and Duel.IsExistingMatchingCard(c31400003.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c31400003.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c31400003.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
--超热血教练
function c31400004.initial_effect(c)
c:EnableReviveLimit()
aux.AddLinkProcedure(c,c31400004.filter,1,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(c31400004.stg)
e1:SetCost(c31400004.scost)
e1:SetOperation(c31400004.scop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(c31400004.attg)
e2:SetCondition(c31400004.atcon)
e2:SetValue(c31400004.val)
c:RegisterEffect(e2)
end
function c31400004.filter(c)
return c:IsRace(RACE_WARRIOR) and c:IsLevel(3) and c:IsAttribute(ATTRIBUTE_FIRE)
end
function c31400004.scosfilter(c)
return c31400004.filter(c) and c:IsAbleToGraveAsCost()
end
function c31400004.sfilter(c)
return c31400004.filter(c) and c:IsSummonable(true,nil)
end
function c31400004.stg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c31400004.sfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_SUMMON,nil,1,0,0)
Duel.SetChainLimit(aux.FALSE)
end
function c31400004.scost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c31400004.scosfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c31400004.filter,tp,LOCATION_DECK,0,1,1,nil,lv)
Duel.SendtoGrave(g,REASON_COST)
end
function c31400004.scop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON)
local g=Duel.SelectMatchingCard(tp,c31400004.filter,tp,LOCATION_HAND,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.Summon(tp,tc,true,nil)
end
end
function c31400004.atcon(e)
return e:GetHandler():GetSequence()>4
end
function c31400004.attg(e,c)
return c31400004.filter(c)
end
function c31400004.val(e,c)
return Duel.GetMatchingGroupCount(c31400004.filter,c:GetControler(),LOCATION_MZONE,nil,nil)*1000
end
local m=31400012
local cm=_G["c"..m]
cm.name="永恒的温柔"
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE+TIMING_EQUIP)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
--act in set turn
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_QP_ACT_IN_SET_TURN)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
c:RegisterEffect(e2)
end
function cm.filter(c)
return c:IsType(TYPE_MONSTER)
end
function cm.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 cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and cm.filter(chkc) and chkc~=e:GetHandler() end
if chk==0 then return Duel.IsExistingTarget(cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT)
end
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsCanTurnSet() then
Duel.BreakEffect()
c:CancelToGrave()
Duel.ChangePosition(c,POS_FACEDOWN)
Duel.RaiseEvent(c,EVENT_SSET,e,REASON_EFFECT,tp,tp,0)
end
end
\ No newline at end of file
local m=31400015
local cm=_G["c"..m]
cm.name="龙血融合"
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,31400015+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(cm.thcost)
e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2)
end
function cm.filter0(c)
return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave()
end
function cm.filter1(c,e)
return not c:IsImmuneToEffect(e)
end
function cm.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and (c:IsRace(RACE_DINOSAUR) or c:IsRace(RACE_REPTILE) or c:IsRace(RACE_WINDBEAST)) and (not f or f(c)) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp)
if Duel.GetFieldGroupCount(e:GetHandler():GetControler(),LOCATION_MZONE,0)==0 then
local mg2=Duel.GetMatchingGroup(cm.filter0,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg2)
end
local res=Duel.IsExistingMatchingCard(cm.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(cm.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)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(cm.filter1,nil,e)
if Duel.GetFieldGroupCount(e:GetHandler():GetControler(),LOCATION_MZONE,0)==0 then
local mg2=Duel.GetMatchingGroup(cm.filter0,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg2)
end
local sg1=Duel.GetMatchingGroup(cm.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(cm.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)
Duel.SendtoGrave(mat1,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()
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
end
function cm.thfilter(c)
return c:IsCode(31400015) and c:IsAbleToRemoveAsCost()
end
function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_GRAVE,0,1,1,e:GetHandler())
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,c)
end
end
local m=31400045
local cm=_G["c"..m]
cm.name="未定命『命莲托生』"
function cm.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(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
function cm.filter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetMatchingGroupCount(Card.IsCode,tp,LOCATION_GRAVE,0,nil,c:GetCode())>0
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp) and Duel.GetMZoneCount(tp)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_HAND)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetMZoneCount(tp)<=0 then return end
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK+LOCATION_HAND,0,1,1,nil,e,tp)
if g then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
local m=31400046
local cm=_G["c"..m]
cm.name="炎龙机士-龙飞"
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,131470046)
e1:SetTarget(cm.thtg)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,231470046)
e3:SetCost(cm.spcost)
e3:SetTarget(cm.sptg)
e3:SetOperation(cm.spop)
c:RegisterEffect(e3)
end
function cm.thfilter(c)
return c:IsRace(RACE_DRAGON) and c:IsSetCard(0x5312) and c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.cfilter(c)
return c:IsAttribute(ATTRIBUTE_FIRE) and c:IsAbleToRemoveAsCost()
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() and Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_GRAVE,0,1,1,e:GetHandler())
g:AddCard(e:GetHandler())
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function cm.spfilter(c,e,tp)
return c:IsSetCard(0x5312) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
end
end
\ No newline at end of file
local m=31400047
local cm=_G["c"..m]
cm.name="神炎龙机王-红苍牙"
function cm.initial_effect(c)
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,31400046,cm.fmfilter,1,true,true)
aux.AddContactFusionProcedure(c,cm.cfmfilter,LOCATION_ONFIELD,0,Duel.SendtoHand,nil,REASON_MATERIAL)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(cm.splimit)
--c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(0,1)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.actcon)
e1:SetValue(1)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCondition(cm.spcon)
e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
end
function cm.splimit(e,se,sp,st)
return e:GetHandler():GetLocation()~=LOCATION_EXTRA
end
function cm.fmfilter(c)
return c:IsLevelAbove(5) and c:IsFusionAttribute(ATTRIBUTE_FIRE) and c:IsRace(RACE_DRAGON)
end
function cm.cfmfilter(c)
return cm.fmfilter(c) or c:IsFusionCode(31400046) and c:IsAbleToHandAsCost()
end
function cm.actcon(e)
local ph=Duel.GetCurrentPhase()
return ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=3 end
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.ConfirmDecktop(tp,3)
local g=Duel.GetDecktopGroup(tp,3)
local gf=g:Filter(Card.IsAttribute,nil,ATTRIBUTE_FIRE)
local count1=gf:GetCount()
local count2=g:FilterCount(Card.IsSetCard,nil,0x5312)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(1000*count1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_EXTRA_ATTACK)
e2:SetValue(count2)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e2)
Duel.BreakEffect()
Duel.SendtoGrave(gf,REASON_EFFECT)
Duel.ShuffleDeck(tp)
end
\ No newline at end of file
local m=31400048
local cm=_G["c"..m]
cm.name="炎龙机"
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_DECK)
e1:SetCondition(cm.dspcon)
e1:SetOperation(cm.dspop)
e1:SetValue(1)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_HAND)
e2:SetCondition(cm.descon)
e2:SetCost(cm.descost)
e2:SetTarget(cm.destg)
e2:SetOperation(cm.desop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetProperty(EFFECT_FLAG_EVENT_PLAYER)
e3:SetCondition(cm.indcon)
e3:SetOperation(cm.indop)
c:RegisterEffect(e3)
end
function cm.cfilter(c)
return c:IsCode(31400049) and c:IsAbleToGraveAsCost()
end
function cm.dspcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return ft>-1 and Duel.CheckReleaseGroupEx(tp,cm.cfilter,1,nil,ft,tp)
end
function cm.dspop(e,tp,eg,ep,ev,re,r,rp,c)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local g=Duel.SelectReleaseGroupEx(tp,cm.cfilter,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST)
end
function cm.desfilter(c)
return c:IsAttribute(ATTRIBUTE_FIRE) and c:IsPosition(POS_FACEUP)
end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.desfilter,tp,LOCATION_MZONE,0,1,nil)
end
function cm.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD)
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) end
if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
Duel.SelectTarget(tp,nil,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT)
end
end
function cm.indcon(e,tp,eg,ep,ev,re,r,rp)
return true
end
function cm.indop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
if rc:IsType(TYPE_FUSION) then
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(31400048,0))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(EFFECT_DIRECT_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true)
end
end
\ No newline at end of file
local m=31400049
local cm=_G["c"..m]
cm.name="岩热炎龙机"
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_DECK)
e1:SetCondition(cm.dspcon)
e1:SetOperation(cm.dspop)
e1:SetValue(1)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_NEGATE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetRange(LOCATION_HAND)
e2:SetCondition(cm.discon)
e2:SetCost(cm.discost)
e2:SetTarget(cm.distg)
e2:SetOperation(cm.disop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetProperty(EFFECT_FLAG_EVENT_PLAYER)
e3:SetCondition(cm.indcon)
e3:SetOperation(cm.indop)
c:RegisterEffect(e3)
end
function cm.cfilter(c)
return c:IsCode(31400048) and c:IsAbleToGraveAsCost()
end
function cm.dspcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return ft>-1 and Duel.CheckReleaseGroupEx(tp,cm.cfilter,1,nil,ft,tp)
end
function cm.dspop(e,tp,eg,ep,ev,re,r,rp,c)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local g=Duel.SelectReleaseGroupEx(tp,cm.cfilter,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST)
end
function cm.disfilter(c)
return c:IsAttribute(ATTRIBUTE_FIRE) and c:IsPosition(POS_FACEUP)
end
function cm.discon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsChainNegatable(ev) and Duel.IsExistingMatchingCard(cm.disfilter,tp,LOCATION_MZONE,0,1,nil)
end
function cm.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD)
end
function cm.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 cm.disop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) then
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetHandler():IsRelateToEffect(re) then
Duel.SendtoGrave(eg,REASON_EFFECT)
end
end
end
function cm.indcon(e,tp,eg,ep,ev,re,r,rp)
return true
end
function cm.indop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
if rc:IsType(TYPE_FUSION) then
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(31400049,0))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT+EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetValue(cm.efilter)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true)
end
end
function cm.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end
\ No newline at end of file
local m=31430001
local cm=_G["c"..m]
cm.name="机械本我"
function cm.initial_effect(c)
aux.EnablePendulumAttribute(c)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetOperation(cm.rlvcop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(31430001,1))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_PZONE)
e3:SetCountLimit(1,131430001)
e3:SetCost(cm.pcost)
e3:SetTarget(cm.ptg)
e3:SetOperation(cm.pop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(31430001,2))
e4:SetCategory(CATEGORY_TOGRAVE)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_HAND)
e4:SetCountLimit(1,231430001)
e4:SetCost(cm.discost)
e4:SetTarget(cm.distg)
e4:SetOperation(cm.disop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(31430001,3))
e5:SetCategory(CATEGORY_TOGRAVE+CATEGORY_TOHAND+CATEGORY_SEARCH)
e5:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_HAND)
e5:SetCountLimit(1,231430001)
e5:SetCost(cm.disscost)
e5:SetTarget(cm.disstg)
e5:SetOperation(cm.dissop)
c:RegisterEffect(e5)
end
function cm.rlvcop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(aux.FilterBoolFunction(Card.IsCode,31430001),tp,0xff,0,nil)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(31430001,0))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(EFFECT_RITUAL_LEVEL)
e1:SetValue(0x80004)
e1:SetReset(RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CHANGE_LSCALE)
e2:SetValue(8)
tc:RegisterEffect(e2,true)
local e3=e2:Clone()
e3:SetCode(EFFECT_CHANGE_RSCALE)
tc:RegisterEffect(e3,true)
tc=g:GetNext()
end
end
function cm.pcostfilter(c)
return c:IsSetCard(0xc311) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end
function cm.pcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.pcostfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.pcostfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function cm.ptgfilter(c)
return c:IsSetCard(0xc311) and c:IsAbleToHand()
end
function cm.ptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.ptgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND+CATEGORY_SEARCH,nil,1,tp,LOCATION_DECK)
end
function cm.pop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.ptgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end
Duel.SendtoGrave(e:GetHandler(),REASON_DISCARD)
end
function cm.distgfilter(c)
return c:IsSetCard(0xc311) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
end
function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.distgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.distgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g then
Duel.SendtoGrave(g,tp,REASON_EFFECT)
end
end
function cm.disscost(e,tp,eg,ep,ev,re,r,rp,chk)
local card=e:GetHandler()
if chk==0 then return e:GetHandler():IsDiscardable() and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,card) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,Card.IsDiscardable,tp,LOCATION_HAND,0,1,1,card)
g:AddCard(card)
Duel.SendtoGrave(g,REASON_DISCARD)
end
function cm.dissfilter(c)
return c:IsSetCard(0xc311) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function cm.disstgfilter(c,tp)
return cm.dissfilter(c) and Duel.IsExistingMatchingCard(cm.distgfilter,tp,LOCATION_DECK,0,1,c)
end
function cm.disstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.disstgfilter,tp,LOCATION_DECK,0,1,nil,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_TOHAND+CATEGORY_SEARCH,nil,1,tp,LOCATION_DECK)
end
function cm.dissop(e,tp,eg,ep,ev,re,r,rp)
cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.dissfilter,tp,LOCATION_DECK,0,1,1,nil)
if g then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
local m=31430002
local cm=_G["c"..m]
cm.name="机械本我-战斗姿态"
function cm.initial_effect(c)
c:EnableReviveLimit()
end
local m=31430003
local cm=_G["c"..m]
cm.name="带本我"
function cm.initial_effect(c)
aux.EnablePendulumAttribute(c)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetOperation(cm.rlvcop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(31430003,1))
e3:SetCategory(CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_PZONE)
e3:SetCountLimit(1)
e3:SetTarget(cm.ptg)
e3:SetOperation(cm.pop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(31430003,2))
e4:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_HAND)
e4:SetCountLimit(1,231430003)
e4:SetCost(cm.discost)
e4:SetTarget(cm.distg)
e4:SetOperation(cm.disop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(31430003,3))
e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e5:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_HAND)
e5:SetCountLimit(1,231430003)
e5:SetCost(cm.disscost)
e5:SetTarget(cm.disstg)
e5:SetOperation(cm.dissop)
c:RegisterEffect(e5)
end
function cm.rlvcop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(aux.FilterBoolFunction(Card.IsCode,31430003),tp,0xff,0,nil)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(31430003,0))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(EFFECT_RITUAL_LEVEL)
e1:SetValue(0x70003)
e1:SetReset(RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CHANGE_LSCALE)
e2:SetValue(7)
tc:RegisterEffect(e2,true)
local e3=e2:Clone()
e3:SetCode(EFFECT_CHANGE_RSCALE)
tc:RegisterEffect(e3,true)
tc=g:GetNext()
end
end
function cm.ptgfilter1(c)
return c:IsReleasable() and c:IsType(TYPE_MONSTER)
end
function cm.ptgfilter2(c)
return c:IsSetCard(0xc311) and c:IsAbleToGrave()
end
function cm.ptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.ptgfilter1,tp,LOCATION_ONFIELD,0,1,nil) and Duel.IsExistingMatchingCard(cm.ptgfilter2,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function cm.pop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g1=Duel.SelectMatchingCard(tp,cm.ptgfilter1,tp,LOCATION_ONFIELD,0,1,1,nil)
if g1 then
Duel.Release(g1,REASON_EFFECT)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g2=Duel.SelectMatchingCard(tp,cm.ptgfilter2,tp,LOCATION_DECK,0,1,1,nil)
if g2 then
Duel.SendtoGrave(g2,tp,REASON_EFFECT)
end
end
function cm.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end
Duel.SendtoGrave(e:GetHandler(),REASON_DISCARD)
end
function cm.distgfilter(c)
return c:IsSetCard(0xc311) and c:IsType(TYPE_MONSTER) and c:IsType(TYPE_PENDULUM) and c:IsAbleToHand()
end
function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.distgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND+CATEGORY_SEARCH,nil,1,tp,LOCATION_DECK)
end
function cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.distgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.disscost(e,tp,eg,ep,ev,re,r,rp,chk)
local card=e:GetHandler()
if chk==0 then return e:GetHandler():IsDiscardable() and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,card) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,Card.IsDiscardable,tp,LOCATION_HAND,0,1,1,card)
g:AddCard(card)
Duel.SendtoGrave(g,REASON_DISCARD)
end
function cm.dissfilter(c)
return c:IsSetCard(0xc311) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function cm.disstgfilter(c,tp)
return cm.dissfilter(c) and Duel.IsExistingMatchingCard(cm.distgfilter,tp,LOCATION_DECK,0,1,c)
end
function cm.disstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.disstgfilter,tp,LOCATION_DECK,0,1,nil,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND+CATEGORY_SEARCH,nil,2,tp,LOCATION_DECK)
end
function cm.dissop(e,tp,eg,ep,ev,re,r,rp)
cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.dissfilter,tp,LOCATION_DECK,0,1,1,nil)
if g then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
local m=31430004
local cm=_G["c"..m]
cm.name="带本我-废怯姿态"
function cm.initial_effect(c)
c:EnableReviveLimit()
end
local m=31430005
local cm=_G["c"..m]
cm.name="赤本我"
function cm.initial_effect(c)
aux.EnablePendulumAttribute(c)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetOperation(cm.rlvcop)
c:RegisterEffect(e2)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(31430005,1))
e4:SetCategory(CATEGORY_TOHAND)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_HAND)
e4:SetCountLimit(1,231430005)
e4:SetCost(cm.discost)
e4:SetTarget(cm.distg)
e4:SetOperation(cm.disop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(31430005,2))
e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e5:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_HAND)
e5:SetCountLimit(1,231430005)
e5:SetCost(cm.disscost)
e5:SetTarget(cm.disstg)
e5:SetOperation(cm.dissop)
c:RegisterEffect(e5)
end
function cm.rlvcop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(aux.FilterBoolFunction(Card.IsCode,31430005),tp,0xff,0,nil)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(31430005,0))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(EFFECT_RITUAL_LEVEL)
e1:SetValue(0x90005)
e1:SetReset(RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CHANGE_LSCALE)
e2:SetValue(9)
tc:RegisterEffect(e2,true)
local e3=e2:Clone()
e3:SetCode(EFFECT_CHANGE_RSCALE)
tc:RegisterEffect(e3,true)
tc=g:GetNext()
end
end
function cm.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end
Duel.SendtoGrave(e:GetHandler(),REASON_DISCARD)
end
function cm.distgfilter(c)
return c:IsSetCard(0xc311) and c:IsAbleToHand() and c:IsFaceup()
end
function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.distgfilter,tp,LOCATION_REMOVED,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_REMOVED)
end
function cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.distgfilter,tp,LOCATION_REMOVED,0,1,1,nil)
if g then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.disscost(e,tp,eg,ep,ev,re,r,rp,chk)
local card=e:GetHandler()
if chk==0 then return e:GetHandler():IsDiscardable() and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,card) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,Card.IsDiscardable,tp,LOCATION_HAND,0,1,1,card)
g:AddCard(card)
Duel.SendtoGrave(g,REASON_DISCARD)
end
function cm.dissfilter(c)
return c:IsSetCard(0xc311) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function cm.disstgfilter(c,tp)
return cm.dissfilter(c) and Duel.IsExistingMatchingCard(cm.distgfilter,tp,LOCATION_REMOVED,0,1,c)
end
function cm.disstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.disstgfilter,tp,LOCATION_DECK,0,1,nil,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_REMOVED)
Duel.SetOperationInfo(0,CATEGORY_TOHAND+CATEGORY_SEARCH,nil,1,tp,LOCATION_DECK)
end
function cm.dissop(e,tp,eg,ep,ev,re,r,rp)
cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.dissfilter,tp,LOCATION_DECK,0,1,1,nil)
if g then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
local m=31430006
local cm=_G["c"..m]
cm.name="赤本我-觉悟姿态"
function cm.initial_effect(c)
c:EnableReviveLimit()
end
local m=31430007
local cm=_G["c"..m]
cm.name="歌本我"
function cm.initial_effect(c)
aux.EnablePendulumAttribute(c)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetOperation(cm.rlvcop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(31430007,1))
e3:SetCategory(CATEGORY_DRAW)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_PZONE)
e3:SetCountLimit(1,131430007)
e3:SetTarget(cm.ptg)
e3:SetOperation(cm.pop)
c:RegisterEffect(e3)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(31430007,2))
e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e5:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_HAND)
e5:SetCountLimit(1,231430007)
e5:SetCost(cm.disscost)
e5:SetTarget(cm.disstg)
e5:SetOperation(cm.dissop)
c:RegisterEffect(e5)
end
function cm.rlvcop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(aux.FilterBoolFunction(Card.IsCode,31430007),tp,0xff,0,nil)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(31430007,0))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(EFFECT_RITUAL_LEVEL)
e1:SetValue(0xA0006)
e1:SetReset(RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CHANGE_LSCALE)
e2:SetValue(10)
tc:RegisterEffect(e2,true)
local e3=e2:Clone()
e3:SetCode(EFFECT_CHANGE_RSCALE)
tc:RegisterEffect(e3,true)
tc=g:GetNext()
end
end
function cm.pfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsReleasableByEffect() and not c:IsLocation(LOCATION_HAND)
end
function cm.ptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) and Duel.CheckReleaseGroupEx(tp,cm.pfilter,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function cm.pop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsPlayerCanDraw(tp) then return end
local ct=Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)
if ct==0 then
ct=1
end
local g=Duel.SelectReleaseGroupEx(tp,cm.pfilter,1,ct,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
local rct=Duel.Release(g,REASON_EFFECT)
Duel.Draw(tp,rct,REASON_EFFECT)
end
end
function cm.disscost(e,tp,eg,ep,ev,re,r,rp,chk)
local card=e:GetHandler()
if chk==0 then return e:GetHandler():IsDiscardable() and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,card) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,Card.IsDiscardable,tp,LOCATION_HAND,0,1,1,card)
g:AddCard(card)
Duel.SendtoGrave(g,REASON_DISCARD)
end
function cm.dissfilter(c)
return c:IsSetCard(0xc311) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function cm.disstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.dissfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND+CATEGORY_SEARCH,nil,1,tp,LOCATION_DECK)
end
function cm.dissop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.dissfilter,tp,LOCATION_DECK,0,1,1,nil)
if g then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
local m=31430008
local cm=_G["c"..m]
cm.name="歌本我-独奏姿态"
function cm.initial_effect(c)
c:EnableReviveLimit()
end
local m=31430009
local cm=_G["c"..m]
cm.name="苦本我"
function cm.initial_effect(c)
aux.EnablePendulumAttribute(c)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetOperation(cm.rlvcop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(31430009,1))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_PZONE)
e3:SetCountLimit(1,131430009)
e3:SetTarget(cm.ptg)
e3:SetOperation(cm.pop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(31430009,2))
e4:SetCategory(CATEGORY_TOHAND)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_HAND)
e4:SetCountLimit(1,231430009)
e4:SetCost(cm.discost)
e4:SetTarget(cm.distg)
e4:SetOperation(cm.disop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(31430009,3))
e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e5:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_HAND)
e5:SetCountLimit(1,231430009)
e5:SetCost(cm.disscost)
e5:SetTarget(cm.disstg)
e5:SetOperation(cm.dissop)
c:RegisterEffect(e5)
end
function cm.rlvcop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(aux.FilterBoolFunction(Card.IsCode,31430009),tp,0xff,0,nil)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(31430009,0))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(EFFECT_RITUAL_LEVEL)
e1:SetValue(0x60002)
e1:SetReset(RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CHANGE_LSCALE)
e2:SetValue(6)
tc:RegisterEffect(e2,true)
local e3=e2:Clone()
e3:SetCode(EFFECT_CHANGE_RSCALE)
tc:RegisterEffect(e3,true)
tc=g:GetNext()
end
end
function cm.ptgfilter(c,e,tp)
return c:IsSetCard(0xc311) and c:IsType(TYPE_MONSTER) and c:IsPosition(POS_FACEUP) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function cm.ptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMZoneCount(tp)>0 and Duel.IsExistingMatchingCard(cm.ptgfilter,tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA+LOCATION_GRAVE)
end
function cm.pop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetMZoneCount(tp)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.ptgfilter,tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function cm.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end
Duel.SendtoGrave(e:GetHandler(),REASON_DISCARD)
end
function cm.distgfilter(c)
return c:IsAbleToHand()
end
function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.distgfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,1-tp,LOCATION_ONFIELD)
end
function cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,cm.distgfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
if g then
Duel.SendtoHand(g,nil,REASON_EFFECT)
end
end
function cm.disscost(e,tp,eg,ep,ev,re,r,rp,chk)
local card=e:GetHandler()
if chk==0 then return e:GetHandler():IsDiscardable() and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,card) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,Card.IsDiscardable,tp,LOCATION_HAND,0,1,1,card)
g:AddCard(card)
Duel.SendtoGrave(g,REASON_DISCARD)
end
function cm.dissfilter(c)
return c:IsSetCard(0xc311) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function cm.disstgfilter(c,tp)
return cm.dissfilter(c) and Duel.IsExistingMatchingCard(cm.distgfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c)
end
function cm.disstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.disstgfilter,tp,LOCATION_DECK,0,1,nil,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,1-tp,LOCATION_MZONE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND+CATEGORY_SEARCH,nil,1,tp,LOCATION_DECK)
end
function cm.dissop(e,tp,eg,ep,ev,re,r,rp)
cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.dissfilter,tp,LOCATION_DECK,0,1,1,nil)
if g then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
local m=31430010
local cm=_G["c"..m]
cm.name="苦本我-解放姿态"
function cm.initial_effect(c)
c:EnableReviveLimit()
end
local m=31430011
local cm=_G["c"..m]
cm.name="影本我"
function cm.initial_effect(c)
aux.EnablePendulumAttribute(c)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetOperation(cm.rlvcop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(31430011,1))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_PZONE)
e3:SetCountLimit(1,131430011)
e3:SetTarget(cm.ptg)
e3:SetOperation(cm.pop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(31430011,2))
e4:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCode(EVENT_SUMMON_SUCCESS)
e4:SetCountLimit(1,231430011)
e4:SetTarget(cm.distg)
e4:SetOperation(cm.disop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(31430011,3))
e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetProperty(EFFECT_FLAG_DELAY)
e5:SetCode(EVENT_SUMMON_SUCCESS)
e5:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e5:SetCountLimit(1,231430011)
e5:SetCost(cm.disscost)
e5:SetTarget(cm.disstg)
e5:SetOperation(cm.dissop)
c:RegisterEffect(e5)
local e6=e4:Clone()
e6:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e6)
local e7=e5:Clone()
e7:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e7)
end
function cm.rlvcop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(aux.FilterBoolFunction(Card.IsCode,31430011),tp,0xff,0,nil)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(31430011,0))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(EFFECT_RITUAL_LEVEL)
e1:SetValue(0x70003)
e1:SetReset(RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CHANGE_LSCALE)
e2:SetValue(7)
tc:RegisterEffect(e2,true)
local e3=e2:Clone()
e3:SetCode(EFFECT_CHANGE_RSCALE)
tc:RegisterEffect(e3,true)
tc=g:GetNext()
end
end
function cm.ptgfilter(c)
return c:IsSetCard(0xc311) and c:IsType(TYPE_MONSTER) and c:IsType(TYPE_RITUAL) and c:IsAbleToHand()
end
function cm.ptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.ptgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND+CATEGORY_SEARCH,nil,1,tp,LOCATION_DECK)
end
function cm.pop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.ptgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.distgfilter(c)
return c:IsSetCard(0xc311) and c:IsAbleToHand()
end
function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.distgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND+CATEGORY_SEARCH,nil,1,tp,LOCATION_DECK)
end
function cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.distgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.disscost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,Card.IsDiscardable,tp,LOCATION_HAND,0,1,1,nil)
Duel.SendtoGrave(g,REASON_DISCARD)
end
function cm.dissfilter(c)
return c:IsSetCard(0xc311) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function cm.disstgfilter(c,tp)
return cm.dissfilter(c) and Duel.IsExistingMatchingCard(cm.distgfilter,tp,LOCATION_DECK,0,1,c)
end
function cm.disstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.disstgfilter,tp,LOCATION_DECK,0,1,nil,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND+CATEGORY_SEARCH,nil,2,tp,LOCATION_DECK)
end
function cm.dissop(e,tp,eg,ep,ev,re,r,rp)
cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.dissfilter,tp,LOCATION_DECK,0,1,1,nil)
if g then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
local m=31430012
local cm=_G["c"..m]
cm.name="影本我-影人姿态"
function cm.initial_effect(c)
c:EnableReviveLimit()
end
local m=31430101
local cm=_G["c"..m]
cm.name="本我诞生"
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0xc311))
e2:SetValue(300)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
e4:SetRange(LOCATION_FZONE)
e4:SetCountLimit(1)
e4:SetCondition(cm.rcon)
e4:SetOperation(cm.rop)
c:RegisterEffect(e4)
end
function cm.actfilter(c)
return c:IsCode(31430102) and c:IsAbleToHand() and not (c:IsLocation(LOCATION_REMOVED) and c:IsPosition(POS_FACEDOWN))
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.actfilter),tp,0x3d,0,nil,e,tp)
if Duel.SelectYesNo(tp,aux.Stringid(31430101,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,tp,REASON_EFFECT)
end
end
function cm.rfilter(c)
if c:IsSetCard(0xc311) and c:IsSummonType(SUMMON_TYPE_RITUAL) then
return 1
end
return 0
end
function cm.rcon(e,tp,eg,ep,ev,re,r,rp)
return eg:GetSum(cm.rfilter)>0 and Duel.IsPlayerCanDraw(tp,1)
end
function cm.rop(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
local tc=eg:GetFirst()
while tc do
if tc:IsSetCard(0xc311) and tc:IsSummonType(SUMMON_TYPE_RITUAL) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(31430101,1))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
tc=eg:GetNext()
end
end
\ No newline at end of file
local m=31430102
local cm=_G["c"..m]
cm.name="本我本源"
function cm.initial_effect(c)
c:SetUniqueOnField(1,0,31430102)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(31430102,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetCost(cm.scost)
e2:SetTarget(cm.stg)
e2:SetOperation(cm.sop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EFFECT_DESTROY_REPLACE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_SZONE)
e3:SetTarget(cm.reptg)
e3:SetOperation(cm.repop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
e4:SetRange(LOCATION_SZONE)
e4:SetCountLimit(1)
e4:SetCondition(cm.rcon)
e4:SetOperation(cm.rop)
c:RegisterEffect(e4)
end
function cm.actfilter(c)
return c:IsSetCard(0xc311) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and not (c:IsLocation(LOCATION_REMOVED+LOCATION_EXTRA) and c:IsPosition(POS_FACEDOWN))
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.actfilter),tp,0x7d,0,nil,e,tp)
if Duel.SelectYesNo(tp,aux.Stringid(31430102,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,tp,REASON_EFFECT)
end
end
function cm.scost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,Card.IsDiscardable,tp,LOCATION_HAND,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
function cm.stgfilter(c)
return c:IsSetCard(0xc311) and c:IsType(TYPE_MONSTER) and c:IsPosition(POS_FACEUP) and c:IsAbleToHand()
end
function cm.stg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.stgfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_EXTRA,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_EXTRA)
end
function cm.sop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.stgfilter),tp,LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_EXTRA,0,1,1,nil)
if g then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.repfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0xc311) and c:IsAbleToHand(REASON_EFFECT)
end
function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsReason(REASON_REPLACE) and (Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil,REASON_EFFECT) or Duel.IsExistingMatchingCard(cm.repfilter,tp,LOCATION_MZONE,0,1,nil)) end
return true
end
function cm.repop(e,tp,eg,ep,ev,re,r,rp)
local b1=Duel.IsExistingMatchingCard(cm.repfilter,tp,LOCATION_MZONE,0,1,nil)
local b2=Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil,REASON_EFFECT)
if b1 and b2 then
op=Duel.SelectOption(tp,aux.Stringid(31430102,2),aux.Stringid(31430102,3))
elseif b1 then
op=0
else
op=1
end
if op==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,cm.repfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,Card.IsDiscardable,tp,LOCATION_HAND,0,1,1,nil,REASON_EFFECT)
Duel.SendtoGrave(g,REASON_EFFECT)
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(31430102,4))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e:GetHandler():RegisterEffect(e1)
end
function cm.rfilter(c)
if c:IsSetCard(0xc311) and c:IsSummonType(SUMMON_TYPE_RITUAL) then
return 1
end
return 0
end
function cm.rcon(e,tp,eg,ep,ev,re,r,rp)
return eg:GetSum(cm.rfilter)>0 and Duel.IsPlayerCanDraw(tp,1)
end
function cm.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end
function cm.rop(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
local tc=eg:GetFirst()
while tc do
if tc:IsSetCard(0xc311) and tc:IsSummonType(SUMMON_TYPE_RITUAL) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(31430102,5))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetDescription(aux.Stringid(31430102,6))
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetValue(cm.efilter)
tc:RegisterEffect(e2)
end
tc=eg:GetNext()
end
end
\ No newline at end of file
local m=31430103
local cm=_G["c"..m]
cm.name="本我解放"
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,31430103+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(31430103,2))
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_DISCARD)
e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCondition(cm.recon)
e2:SetTarget(cm.retg)
e2:SetOperation(cm.reop)
c:RegisterEffect(e2)
end
function cm.filter(c,e,tp)
return c:IsSetCard(0xc311)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local mg=Duel.GetRitualMaterial(tp):Filter(Card.IsSetCard,nil,0xc311)
local mg2=nil
return Duel.IsExistingMatchingCard(aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,nil,cm.filter,e,tp,mg,mg2,Card.GetLevel,"Equal")
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local mg=Duel.GetRitualMaterial(tp):Filter(Card.IsSetCard,nil,0xc311)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local mg2=nil
local tg=Duel.SelectMatchingCard(tp,aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,1,nil,cm.filter,e,tp,mg,mg2,Card.GetLevel,"Equal")
local tc=tg:GetFirst()
if tc then
mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
if tc.mat_filter then
mg=mg:Filter(tc.mat_filter,tc,tp)
else
mg:RemoveCard(tc)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
aux.GCheckAdditional=aux.RitualCheckAdditional(tc,tc:GetLevel(),"Equal")
local mat=mg:SelectSubGroup(tp,aux.RitualCheck,false,1,tc:GetLevel(),tp,tc,tc:GetLevel(),"Equal")
aux.GCheckAdditional=nil
if not mat or mat:GetCount()==0 then return end
tc:SetMaterial(mat)
Duel.ReleaseRitualMaterial(mat)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
tc:CompleteProcedure()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(31430103,0))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UNRELEASABLE_SUM)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e:GetHandler():RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UNRELEASABLE_NONSUM)
tc:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetDescription(aux.Stringid(31430103,1))
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
tc:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
tc:RegisterEffect(e4)
local e5=e3:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
tc:RegisterEffect(e5)
local e6=e3:Clone()
e6:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
tc:RegisterEffect(e6)
end
end
function cm.recon(e,tp,eg,ep,ev,re,r,rp)
if re then
local rc=re:GetHandler()
return rc:IsType(TYPE_MONSTER) and rc:IsSetCard(0xc311) and eg:IsContains(rc) and rc:IsPreviousLocation(LOCATION_HAND) and not eg:IsContains(e:GetHandler())
else
return false
end
end
function cm.retg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,tp,REASON_EFFECT)
end
end
\ No newline at end of file
local m=31430202
local cm=_G["c"..m]
cm.name="本能『本我的解放』"
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,31430202+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
function cm.mfilter(c,e,tp)
return c:IsSetCard(0xc311) and c:IsType(TYPE_MONSTER) and c:IsType(TYPE_EFFECT) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN)
end
function cm.sfilter(c)
return c:IsSetCard(0xc311) and c:IsType(TYPE_SPELL) and c:IsType(TYPE_RITUAL) and c:IsSSetable()
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local b1=Duel.IsExistingMatchingCard(cm.mfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
local b2=Duel.IsExistingMatchingCard(cm.sfilter,tp,LOCATION_GRAVE,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
if chk==0 then return b1 or b2 end
local op=0
if b1 and b2 then
op=Duel.SelectOption(tp,aux.Stringid(31430202,0),aux.Stringid(31430202,1),aux.Stringid(31430202,2))
elseif b1 then
op=Duel.SelectOption(tp,aux.Stringid(31430202,0))
else
op=Duel.SelectOption(tp,aux.Stringid(31430202,1))+1
end
e:SetLabel(op)
if op==0 or op==2 then
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local op=e:GetLabel()
if op~=1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.mfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
Duel.ConfirmCards(1-tp,g)
end
end
if op~=0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,cm.sfilter,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
Duel.SSet(tp,tc)
if tc:IsType(TYPE_QUICKPLAY) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_QP_ACT_IN_SET_TURN)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
end
end
end
\ No newline at end of file
local m=31470001
local cm=_G["c"..m]
cm.name="星云嘴隐喻龙"
function cm.initial_effect(c)
c:EnableReviveLimit()
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e0:SetRange(LOCATION_MZONE)
e0:SetCode(EFFECT_CHANGE_LEVEL)
e0:SetCondition(cm.lvcon)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(31470001,0))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetRange(LOCATION_EXTRA)
e1:SetValue(SUMMON_TYPE_SYNCHRO)
e1:SetLabel(6)
e1:SetCondition(cm.sycon)
e1:SetOperation(cm.syop)
e1:SetLabelObject(e0)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetDescription(aux.Stringid(31470001,1))
e2:SetLabel(8)
c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetDescription(aux.Stringid(31470001,2))
e3:SetLabel(10)
c:RegisterEffect(e3)
local e4=e1:Clone()
e4:SetDescription(aux.Stringid(31470001,3))
e4:SetLabel(12)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(31470001,4))
e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_MZONE)
e5:SetCountLimit(1,31470001)
e5:SetTarget(cm.sersptg)
e5:SetOperation(cm.serspop)
c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(31470001,5))
e6:SetCategory(CATEGORY_NEGATE)
e6:SetType(EFFECT_TYPE_QUICK_O)
e6:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e6:SetCode(EVENT_CHAINING)
e6:SetRange(LOCATION_MZONE)
e6:SetCountLimit(1)
e6:SetCondition(cm.negcon)
e6:SetTarget(cm.negtg)
e6:SetOperation(cm.negop)
c:RegisterEffect(e6)
end
function cm.lvcon(e)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end
function cm.stfilter1(c,tc)
return c:IsLevel(4) and c:IsSynchroType(TYPE_TUNER) and c:IsRace(RACE_DRAGON) and c:IsPosition(POS_FACEUP) and c:IsCanBeSynchroMaterial(tc)
end
function cm.stfilter2(c,tc)
return c:IsSynchroType(TYPE_TUNER) and not c:IsRace(RACE_DRAGON) and c:IsPosition(POS_FACEUP) and c:IsCanBeSynchroMaterial(tc)
end
function cm.stfilterg(g,tp,tc,lv,smat)
if smat then
g:AddCard(smat)
end
local g1=g:Filter(cm.stfilter1,nil,tc)
local g2=g:Filter(cm.stfilter2,nil,tc)
local count=g:GetCount()
return g1:GetCount()==1 and g2:GetCount()==count-1 and g:GetSum(Card.GetLevel)==lv and Duel.GetLocationCountFromEx(tp,tp,g,tc)>0
end
function cm.sycon(e,c,smat,mg)
if c==nil then return true end
local lv=e:GetLabel()
local tp=c:GetControler()
if not mg then
mg=Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE,0,nil)
end
if smat then
mg:RemoveCard(smat)
return mg:CheckSubGroup(cm.stfilterg,1,nil,tp,c,lv,smat)
else
return mg:CheckSubGroup(cm.stfilterg,2,nil,tp,c,lv,nil)
end
end
function cm.syop(e,tp,eg,ep,ev,re,r,rp,c,smat,mg)
local lv=e:GetLabel()
if not mg then
mg=Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE,0,nil)
end
local g=Group.CreateGroup()
if smat then
mg:RemoveCard(smat)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
g:Merge(mg:SelectSubGroup(tp,cm.stfilterg,false,1,nil,tp,c,lv,smat))
g:AddCard(smat)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
g:Merge(mg:SelectSubGroup(tp,cm.stfilterg,false,2,nil,tp,c,lv,nil))
end
c:SetMaterial(g)
Duel.SendtoGrave(g,REASON_MATERIAL+REASON_SYNCHRO)
e:GetLabelObject():SetValue(lv)
end
function cm.serfilter(c)
return c:IsRace(RACE_DRAGON) and c:IsType(TYPE_TUNER) and c:IsAbleToHand()
end
function cm.spfilter(c,e,tp)
return c:IsRace(RACE_DRAGON) and c:IsType(TYPE_TUNER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.sersptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local g1=Duel.GetMatchingGroup(cm.serfilter,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_DECK,0,nil,e,tp)
return g1:GetCount()>0 or (g2:GetCount()>0 and Duel.GetMZoneCount(tp)>0)
end
end
function cm.serspop(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(cm.serfilter,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_DECK,0,nil,e,tp)
if (g2:GetCount()<0 or Duel.GetMZoneCount(tp)<=0) or Duel.SelectOption(tp,1190,1152)==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=g1:Select(tp,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=g2:Select(tp,1,1,nil)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function cm.negcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and re:GetHandlerPlayer()==1-tp and Duel.IsChainNegatable(ev)
end
function cm.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
end
function cm.negop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetHandler():IsRelateToEffect(re) then
Duel.SendtoGrave(eg,REASON_EFFECT)
end
end
\ No newline at end of file
local m=31470003
local cm=_G["c"..m]
cm.name="黑洞吻异变龙"
function cm.initial_effect(c)
c:EnableReviveLimit()
local esp=Effect.CreateEffect(c)
esp:SetType(EFFECT_TYPE_FIELD)
esp:SetCode(EFFECT_SPSUMMON_PROC)
esp:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
esp:SetRange(LOCATION_EXTRA)
esp:SetValue(SUMMON_TYPE_SYNCHRO)
esp:SetCondition(cm.sycon)
esp:SetOperation(cm.syop)
c:RegisterEffect(esp)
local e0=Effect.CreateEffect(c)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(aux.synlimit)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.efilter)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(0,1)
c:RegisterEffect(e2)
end
function cm.stfilter1(c,tc)
return c:IsSynchroType(TYPE_SYNCHRO) and c:IsSynchroType(TYPE_TUNER) and c:IsRace(RACE_DRAGON) and c:IsPosition(POS_FACEUP) and c:IsCanBeSynchroMaterial(tc)
end
function cm.stfilter2(c,tc)
return c:IsSynchroType(TYPE_SYNCHRO) and c:IsSynchroType(TYPE_TUNER) and not c:IsRace(RACE_DRAGON) and c:IsPosition(POS_FACEUP) and c:IsCanBeSynchroMaterial(tc)
end
function cm.stfilterg(g,tp,tc,smat)
if smat then
g:AddCard(smat)
end
local g1=g:Filter(cm.stfilter1,nil,tc)
local g2=g:Filter(cm.stfilter2,nil,tc)
local count=g:GetCount()
return g1:GetCount()==1 and g2:GetCount()==count-1 and g:GetSum(Card.GetLevel)==12 and Duel.GetLocationCountFromEx(tp,tp,g,tc)>0
end
function cm.sycon(e,c,smat,mg)
if c==nil then return true end
if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end
local tp=c:GetControler()
if not mg then
mg=Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE,0,nil)
end
if smat then
mg:RemoveCard(smat)
return mg:CheckSubGroup(cm.stfilterg,2,nil,tp,c,smat)
else
return mg:CheckSubGroup(cm.stfilterg,3,nil,tp,c,nil)
end
end
function cm.syop(e,tp,eg,ep,ev,re,r,rp,c,smat,mg)
if not mg then
mg=Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE,0,nil)
end
local g=Group.CreateGroup()
if smat then
mg:RemoveCard(smat)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
g:Merge(mg:SelectSubGroup(tp,cm.stfilterg,false,2,nil,tp,c,smat))
g:AddCard(smat)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
g:Merge(mg:SelectSubGroup(tp,cm.stfilterg,false,3,nil,tp,c,nil))
end
c:SetMaterial(g)
Duel.SendtoGrave(g,REASON_MATERIAL+REASON_SYNCHRO)
end
function cm.efilter(e,te)
return (te:IsActiveType(TYPE_SPELL) or te:IsActiveType(TYPE_TRAP)) and te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end
\ No newline at end of file
local m=31470004
local cm=_G["c"..m]
cm.name="红移舌代谢龙"
function cm.initial_effect(c)
c:EnableReviveLimit()
local esp=Effect.CreateEffect(c)
esp:SetType(EFFECT_TYPE_FIELD)
esp:SetCode(EFFECT_SPSUMMON_PROC)
esp:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
esp:SetRange(LOCATION_EXTRA)
esp:SetValue(SUMMON_TYPE_SYNCHRO)
esp:SetCondition(cm.sycon)
esp:SetOperation(cm.syop)
c:RegisterEffect(esp)
local e0=Effect.CreateEffect(c)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(aux.synlimit)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_DISABLE_SPSUMMON)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetOperation(cm.sumsuc)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_NEGATE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetCondition(cm.negcon)
e3:SetTarget(cm.negtg)
e3:SetOperation(cm.negop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_IMMUNE_EFFECT)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetValue(cm.efilter)
c:RegisterEffect(e4)
end
function cm.stfilter1(c,tc)
return c:IsSynchroType(TYPE_SYNCHRO) and c:IsSynchroType(TYPE_TUNER) and c:IsRace(RACE_DRAGON) and c:IsPosition(POS_FACEUP) and c:IsCanBeSynchroMaterial(tc)
end
function cm.stfilter2(c,tc)
return c:IsSynchroType(TYPE_SYNCHRO) and c:IsSynchroType(TYPE_TUNER) and not c:IsRace(RACE_DRAGON) and c:IsPosition(POS_FACEUP) and c:IsCanBeSynchroMaterial(tc)
end
function cm.stfilterg(g,tp,tc,smat)
if smat then
g:AddCard(smat)
end
local g1=g:Filter(cm.stfilter1,nil,tc)
local g2=g:Filter(cm.stfilter2,nil,tc)
local count=g:GetCount()
return g1:GetCount()==1 and g2:GetCount()==count-1 and g:GetSum(Card.GetLevel)==12 and Duel.GetLocationCountFromEx(tp,tp,g,tc)>0
end
function cm.sycon(e,c,smat,mg)
if c==nil then return true end
if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end
local tp=c:GetControler()
if not mg then
mg=Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE,0,nil)
end
if smat then
mg:RemoveCard(smat)
return mg:CheckSubGroup(cm.stfilterg,2,nil,tp,c,smat)
else
return mg:CheckSubGroup(cm.stfilterg,3,nil,tp,c,nil)
end
end
function cm.syop(e,tp,eg,ep,ev,re,r,rp,c,smat,mg)
if not mg then
mg=Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE,0,nil)
end
local g=Group.CreateGroup()
if smat then
mg:RemoveCard(smat)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
g:Merge(mg:SelectSubGroup(tp,cm.stfilterg,false,2,nil,tp,c,smat))
g:AddCard(smat)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
g:Merge(mg:SelectSubGroup(tp,cm.stfilterg,false,3,nil,tp,c,nil))
end
c:SetMaterial(g)
Duel.SendtoGrave(g,REASON_MATERIAL+REASON_SYNCHRO)
end
function cm.sumsuc(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) then return end
Duel.SetChainLimitTillChainEnd(aux.FALSE)
end
function cm.efilter(e,te)
return (te:IsActiveType(TYPE_MONSTER) or te:IsActiveType(TYPE_TRAP)) and te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end
function cm.negcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsChainNegatable(ev)
end
function cm.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
Duel.SetChainLimit(cm.chlimit)
end
function cm.chlimit(e,ep,tp)
return tp==ep
end
function cm.negop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) and Duel.SendtoGrave(eg,REASON_EFFECT)~=0 then
local turnp=Duel.GetTurnPlayer()
if turnp==tp and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(31470004,0)) then
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end
if turnp==1-tp and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_HAND,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(31470004,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(1-tp,Card.IsAbleToDeck,1-tp,LOCATION_HAND,0,1,1,nil)
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
end
end
\ No newline at end of file
local m=31470005
local cm=_G["c"..m]
cm.name="白音齿真理龙"
function cm.initial_effect(c)
c:EnableReviveLimit()
local esp=Effect.CreateEffect(c)
esp:SetType(EFFECT_TYPE_FIELD)
esp:SetCode(EFFECT_SPSUMMON_PROC)
esp:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
esp:SetRange(LOCATION_EXTRA)
esp:SetValue(SUMMON_TYPE_SYNCHRO)
esp:SetCondition(cm.sycon)
esp:SetOperation(cm.syop)
c:RegisterEffect(esp)
local e0=Effect.CreateEffect(c)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(aux.synlimit)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(cm.tohtg)
e1:SetOperation(cm.tohop)
c:RegisterEffect(e1)
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:SetValue(cm.efilter)
c:RegisterEffect(e2)
end
function cm.stfilter1(c,tc)
return c:IsSynchroType(TYPE_SYNCHRO) and c:IsSynchroType(TYPE_TUNER) and c:IsRace(RACE_DRAGON) and c:IsPosition(POS_FACEUP) and c:IsCanBeSynchroMaterial(tc)
end
function cm.stfilter2(c,tc)
return c:IsSynchroType(TYPE_SYNCHRO) and c:IsSynchroType(TYPE_TUNER) and not c:IsRace(RACE_DRAGON) and c:IsPosition(POS_FACEUP) and c:IsCanBeSynchroMaterial(tc)
end
function cm.stfilterg2(g,tp,tc,smat)
if smat then
g:AddCard(smat)
end
local g1=g:Filter(cm.stfilter1,nil,tc)
local g2=g:Filter(cm.stfilter2,nil,tc)
local count=g:GetCount()
return g1:GetCount()==1 and g2:GetCount()==count-1 and g:GetSum(Card.GetLevel)==12 and Duel.GetLocationCountFromEx(tp,tp,g,tc)>0
end
function cm.sycon(e,c,smat,mg)
if c==nil then return true end
if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end
local tp=c:GetControler()
if not mg then
mg=Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE,0,nil)
end
if smat then
mg:RemoveCard(smat)
return mg:CheckSubGroup(cm.stfilterg,2,nil,tp,c,smat)
else
return mg:CheckSubGroup(cm.stfilterg,3,nil,tp,c,nil)
end
end
function cm.syop(e,tp,eg,ep,ev,re,r,rp,c,smat,mg)
if not mg then
mg=Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE,0,nil)
end
local g=Group.CreateGroup()
if smat then
mg:RemoveCard(smat)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
g:Merge(mg:SelectSubGroup(tp,cm.stfilterg,false,2,nil,tp,c,smat))
g:AddCard(smat)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
g:Merge(mg:SelectSubGroup(tp,cm.stfilterg,false,3,nil,tp,c,nil))
end
c:SetMaterial(g)
Duel.SendtoGrave(g,REASON_MATERIAL+REASON_SYNCHRO)
end
function cm.efilter(e,te)
return (te:IsActiveType(TYPE_MONSTER) or te:IsActiveType(TYPE_SPELL)) and te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end
function cm.tohtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)>0 end
end
function cm.tohop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
end
Duel.SetLP(1-tp,math.ceil(Duel.GetLP(1-tp)/2))
end
\ No newline at end of file
local m=31470100
local cm=_G["c"..m]
cm.name="漂浮于宇宙的隐喻乡"
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_FZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCost(cm.lvlcost)
e2:SetTarget(cm.lvltg)
e2:SetOperation(cm.lvlop)
c:RegisterEffect(e2)
end
function cm.actfilter(c,e,tp)
return c:IsType(TYPE_TUNER) and not c:IsRace(RACE_DRAGON) and c:IsSetCard(0x3312) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) or Duel.GetMZoneCount(tp)<=0 then return end
local g=Duel.GetMatchingGroup(cm.actfilter,tp,LOCATION_DECK,0,nil,e,tp)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(31470100,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
end
function cm.lvlcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,500) end
Duel.PayLPCost(tp,500)
end
function cm.lvlfilter(c)
return c:IsType(TYPE_TUNER) and c:IsType(TYPE_SYNCHRO) and c:IsFaceup()
end
function cm.lvltg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(tp) end
if chk==0 then return Duel.IsExistingTarget(cm.lvlfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,cm.lvlfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_LVCHANGE,g,1,tp,LOCATION_ONFIELD)
end
function cm.lvlop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
local lvl=Duel.AnnounceLevel(tp,1,12,tc:GetLevel())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_LVRANK)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_LEVEL)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(lvl)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
\ No newline at end of file
local m=31490007
local cm=_G["c"..m]
cm.name="苍燧烽后 古蒂妮"
function cm.initial_effect(c)
aux.EnablePendulumAttribute(c,false)
local ep=Effect.CreateEffect(c)
ep:SetDescription(1160)
ep:SetType(EFFECT_TYPE_ACTIVATE)
ep:SetCode(EVENT_FREE_CHAIN)
ep:SetRange(LOCATION_HAND)
ep:SetOperation(cm.pactop)
ep:SetCountLimit(1,31490007)
c:RegisterEffect(ep)
end
function cm.actfilter(c)
return c:GetLeftScale()==7 and c:IsAbleToHand() and c:IsType(TYPE_PENDULUM)
end
function cm.pactop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler()
tc:AddCounter(0x5310,2)
Duel.BreakEffect()
local ffcount=Duel.GetCounter(tp,LOCATION_SZONE,0,0x5310)
local field=Duel.GetFieldGroup(tp,LOCATION_FZONE,0):GetFirst()
if field then
ffcount=ffcount-field:GetCounter(0x5310)
end
if ffcount>=4 and Duel.IsExistingMatchingCard(cm.actfilter,tp,0,LOCATION_DECK,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(31490007,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.actfilter,tp,0,LOCATION_DECK,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
end
\ No newline at end of file
local m=31490200
local cm=_G["c"..m]
cm.name="苍燧烽要塞 霜火"
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_FZONE)
e2:SetOperation(cm.addcop1)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetCode(EVENT_MOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetRange(LOCATION_FZONE)
e3:SetOperation(cm.addcop2)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(31490200,0))
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_FZONE)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e4:SetCost(cm.atkcost)
e4:SetOperation(cm.atkop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(31490200,1))
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetRange(LOCATION_FZONE)
e5:SetCost(cm.ccost)
e5:SetTarget(cm.ctg)
e5:SetOperation(cm.cop)
c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(31490200,2))
e6:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e6:SetType(EFFECT_TYPE_IGNITION)
e6:SetRange(LOCATION_FZONE)
e6:SetCountLimit(1)
e6:SetCost(cm.sercost)
e6:SetTarget(cm.sertg)
e6:SetOperation(cm.serop)
c:RegisterEffect(e6)
end
function cm.addcop1(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler()
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and c~=e:GetHandler() and c:IsSetCard(0x310) then
e:GetHandler():AddCounter(0x5310,1)
end
end
function cm.addcop2(e,tp,eg,ep,ev,re,r,rp)
local c=eg:GetFirst()
while c do
if c:IsLocation(LOCATION_SZONE) and c:IsPosition(POS_FACEUP) and c:IsSetCard(0x5310) then
e:GetHandler():AddCounter(0x5310,1)
c:AddCounter(0x5310,1)
e:GetHandler():AddCounter(0x5310,1)
end
c=eg:GetNext()
end
end
function cm.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,0,0x5310,1,REASON_COST) end
local counters=Duel.GetCounter(tp,1,0,0x5310)
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(31490200,3))
local opt={}
for i=1,counters do
opt[i]=i
end
opt[counters+1]=nil
local num=Duel.AnnounceNumber(tp,table.unpack(opt))
Duel.RemoveCounter(tp,1,0,0x5310,num,REASON_COST)
e:SetLabel(num)
end
function cm.atktg(e,c)
return c:IsSetCard(0x5310)
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local num=e:GetLabel()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(cm.atktg)
e1:SetValue(100*num)
e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
Duel.RegisterEffect(e2,tp)
end
function cm.ccost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,0,0x5310,3,REASON_COST) end
Duel.RemoveCounter(tp,1,0,0x5310,3,REASON_COST)
end
function cm.cfilter(c)
return c:IsPosition(POS_FACEUP)
end
function cm.ctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_ONFIELD,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,tp,LOCATION_ONFIELD)
end
function cm.cop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
if g then
local tc=g:GetFirst()
tc:AddCounter(0x5310,1)
end
end
function cm.sercost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,0,0x5310,6,REASON_COST) end
Duel.RemoveCounter(tp,1,0,0x5310,6,REASON_COST)
end
function cm.serfilter(c)
return c:IsSetCard(0x5310) and c:IsAbleToHand()
end
function cm.sertg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.serfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND+CATEGORY_SEARCH,nil,1,tp,LOCATION_DECK)
end
function cm.serop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.serfilter,tp,LOCATION_DECK,0,1,1,nil)
if g then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
local m=31490201
local cm=_G["c"..m]
cm.name="苍燧烽公爵 冷炎"
function cm.initial_effect(c)
c:EnableReviveLimit()
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetCost(cm.cost)
e0:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE+EFFECT_FLAG_EVENT_PLAYER)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(cm.actcon)
e1:SetOperation(cm.actop)
e1:SetLabelObject(e0)
c:RegisterEffect(e1)
c31490201.act=e1
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_SZONE)
e2:SetValue(SUMMON_TYPE_RITUAL)
e2:SetCondition(cm.spcon)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,31490201)
e3:SetTarget(cm.sertg)
e3:SetOperation(cm.serop)
c:RegisterEffect(e3)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetChainLimit(aux.FALSE)
end
function cm.actcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLocationCount(tp,LOCATION_SZONE,tp,LOCATION_REASON_TOFIELD)>0 and not e:GetHandler():IsForbidden() and Duel.GetTurnPlayer()==tp and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function cm.actfilter(c)
return c:IsSetCard(0x5310) and c:IsAbleToHand() and not c:IsCode(31490201)
end
function cm.actop(e,tp,eg,ep,ev,re,r,rp)
local tc
if e:GetLabel()==1 then
tc=eg:GetFirst()
else
tc=e:GetHandler()
end
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetRange(LOCATION_SZONE)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TEMP_REMOVE-RESET_TURN_SET)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_REMOVE_TYPE)
e2:SetValue(TYPE_MONSTER+TYPE_EFFECT)
tc:RegisterEffect(e2)
tc:AddCounter(0x5310,3)
Duel.BreakEffect()
local ffcount=Duel.GetCounter(tp,LOCATION_SZONE,0,0x5310)
local field=Duel.GetFieldGroup(tp,LOCATION_FZONE,0):GetFirst()
if field then
ffcount=ffcount-field:GetCounter(0x5310)
end
if Duel.GetFlagEffect(tp,31490201)==0 and ffcount>=6 and Duel.IsExistingMatchingCard(cm.actfilter,tp,LOCATION_DECK,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(31490201,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.actfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.RegisterFlagEffect(tp,31490201,RESET_PHASE+PHASE_END,0,1)
end
end
--if e:GetLabel()==1 then return end
--Duel.Activate(e:GetLabelObject())
end
function cm.spcon(e,c)
if c==nil then return true end
return Duel.IsCanRemoveCounter(e:GetHandlerPlayer(),1,0,0x5310,9,REASON_COST) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.RemoveCounter(tp,1,0,0x5310,7,REASON_COST)
end
function cm.serfilter(c)
return c:IsCode(31490208) and c:IsAbleToHand() and (c:IsPosition(POS_FACEUP) or not c:IsLocation(LOCATION_REMOVED))
end
function cm.sertg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.serfilter,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND+CATEGORY_SEARCH,nil,1,tp,0)
end
function cm.serop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.serfilter),tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
if g then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
local m=31490202
local cm=_G["c"..m]
cm.name="苍燧烽导师 青狼"
function cm.initial_effect(c)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetCost(cm.cost)
e0:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(cm.actcon)
e1:SetOperation(cm.actop)
e1:SetLabelObject(e0)
c:RegisterEffect(e1)
c31490202.act=e1
local e2=e1:Clone()
e2:SetTarget(cm.acttg)
e2:SetRange(LOCATION_DECK)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_MOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetRange(LOCATION_SZONE+LOCATION_MZONE)
e3:SetOperation(cm.spop)
c:RegisterEffect(e3)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetChainLimit(aux.FALSE)
end
function cm.actcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLocationCount(tp,LOCATION_SZONE,tp,LOCATION_REASON_TOFIELD)>0 and not e:GetHandler():IsForbidden() and Duel.GetTurnPlayer()==tp and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function cm.acttg(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)==0 and Duel.GetFieldGroupCount(1-tp,LOCATION_ONFIELD,0)>0
end
function cm.actfilter(c)
return c:IsCode(31490203) and not c:IsForbidden()
end
function cm.actop(e,tp,eg,ep,ev,re,r,rp)
local tc
if e:GetLabel()==1 then
tc=eg:GetFirst()
else
tc=e:GetHandler()
end
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetRange(LOCATION_SZONE)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TEMP_REMOVE-RESET_TURN_SET)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_REMOVE_TYPE)
e2:SetValue(TYPE_MONSTER+TYPE_EFFECT)
tc:RegisterEffect(e2)
tc:AddCounter(0x5310,1)
Duel.BreakEffect()
if Duel.GetLocationCount(tp,LOCATION_SZONE,tp,LOCATION_REASON_TOFIELD)>0 and Duel.IsExistingMatchingCard(cm.actfilter,tp,LOCATION_DECK,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(31490202,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,cm.actfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
local mc=g:GetFirst()
Duel.MoveToField(mc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetRange(LOCATION_SZONE)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TEMP_REMOVE-RESET_TURN_SET)
mc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_REMOVE_TYPE)
e2:SetValue(TYPE_MONSTER+TYPE_EFFECT)
mc:RegisterEffect(e2)
mc:AddCounter(0x5310,1)
end
end
--if e:GetLabel()==1 then return end
--Duel.Activate(e:GetLabelObject())
end
function cm.spfilter(c,e,tp)
return c:IsCode(31490203) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if eg:IsContains(e:GetHandler()) then return end
local con=false
local tc=eg:GetFirst()
while tc do
if tc:IsLocation(LOCATION_SZONE) and not tc:IsLocation(LOCATION_FZONE) and tc:IsPosition(POS_FACEUP) and tc:IsSetCard(0x5310) then
con=true
end
tc=eg:GetNext()
end
if con and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(31490202,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
end
\ No newline at end of file
local m=31490203
local cm=_G["c"..m]
cm.name="苍燧烽奴兽"
function cm.initial_effect(c)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetCost(cm.cost)
e0:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(cm.actcon)
e1:SetOperation(cm.actop)
e1:SetLabelObject(e0)
c:RegisterEffect(e1)
c31490203.act=e1
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(31490203,0))
e2:SetCategory(CATEGORY_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetRange(LOCATION_HAND)
e2:SetCode(EVENT_TO_HAND)
e2:SetCondition(cm.scon)
e2:SetTarget(cm.stg)
e2:SetOperation(cm.sop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCondition(cm.scon)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_PIERCE)
e3:SetLabel(1)
e3:SetCondition(cm.countcon)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_DIRECT_ATTACK)
e4:SetLabel(2)
c:RegisterEffect(e4)
local e5=e3:Clone()
e5:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e5:SetValue(DOUBLE_DAMAGE)
e5:SetLabel(3)
c:RegisterEffect(e5)
end
function cm.countcon(e,tp,eg,ep,ev,re,r,rp)
local l=e:GetLabel()
return Duel.GetMatchingGroupCount(Card.IsCode,e:GetHandlerPlayer(),LOCATION_ONFIELD,0,nil,31490203)>=l
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetChainLimit(aux.FALSE)
end
function cm.actcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLocationCount(tp,LOCATION_SZONE,tp,LOCATION_REASON_TOFIELD)>0 and not e:GetHandler():IsForbidden() and Duel.GetTurnPlayer()==tp and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function cm.actop(e,tp,eg,ep,ev,re,r,rp)
local tc
if e:GetLabel()==1 then
tc=eg:GetFirst()
else
tc=e:GetHandler()
end
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetRange(LOCATION_SZONE)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TEMP_REMOVE-RESET_TURN_SET)
tc:RegisterEffect(e1)
tc:AddCounter(0x5310,2)
local e2=e1:Clone()
e2:SetCode(EFFECT_REMOVE_TYPE)
e2:SetValue(TYPE_MONSTER+TYPE_EFFECT)
tc:RegisterEffect(e2)
--if e:GetLabel()==1 then return end
--Duel.Activate(e:GetLabelObject())
end
function cm.scon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousPosition(POS_FACEUP) and c:IsPreviousLocation(LOCATION_ONFIELD)
end
function cm.stg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsSummonable(true,e,0) end
Duel.SetOperationInfo(0,CATEGORY_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function cm.sop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Summon(tp,e:GetHandler(),true,e,0)
end
\ No newline at end of file
local m=31490204
local cm=_G["c"..m]
cm.name="苍燧烽铁卫 寒炉"
function cm.initial_effect(c)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetCost(cm.cost)
e0:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(cm.actcon)
e1:SetOperation(cm.actop)
e1:SetLabelObject(e0)
c:RegisterEffect(e1)
c31490204.act=e1
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetRange(LOCATION_MZONE+LOCATION_SZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetCondition(cm.immcon)
e2:SetTarget(cm.immtarget)
e2:SetValue(cm.immfilter)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EFFECT_CANNOT_ACTIVATE)
e3:SetRange(LOCATION_MZONE+LOCATION_SZONE)
e3:SetTargetRange(0,1)
e3:SetValue(cm.actlimit)
c:RegisterEffect(e3)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetChainLimit(aux.FALSE)
end
function cm.actcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLocationCount(tp,LOCATION_SZONE,tp,LOCATION_REASON_TOFIELD)>0 and not e:GetHandler():IsForbidden() and Duel.GetTurnPlayer()==tp and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function cm.actfilter(c)
return not c:IsAttack(0) or not c:IsDefense(0)
end
function cm.actop(e,tp,eg,ep,ev,re,r,rp)
local tc
if e:GetLabel()==1 then
tc=eg:GetFirst()
else
tc=e:GetHandler()
end
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetRange(LOCATION_SZONE)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TEMP_REMOVE-RESET_TURN_SET)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_REMOVE_TYPE)
e2:SetValue(TYPE_MONSTER+TYPE_EFFECT)
tc:RegisterEffect(e2)
tc:AddCounter(0x5310,1)
Duel.BreakEffect()
local ffcount=Duel.GetCounter(tp,LOCATION_SZONE,0,0x5310)
local field=Duel.GetFieldGroup(tp,LOCATION_FZONE,0):GetFirst()
if field then
ffcount=ffcount-field:GetCounter(0x5310)
end
if ffcount>=2 and Duel.IsExistingMatchingCard(cm.actfilter,tp,0,LOCATION_MZONE,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(31490204,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPPO)
local g=Duel.SelectMatchingCard(tp,cm.actfilter,tp,0,LOCATION_MZONE,1,1,nil)
if g:GetCount()>0 then
local actc=g:GetFirst()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(0)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
actc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_SET_DEFENSE)
actc:RegisterEffect(e2)
end
end
--if e:GetLabel()==1 then return end
--Duel.Activate(e:GetLabelObject())
end
function cm.negcon(e,tp,eg,ep,ev,re,r,rp)
local t=e:GetLabel()
if t==4 and e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) then return false end
return Duel.IsChainNegatable(ev)
end
function cm.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
local t=e:GetLabel()
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,1,0x5310,t,REASON_COST) end
Duel.RemoveCounter(tp,1,1,0x5310,t,REASON_COST)
end
function cm.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_TOGRAVE,eg,1,0,0)
end
end
function cm.negop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.SendtoGrave(eg,REASON_EFFECT)
end
end
function cm.immcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCounter(e:GetHandlerPlayer(),1,0,0x5310)>=4
end
function cm.immtarget(e,c)
return c:GetCounter(0x5310)>0
end
function cm.immfilter(e,re)
return re:GetOwnerPlayer()~=e:GetHandlerPlayer()
end
function cm.actlimit(e,re,tp)
return Duel.GetTurnPlayer()==e:GetHandlerPlayer() and Duel.GetCounter(e:GetHandlerPlayer(),1,0,0x5310)>=10
end
\ No newline at end of file
local m=31490205
local cm=_G["c"..m]
cm.name="苍燧烽骑士 蓝烟"
function cm.initial_effect(c)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetCost(cm.cost)
e0:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(cm.actcon)
e1:SetOperation(cm.actop)
e1:SetLabelObject(e0)
c:RegisterEffect(e1)
c31490205.act=e1
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_NEGATE+CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,131490205)
e2:SetLabel(5)
e2:SetCondition(cm.negcon)
e2:SetCost(cm.negcost)
e2:SetTarget(cm.negtg)
e2:SetOperation(cm.negop)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetLabel(3)
e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,231490205)
c:RegisterEffect(e3)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetChainLimit(aux.FALSE)
end
function cm.actcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLocationCount(tp,LOCATION_SZONE,tp,LOCATION_REASON_TOFIELD)>0 and not e:GetHandler():IsForbidden() and Duel.GetTurnPlayer()==tp and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function cm.actfilter(c)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsAbleToGrave()
end
function cm.actop(e,tp,eg,ep,ev,re,r,rp)
local tc
if e:GetLabel()==1 then
tc=eg:GetFirst()
else
tc=e:GetHandler()
end
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetRange(LOCATION_SZONE)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TEMP_REMOVE-RESET_TURN_SET)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_REMOVE_TYPE)
e2:SetValue(TYPE_MONSTER+TYPE_EFFECT)
tc:RegisterEffect(e2)
tc:AddCounter(0x5310,2)
Duel.BreakEffect()
local ffcount=Duel.GetCounter(tp,LOCATION_SZONE,0,0x5310)
local field=Duel.GetFieldGroup(tp,LOCATION_FZONE,0):GetFirst()
if field then
ffcount=ffcount-field:GetCounter(0x5310)
end
if ffcount>=3 and Duel.IsExistingMatchingCard(cm.actfilter,tp,LOCATION_DECK,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(31490205,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.actfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
--if e:GetLabel()==1 then return end
--Duel.Activate(e:GetLabelObject())
end
function cm.negcon(e,tp,eg,ep,ev,re,r,rp)
local t=e:GetLabel()
if t==4 and e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) then return false end
return Duel.IsChainNegatable(ev)
end
function cm.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
local t=e:GetLabel()
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,1,0x5310,t,REASON_COST) end
Duel.RemoveCounter(tp,1,1,0x5310,t,REASON_COST)
end
function cm.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_TOGRAVE,eg,1,0,0)
end
end
function cm.negop(e,tp,eg,ep,ev,re,r,rp)
if e:GetLabel()==3 and not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.SendtoGrave(eg,REASON_EFFECT)
end
end
\ No newline at end of file
local m=31490206
local cm=_G["c"..m]
cm.name="苍燧烽游侠 跃火"
function cm.initial_effect(c)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetCost(cm.cost)
e0:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(cm.actcon)
e1:SetOperation(cm.actop)
e1:SetLabelObject(e0)
c:RegisterEffect(e1)
c31490206.act=e1
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(31490206,1))
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DAMAGE_STEP)
e2:SetRange(LOCATION_SZONE+LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetChainLimit(aux.FALSE)
end
function cm.actcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLocationCount(tp,LOCATION_SZONE,tp,LOCATION_REASON_TOFIELD)>0 and not e:GetHandler():IsForbidden() and Duel.GetTurnPlayer()==tp and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function cm.actop(e,tp,eg,ep,ev,re,r,rp)
local tc
if e:GetLabel()==1 then
tc=eg:GetFirst()
else
tc=e:GetHandler()
end
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetRange(LOCATION_SZONE)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TEMP_REMOVE-RESET_TURN_SET)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_REMOVE_TYPE)
e2:SetValue(TYPE_MONSTER+TYPE_EFFECT)
tc:RegisterEffect(e2)
tc:AddCounter(0x5310,1)
Duel.BreakEffect()
local ffcount=Duel.GetCounter(tp,LOCATION_SZONE,0,0x5310)
local field=Duel.GetFieldGroup(tp,LOCATION_FZONE,0):GetFirst()
if field then
ffcount=ffcount-field:GetCounter(0x5310)
end
if ffcount>=3 and Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(31490206,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,nil,tp,0,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_RULE)
end
end
--if e:GetLabel()==1 then return end
--Duel.Activate(e:GetLabelObject())
end
function cm.thfilter(c)
return c:IsSetCard(0x5310) and not c:IsCode(31490206) and c:IsPosition(POS_FACEUP)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and cm.thfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.thfilter,tp,LOCATION_ONFIELD,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,cm.thfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
if e:IsActiveType(TYPE_SPELL) and not e:GetHandler():IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
\ No newline at end of file
local m=31490207
local cm=_G["c"..m]
cm.name="苍燧烽猛犸 灼牙"
function cm.initial_effect(c)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetCost(cm.cost)
e0:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(cm.actcon)
e1:SetOperation(cm.actop)
e1:SetLabelObject(e0)
c:RegisterEffect(e1)
c31490207.act=e1
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_BATTLE_DAMAGE)
e2:SetRange(LOCATION_MZONE+LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetCondition(cm.spcon)
e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetChainLimit(aux.FALSE)
end
function cm.actcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLocationCount(tp,LOCATION_SZONE,tp,LOCATION_REASON_TOFIELD)>0 and not e:GetHandler():IsForbidden() and Duel.GetTurnPlayer()==tp and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function cm.actspfilter(c,e,tp)
return c:IsLevel(3) and c:IsSetCard(0x5310) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.actserfilter(c)
return c:IsSetCard(0x5310) and c:IsAbleToHand()
end
function cm.actop(e,tp,eg,ep,ev,re,r,rp)
local tc
if e:GetLabel()==1 then
tc=eg:GetFirst()
else
tc=e:GetHandler()
end
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetRange(LOCATION_SZONE)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TEMP_REMOVE-RESET_TURN_SET)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_REMOVE_TYPE)
e2:SetValue(TYPE_MONSTER+TYPE_EFFECT)
tc:RegisterEffect(e2)
tc:AddCounter(0x5310,1)
Duel.BreakEffect()
local ffcount=Duel.GetCounter(tp,LOCATION_SZONE,0,0x5310)
local field=Duel.GetFieldGroup(tp,LOCATION_FZONE,0):GetFirst()
if field then
ffcount=ffcount-field:GetCounter(0x5310)
end
if ffcount>=1 then
local spcon=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.actspfilter,tp,LOCATION_DECK,0,1,nil,e,tp) and Duel.GetFlagEffect(tp,131490207)==0
local thcon=Duel.IsExistingMatchingCard(cm.actserfilter,tp,LOCATION_DECK,0,1,nil) and Duel.GetFlagEffect(tp,231490207)==0
local op=1
if spcon and thcon then
op=Duel.SelectOption(tp,aux.Stringid(31490207,0),aux.Stringid(31490207,2),aux.Stringid(31490207,1))
elseif spcon then
op=Duel.SelectOption(tp,aux.Stringid(31490207,0),aux.Stringid(31490207,2))
elseif thcon then
op=Duel.SelectOption(tp,aux.Stringid(31490207,2),aux.Stringid(31490207,1))+1
end
if op==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.actspfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
Duel.RegisterFlagEffect(tp,131490207,RESET_PHASE+PHASE_END,0,1)
end
elseif op==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.actserfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.RegisterFlagEffect(tp,231490207,RESET_PHASE+PHASE_END,0,1)
end
end
end
--if e:GetLabel()==1 then return end
--Duel.Activate(e:GetLabelObject())
end
function cm.splimit(e,c)
return not c:IsRace(RACE_PYRO)
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
return ep~=tp and tc:IsControler(tp) and tc:IsSetCard(0x5310) and tc:IsAbleToGrave()
end
function cm.spfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
end
function cm.tffilter(c)
return c:IsSetCard(0x5310) and c:IsType(TYPE_MONSTER) and not c:IsForbidden()
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_SZONE,0,1,nil,e,tp) and Duel.IsExistingMatchingCard(cm.tffilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if e:IsActiveType(TYPE_SPELL) and not e:GetHandler():IsRelateToEffect(e) then return end
local tc=eg:GetFirst()
Duel.SendtoGrave(tc,REASON_EFFECT)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_SZONE,0,1,nil,e,tp) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_SZONE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
local sc=g:GetFirst()
Duel.SpecialSummon(sc,0,tp,tp,false,false,POS_FACEUP)
sc:AddCounter(0x5310,1)
end
end
if Duel.GetLocationCount(tp,LOCATION_SZONE,tp,LOCATION_REASON_TOFIELD)>0 and Duel.IsExistingMatchingCard(cm.tffilter,tp,LOCATION_DECK,0,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,cm.tffilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
local mc=g:GetFirst()
Duel.MoveToField(mc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetRange(LOCATION_SZONE)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TEMP_REMOVE-RESET_TURN_SET)
mc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_REMOVE_TYPE)
e2:SetValue(TYPE_MONSTER+TYPE_EFFECT)
mc:RegisterEffect(e2)
mc:AddCounter(0x5310,1)
end
end
end
\ No newline at end of file
local m=31490208
local cm=_G["c"..m]
cm.name="苍燧烽律令 苍炎玫瑰"
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetDescription(aux.Stringid(31490208,0))
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,31490208)
e1:SetCost(cm.cost)
e1:SetTarget(cm.tg)
e1:SetOperation(cm.op)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCondition(cm.con)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e2)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_ONFIELD,0,1,nil,31490201)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsPublic() end
end
function cm.fieldfilter(c)
return c:IsSetCard(0x5310) and c:IsType(TYPE_CONTINUOUS) and c:IsType(TYPE_SPELL) and c:IsAbleToHand()
end
function cm.gravefilter(c)
return c:IsSetCard(0x5310) and c:IsType(TYPE_MONSTER) and c:IsPosition(POS_FACEUP) and not c:IsForbidden()
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.fieldfilter,tp,LOCATION_SZONE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_SZONE)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.fieldfilter,tp,LOCATION_SZONE,0,nil)
local num=g:GetCount()
if num>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
if num>Duel.GetLocationCount(tp,LOCATION_SZONE,tp,LOCATION_REASON_TOFIELD) then
num=Duel.GetLocationCount(tp,LOCATION_SZONE,tp,LOCATION_REASON_TOFIELD)
end
if num>0 and Duel.IsExistingMatchingCard(cm.gravefilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(31490208,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g2=Duel.SelectMatchingCard(tp,cm.gravefilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,num,nil)
local tc=g2:GetFirst()
while tc do
local m=_G["c"..tc:GetCode()]
local te=m.act
local op=te:GetOperation()
if op and tc:IsLocation(LOCATION_GRAVE) then
te:SetLabel(1)
local etg=Group.CreateGroup()
etg:AddCard(tc)
op(te,tp,etg,ep,ev,re,r,rp)
end
tc=g2:GetNext()
end
end
end
end
\ No newline at end of file
...@@ -7,6 +7,7 @@ function cm.initial_effect(c) ...@@ -7,6 +7,7 @@ function cm.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m+20000)
e1:SetTarget(cm.target) e1:SetTarget(cm.target)
e1:SetOperation(cm.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -14,7 +15,7 @@ function cm.initial_effect(c) ...@@ -14,7 +15,7 @@ function cm.initial_effect(c)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_FZONE)
e3:SetCode(EVENT_TO_GRAVE) e3:SetCode(EVENT_TO_GRAVE)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP) e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCountLimit(1,m) e3:SetCountLimit(1,m)
...@@ -49,12 +50,12 @@ function cm.filter(c,e,sp) ...@@ -49,12 +50,12 @@ function cm.filter(c,e,sp)
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
local cg=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE,0,nil,e,tp) local cg=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE,0,nil,e,tp)
if cg:GetCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then if cg:GetCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
if Duel.SelectYesNo(tp, aux.Stringid(m,0)) then if Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=cg:Select(tp,1,1,nil):GetFirst() local tc=cg:Select(tp,1,1,nil):GetFirst()
if Duel.SpecialSummon(tc, 0, tp, tp, true, false, POS_FACEUP)>0 then if Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)>0 then
tc:CompleteProcedure() tc:CompleteProcedure()
end end
end end
...@@ -75,6 +76,7 @@ function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -75,6 +76,7 @@ function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local c=e:GetHandler() local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
......
...@@ -28,7 +28,7 @@ function c33374561.initial_effect(c) ...@@ -28,7 +28,7 @@ function c33374561.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DELAY)
--e3:SetCondition(cm.hspcon) e3:SetCountLimit(1,m+20000)
e3:SetTarget(cm.hsptg) e3:SetTarget(cm.hsptg)
e3:SetOperation(cm.hspop) e3:SetOperation(cm.hspop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
...@@ -60,9 +60,6 @@ function cm.setop(e,tp,eg,ep,ev,re,r,rp) ...@@ -60,9 +60,6 @@ function cm.setop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
--SpecialSummon --SpecialSummon
function cm.hspcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SPECIAL)
end
function cm.hspfilter1(c,e,tp) function cm.hspfilter1(c,e,tp)
return c:IsCode(33374563) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) return c:IsCode(33374563) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
end end
...@@ -98,7 +95,7 @@ function cm.detg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -98,7 +95,7 @@ function cm.detg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end end
function cm.deop(e,tp,eg,ep,ev,re,r,rp) function cm.deop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc and tc:IsCode(33374567) and tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT) Duel.Destroy(tc,REASON_EFFECT)
end end
end end
...@@ -9,6 +9,7 @@ function c33374562.initial_effect(c) ...@@ -9,6 +9,7 @@ function c33374562.initial_effect(c)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.rmcon) e1:SetCondition(cm.rmcon)
e1:SetCost(cm.rmcost)
e1:SetOperation(cm.rmop) e1:SetOperation(cm.rmop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--special summon --special summon
...@@ -106,7 +107,13 @@ end ...@@ -106,7 +107,13 @@ end
function cm.rmcon(e,tp,eg,ep,ev,re,r,rp) function cm.rmcon(e,tp,eg,ep,ev,re,r,rp)
return rp==tp and re:GetHandler():IsCode(33374567) and not re:GetHandler():IsCode(33374562) and Duel.IsExistingMatchingCard(cm.filter1,rp,0,LOCATION_MZONE,1,nil) return rp==tp and re:GetHandler():IsCode(33374567) and not re:GetHandler():IsCode(33374562) and Duel.IsExistingMatchingCard(cm.filter1,rp,0,LOCATION_MZONE,1,nil)
end end
function cm.rmcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,m)==0 end
Duel.RegisterFlagEffect(tp,m,RESET_CHAIN,0,1)
end
function cm.rmop(e,tp,eg,ep,ev,re,r,rp) function cm.rmop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) or e:GetHandler():IsFacedown() then return end
if not Duel.IsExistingMatchingCard(cm.filter1,rp,0,LOCATION_MZONE,1,nil) then return end
local g=Group.CreateGroup() local g=Group.CreateGroup()
Duel.ChangeTargetCard(ev,g) Duel.ChangeTargetCard(ev,g)
Duel.ChangeChainOperation(ev,cm.repop1) Duel.ChangeChainOperation(ev,cm.repop1)
...@@ -117,7 +124,7 @@ function cm.filter1(c) ...@@ -117,7 +124,7 @@ function cm.filter1(c)
end end
-- --
function cm.chcon1(e,tp,eg,ep,ev,re,r,rp) function cm.chcon1(e,tp,eg,ep,ev,re,r,rp)
return re:IsCode(33374567) and Duel.IsExistingMatchingCard(cm.filter1,rp,0,LOCATION_MZONE,1,nil) return re:GetHandler():IsCode(33374567) and Duel.IsExistingMatchingCard(cm.filter1,rp,0,LOCATION_MZONE,1,nil)
end end
-- --
function cm.chop1(e,tp,eg,ep,ev,re,r,rp) function cm.chop1(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -9,6 +9,7 @@ function c33374563.initial_effect(c) ...@@ -9,6 +9,7 @@ function c33374563.initial_effect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_SUMMON_SUCCESS) e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,m)
e2:SetTarget(cm.sptg2) e2:SetTarget(cm.sptg2)
e2:SetOperation(cm.spop2) e2:SetOperation(cm.spop2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
...@@ -40,14 +41,13 @@ function cm.cfilter2(c,e,tp) ...@@ -40,14 +41,13 @@ function cm.cfilter2(c,e,tp)
return c:IsCode(33374562) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(33374562) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.sptg2(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(1-tp,LOCATION_MZONE,tp)>0 if chk==0 then return true end
and Duel.IsExistingMatchingCard(cm.cfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,LOCATION_GRAVE,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function cm.spop2(e,tp,eg,ep,ev,re,r,rp) function cm.spop2(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(1-tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(1-tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.cfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.cfilter2),tp,LOCATION_DECK+LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,1-tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,1-tp,false,false,POS_FACEUP)
end end
......
...@@ -12,8 +12,8 @@ function c33374565.initial_effect(c) ...@@ -12,8 +12,8 @@ function c33374565.initial_effect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e4:SetCode(EVENT_SPSUMMON_SUCCESS) e4:SetCode(EVENT_SPSUMMON_SUCCESS)
e4:SetProperty(EFFECT_FLAG_DELAY) e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetTarget(cm.destg)
e4:SetCondition(cm.hspcon) e4:SetCondition(cm.hspcon)
e4:SetTarget(cm.destg)
e4:SetOperation(cm.desop) e4:SetOperation(cm.desop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--to hand --to hand
...@@ -36,6 +36,7 @@ function c33374565.initial_effect(c) ...@@ -36,6 +36,7 @@ function c33374565.initial_effect(c)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_DESTROYED) e3:SetCode(EVENT_DESTROYED)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetCondition(cm.setcon) e3:SetCondition(cm.setcon)
e3:SetTarget(cm.settg) e3:SetTarget(cm.settg)
e3:SetOperation(cm.setop) e3:SetOperation(cm.setop)
...@@ -48,7 +49,7 @@ end ...@@ -48,7 +49,7 @@ end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(cm.desfilter,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(cm.desfilter,tp,LOCATION_MZONE,0,nil)
if chk==0 then return g:GetCount()>0 end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),tp,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),tp,0)
end end
function cm.desfilter(c) function cm.desfilter(c)
...@@ -104,9 +105,10 @@ function cm.setfilter(c) ...@@ -104,9 +105,10 @@ function cm.setfilter(c)
return (c:IsCode(33374560) or c:IsCode(33374566))and c:IsSSetable() return (c:IsCode(33374560) or c:IsCode(33374566))and c:IsSSetable()
end end
function cm.settg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.settg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(cm.setfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end if chk==0 then return true end
end end
function cm.setop(e,tp,eg,ep,ev,re,r,rp) function cm.setop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) or e:GetHandler():IsFacedown() then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local tc=Duel.SelectMatchingCard(tp,cm.setfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil):GetFirst() local tc=Duel.SelectMatchingCard(tp,cm.setfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil):GetFirst()
if tc then if tc then
......
...@@ -7,8 +7,6 @@ function c33374566.initial_effect(c) ...@@ -7,8 +7,6 @@ function c33374566.initial_effect(c)
--e1:SetCategory(CATEGORY_SPECIAL_SUMMON) --e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
--e1:SetTarget(cm.target)
--e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -21,6 +19,16 @@ function c33374566.initial_effect(c) ...@@ -21,6 +19,16 @@ function c33374566.initial_effect(c)
e2:SetTarget(cm.target) e2:SetTarget(cm.target)
e2:SetOperation(cm.activate) e2:SetOperation(cm.activate)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--maintain
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE)
e3:SetRange(LOCATION_SZONE)
e3:SetCode(EVENT_PHASE+PHASE_STANDBY)
e3:SetCountLimit(1)
e3:SetCondition(cm.descon)
e3:SetOperation(cm.desop)
c:RegisterEffect(e3)
--Change name --Change name
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetType(EFFECT_TYPE_FIELD)
...@@ -52,3 +60,14 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -52,3 +60,14 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
end end
end end
end end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.HintSelection(Group.FromCards(c))
if Duel.CheckReleaseGroup(tp,Card.IsSetCard,1,nil,0x558) and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
local g=Duel.SelectReleaseGroup(tp,Card.IsSetCard,1,1,nil,0x558)
Duel.Release(g,REASON_COST)
else Duel.Destroy(c,REASON_COST) end
end
--Re:CREATORS 阿尔泰尔
local m=33403500
local cm=_G["c"..m]
function cm.initial_effect(c)
c:SetUniqueOnField(1,0,m)
--atk/def
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetValue(cm.val)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_SET_BASE_DEFENSE)
e2:SetValue(cm.val)
c:RegisterEffect(e2)
--th
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,0))
e3:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetHintTiming(0,TIMING_END_PHASE)
e3:SetCountLimit(1,m)
e3:SetCondition(cm.thcon)
e3:SetTarget(cm.thtg)
e3:SetOperation(cm.thop)
c:RegisterEffect(e3)
--activate from hand
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,2))
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_QP_ACT_IN_NTPHAND)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(cm.accon)
e4:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x5349))
e4:SetTargetRange(LOCATION_HAND,0)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_TRAP_ACT_IN_HAND)
c:RegisterEffect(e5)
--indes
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(m,3))
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e6:SetRange(LOCATION_MZONE)
e6:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e6:SetCondition(cm.idcon)
e6:SetValue(1)
c:RegisterEffect(e6)
--inactivatable
local e7=Effect.CreateEffect(c)
e7:SetDescription(aux.Stringid(m,4))
e7:SetType(EFFECT_TYPE_FIELD)
e7:SetCode(EFFECT_CANNOT_INACTIVATE)
e7:SetRange(LOCATION_MZONE)
e7:SetCondition(cm.efcon)
e7:SetValue(cm.effectfilter)
c:RegisterEffect(e7)
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_FIELD)
e8:SetCode(EFFECT_CANNOT_DISEFFECT)
e8:SetRange(LOCATION_MZONE)
e8:SetCondition(cm.efcon)
e8:SetValue(cm.effectfilter)
c:RegisterEffect(e8)
end
function cm.val(e,c)
local tp=c:GetControler()
return Duel.GetFlagEffect(tp,33403501)*500
end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,33403501)>4
end
function cm.thfilter(c)
return c:IsSetCard(0x5349) and c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
if #g>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.accon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,33403501)>9
end
function cm.idcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,33403501)>14
end
function cm.efcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,33403501)>22
end
function cm.effectfilter(e,ct)
local p=e:GetHandler():GetControler()
local te,tp=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
return p==tp and (te:GetHandler():IsSetCard(0x5349) or te:GetHandler():IsCode(m))
end
\ No newline at end of file
--森罗万象 万物流转
local m=33403501
local cm=_G["c"..m]
Duel.LoadScript("c33400000.lua")
function cm.initial_effect(c)
XY.REZS(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(cm.con)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ss=Duel.GetFlagEffect(tp,33403501)
local sx=0
while(sx<(ss/2+2))
do
sx=sx+1
ss=ss+1
end
return Duel.GetFlagEffect(tp,33413501)<sx and Duel.GetFlagEffect(tp,m+30000)==0
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
if chk==0 then return true end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
end
function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not se:GetHandler():IsSetCard(0x5349) and not c:IsCode(33403500)
end
function cm.cpfilter(c)
return not c:IsCode(33403501) and c:IsSetCard(0x5349) and c:IsType(TYPE_SPELL+TYPE_TRAP)
and c:CheckActivateEffect(false,true,false)~=nil
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chkc then
local te=e:GetLabelObject()
local tg=te:GetTarget()
return tg and tg(e,tp,eg,ep,ev,re,r,rp,0,chkc)
end
if chk==0 then return Duel.IsExistingMatchingCard(cm.cpfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.cpfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(false,true,true)
Duel.ClearTargetCard()
g:GetFirst():CreateEffectRelation(e)
local tg=te:GetTarget()
if tg then tg(e,tp,ceg,cep,cev,cre,cr,crp,1) end
te:SetLabelObject(e:GetLabelObject())
e:SetLabelObject(te)
Duel.ClearOperationInfo(0)
if e:GetLabel()==1 then
Duel.RegisterFlagEffect(tp,m+20000,RESET_PHASE+PHASE_END,0,1) --t1
Duel.RegisterFlagEffect(tp,33413501,RESET_PHASE+PHASE_END,0,1) --t1+t2
Duel.RegisterFlagEffect(tp,33403501,0,0,0)
e:SetLabel(2)
end
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject()
if not te then return false end
e:SetLabelObject(te:GetLabelObject())
local op=te:GetOperation()
if op then op(e,tp,eg,ep,ev,re,r,rp) end
Duel.RegisterFlagEffect(tp,33403501,0,0,0)
local tc=te:GetHandler()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCountLimit(1)
e1:SetCondition(cm.tgcon2)
e1:SetOperation(cm.tgop2)
e1:SetLabel(tc:GetCode())
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function cm.tgcon2(e,tp,eg,ep,ev,re,r,rp)
local tcode=e:GetLabel()
return Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_DECK,0,1,nil,tcode)
end
function cm.tgop2(e,tp,eg,ep,ev,re,r,rp)
local tcode=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,LOCATION_DECK,0,1,1,nil,tcode)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
function cm.tgfilter(c,tcode)
return (c:IsCode(tcode) or c:IsCode(33403500)) and c:IsAbleToGrave()
end
--森罗万象第三乐章 「表象展观」
local m=33403502
local cm=_G["c"..m]
Duel.LoadScript("c33400000.lua")
function cm.initial_effect(c)
XY.REZS(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetHintTiming(TIMING_DAMAGE_STEP)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(cm.con)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ss=Duel.GetFlagEffect(tp,33403501)
local sx=0
while(sx<(ss/2+2))
do
sx=sx+1
ss=ss+1
end
return Duel.GetFlagEffect(tp,33413501)<sx and Duel.GetFlagEffect(tp,m+30000)==0
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
e:SetLabel(1)
end
function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not se:GetHandler():IsSetCard(0x5349)and not c:IsCode(33403500)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
if e:GetLabel()==1 then
Duel.RegisterFlagEffect(tp,m+20000,RESET_PHASE+PHASE_END,0,1) --t1
Duel.RegisterFlagEffect(tp,33413501,RESET_PHASE+PHASE_END,0,1) --t1+t2
Duel.RegisterFlagEffect(tp,33403501,0,0,0)
e:SetLabel(2)
end
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) then return end
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local tg=Duel.SelectMatchingCard(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
local tc=tg:GetFirst()
local ops={}
local opval={}
ops[1]=aux.Stringid(m,0)
opval[0]=1
ops[2]=aux.Stringid(m,1)
opval[1]=2
ops[3]=aux.Stringid(m,2)
opval[2]=3
local op=Duel.SelectOption(tp,table.unpack(ops))
local sel=opval[op]
if sel==1 then
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,0))
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CLIENT_HINT)
e3:SetRange(LOCATION_MZONE)
e3:SetValue(cm.efilter)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e3:SetOwnerPlayer(tp)
tc:RegisterEffect(e3)
elseif sel==2 then
--attack all
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_ATTACK_ALL)
e2:SetValue(1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
--pierce
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_PIERCE)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e3)
else
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,2))
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UNRELEASABLE_SUM)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UNRELEASABLE_NONSUM)
tc:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
tc:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
tc:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
tc:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
tc:RegisterEffect(e6)
end
end
function cm.efilter(e,re)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer()
end
\ No newline at end of file
--森罗万象第九乐章 「因果还元」
local m=33403503
local cm=_G["c"..m]
Duel.LoadScript("c33400000.lua")
function cm.initial_effect(c)
XY.REZS(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetHintTiming(TIMING_DAMAGE_STEP)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(cm.con)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ss=Duel.GetFlagEffect(tp,33403501)
local sx=0
while(sx<(ss/2+2))
do
sx=sx+1
ss=ss+1
end
return Duel.GetFlagEffect(tp,33413501)<sx and Duel.GetFlagEffect(tp,m+30000)==0
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
if chk==0 then return true end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
end
function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not se:GetHandler():IsSetCard(0x5349)and not c:IsCode(33403500)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(aux.disfilter1,tp,0,LOCATION_REMOVED+LOCATION_GRAVE+LOCATION_ONFIELD,1,nil)
local b2=Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_MZONE,0,1,nil,33403500)
if chkc then return true end
if chk==0 then return b1 or b2 end
if e:GetLabel()==1 then
Duel.RegisterFlagEffect(tp,m+20000,RESET_PHASE+PHASE_END,0,1) --t1
Duel.RegisterFlagEffect(tp,33413501,RESET_PHASE+PHASE_END,0,1) --t1+t2
Duel.RegisterFlagEffect(tp,33403501,0,0,0)
e:SetLabel(2)
end
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local b1=Duel.IsExistingMatchingCard(aux.disfilter1,tp,0,LOCATION_REMOVED+LOCATION_GRAVE+LOCATION_ONFIELD,1,nil)
local b2=Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_MZONE,0,1,nil,33403500)
if not (b1 or b2) then return end
local op
if b1 and b2 then
op=Duel.SelectOption(tp,aux.Stringid(m,0),aux.Stringid(m,1))
end
if b1 and not b2 then op=0 end
if not b1 and b2 then op=1 end
if op==0 then
local ct=Duel.GetFlagEffect(tp,33403501)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPPO)
local tg=Duel.SelectMatchingCard(tp,aux.disfilter1,tp,0,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,1,ct,nil)
local tc=tg:GetFirst()
while tc do
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,2))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,2))
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
if tc:IsType(TYPE_TRAPMONSTER) then
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,2))
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e3)
end
tc=tg:GetNext()
end
end
if op==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local tg2=Duel.SelectMatchingCard(tp,Card.IsCode,tp,LOCATION_MZONE,0,1,1,nil,33403500)
local tc2=tg2:GetFirst()
--atk
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,3))
e3:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(cm.atkcon)
e3:SetTarget(cm.atktg)
e3:SetOperation(cm.atkop)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc2:RegisterEffect(e3)
end
end
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=c:GetBattleTarget()
e:SetLabelObject(tc)
return tc and tc:IsFaceup()
end
function cm.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
e:GetLabelObject():CreateEffectRelation(e)
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=e:GetLabelObject()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetTarget(cm.distg)
e1:SetLabelObject(tc)
e1:SetReset(RESET_PHASE+PHASE_END,1)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetCondition(cm.discon)
e2:SetOperation(cm.disop)
e2:SetLabelObject(tc)
e2:SetReset(RESET_PHASE+PHASE_END,1)
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_SET_ATTACK_FINAL)
e3:SetValue(0)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_SET_DEFENSE_FINAL)
e4:SetValue(0)
e4:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e4)
end
end
function cm.distg(e,c)
local tc=e:GetLabelObject()
return c:IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function cm.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 cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
--森罗万象第十三乐章「摘要渊源」
local m=33403504
local cm=_G["c"..m]
Duel.LoadScript("c33400000.lua")
function cm.initial_effect(c)
XY.REZS(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e1:SetCode(EVENT_CHAINING)
e1:SetCondition(cm.con)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
--act in hand
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e3:SetCondition(cm.handcon)
c:RegisterEffect(e3)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ss=Duel.GetFlagEffect(tp,33403501)
local sx=0
while(sx<(ss/2+2))
do
sx=sx+1
ss=ss+1
end
local ck=0
for i=1,ev do
local te,tgp=Duel.GetChainInfo(i,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
if te:GetHandler():IsSetCard(0x5349) or te:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then
ck=1
end
end
for i=1,ev do
local te,tgp=Duel.GetChainInfo(i,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
if tgp~=tp and (te:IsActiveType(TYPE_MONSTER) or te:IsHasType(EFFECT_TYPE_ACTIVATE)) and Duel.IsChainNegatable(i) then
return Duel.GetFlagEffect(tp,33413501)<sx and Duel.GetFlagEffect(tp,m+30000)==0 and ck==1
end
end
return false
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
e:SetLabel(1)
end
function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not se:GetHandler():IsSetCard(0x5349)and not c:IsCode(33403500)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local ng=Group.CreateGroup()
local dg=Group.CreateGroup()
for i=1,ev do
local te,tgp=Duel.GetChainInfo(i,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
if tgp~=tp and (te:IsActiveType(TYPE_MONSTER) or te:IsHasType(EFFECT_TYPE_ACTIVATE)) and Duel.IsChainNegatable(i) then
local tc=te:GetHandler()
ng:AddCard(tc)
end
end
Duel.SetTargetCard(ng)
Duel.SetOperationInfo(0,CATEGORY_NEGATE,ng,ng:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,ng,ng:GetCount(),0,0)
if e:GetLabel()==1 then
Duel.RegisterFlagEffect(tp,m+20000,RESET_PHASE+PHASE_END,0,1) --t1
Duel.RegisterFlagEffect(tp,33413501,RESET_PHASE+PHASE_END,0,1) --t1+t2
Duel.RegisterFlagEffect(tp,33403501,0,0,0)
e:SetLabel(2)
end
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local dg=Group.CreateGroup()
for i=1,ev do
local te,tgp=Duel.GetChainInfo(i,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
if tgp~=tp and (te:IsActiveType(TYPE_MONSTER) or te:IsHasType(EFFECT_TYPE_ACTIVATE)) and Duel.NegateActivation(i) then
local tc=te:GetHandler()
if tc:IsRelateToEffect(e) and tc:IsRelateToEffect(te) then
tc:CancelToGrave()
dg:AddCard(tc)
end
end
end
Duel.Destroy(dg,REASON_EFFECT)
local c=e:GetHandler()
if Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) then
if Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
local tg=Duel.SelectMatchingCard(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,99,nil)
local tc1=tg:GetFirst()
while tc1 do
local atk=tc1:GetBaseAttack()
local def=tc1:GetBaseDefense()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc1:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SET_DEFENSE_FINAL)
e2:SetValue(def)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc1:RegisterEffect(e2)
tc1=tg:GetNext()
end
end
end
end
function cm.filter(c)
return c:IsFaceup() and c:IsCode(33403500)
end
function cm.handcon(e)
return Duel.IsExistingMatchingCard(cm.filter,e:GetHandlerPlayer(),LOCATION_MZONE+LOCATION_GRAVE,0,1,nil)
end
\ No newline at end of file
--森罗万象第十四乐章「因果转变」
local m=33403505
local cm=_G["c"..m]
Duel.LoadScript("c33400000.lua")
function cm.initial_effect(c)
XY.REZS(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetHintTiming(TIMING_DAMAGE_STEP)
e1:SetCondition(cm.con)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
--act in hand
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e3:SetCondition(cm.handcon)
c:RegisterEffect(e3)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ss=Duel.GetFlagEffect(tp,33403501)
local sx=0
while(sx<(ss/2+2))
do
sx=sx+1
ss=ss+1
end
return Duel.GetFlagEffect(tp,33413501)<sx and Duel.GetFlagEffect(tp,m+30000)==0
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
e:SetLabel(1)
end
function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not se:GetHandler():IsSetCard(0x5349)and not c:IsCode(33403500)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if e:GetLabel()==1 then
Duel.RegisterFlagEffect(tp,m+20000,RESET_PHASE+PHASE_END,0,1) --t1
Duel.RegisterFlagEffect(tp,33413501,RESET_PHASE+PHASE_END,0,1) --t1+t2
Duel.RegisterFlagEffect(tp,33403501,0,0,0)
e:SetLabel(2)
end
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
--reflect damage
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_REFLECT_DAMAGE)
e0:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e0:SetTargetRange(1,0)
e0:SetValue(cm.refcon)
e0:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e0,tp)
local e1=e0:Clone()
e1:SetCode(EFFECT_REFLECT_BATTLE_DAMAGE)
e1:SetValue(1)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function cm.refcon(e,re,val,r,rp,rc)
return bit.band(r,REASON_EFFECT)~=0
end
function cm.filter(c)
return c:IsFaceup() and c:IsCode(33403500)
end
function cm.handcon(e)
return Duel.IsExistingMatchingCard(cm.filter,e:GetHandlerPlayer(),LOCATION_MZONE+LOCATION_GRAVE,0,1,nil)
end
\ No newline at end of file
--森罗万象第二十乐章 「因子模仿」
local m=33403506
local cm=_G["c"..m]
Duel.LoadScript("c33400000.lua")
function cm.initial_effect(c)
XY.REZS(c)
--token
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMING_END_PHASE)
e2:SetCondition(cm.con)
e2:SetCost(cm.cost)
e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ss=Duel.GetFlagEffect(tp,33403501)
local sx=0
while(sx<(ss/2+2))
do
sx=sx+1
ss=ss+1
end
return Duel.GetFlagEffect(tp,33413501)<sx and Duel.GetFlagEffect(tp,m+30000)==0
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
if chk==0 then return true end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
end
function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not se:GetHandler():IsSetCard(0x5349)and not c:IsCode(33403500)
end
function cm.filter(c,e,tp)
local n=1
if c:IsType(TYPE_XYZ) then n=c:GetRank() end
if c:IsType(TYPE_LINK) then n=c:GetLink() end
if not (c:IsType(TYPE_XYZ) or c:IsType(TYPE_LINK)) then n=c:GetLevel() end
return c:IsFaceup() and c:IsType(TYPE_MONSTER)
and Duel.IsPlayerCanSpecialSummonMonster(tp,33403511,0,0x4011,c:GetAttack(),c:GetDefense(),n,c:GetRace(),c:GetAttribute())
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED) and chkc:IsControler(tp) and cm.filter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.filter,tp,0,LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
if e:GetLabel()==1 then
Duel.RegisterFlagEffect(tp,m+20000,RESET_PHASE+PHASE_END,0,1) --t1
Duel.RegisterFlagEffect(tp,33413501,RESET_PHASE+PHASE_END,0,1) --t1+t2
Duel.RegisterFlagEffect(tp,33403501,0,0,0)
e:SetLabel(2)
end
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or not Duel.IsExistingMatchingCard(cm.filter,tp,0,LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED,1,nil,e,tp) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,0,LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED,1,1,nil,e,tp)
local tc=g:GetFirst()
local n=1
if tc:IsType(TYPE_XYZ) then n=tc:GetRank() end
if tc:IsType(TYPE_LINK) then n=tc:GetLink() end
if not (tc:IsType(TYPE_XYZ) or tc:IsType(TYPE_LINK)) then n=tc:GetLevel() end
local token=Duel.CreateToken(tp,33403511)
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetValue(tc:GetAttack())
e1:SetReset(RESET_EVENT+0x1fe0000)
token:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_SET_BASE_DEFENSE)
e2:SetValue(tc:GetDefense())
token:RegisterEffect(e2,true)
local e4=e1:Clone()
e4:SetCode(EFFECT_CHANGE_RACE)
e4:SetValue(tc:GetRace())
token:RegisterEffect(e4,true)
local e5=e1:Clone()
e5:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e5:SetValue(tc:GetAttribute())
token:RegisterEffect(e5,true)
local e6=e1:Clone()
e6:SetCode(EFFECT_CHANGE_LEVEL)
e6:SetValue(n)
token:RegisterEffect(e6,true)
local e7=e1:Clone()
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetCode(EFFECT_CHANGE_CODE)
e7:SetValue(tc:GetCode())
token:RegisterEffect(e7,true)
token:CopyEffect(tc:GetCode(),RESET_EVENT+0xfe0000,1)
if tc:IsType(TYPE_EFFECT) then
local e8=e1:Clone()
e8:SetCode(EFFECT_ADD_TYPE)
e8:SetValue(TYPE_EFFECT)
token:RegisterEffect(e8,true)
end
Duel.SpecialSummonComplete()
end
--森罗万象第二十三乐章 「因果再筑」
local m=33403507
local cm=_G["c"..m]
Duel.LoadScript("c33400000.lua")
function cm.initial_effect(c)
XY.REZS(c)
--
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_RECOVER+CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCondition(cm.con)
e2:SetCost(cm.cost)
e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ss=Duel.GetFlagEffect(tp,33403501)
local sx=0
while(sx<(ss/2+2))
do
sx=sx+1
ss=ss+1
end
local ph=Duel.GetCurrentPhase()
return ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE and Duel.GetFlagEffect(tp,33413501)<sx and Duel.GetFlagEffect(tp,m+30000)==0
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
e:SetLabel(1)
end
function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not se:GetHandler():IsSetCard(0x5349)and not c:IsCode(33403500)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end
local ct=500*Duel.GetFlagEffect(tp,33403501)
if ct>=4000 then ct=4000 end
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,ct)
if e:GetLabel()==1 then
Duel.RegisterFlagEffect(tp,m+20000,RESET_PHASE+PHASE_END,0,1) --t1
Duel.RegisterFlagEffect(tp,33413501,RESET_PHASE+PHASE_END,0,1) --t1+t2
Duel.RegisterFlagEffect(tp,33403501,0,0,0)
e:SetLabel(2)
end
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local cp=Duel.GetTurnPlayer()
if Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.SkipPhase(cp,PHASE_BATTLE,RESET_PHASE+PHASE_BATTLE_STEP,1)
end
local ct=500*Duel.GetFlagEffect(tp,33403501)
if ct>=4000 then ct=4000 end
Duel.Recover(tp,ct,REASON_EFFECT)
if Duel.GetLP(tp)>=Duel.GetLP(1-tp)*4 and Duel.GetFlagEffect(tp,33403501)>=23 then
if Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
local g=Duel.GetMatchingGroup(cm.tdfilter,tp,0x7e,0x7e,aux.ExceptThisCard(e))
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
Duel.SetLP(1-tp,4000)
Duel.SetLP(tp,4000)
if Duel.IsExistingMatchingCard(cm.filter,tp,0,LOCATION_DECK,1,nil,e,tp) and Duel.SelectYesNo(1-tp,aux.Stringid(m,1)) then
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(1-tp,cm.filter,1-tp,LOCATION_DECK,0,1,1,nil,e,tp)
Duel.SpecialSummon(g,0,1-tp,1-tp,false,false,POS_FACEUP)
local tc1=g:GetFirst()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc1:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc1:RegisterEffect(e2)
end
if Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
local tc1=g:GetFirst()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc1:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc1:RegisterEffect(e2)
end
end
end
end
function cm.tdfilter(c)
return (c:IsLocation(0x1e) or c:IsLocation(LOCATION_REMOVED) or (c:IsFaceup() and c:IsType(TYPE_PENDULUM))) and c:IsAbleToDeck()
end
function cm.filter(c,e,tp)
return c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
\ No newline at end of file
--森罗万象第六十六乐章「实存相变移」
local m=33403508
local cm=_G["c"..m]
Duel.LoadScript("c33400000.lua")
function cm.initial_effect(c)
XY.REZS(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_CONTROL)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(cm.con)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
--act in hand
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e3:SetCondition(cm.handcon)
c:RegisterEffect(e3)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ss=Duel.GetFlagEffect(tp,33403501)
local sx=0
while(sx<(ss/2+2))
do
sx=sx+1
ss=ss+1
end
return Duel.GetFlagEffect(tp,33413501)<sx and Duel.GetFlagEffect(tp,m+30000)==0
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
if chk==0 then return true end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
end
function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not se:GetHandler():IsSetCard(0x5349)and not c:IsCode(33403500)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsControlerCanBeChanged,tp,0,LOCATION_MZONE,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_CONTROL,nil,1,0,0)
if e:GetLabel()==1 then
Duel.RegisterFlagEffect(tp,m+20000,RESET_PHASE+PHASE_END,0,1) --t1
Duel.RegisterFlagEffect(tp,33413501,RESET_PHASE+PHASE_END,0,1) --t1+t2
Duel.RegisterFlagEffect(tp,33403501,0,0,0)
e:SetLabel(2)
end
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not Duel.IsExistingMatchingCard(Card.IsControlerCanBeChanged,tp,0,LOCATION_MZONE,1,nil) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL)
local g1=Duel.SelectMatchingCard(tp,Card.IsAbleToChangeControler,tp,0,LOCATION_MZONE,1,1,nil)
local tc1=g1:GetFirst()
if Duel.GetControl(tc1,tp)==0 then
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_CONTROL)
local g=Duel.SelectMatchingCard(1-tp,Card.IsAbleToChangeControler,1-tp,LOCATION_MZONE,0,1,1,nil)
local tc=g:GetFirst()
if not tc then return end
if Duel.GetControl(tc,tp)~=0 then
--cannot be target
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(m,0))
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_CLIENT_HINT)
e5:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e5:SetRange(LOCATION_MZONE)
e5:SetTargetRange(LOCATION_MZONE,0)
e5:SetTarget(aux.TargetBoolFunction(Card.IsCode,33403500))
e5:SetValue(aux.tgoval)
tc:RegisterEffect(e5)
local e2=e5:Clone()
e2:SetCode(EFFECT_IGNORE_BATTLE_TARGET)
tc:RegisterEffect(e2)
end
else
--cannot be target
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e5:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e5:SetRange(LOCATION_MZONE)
e5:SetTargetRange(LOCATION_MZONE,0)
e5:SetTarget(aux.TargetBoolFunction(Card.IsCode,33403500))
e5:SetValue(aux.tgoval)
tc1:RegisterEffect(e5)
local e2=e5:Clone()
e2:SetCode(EFFECT_IGNORE_BATTLE_TARGET)
tc1:RegisterEffect(e2)
end
end
function cm.filter(c)
return c:IsFaceup() and c:IsCode(33403500)
end
function cm.handcon(e)
return Duel.IsExistingMatchingCard(cm.filter,e:GetHandlerPlayer(),LOCATION_MZONE+LOCATION_GRAVE,0,1,nil)
end
\ No newline at end of file
--森罗万象 死生回转
local m=33403509
local cm=_G["c"..m]
Duel.LoadScript("c33400000.lua")
function cm.initial_effect(c)
XY.REZS(c)
--
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCondition(cm.con)
e2:SetCost(cm.cost)
e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ss=Duel.GetFlagEffect(tp,33403501)
local sx=0
while(sx<(ss/2+2))
do
sx=sx+1
ss=ss+1
end
return Duel.GetFlagEffect(tp,33413501)<sx and Duel.GetFlagEffect(tp,m+30000)==0
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
e:SetLabel(1)
end
function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not se:GetHandler():IsSetCard(0x5349)and not c:IsCode(33403500)
end
function cm.filter(c,e,tp)
return c:IsType(TYPE_MONSTER)and (c:IsAbleToHand() or c:IsCanBeSpecialSummoned(e,0,tp,false,false))
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:GetLocation()==LOCATION_GRAVE+LOCATION_REMOVED and cm.filter(chkc,e,tp) end
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_GRAVE+LOCATION_REMOVED,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
if e:GetLabel()==1 then
Duel.RegisterFlagEffect(tp,m+20000,RESET_PHASE+PHASE_END,0,1) --t1
Duel.RegisterFlagEffect(tp,33413501,RESET_PHASE+PHASE_END,0,1) --t1+t2
Duel.RegisterFlagEffect(tp,33403501,0,0,0)
e:SetLabel(2)
end
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_GRAVE+LOCATION_REMOVED,1,nil,e,tp) then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,0))
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_GRAVE+LOCATION_REMOVED,1,1,nil,e,tp)
local tc=g:GetFirst()
local b1=tc:IsAbleToHand()
local b2=tc:IsCanBeSpecialSummoned(e,0,tp,false,false)
if b1 and (not b2 or Duel.SelectOption(tp,aux.Stringid(m,1),aux.Stringid(m,2))==0) then
Duel.SendtoHand(tc,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
else
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
--indes
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,3))
e3:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(cm.indtg)
e3:SetValue(1)
tc:RegisterEffect(e3)
end
end
function cm.indtg(e,c)
return c:IsCode(33403500)
end
--森罗万象 万界之眼
local m=33403510
local cm=_G["c"..m]
Duel.LoadScript("c33400000.lua")
function cm.initial_effect(c)
XY.REZS(c)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCondition(cm.con)
e2:SetCost(cm.cost)
e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ss=Duel.GetFlagEffect(tp,33403501)
local sx=0
while(sx<(ss/2+2))
do
sx=sx+1
ss=ss+1
end
return Duel.GetFlagEffect(tp,33413501)<sx and Duel.GetFlagEffect(tp,m+30000)==0
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
e:SetLabel(1)
end
function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not se:GetHandler():IsSetCard(0x5349)and not c:IsCode(33403500)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g1=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
local g2=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD)
local g3=Duel.GetFieldGroup(tp,0,LOCATION_DECK)
local g4=Duel.GetFieldGroup(tp,0,LOCATION_EXTRA)
if chkc then return true end
if chk==0 then return g1:GetCount()>0 or g2:GetCount()>0 or g3:GetCount()>0 or g4:GetCount()>0 end
if e:GetLabel()==1 then
Duel.RegisterFlagEffect(tp,m+20000,RESET_PHASE+PHASE_END,0,1) --t1
Duel.RegisterFlagEffect(tp,33413501,RESET_PHASE+PHASE_END,0,1) --t1+t2
Duel.RegisterFlagEffect(tp,33403501,0,0,0)
e:SetLabel(2)
end
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g1=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
local g2=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD)
local g3=Duel.GetFieldGroup(tp,0,LOCATION_DECK)
local g4=Duel.GetFieldGroup(tp,0,LOCATION_EXTRA)
local off=1
local ops={}
local opval={}
if g1:GetCount()~=0 then
ops[off]=aux.Stringid(m,1)
opval[off-1]=1
off=off+1
end
if g2:GetCount()~=0 then
ops[off]=aux.Stringid(m,2)
opval[off-1]=2
off=off+1
end
if g3:GetCount()~=0 then
ops[off]=aux.Stringid(m,3)
opval[off-1]=3
off=off+1
end
if g4:GetCount()~=0 then
ops[off]=aux.Stringid(m,4)
opval[off-1]=4
off=off+1
end
if off==1 then return end
local op=Duel.SelectOption(tp,table.unpack(ops))
if opval[op]==1 then
Duel.ConfirmCards(tp,g1)
Duel.ShuffleHand(1-tp)
elseif opval[op]==2 then
Duel.ConfirmCards(tp,g2)
elseif opval[op]==3 then
Duel.ConfirmCards(tp,g3)
elseif opval[op]==4 then
Duel.ConfirmCards(tp,g4)
end
if Duel.IsExistingMatchingCard(cm.tfilter2,tp,LOCATION_HAND,0,1,nil) then
if Duel.SelectYesNo(tp,aux.Stringid(m,5)) then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,6))
local g=Duel.SelectMatchingCard(tp,cm.tfilter2,tp,LOCATION_HAND,0,1,1,nil)
local tc=g:GetFirst()
local e2_1=Effect.CreateEffect(c)
e2_1:SetType(EFFECT_TYPE_SINGLE)
e2_1:SetCode(EFFECT_PUBLIC)
e2_1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e2_1)
tc:RegisterFlagEffect(m,RESET_EVENT+0x1fe0000,EFFECT_FLAG_CLIENT_HINT,0,0,66)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(0,1)
if tc:IsType(TYPE_MONSTER) then
e1:SetDescription(aux.Stringid(m,7))
e1:SetValue(cm.aclimit1)
elseif tc:IsType(TYPE_SPELL) then
e1:SetDescription(aux.Stringid(m,8))
e1:SetValue(cm.aclimit2)
else
e1:SetDescription(aux.Stringid(m,9))
e1:SetValue(cm.aclimit3)
end
e1:SetReset(RESET_PHASE+PHASE_END,1)
Duel.RegisterEffect(e1,tp)
end
end
end
function cm.tfilter2(c)
return not c:IsPublic()
end
function cm.aclimit1(e,re,tp)
return re:IsActiveType(TYPE_MONSTER)
end
function cm.aclimit2(e,re,tp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL)
end
function cm.aclimit3(e,re,tp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_TRAP)
end
...@@ -8,11 +8,10 @@ function cm.initial_effect(c) ...@@ -8,11 +8,10 @@ function cm.initial_effect(c)
c:RegisterEffect(e0) c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DECKDES+CATEGORY_DRAW) e1:SetCategory(CATEGORY_DECKDES+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_SZONE) e1:SetRange(LOCATION_SZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1,m)
e1:SetCondition(cm.condition) e1:SetCondition(cm.condition)
e1:SetTarget(cm.distg) e1:SetTarget(cm.distg)
e1:SetOperation(cm.operation) e1:SetOperation(cm.operation)
...@@ -24,13 +23,14 @@ function cm.initial_effect(c) ...@@ -24,13 +23,14 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_TO_GRAVE) e3:SetCode(EVENT_TO_GRAVE)
e3:SetCountLimit(1,m+10000)
e3:SetTarget(cm.atktg1) e3:SetTarget(cm.atktg1)
e3:SetOperation(cm.atkop1) e3:SetOperation(cm.atkop1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
--e1 --e1
function cm.cfilter(c) function cm.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0xa82) return c:IsFaceup() and c:IsSetCard(0xa82) and c:GetSummonLocation()==LOCATION_EXTRA
end end
function cm.cfilter2(c) function cm.cfilter2(c)
return c:IsLocation(LOCATION_GRAVE) and c:IsSetCard(0xa82) return c:IsLocation(LOCATION_GRAVE) and c:IsSetCard(0xa82)
...@@ -42,11 +42,14 @@ function cm.thfilter2(c) ...@@ -42,11 +42,14 @@ function cm.thfilter2(c)
return c:IsSetCard(0xa86) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER) return c:IsSetCard(0xa86) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER)
end end
function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(2)
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,2) Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,2)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.DiscardDeck(tp,2,REASON_EFFECT) local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.DiscardDeck(p,d,REASON_EFFECT)
local g=Duel.GetOperatedGroup() local g=Duel.GetOperatedGroup()
local ct=g:FilterCount(cm.cfilter2,nil) local ct=g:FilterCount(cm.cfilter2,nil)
if ct==0 then return end if ct==0 then return end
...@@ -64,6 +67,16 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,6 +67,16 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end end
Duel.SortDecktop(tp,tp,ac) Duel.SortDecktop(tp,tp,ac)
end end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetOperation(cm.thop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,m)
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
end end
--e3 --e3
......
...@@ -9,6 +9,7 @@ function cm.initial_effect(c) ...@@ -9,6 +9,7 @@ function cm.initial_effect(c)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON) e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_IGNITION) e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_HAND) e4:SetRange(LOCATION_HAND)
e4:SetCountLimit(1,m-1000)
e4:SetCost(cm.spcost) e4:SetCost(cm.spcost)
e4:SetTarget(cm.sptg) e4:SetTarget(cm.sptg)
e4:SetOperation(cm.spop) e4:SetOperation(cm.spop)
...@@ -25,14 +26,14 @@ function cm.initial_effect(c) ...@@ -25,14 +26,14 @@ function cm.initial_effect(c)
e1:SetTarget(cm.destg) e1:SetTarget(cm.destg)
e1:SetOperation(cm.desop) e1:SetOperation(cm.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
Senya.MokouReborn(c,2,m-4000,false,cm.dogcon,nil,nil,true) Senya.MokouReborn(c,1,m-4000,false,cm.dogcon,nil,nil,true)
end end
cm.mat_filter=Senya.SayuriDefaultMaterialFilterLevel8 cm.mat_filter=Senya.SayuriDefaultMaterialFilterLevel8
function cm.dogcon(e,tp,eg,ep,ev,re,r,rp) function cm.dogcon(e,tp,eg,ep,ev,re,r,rp)
return true return true
end end
function cm.cfilter(c) function cm.cfilter(c)
return c:IsType(TYPE_MONSTER) and (Senya.check_set_sayuri(c) or (c:IsAttribute(ATTRIBUTE_FIRE) and c:IsRace(RACE_ZOMBIE))) and c:IsAbleToGraveAsCost() return c:IsType(TYPE_MONSTER) and Senya.check_set_sayuri(c) and c:IsAbleToGraveAsCost()
end end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_HAND,0,2,e:GetHandler()) end if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_HAND,0,2,e:GetHandler()) end
......
--睿智之蓝 LV5
function c40006762.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40006762,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,40006762)
e1:SetCondition(c40006762.sccon)
e1:SetTarget(c40006762.sctg)
e1:SetOperation(c40006762.scop)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40006762,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c40006762.spcon)
e2:SetCost(c40006762.spcost)
e2:SetTarget(c40006762.sptg)
e2:SetOperation(c40006762.spop)
c:RegisterEffect(e2)
--special summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(40006762,2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,40009063)
e3:SetTarget(c40006762.sltg)
e3:SetOperation(c40006762.slop)
c:RegisterEffect(e3)
end
function c40006762.scfilter(c,tp)
return c:IsFaceup() and c:IsRace(RACE_MACHINE) and c:IsControler(tp)
end
function c40006762.sccon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c40006762.scfilter,1,nil,tp)
end
function c40006762.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c40006762.scop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
c40006762.lvupcount=1
c40006762.lvup={40006763}
function c40006762.spcon(e,tp,eg,ep,ev,re,r,rp)
return tp==Duel.GetTurnPlayer() and e:GetHandler():IsLevelAbove(8)
end
function c40006762.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
function c40006762.spfilter(c,e,tp)
return c:IsCode(40006763) and c:IsCanBeSpecialSummoned(e,0,tp,true,true)
end
function c40006762.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
and Duel.IsExistingMatchingCard(c40006762.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK)
end
function c40006762.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c40006762.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,true,true,POS_FACEUP)
tc:CompleteProcedure()
end
end
function c40006762.slfilter(c,e,tp)
return c:IsLevelBelow(3) and c:IsType(TYPE_TUNER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0xf24)
end
function c40006762.sltg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c40006762.slfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c40006762.slfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c40006762.slfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c40006762.slop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE)
e2:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DISABLE_EFFECT)
e3:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e3)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetValue(tc:GetLevel())
e1:SetReset(RESET_EVENT+0x1ff0000)
e:GetHandler():RegisterEffect(e1)
end
\ No newline at end of file
--睿智之蓝 LV8
function c40006763.initial_effect(c)
--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)
e0:SetValue(c40006763.splimit)
c:RegisterEffect(e0)
--equip
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40006763,0))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c40006763.target)
e1:SetCondition(c40006763.oncon)
e1:SetOperation(c40006763.operation)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40006763,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetHintTiming(0,0x1e0)
e2:SetCondition(c40006763.spcon)
e2:SetCost(c40006763.spcost)
e2:SetTarget(c40006763.sptg)
e2:SetOperation(c40006763.spop)
c:RegisterEffect(e2)
--destroy
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(40006763,2))
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetHintTiming(0,0x1e0)
e3:SetCost(c40006763.cost)
e3:SetTarget(c40006763.ctarget)
e3:SetOperation(c40006763.activate)
c:RegisterEffect(e3)
end
c40006763.lvupcount=2
c40006763.lvup={40006762,40006764}
c40006763.lvdncount=1
c40006763.lvdn={40006762}
function c40006763.oncon(e,tp,eg,ep,ev,re,r,rp)
if not re then return false end
local rc=re:GetHandler()
return rc:IsCode(40006762)
end
function c40006763.filter(c)
return c:IsRace(RACE_MACHINE) and c:IsAbleToHand()
end
function c40006763.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40006763.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c40006763.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c40006763.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c40006763.spcon(e,tp,eg,ep,ev,re,r,rp)
return tp==Duel.GetTurnPlayer() and e:GetHandler():IsLevelAbove(11)
end
function c40006763.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
function c40006763.spfilter(c,e,tp)
return c:IsCode(40006764) and c:IsCanBeSpecialSummoned(e,0,tp,true,true)
end
function c40006763.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
and Duel.IsExistingMatchingCard(c40006763.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK)
end
function c40006763.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c40006763.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,true,true,POS_FACEUP)
tc:CompleteProcedure()
end
end
function c40006763.costfilter(c)
return c:IsType(TYPE_TUNER) and c:IsAbleToRemoveAsCost()
end
function c40006763.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40006763.costfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c40006763.costfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function c40006763.ctarget(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c40006763.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) and c:IsFaceup() and c:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetValue(2)
e1:SetReset(RESET_EVENT+0x1ff0000)
c:RegisterEffect(e1)
end
end
function c40006763.splimit(e,se,sp,st)
return se:IsHasType(EFFECT_TYPE_ACTIONS)
end
\ No newline at end of file
--睿智之蓝 LV11
function c40006764.initial_effect(c)
c:EnableReviveLimit()
--spsummon limit
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.FALSE)
c:RegisterEffect(e1)
--negate activate
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(40006764,2))
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetCondition(c40006764.oncon)
e3:SetTarget(c40006764.target)
e3:SetOperation(c40006764.operation)
c:RegisterEffect(e3)
--
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetOperation(c40006764.lvop)
c:RegisterEffect(e2)
--redirect
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_RANGE+EFFECT_FLAG_IGNORE_IMMUNE)
e4:SetCode(EFFECT_TO_GRAVE_REDIRECT)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c40006764.excon)
e4:SetTarget(c40006764.extg)
e4:SetTargetRange(0xff,0xff)
e4:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e4)
--activate limit
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(40006764,1))
e6:SetCategory(CATEGORY_LVCHANGE)
e6:SetType(EFFECT_TYPE_QUICK_O)
e6:SetCode(EVENT_FREE_CHAIN)
e6:SetRange(LOCATION_MZONE)
e6:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e6:SetCountLimit(1)
e6:SetCondition(c40006764.exccon)
e6:SetOperation(c40006764.actop)
c:RegisterEffect(e6)
--negate
local e7=Effect.CreateEffect(c)
e7:SetDescription(aux.Stringid(40006764,0))
e7:SetCategory(CATEGORY_NEGATE+CATEGORY_REMOVE+CATEGORY_LVCHANGE)
e7:SetType(EFFECT_TYPE_QUICK_O)
e7:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e7:SetCode(EVENT_CHAINING)
e7:SetRange(LOCATION_MZONE)
e7:SetCondition(c40006764.negcon)
e7:SetTarget(c40006764.negtg)
e7:SetOperation(c40006764.negop)
c:RegisterEffect(e7)
end
c40006764.lvupcount=1
c40006764.lvup={40006763}
c40006764.lvdncount=2
c40006764.lvdn={40006762,40006763}
function c40006764.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler()
if re:IsActiveType(TYPE_MONSTER) and c~=e:GetHandler() and e:GetHandler():GetFlagEffect(1)>0 and e:GetHandler():IsFaceup() then
local e4=Effect.CreateEffect(e:GetHandler())
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_UPDATE_LEVEL)
e4:SetValue(1)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e:GetHandler():RegisterEffect(e4)
end
end
function c40006764.excon(e)
return e:GetHandler():IsLevelAbove(13)
end
function c40006764.extg(e,c)
return c:GetOwner()~=e:GetHandlerPlayer()
end
function c40006764.exccon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLevelAbove(20) and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function c40006764.negcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return not c:IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev) and e:GetHandler():IsLevelAbove(16)
end
function c40006764.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return re:GetHandler():IsAbleToRemove() 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 c40006764.negop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) and c:IsRelateToEffect(e) then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_LEVEL)
e2:SetValue(-4)
e2:SetReset(RESET_EVENT+0x1ff0000)
c:RegisterEffect(e2)
Duel.Remove(eg,POS_FACEUP,REASON_EFFECT)
end
end
function c40006764.actop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EFFECT_CANNOT_ACTIVATE)
e3:SetTargetRange(0,1)
e3:SetValue(c40006764.actlimit)
e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_UPDATE_LEVEL)
e4:SetValue(-5)
e4:SetReset(RESET_EVENT+0x1ff0000)
c:RegisterEffect(e4)
end
function c40006764.actlimit(e,re,tp)
return not re:GetHandler():IsImmuneToEffect(e)
end
function c40006764.oncon(e,tp,eg,ep,ev,re,r,rp)
if not re then return false end
local rc=re:GetHandler()
return rc:IsCode(40006763)
end
function c40006764.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,e:GetHandler()) end
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
function c40006764.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,e:GetHandler())
Duel.Destroy(g,REASON_EFFECT)
end
\ No newline at end of file
--睿智之蓝 LV3
function c40006826.initial_effect(c)
--search S/T
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40006826,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,40006826)
e1:SetCost(c40006826.cost)
e1:SetTarget(c40006826.sptg)
e1:SetOperation(c40006826.spop)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_GRAVE)
e2:SetHintTiming(0,TIMING_END_PHASE)
e2:SetCountLimit(1,40006826)
e2:SetCondition(aux.exccon)
e2:SetTarget(c40006826.target)
e2:SetOperation(c40006826.operation)
c:RegisterEffect(e2)
end
c40006826.lvupcount=1
c40006826.lvup={40006762}
function c40006826.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsDiscardable() end
Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD)
end
function c40006826.filter(c,e,tp)
return c:IsCode(40006762) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c40006826.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c40006826.filter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE)
end
function c40006826.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c40006826.filter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function c40006826.filter1(c,e,tp,lv)
local clv=c:GetLevel()
return clv>0 and c:IsType(TYPE_TUNER) and c:IsAbleToHand()
and Duel.IsExistingMatchingCard(c40006826.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,lv+clv)
end
function c40006826.filter2(c,e,tp,lv)
return c:GetLevel()==lv and c:IsType(TYPE_SYNCHRO) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c40006826.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c40006826.filter1(chkc,e,tp,e:GetHandler():GetLevel()) end
if chk==0 then return Duel.GetLocationCountFromEx(tp)>0 and e:GetHandler():IsAbleToHand()
and Duel.IsExistingTarget(c40006826.filter1,tp,LOCATION_GRAVE,0,1,nil,e,tp,e:GetHandler():GetLevel()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,c40006826.filter1,tp,LOCATION_GRAVE,0,1,1,nil,e,tp,e:GetHandler():GetLevel())
g:AddCard(e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,2,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c40006826.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not c:IsRelateToEffect(e) or not tc:IsRelateToEffect(e) then return end
local lv=c:GetLevel()+tc:GetLevel()
local g=Group.FromCards(c,tc)
if Duel.SendtoHand(g,nil,REASON_EFFECT)==2 then
if Duel.GetLocationCountFromEx(tp)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c40006826.filter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,lv)
if sg:GetCount()>0 then
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
end
end
--睿智之蓝 LV3-改4
function c40006827.initial_effect(c)
c:EnableReviveLimit()
aux.EnablePendulumAttribute(c)
--spsummon from hand
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetCondition(c40006827.hspcon)
e1:SetOperation(c40006827.hspop)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_PZONE)
e2:SetHintTiming(0,TIMING_END_PHASE)
e2:SetCountLimit(1,40006827)
e2:SetTarget(c40006827.target)
e2:SetOperation(c40006827.operation)
c:RegisterEffect(e2)
--
local e6=Effect.CreateEffect(c)
e6:SetCategory(CATEGORY_SPECIAL_SUMMON)
e6:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e6:SetCode(EVENT_TO_DECK)
e6:SetCondition(c40006827.con6)
e6:SetTarget(c40006827.sptg)
e6:SetOperation(c40006827.spop)
c:RegisterEffect(e6)
end
c40006827.lvupcount=1
c40006827.lvup={40006762}
function c40006827.filter1(c,e,tp,lv)
local clv=c:GetLevel()
return clv>0 and c:IsType(TYPE_TUNER) and c:IsAbleToGrave()
and Duel.IsExistingMatchingCard(c40006827.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,lv+clv)
end
function c40006827.filter2(c,e,tp,lv)
return c:GetLevel()==lv and c:IsType(TYPE_SYNCHRO) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c40006827.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and c40006827.filter1(chkc,e,tp,e:GetHandler():GetLevel()) end
if chk==0 then return Duel.GetLocationCountFromEx(tp)>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and e:GetHandler():IsAbleToGrave()
and Duel.IsExistingTarget(c40006827.filter1,tp,LOCATION_MZONE,0,1,nil,e,tp,e:GetHandler():GetLevel()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,c40006827.filter1,tp,LOCATION_MZONE,0,1,1,nil,e,tp,e:GetHandler():GetLevel())
g:AddCard(e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,2,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c40006827.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not c:IsRelateToEffect(e) or not tc:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
local lv=c:GetLevel()+tc:GetLevel()
local g=Group.FromCards(c,tc)
if Duel.SendtoGrave(g,nil,REASON_EFFECT)==2 then
if Duel.GetLocationCountFromEx(tp)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c40006827.filter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,lv)
if sg:GetCount()>0 then
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
end
end
function c40006827.hspfilter(c,tp)
return c:IsCode(40006826) and c:IsControler(tp)
end
function c40006827.hspcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local ct=0
if Duel.CheckReleaseGroup(tp,c40006827.hspfilter,1,nil,tp) then ct=ct-1 end
return Duel.GetLocationCount(tp,LOCATION_MZONE)>ct
and Duel.CheckReleaseGroupEx(tp,Card.IsCode,1,e:GetHandler(),40006826)
end
function c40006827.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local g=nil
if ft>0 then
g=Duel.SelectReleaseGroupEx(tp,Card.IsCode
,1,1,e:GetHandler(),40006826)
else
g=Duel.SelectReleaseGroup(tp,c40006827.hspfilter,1,1,nil,tp)
end
Duel.Release(g,REASON_COST)
c:RegisterFlagEffect(0,RESET_EVENT+0x4fc0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(40006827,0))
end
function c40006827.con6(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsFaceup() and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsLocation(LOCATION_EXTRA)
end
function c40006827.filter(c,e,tp)
return c:IsCode(40006762) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c40006827.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c40006827.filter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE)
end
function c40006827.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c40006827.filter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
--海王星·睿智之蓝
function c40009064.initial_effect(c)
--search
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(40009064,0))
e0:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e0:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e0:SetCode(EVENT_SUMMON_SUCCESS)
e0:SetProperty(EFFECT_FLAG_DELAY)
e0:SetTarget(c40009064.thtg)
e0:SetOperation(c40009064.thop)
c:RegisterEffect(e0)
local e5=e0:Clone()
e5:SetCode(EVENT_SPSUMMON_SUCCESS)
e5:SetCondition(c40009064.condition)
c:RegisterEffect(e5)
--equip
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009064,1))
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(c40009064.eqtg)
e1:SetOperation(c40009064.eqop)
c:RegisterEffect(e1)
--unequip
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40009064,2))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_SZONE)
e2:SetTarget(c40009064.sptg)
e2:SetOperation(c40009064.spop)
c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c40009064.repval)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_UPDATE_LEVEL)
e4:SetValue(1)
c:RegisterEffect(e4)
--eqlimit
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_EQUIP_LIMIT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetValue(1)
c:RegisterEffect(e7)
end
function c40009064.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_PENDULUM)
end
function c40009064.thfilter(c)
return c:IsSetCard(0xf24) and c:IsRace(RACE_MACHINE) and c:IsAbleToHand()
end
function c40009064.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40009064.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c40009064.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c40009064.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c40009064.filter(c)
local ct1,ct2=c:GetUnionCount()
return c:IsFaceup() and ct2==0
end
function c40009064.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c40009064.filter(chkc) end
if chk==0 then return e:GetHandler():GetFlagEffect(40009064)==0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c40009064.filter,tp,LOCATION_MZONE,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectTarget(tp,c40009064.filter,tp,LOCATION_MZONE,0,1,1,c)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
c:RegisterFlagEffect(40009064,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c40009064.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
if not tc:IsRelateToEffect(e) or not c40009064.filter(tc) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
if not Duel.Equip(tp,c,tc,false) then return end
aux.SetUnionState(c)
end
function c40009064.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(40009064)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
c:RegisterFlagEffect(40009064,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c40009064.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end
function c40009064.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0
end
--金星·睿智之蓝
function c40009065.initial_effect(c)
--special summon
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(40009065,0))
e0:SetCategory(CATEGORY_SPECIAL_SUMMON)
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e0:SetProperty(EFFECT_FLAG_DELAY)
e0:SetCode(EVENT_TO_HAND)
e0:SetCountLimit(1,40009065)
e0:SetCondition(c40009065.spcon)
e0:SetTarget(c40009065.sptg1)
e0:SetOperation(c40009065.spop1)
c:RegisterEffect(e0)
--equip
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009065,1))
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(c40009065.eqtg)
e1:SetOperation(c40009065.eqop)
c:RegisterEffect(e1)
--unequip
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40009065,2))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_SZONE)
e2:SetTarget(c40009065.sptg)
e2:SetOperation(c40009065.spop)
c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c40009065.repval)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_UPDATE_LEVEL)
e4:SetValue(2)
c:RegisterEffect(e4)
--eqlimit
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_EQUIP_LIMIT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetValue(1)
c:RegisterEffect(e7)
end
function c40009065.spcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsReason(REASON_DRAW)
end
function c40009065.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c40009065.spop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
function c40009065.filter(c)
local ct1,ct2=c:GetUnionCount()
return c:IsFaceup() and ct2==0
end
function c40009065.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c40009065.filter(chkc) end
if chk==0 then return e:GetHandler():GetFlagEffect(40009065)==0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c40009065.filter,tp,LOCATION_MZONE,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectTarget(tp,c40009065.filter,tp,LOCATION_MZONE,0,1,1,c)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
c:RegisterFlagEffect(40009065,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c40009065.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
if not tc:IsRelateToEffect(e) or not c40009065.filter(tc) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
if not Duel.Equip(tp,c,tc,false) then return end
aux.SetUnionState(c)
end
function c40009065.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(40009065)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
c:RegisterFlagEffect(40009065,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c40009065.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end
function c40009065.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0
end
--太阳·睿智之蓝
function c40009066.initial_effect(c)
--synchro summon
aux.AddSynchroMixProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_MACHINE),nil,nil,aux.FilterBoolFunction(Card.IsSetCard,0xf24),1,99)
c:EnableReviveLimit()
--effect gain
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c40009066.regcon)
e1:SetOperation(c40009066.regop)
c:RegisterEffect(e1)
--link success
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40009066,5))
e2:SetCategory(CATEGORY_DISABLE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCondition(c40009066.descon)
e2:SetOperation(c40009066.desop)
c:RegisterEffect(e2)
--special summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(40009066,6))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c40009066.spcon)
e3:SetCost(c40009066.spcost)
e3:SetTarget(c40009066.sptg)
e3:SetOperation(c40009066.spop)
c:RegisterEffect(e3)
end
function c40009066.regcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end
function c40009066.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=c:GetMaterial():FilterCount(Card.IsSynchroType,nil,TYPE_TUNER)
if ct>=2 then
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009066,3))
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCondition(c40009066.atkcon)
e1:SetOperation(c40009066.atkop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(40009066,0))
end
if ct>=3 then
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40009066,4))
e2:SetCategory(CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetTarget(c40009066.rmtg)
e2:SetOperation(c40009066.rmop)
c:RegisterEffect(e2)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(40009066,1))
end
if ct>=4 then
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(40009066,5))
e5:SetCategory(CATEGORY_DISABLE)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_SPSUMMON_SUCCESS)
e5:SetProperty(EFFECT_FLAG_DELAY)
e5:SetOperation(c40009066.desop)
c:RegisterEffect(e5)
e5:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(40009066,2))
end
end
function c40009066.atkcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c==Duel.GetAttacker() or c==Duel.GetAttackTarget()
end
function c40009066.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local val=g:GetSum(Card.GetLevel)*200
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(val)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DAMAGE_CAL)
c:RegisterEffect(e1)
end
end
function c40009066.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsAbleToRemove() end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
end
function c40009066.rmop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)
end
end
function c40009066.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=c:GetMaterial():FilterCount(Card.IsSynchroType,nil,TYPE_TUNER)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) and ct>=4
end
function c40009066.negfilter(c)
return c:IsFaceup() and not c:IsDisabled()
end
function c40009066.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c40009066.negfilter,tp,0,LOCATION_ONFIELD,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)
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)
if tc:IsType(TYPE_TRAPMONSTER) then
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3)
end
tc=g:GetNext()
end
end
function c40009066.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end
function c40009066.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
end
function c40009066.spfilter(c,e,tp)
return c:IsCode(40006764) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
end
function c40009066.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c40009066.spfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE)
end
function c40009066.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c40009066.spfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc and Duel.SpecialSummonStep(tc,0,tp,tp,true,false,POS_FACEUP) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_LEVEL)
e1:SetValue(16)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
Duel.SpecialSummonComplete()
end
\ No newline at end of file
--木星·睿智之蓝
function c40009068.initial_effect(c)
--search
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(40009068,0))
e0:SetCategory(CATEGORY_DRAW)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetRange(LOCATION_HAND)
e0:SetCountLimit(1,40009068)
e0:SetCost(c40009068.thcost)
e0:SetCondition(c40009068.condition)
e0:SetTarget(c40009068.drtg)
e0:SetOperation(c40009068.drop)
c:RegisterEffect(e0)
--equip
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009068,1))
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(c40009068.eqtg)
e1:SetOperation(c40009068.eqop)
c:RegisterEffect(e1)
--unequip
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40009068,2))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_SZONE)
e2:SetTarget(c40009068.sptg)
e2:SetOperation(c40009068.spop)
c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c40009068.repval)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_UPDATE_LEVEL)
e4:SetValue(7)
c:RegisterEffect(e4)
--eqlimit
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_EQUIP_LIMIT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetValue(1)
c:RegisterEffect(e7)
end
function c40009068.cfilter(c)
return c:IsFaceup() and not c:IsLevel(c:GetOriginalLevel()) and c:IsLevelAbove(1) and c:IsSetCard(0xf24)
end
function c40009068.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c40009068.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c40009068.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsDiscardable() end
Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD)
end
function c40009068.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c40009068.drop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
end
function c40009068.filter(c)
local ct1,ct2=c:GetUnionCount()
return c:IsFaceup() and ct2==0
end
function c40009068.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c40009068.filter(chkc) end
if chk==0 then return e:GetHandler():GetFlagEffect(40009068)==0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c40009068.filter,tp,LOCATION_MZONE,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectTarget(tp,c40009068.filter,tp,LOCATION_MZONE,0,1,1,c)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
c:RegisterFlagEffect(40009068,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c40009068.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
if not tc:IsRelateToEffect(e) or not c40009068.filter(tc) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
if not Duel.Equip(tp,c,tc,false) then return end
aux.SetUnionState(c)
end
function c40009068.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(40009068)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
c:RegisterFlagEffect(40009068,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c40009068.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end
function c40009068.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0
end
--冥王星·睿智之蓝
function c40009071.initial_effect(c)
--spsummon
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(40009071,0))
e6:SetCategory(CATEGORY_SPECIAL_SUMMON)
e6:SetType(EFFECT_TYPE_IGNITION)
e6:SetRange(LOCATION_MZONE)
e6:SetCountLimit(1,40009071)
e6:SetCost(c40009071.cost)
e6:SetTarget(c40009071.sptg1)
e6:SetOperation(c40009071.spop1)
c:RegisterEffect(e6)
--equip
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009071,1))
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(c40009071.eqtg)
e1:SetOperation(c40009071.eqop)
c:RegisterEffect(e1)
--unequip
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40009071,2))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_SZONE)
e2:SetTarget(c40009071.sptg)
e2:SetOperation(c40009071.spop)
c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c40009071.repval)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_UPDATE_LEVEL)
e4:SetValue(6)
c:RegisterEffect(e4)
--eqlimit
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_EQUIP_LIMIT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetValue(1)
c:RegisterEffect(e7)
end
function c40009071.costfilter(c)
return c:IsType(TYPE_TUNER) and c:IsAbleToRemoveAsCost() and c:IsRace(RACE_MACHINE)
end
function c40009071.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40009071.costfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c40009071.costfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function c40009071.spfilter1(c,e,tp,lv)
return c:IsSetCard(0xf24) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and (c:IsLevel(lv-1) or c:IsLevel(lv+1))
end
function c40009071.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
local lv=e:GetHandler():GetLevel()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c40009071.spfilter1,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp,lv) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK)
end
function c40009071.spop1(e,tp,eg,ep,ev,re,r,rp)
local lv=e:GetHandler():GetLevel()
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c40009071.spfilter1,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp,lv)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function c40009071.filter(c)
local ct1,ct2=c:GetUnionCount()
return c:IsFaceup() and ct2==0
end
function c40009071.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c40009071.filter(chkc) end
if chk==0 then return e:GetHandler():GetFlagEffect(40009071)==0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c40009071.filter,tp,LOCATION_MZONE,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectTarget(tp,c40009071.filter,tp,LOCATION_MZONE,0,1,1,c)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
c:RegisterFlagEffect(40009071,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c40009071.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
if not tc:IsRelateToEffect(e) or not c40009071.filter(tc) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
if not Duel.Equip(tp,c,tc,false) then return end
aux.SetUnionState(c)
end
function c40009071.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(40009071)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
c:RegisterFlagEffect(40009071,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c40009071.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end
function c40009071.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0
end
\ No newline at end of file
--翱翔·飞行之蓝
function c40009072.initial_effect(c)
--lock
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009072,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,40009072)
e1:SetCondition(c40009072.con)
e1:SetOperation(c40009072.operation1)
c:RegisterEffect(e1)
--material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40009072,2))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,40009073)
e2:SetTarget(c40009072.target)
e2:SetOperation(c40009072.operation)
c:RegisterEffect(e2)
end
function c40009072.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsAbleToEnterBP()
end
function c40009072.filter(c)
return c:IsSetCard(0xf24) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c40009072.operation1(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1)
e1:SetCondition(c40009072.accon)
e1:SetValue(c40009072.aclimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local g=Duel.GetMatchingGroup(c40009072.filter,tp,LOCATION_DECK,0,nil)
if g:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(40009072,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=Duel.SelectMatchingCard(tp,c40009072.filter,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
function c40009072.accon(e)
local ph=Duel.GetCurrentPhase()
return ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE
end
function c40009072.aclimit(e,re,tp)
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP)
end
function c40009072.gfilter(c)
return c:IsFaceup() and c:IsSetCard(0xf24) and c:IsLevelAbove(6)
end
function c40009072.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c40009072.gfilter(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c40009072.gfilter,tp,LOCATION_MZONE,0,1,nil)
and e:GetHandler():IsSSetable() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c40009072.gfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
function c40009072.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFacedown() or not tc:IsRelateToEffect(e) or tc:IsImmuneToEffect(e) or tc:IsLevelBelow(5) then return end
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(-5)
tc:RegisterEffect(e1)
Duel.BreakEffect()
if c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1)
end
end
\ No newline at end of file
--武装·火箭之蓝
function c40009074.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--equip
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40009074,1))
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1,40009074)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e2:SetTarget(c40009074.eqtg)
e2:SetOperation(c40009074.eqop)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e3)
--material
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(40009074,2))
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetRange(LOCATION_GRAVE)
e4:SetCountLimit(1,40009075)
e4:SetTarget(c40009074.target)
e4:SetOperation(c40009074.operation)
c:RegisterEffect(e4)
end
function c40009074.tgfilter(c,e,tp,chk)
return c:IsSetCard(0xf24)
and c:IsLocation(LOCATION_MZONE) and c:IsFaceup() and c:IsControler(tp) and c:IsCanBeEffectTarget(e)
and (chk or Duel.IsExistingMatchingCard(c40009074.cfilter,tp,LOCATION_DECK,0,1,nil,c))
end
function c40009074.cfilter(c,ec)
return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_WIND)
and c:IsType(TYPE_UNION) and c:CheckEquipTarget(ec) and aux.CheckUnionEquip(c,ec) and not c:IsCode(ec:GetCode())
end
function c40009074.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return eg:IsContains(chkc) and c40009074.tgfilter(chkc,e,tp,true) end
local g=eg:Filter(c40009074.tgfilter,nil,e,tp,false)
if chk==0 then return g:GetCount()>0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
if g:GetCount()==1 then
Duel.SetTargetCard(g:GetFirst())
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local tc=g:Select(tp,1,1,nil)
Duel.SetTargetCard(tc)
end
end
function c40009074.eqop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsControler(tp) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local sg=Duel.SelectMatchingCard(tp,c40009074.cfilter,tp,LOCATION_DECK,0,1,1,nil,tc)
local ec=sg:GetFirst()
if ec and aux.CheckUnionEquip(ec,tc) and Duel.Equip(tp,ec,tc) then
aux.SetUnionState(ec)
end
end
end
function c40009074.gfilter(c)
return c:IsFaceup() and c:IsSetCard(0xf24) and c:IsLevelAbove(6)
end
function c40009074.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c40009074.gfilter(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c40009074.gfilter,tp,LOCATION_MZONE,0,1,nil)
and e:GetHandler():IsSSetable() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c40009074.gfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
function c40009074.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFacedown() or not tc:IsRelateToEffect(e) or tc:IsImmuneToEffect(e) or tc:IsLevelBelow(5) then return end
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(-5)
tc:RegisterEffect(e1)
Duel.BreakEffect()
if c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1)
end
end
\ No newline at end of file
--激斗·刀刃之蓝
function c40009076.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_CONTINUOUS_TARGET)
e1:SetTarget(c40009076.target)
e1:SetOperation(c40009076.operation)
c:RegisterEffect(e1)
--Equip limit
local e2=Effect.CreateEffect(c)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_EQUIP_LIMIT)
e2:SetValue(c40009076.eqlimit)
c:RegisterEffect(e2)
--Atk up
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetValue(c40009076.atkval)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_UPDATE_DEFENSE)
e4:SetValue(c40009076.defval)
c:RegisterEffect(e4)
--material
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(40009076,2))
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetRange(LOCATION_GRAVE)
e4:SetCountLimit(1,40009076)
e4:SetTarget(c40009076.target1)
e4:SetOperation(c40009076.operation1)
c:RegisterEffect(e4)
--equip
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(40009076,0))
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e6:SetCode(EVENT_TO_GRAVE)
e6:SetProperty(EFFECT_FLAG_DELAY)
e6:SetCountLimit(1,40009083)
e6:SetCondition(c40009076.indcon)
e6:SetTarget(c40009076.thtg)
e6:SetOperation(c40009076.thop)
c:RegisterEffect(e6)
end
function c40009076.eqlimit(e,c)
return c:IsRace(RACE_MACHINE)
end
function c40009076.eqfilter(c)
return c:IsFaceup() and c:IsRace(RACE_MACHINE)
end
function c40009076.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c40009076.eqfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c40009076.eqfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c40009076.eqfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0)
end
function c40009076.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if e:GetHandler():IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then
Duel.Equip(tp,e:GetHandler(),tc)
end
end
function c40009076.atkval(e,c)
return c:GetLevel()*100
end
function c40009076.defval(e,c)
return c:GetLevel()*100
end
function c40009076.indcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP) and c:IsReason(REASON_DESTROY)
end
function c40009076.thfilter(c)
return c:IsSetCard(0xf24) and c:IsAbleToHand() and c:IsType(TYPE_SPELL+TYPE_TRAP) and not c:IsCode(40009076)
end
function c40009076.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40009076.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c40009076.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c40009076.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c40009076.gfilter(c)
return c:IsFaceup() and c:IsSetCard(0xf24) and c:IsLevelAbove(6)
end
function c40009076.target1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c40009076.gfilter(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c40009076.gfilter,tp,LOCATION_MZONE,0,1,nil)
and e:GetHandler():IsSSetable() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c40009076.gfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
function c40009076.operation1(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFacedown() or not tc:IsRelateToEffect(e) or tc:IsImmuneToEffect(e) or tc:IsLevelBelow(5) then return end
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(-5)
tc:RegisterEffect(e1)
Duel.BreakEffect()
if c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1)
end
end
\ No newline at end of file
--守护者·绳结之蓝
function c40009078.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING)
e1:SetCountLimit(1,40009078)
e1:SetCondition(c40009078.condition)
e1:SetTarget(c40009078.target1)
e1:SetOperation(c40009078.activate)
c:RegisterEffect(e1)
--material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40009078,2))
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,40009081)
e2:SetTarget(c40009078.target)
e2:SetOperation(c40009078.operation)
c:RegisterEffect(e2)
end
function c40009078.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0xf24) and c:IsLevelAbove(9)
end
function c40009078.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c40009078.cfilter,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsChainNegatable(ev) and (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE))
end
function c40009078.target1(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 c40009078.activate(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
function c40009078.gfilter(c)
return c:IsFaceup() and c:IsSetCard(0xf24) and c:IsLevelAbove(6)
end
function c40009078.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c40009078.gfilter(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c40009078.gfilter,tp,LOCATION_MZONE,0,1,nil)
and e:GetHandler():IsSSetable() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c40009078.gfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
function c40009078.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFacedown() or not tc:IsRelateToEffect(e) or tc:IsImmuneToEffect(e) or tc:IsLevelBelow(5) then return end
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(-5)
tc:RegisterEffect(e1)
Duel.BreakEffect()
if c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1)
end
end
\ No newline at end of file
--巴德·加农之蓝
function c40009079.initial_effect(c)
--synchro summon
aux.AddSynchroMixProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_MACHINE),nil,nil,aux.FilterBoolFunction(Card.IsSetCard,0xf24),1,99)
c:EnableReviveLimit()
--
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetOperation(c40009079.lvop)
c:RegisterEffect(e2)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009079,0))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,40009079)
e1:SetCondition(c40009079.spcon)
e1:SetTarget(c40009079.settg)
e1:SetOperation(c40009079.setop)
c:RegisterEffect(e1)
--Destroy
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(40009079,1))
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1,40009082)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCategory(CATEGORY_DESTROY+CATEGORY_LVCHANGE)
e3:SetCondition(c40009079.excon)
e3:SetTarget(c40009079.destg)
e3:SetOperation(c40009079.desop)
c:RegisterEffect(e3)
end
function c40009079.excon(e)
return e:GetHandler():IsLevelAbove(5)
end
function c40009079.desfilter(c)
return c:IsSetCard(0xf24) and c:IsFaceup()
end
function c40009079.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(c40009079.desfilter,tp,LOCATION_ONFIELD,0,1,nil)
and Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g1=Duel.SelectTarget(tp,c40009079.desfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g2=Duel.SelectTarget(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g1,2,0,0)
end
function c40009079.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tg=g:Filter(Card.IsRelateToEffect,nil,e)
if tg:GetCount()>0 then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_LEVEL)
e2:SetValue(-4)
e2:SetReset(RESET_EVENT+0x1ff0000)
c:RegisterEffect(e2)
Duel.Destroy(tg,REASON_EFFECT)
end
end
function c40009079.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler()
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and c~=e:GetHandler() and e:GetHandler():GetFlagEffect(1)>0 and e:GetHandler():IsFaceup() then
local e4=Effect.CreateEffect(e:GetHandler())
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_UPDATE_LEVEL)
e4:SetValue(2)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e:GetHandler():RegisterEffect(e4)
end
end
function c40009079.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end
function c40009079.filter(c)
return c:IsCode(40009078) and c:IsSSetable()
end
function c40009079.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40009079.filter,tp,LOCATION_DECK,0,1,nil) end
end
function c40009079.setop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c40009079.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SSet(tp,g:GetFirst())
end
end
--雷吉亚·长枪之蓝
function c40009080.initial_effect(c)
--synchro summon
aux.AddSynchroMixProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_MACHINE),nil,nil,aux.FilterBoolFunction(Card.IsSetCard,0xf24),1,99)
c:EnableReviveLimit()
--
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetOperation(c40009080.lvop)
c:RegisterEffect(e2)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009080,0))
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c40009080.spcon)
e1:SetTarget(c40009080.target)
e1:SetOperation(c40009080.operation)
c:RegisterEffect(e1)
--lv change
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(3,40009080)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c40009080.lvtg)
e1:SetOperation(c40009080.lvop1)
c:RegisterEffect(e1)
end
function c40009080.lvfilter(c)
return c:IsFaceup() and c:IsSetCard(0xf24) and not c:IsCode(40009080) and c:GetLevel()>0
end
function c40009080.lvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c40009080.lvfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c40009080.lvfilter,tp,LOCATION_MZONE,0,1,nil) and e:GetHandler():IsLevelAbove(2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local ct=e:GetHandler():GetLevel()
local g=Duel.SelectTarget(tp,c40009080.lvfilter,tp,LOCATION_MZONE,0,1,1,nil)
local lv=g:GetFirst():GetLevel()
Duel.Hint(HINT_SELECTMSG,tp,HINGMSG_LVRANK)
e:SetLabel(Duel.AnnounceLevel(tp,1,ct-1,lv))
end
function c40009080.lvop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_LEVEL)
e2:SetValue(-ct)
e2:SetReset(RESET_EVENT+0x1ff0000)
c:RegisterEffect(e2)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_LEVEL)
e1:SetValue(e:GetLabel())
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
end
end
function c40009080.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler()
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and c~=e:GetHandler() and e:GetHandler():GetFlagEffect(1)>0 and e:GetHandler():IsFaceup() then
local e4=Effect.CreateEffect(e:GetHandler())
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_UPDATE_LEVEL)
e4:SetValue(2)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e:GetHandler():RegisterEffect(e4)
end
end
function c40009080.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end
function c40009080.filter(c,ec)
return c:IsCode(40009076) and c:IsType(TYPE_EQUIP) and c:CheckEquipTarget(ec)
end
function c40009080.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingMatchingCard(c40009080.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_EQUIP,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c40009080.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
local c=e:GetHandler()
if c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,c40009080.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
local tc=g:GetFirst()
if tc then
Duel.Equip(tp,tc,c)
end
end
...@@ -105,12 +105,6 @@ function c60152009.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -105,12 +105,6 @@ function c60152009.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1fe0000)
token:RegisterEffect(e1,true) token:RegisterEffect(e1,true)
local e4=Effect.CreateEffect(e:GetHandler())
e4:SetDescription(aux.Stringid(60152009,2))
e4:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_PIERCE)
token:RegisterEffect(e4,true)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
......
...@@ -58,10 +58,10 @@ end ...@@ -58,10 +58,10 @@ end
function c60152010.spop2(e,tp,eg,ep,ev,re,r,rp,c) function c60152010.spop2(e,tp,eg,ep,ev,re,r,rp,c)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>-2 then if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>-2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g1=Duel.SelectMatchingCard(tp,c60152009.spfilter2,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler()) local g1=Duel.SelectMatchingCard(tp,c60152010.spfilter2,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler())
g1:AddCard(e:GetHandler()) g1:AddCard(e:GetHandler())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g2=Duel.SelectMatchingCard(tp,c60152009.spfilter2,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,g1) local g2=Duel.SelectMatchingCard(tp,c60152010.spfilter2,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,g1)
g1:RemoveCard(e:GetHandler()) g1:RemoveCard(e:GetHandler())
local g=Group.CreateGroup() local g=Group.CreateGroup()
g:Merge(g1) g:Merge(g1)
...@@ -90,19 +90,28 @@ function c60152010.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -90,19 +90,28 @@ function c60152010.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60152010.filter,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c60152010.filter,tp,LOCATION_MZONE,0,1,nil) end
end end
function c60152010.activate(e,tp,eg,ep,ev,re,r,rp) function c60152010.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c60152010.filter,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(c60152010.filter,tp,LOCATION_MZONE,0,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
local sc=g:GetFirst() local sc=g:GetFirst()
while sc do while sc do
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
e1:SetValue(sc:GetAttack()) e1:SetValue(sc:GetAttack()*2)
sc:RegisterEffect(e1) sc:RegisterEffect(e1,true)
sc=g:GetNext() sc=g:GetNext()
end end
end end
local e0=Effect.CreateEffect(e:GetHandler())
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e0:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e0:SetTargetRange(0,1)
e0:SetValue(HALF_DAMAGE)
e0:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e0,tp)
end end
function c60152010.spfilter(c,e,tp) function c60152010.spfilter(c,e,tp)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x6b25) and not c:IsCode(60152010) return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x6b25) and not c:IsCode(60152010)
......
...@@ -11,7 +11,7 @@ function c60152016.initial_effect(c) ...@@ -11,7 +11,7 @@ function c60152016.initial_effect(c)
e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_RELEASE) e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_RELEASE)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1,60152016)
e2:SetCondition(c60152016.con) e2:SetCondition(c60152016.con)
e2:SetTarget(c60152016.target) e2:SetTarget(c60152016.target)
e2:SetOperation(c60152016.activate) e2:SetOperation(c60152016.activate)
...@@ -23,7 +23,7 @@ function c60152016.initial_effect(c) ...@@ -23,7 +23,7 @@ function c60152016.initial_effect(c)
e3:SetType(EFFECT_TYPE_QUICK_O) e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_FZONE) e3:SetRange(LOCATION_FZONE)
e3:SetCode(EVENT_FREE_CHAIN) e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1) e3:SetCountLimit(1,6012016)
e3:SetCondition(c60152016.condition) e3:SetCondition(c60152016.condition)
e3:SetTarget(c60152016.target2) e3:SetTarget(c60152016.target2)
e3:SetOperation(c60152016.activate2) e3:SetOperation(c60152016.activate2)
...@@ -33,22 +33,22 @@ function c60152016.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -33,22 +33,22 @@ function c60152016.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_EXTRA,0)==0 return Duel.GetFieldGroupCount(tp,LOCATION_EXTRA,0)==0
end end
function c60152016.spfilter2(c) function c60152016.spfilter2(c)
return c:IsReleasable() return c:IsReleasableByEffect() and c:IsType(TYPE_MONSTER)
end end
function c60152016.filter(c) function c60152016.filter(c)
return c:IsSetCard(0x6b25) and c:IsType(TYPE_MONSTER) return c:IsSetCard(0x6b25) and c:IsType(TYPE_MONSTER)
end end
function c60152016.target(e,tp,eg,ep,ev,re,r,rp,chk) function c60152016.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,e:GetHandler()) if chk==0 then return Duel.IsExistingMatchingCard(c60152016.spfilter2,tp,LOCATION_HAND+LOCATION_MZONE,0,1,e:GetHandler())
and Duel.IsExistingMatchingCard(c60152016.filter,tp,LOCATION_DECK,0,1,nil) end and Duel.IsExistingMatchingCard(c60152016.filter,tp,LOCATION_DECK,0,1,nil) end
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_HAND+LOCATION_ONFIELD,0,e:GetHandler()) local g=Duel.GetMatchingGroup(c60152016.spfilter2,tp,LOCATION_HAND+LOCATION_MZONE,0,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_RELEASE,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_RELEASE,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c60152016.activate(e,tp,eg,ep,ev,re,r,rp) function c60152016.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,e:GetHandler()) local g=Duel.SelectMatchingCard(tp,c60152016.spfilter2,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,e:GetHandler())
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.HintSelection(g) Duel.HintSelection(g)
if Duel.SendtoGrave(g,REASON_EFFECT+REASON_RELEASE)~=0 then if Duel.SendtoGrave(g,REASON_EFFECT+REASON_RELEASE)~=0 then
...@@ -78,7 +78,7 @@ function c60152016.condition(e,tp,eg,ep,ev,re,r,rp) ...@@ -78,7 +78,7 @@ function c60152016.condition(e,tp,eg,ep,ev,re,r,rp)
and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2) and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2)
end end
function c60152016.filter2(c) function c60152016.filter2(c)
return c:IsSetCard(0x6b25) and c:IsType(TYPE_MONSTER) and c:IsReleasable() return c:IsSetCard(0x6b25) and c:IsType(TYPE_MONSTER) and c:IsReleasableByEffect()
end end
function c60152016.target2(e,tp,eg,ep,ev,re,r,rp,chk) function c60152016.target2(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(c60152016.filter2,tp,LOCATION_ONFIELD,0,e:GetHandler()) local g=Duel.GetMatchingGroup(c60152016.filter2,tp,LOCATION_ONFIELD,0,e:GetHandler())
......
--虚拟水神之月
if not pcall(function() require("expansions/script/c65099990") end) then require("script/c65099990") end
local m,cm=rscf.DefineCard(65020201,"VrAqua")
if rsvraq then return end
rsva=cm
rscf.DefineSet(rsva,"VrAqua")
function rsva.filter_l(c)
return c:IsLevel(10)
end
function rsva.filter_ar(c)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_CYBERSE)
end
function rsva.filter_al(c)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsLevel(10)
end
function rsva.filter_rl(c)
return c:IsRace(RACE_CYBERSE) and c:IsLevel(10)
end
function rsva.filter_rl2(c)
return c:IsRace(RACE_CYBERSE) and c:IsLevel(4)
end
function rsva.filter_a(c)
return c:IsAttribute(ATTRIBUTE_WATER)
end
function rsva.Summon(tp,checkhint,isbreak,filter)
rsop.SelectOC(checkhint and {m,2} or nil,isbreak)
return rsop.SelectSolve(HINTMSG_SUMMON,tp,cm.sumfilter(filter),tp,LOCATION_HAND,0,1,1,nil,cm.sumfun,tp)
end
function cm.sumfilter(filter)
return function(c,tp)
return (not filter or filter(c,tp)) and c:IsSummonable(true,nil)
end
end
function cm.sumfun(g,tp)
local tc=g:GetFirst()
Duel.Summon(tp,tc,true,nil)
return true
end
function rsva.MonsterEffect(c,code,op)
local e1=rsef.STO(c,EVENT_SUMMON_SUCCESS,{m,3},{1,code},"se,th","de,dsp",nil,nil,rsop.target(cm.sfthfilter,"th",LOCATION_DECK),cm.sfthop)
local e2=rsef.RegisterClone(c,e1,"code",EVENT_FLIP)
local e3=rsef.QO(c,nil,{m,4},{1,code},"sum",nil,LOCATION_MZONE,nil,rscost.cost(Card.IsAbleToHandAsCost,"th"),rsop.target(cm.mesumfilter,"sum",LOCATION_HAND),cm.mesumop(op))
return e1,e2,e3
end
function cm.sfthfilter(c)
return c:IsAbleToHand() and (rsva.IsSetST(c) or rsva.filter_al(c))
end
function cm.sfthop(e,tp)
rsop.SelectToHand(tp,cm.sfthfilter,tp,LOCATION_DECK,0,1,1,nil,{})
end
function cm.mesumfilter(c)
return c:IsRace(RACE_CYBERSE) and c:IsSummonable(true,nil)
end
function cm.mesumop(op)
return function(e,tp,...)
if op then op(e,tp,...) end
rsva.Summon(tp,false,false,cm.mesumfilter)
end
end
-----------------------------
function cm.initial_effect(c)
local e1=rsef.ACT(c,nil,nil,{1,m},"se,th",nil,nil,nil,rsop.target(cm.thfilter,"th",LOCATION_DECK),cm.act)
local e2=rsef.I(c,{m,0},{1,m+100},"td,dr","tg",LOCATION_GRAVE,nil,aux.bfgcost,rstg.target({cm.tdfilter,"td",LOCATION_GRAVE,0,1,3,c},rsop.list(1,"dr",1)),cm.tdop)
end
function cm.thfilter(c)
return ((c:IsLevelBelow(4) and rsva.filter_ar(c)) or (c:IsType(TYPE_TRAP) and rsva.IsSet(c))) and c:IsAbleToHand()
end
function cm.act(e,tp)
rsop.SelectToHand(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil,{})
end
function cm.tdfilter(c)
return rsva.IsSet(c) and c:IsAbleToDeck()
end
function cm.tdop(e,tp)
local tg=rsgf.GetTargetGroup()
if #tg>0 and Duel.SendtoDeck(tg,nil,2,REASON_EFFECT)>0 then
local og=Duel.GetOperatedGroup()
if not og:IsExists(Card.IsLocation,1,nil,rsloc.de) then return end
if og:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then
Duel.ShuffleDeck(tp)
end
Duel.Draw(tp,1,REASON_EFFECT)
end
end
\ No newline at end of file
--虚拟水神都市 狄拉克之渊
if not pcall(function() require("expansions/script/c65020201") end) then require("script/c65020201") end
local m,cm=rscf.DefineCard(65020202,"VrAqua")
function cm.initial_effect(c)
local e1=rsef.ACT(c)
local e2=rsef.FTO(c,EVENT_SUMMON_SUCCESS,{m,0},{1,m},nil,"de",LOCATION_FZONE,cm.setcon,nil,rsop.target(cm.setfilter,nil,rsloc.dg),cm.setop)
local e3=rsef.FTO(c,EVENT_CHAIN_SOLVING,{m,1},{1,m},"se,th,sum","de",LOCATION_FZONE,cm.thcon,nil,rsop.target(cm.thfilter,"th",LOCATION_DECK),cm.thop)
end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and rsva.IsSetST(rc) and (not rc:IsRelateToEffect(re) or rc~=c)
end
function cm.cfilter(c,tp)
return c:IsFaceup() and c:IsControler(tp) and (rsva.filter_rl2(c) or rsva.filter_al(c))
end
function cm.setcon(e,tp,eg)
return eg:IsExists(cm.cfilter,1,nil,tp)
end
function cm.setfilter(c)
return rsva.IsSetST(c) and c:IsSSetable()
end
function cm.setop(e,tp)
local c=aux.ExceptThisCard(e)
if not c then return end
local ct,og,tc=rsop.SelectSSet(tp,aux.NecroValleyFilter(cm.setfilter),tp,rsloc.dg,0,1,1,nil,{})
if tc and Duel.GetTurnPlayer()~=tp then
if tc:IsType(TYPE_QUICKPLAY) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetCode(EFFECT_QP_ACT_IN_SET_TURN)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
if tc:IsType(TYPE_TRAP) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
end
end
function cm.thfilter(c)
return c:IsLevel(10) and c:IsAbleToHand()
end
function cm.thop(e,tp)
if not aux.ExceptThisCard(e) then return end
if rsop.SelectToHand(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil,{})>0 then
return rsva.Summon(tp,true,true,rsva.filter_ar)
end
end
\ No newline at end of file
--虚拟水神要塞 特洛伊之墙
if not pcall(function() require("expansions/script/c65020201") end) then require("script/c65020201") end
local m,cm=rscf.DefineCard(65020203,"VrAqua")
function cm.initial_effect(c)
local e1=rsef.ACT(c,nil,nil,{1,m,1})
e1:SetTarget(cm.tg)
e1:SetOperation(cm.act)
end
function cm.thfilter1(c)
return c:IsAbleToHand() and rsva.IsSetM(c)
end
function cm.thfilter2(c)
return c:IsAbleToHand() and rsva.IsSet(c) and not c:IsCode(m)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(cm.thfilter1,tp,rsloc.dg,0,1,nil)
local b2=Duel.IsExistingMatchingCard(cm.thfilter2,tp,LOCATION_GRAVE,0,1,nil)
local b3=true
if chk==0 then return b1 or b2 or b3 end
local op=rsop.SelectOption(tp,b1,{m,0},b2,{m,1},b3,{m,2})
if op==1 then
e:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_GRAVE_ACTION+CATEGORY_SUMMON)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,rsloc.dg)
elseif op==2 then
e:SetCategory(CATEGORY_TOHAND+CATEGORY_GRAVE_ACTION+CATEGORY_SUMMON)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
else
e:SetCategory(0)
end
e:SetLabel(op)
end
function cm.act(e,tp)
local c=e:GetHandler()
local op=e:GetLabel()
if op==1 then
if rsop.SelectToHand(tp,aux.NecroValleyFilter(cm.thfilter1),tp,rsloc.dg,0,1,1,nil,{})>0 then
rsva.Summon(tp,true,true,rsva.filter_a)
end
elseif op==2 then
if rsop.SelectToHand(tp,aux.NecroValleyFilter(cm.thfilter1),tp,LOCATION_GRAVE,0,1,1,nil,{})>0 then
rsva.Summon(tp,true,true,rsva.filter_al)
end
else
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_DISEFFECT)
e1:SetValue(cm.effectfilter)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=rsef.RegisterClone({c,tp},e1,"code",EFFECT_CANNOT_INACTIVATE)
end
if c:IsRelateToEffect(e) and c:IsCanTurnSet() then
Duel.BreakEffect()
c:CancelToGrave()
Duel.ChangePosition(c,POS_FACEDOWN)
Duel.RaiseEvent(c,EVENT_SSET,e,REASON_EFFECT,tp,tp,0)
end
end
function cm.effectfilter(e,ct)
local te=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT)
local rc=te:GetHandler()
return rsva.IsSet(rc) and rc:IsControler(e:GetHandlerPlayer())
end
\ No newline at end of file
--虚拟水神的乱流
if not pcall(function() require("expansions/script/c65020201") end) then require("script/c65020201") end
local m,cm=rscf.DefineCard(65020204,"VrAqua")
function cm.initial_effect(c)
local e1=rsef.ACT(c,nil,nil,{1,m,1},"rm",nil,rscon.excard2(rsva.filter_a,LOCATION_MZONE),nil,cm.tg,cm.act)
end
function cm.rmfilter1(c)
return c:IsFaceup() and c:IsType(TYPE_SPELL) and c:IsAbleToRemove()
end
function cm.rmfilter2(c)
return c:IsFaceup() and c:IsType(TYPE_TRAP) and c:IsAbleToRemove()
end
function cm.rmfilter3(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove()
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(cm.rmfilter1,tp,0,rsloc.og,1,nil)
local b2=Duel.IsExistingMatchingCard(cm.rmfilter2,tp,0,rsloc.og,1,nil)
local b3=Duel.IsExistingMatchingCard(cm.rmfilter3,tp,0,rsloc.og,1,nil)
if chk==0 then return b1 or b2 or b3 end
local op=rsop.SelectOption(tp,b1,{m,0},b2,{m,1},b3,{m,2})
e:SetLabel(op)
end
function cm.cfilter(c)
return c:IsFaceup() and c:IsSummonType(SUMMON_TYPE_NORMAL) and rsva.filter_rl(c)
end
function cm.act(e,tp)
local c=e:GetHandler()
local op=e:GetLabel()
if op==1 then
if rsop.SelectRemove(tp,aux.NecroValleyFilter(cm.rmfilter1),tp,0,rsloc.og,1,1,nil,{})>0 and Duel.GetOperatedGroup():GetFirst():IsLocation(LOCATION_REMOVED) and Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_MZONE,0,1,nil) then
local e1=rsef.FV_LIMIT({c,tp},"dis",nil,aux.FilterBoolFunction(Card.IsType,TYPE_SPELL),{ 0,LOCATION_ONFIELD },nil,rsreset.pend)
end
elseif op==2 then
if rsop.SelectRemove(tp,aux.NecroValleyFilter(cm.rmfilter2),tp,0,rsloc.og,1,1,nil,{})>0 and Duel.GetOperatedGroup():GetFirst():IsLocation(LOCATION_REMOVED) and Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_MZONE,0,1,nil) then
local e1=rsef.FV_LIMIT({c,tp},"dis",nil,aux.FilterBoolFunction(Card.IsType,TYPE_SPELL),{ 0,LOCATION_ONFIELD },nil,rsreset.pend)
end
else
local ct,og,tc=rsop.SelectRemove(tp,aux.NecroValleyFilter(cm.rmfilter3),tp,0,rsloc.og,1,1,nil,{})
if tc and tc:IsType(TYPE_MONSTER) and tc:IsLocation(LOCATION_REMOVED) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetTarget(cm.distg)
e1:SetLabelObject(tc)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetCondition(cm.discon)
e2:SetOperation(cm.disop)
e2:SetLabelObject(tc)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
end
end
function cm.distg(e,c)
local tc=e:GetLabelObject()
return c:IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function cm.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 cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
\ No newline at end of file
--虚拟水神一闪
if not pcall(function() require("expansions/script/c65020201") end) then require("script/c65020201") end
local m,cm=rscf.DefineCard(65020205,"VrAqua")
function cm.initial_effect(c)
local e1=rsef.ACT(c,EVENT_CHAINING,nil,{1,m,1},"neg,des",nil,cm.con,nil,cm.tg,cm.act)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
if not rscon.excard2(rsva.filter_ar,LOCATION_MZONE)(e,tp) then return false end
if not Duel.IsChainNegatable(ev) then return false end
return re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end
if rscon.excard2(rsva.filter_l,LOCATION_MZONE)(e,tp) and e:IsHasType(EFFECT_TYPE_ACTIVATE) then
e:SetLabel(100)
else
e:SetLabel(0)
end
end
function cm.act(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if Duel.NegateActivation(ev) and rc:IsRelateToEffect(re) and Duel.Destroy(eg,REASON_EFFECT)>0 and e:GetLabel()==100 then
local e1=rsef.FV_LIMIT_PLAYER({e:GetHandler(),tp},"act",cm.val(rc),nil,{0,1},nil,{rsreset.pend+RESET_OPPO_TURN,2})
end
end
function cm.val(rc)
return function(e,re)
return re:GetHandler():IsCode(rc:GetCode())
end
end
\ No newline at end of file
--虚拟水神士兵
if not pcall(function() require("expansions/script/c65020201") end) then require("script/c65020201") end
local m,cm=rscf.DefineCard(65020206,"VrAqua")
function cm.initial_effect(c)
local e1,e2,e3=rsva.MonsterEffect(c,m,cm.op)
end
function cm.op(e,tp)
local c=e:GetHandler()
local e1,e2=rsef.FV_UPDATE({c,tp},"atk,def",cm.atkval,cm.atktg,{LOCATION_MZONE,0},cm.atkcon,rsreset.pend)
end
function cm.atkval(e,c)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),0,LOCATION_MZONE)*800
end
function cm.atktg(e,c)
return c:IsLevel(10) and (Duel.GetAttacker()==c or (Duel.GetAttackTarget() and Duel.GetAttackTarget()==c))
end
function cm.atkcon(e)
return Duel.GetCurrentPhase()==PHASE_DAMAGE_CAL
end
\ No newline at end of file
--虚拟水神忍者
if not pcall(function() require("expansions/script/c65020201") end) then require("script/c65020201") end
local m,cm=rscf.DefineCard(65020207,"VrAqua")
function cm.initial_effect(c)
local e1,e2,e3=rsva.MonsterEffect(c,m,cm.op)
end
function cm.op(e,tp)
local c=e:GetHandler()
local e1=rsef.FC({c,tp},EVENT_CHAIN_SOLVED,nil,nil,nil,nil,cm.descon,cm.desop,rsreset.pend)
end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
local loc=Duel.GetChainInfo(0,CHAININFO_TRIGGERING_LOCATION)
return rscon.excard2(rsva.filter_l,LOCATION_MZONE)(e,tp) and loc & LOCATION_MZONE ~=0
end
function cm.desop(e,tp)
if Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and rsop.SelectYesNo(tp,{m,0}) then
Duel.Hint(HINT_CARD,0,m)
rsop.SelectDestroy(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil,{})
end
end
\ No newline at end of file
--虚拟水神天使
if not pcall(function() require("expansions/script/c65020201") end) then require("script/c65020201") end
local m,cm=rscf.DefineCard(65020208,"VrAqua")
function cm.initial_effect(c)
local e1=rsef.QO(c,nil,{m,0},{1,m},"sp",nil,LOCATION_HAND,cm.spcon,nil,rsop.target(rscf.spfilter2(),"sp"),cm.spop)
local e2=rsef.QO(c,nil,{m,1},{1,m+100},"sum",nil,LOCATION_MZONE,rscon.phmp,rscost.cost(Card.IsAbleToHandAsCost,"th"),rsop.target(rsva.mesumfilter,"sum",LOCATION_HAND),cm.sumop)
end
function cm.cfilter1(c)
return c:IsFaceup() and c:IsRace(RACE_CYBERSE)
end
function cm.spcon(e,tp)
local b1=Duel.IsExistingMatchingCard(cm.cfilter1,tp,LOCATION_MZONE,0,1,nil) and not Duel.IsExistingMatchingCard(cm.cfilter1,tp,0,LOCATION_MZONE,1,nil)
local b2=not Duel.IsExistingMatchingCard(Card.IsSummonType,tp,LOCATION_MZONE,0,1,nil,SUMMON_TYPE_SPECIAL) and Duel.IsExistingMatchingCard(Card.IsSummonType,tp,0,LOCATION_MZONE,1,nil,SUMMON_TYPE_SPECIAL)
return b1 or b2
end
function cm.spop(e,tp)
local c=aux.ExceptThisCard(e)
if c then rssf.SpecialSummon(c) end
end
function cm.sumop(e,tp)
local e1=rsef.FV_LIMIT_PLAYER({e:GetHandler(),tp},"act",cm.val,nil,{0,1},nil,rsreset.pend)
rsva.Summon(tp,false,false,rsva.mesumfilter)
end
function cm.cfilter(c)
return c:IsFaceup() and c:IsSummonType(SUMMON_TYPE_NORMAL) and c:IsLevel(10)
end
function cm.val(e,re)
local rc=re:GetHandler()
local g=Duel.GetMatchingGroup(cm.cfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,nil)
local ag,atk=g:GetMaxGroup(Card.GetAttack)
return rc:IsType(TYPE_MONSTER) and #g>0 and rc:IsAttackBelow(atk)
end
\ No newline at end of file
--虚拟水神泳者
if not pcall(function() require("expansions/script/c65020201") end) then require("script/c65020201") end
local m,cm=rscf.DefineCard(65020209,"VrAqua")
function cm.initial_effect(c)
local e1,e2,e3=rsva.MonsterEffect(c,m,cm.op)
end
function cm.op(e,tp)
local c=e:GetHandler()
local e1=rsef.FV_CANNOT_BE_TARGET({c,tp},"effect",aux.tgoval,cm.tg,{LOCATION_MZONE,0},nil,rsreset.pend)
local e2=rsef.FV_INDESTRUCTABLE({c,tp},"effect",1,cm.tg,{LOCATION_MZONE,0},nil,rsreset.pend)
end
function cm.tg(e,c)
return c:IsSummonType(SUMMON_TYPE_NORMAL) and c:IsLevel(10)
end
\ No newline at end of file
--虚拟水神旅者
if not pcall(function() require("expansions/script/c65020201") end) then require("script/c65020201") end
local m,cm=rscf.DefineCard(65020210,"VrAqua")
function cm.initial_effect(c)
local e1,e2,e3=rsva.MonsterEffect(c,m,cm.op)
end
function cm.op(e,tp)
local c=e:GetHandler()
local e1=rsef.FC({c,tp},EVENT_CHAIN_SOLVING,nil,nil,nil,nil,cm.negcon,cm.negop,rsreset.pend)
end
function cm.cfilter(c)
return c:IsFaceup() and c:IsLevel(10)
end
function cm.negcon(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetMatchingGroupCount(cm.cfilter,tp,LOCATION_MZONE,0,nil)
return rp~=tp and Duel.IsChainDisablable(ev) and (re:IsHasType(EFFECT_TYPE_ACTIVATE) or re:IsActiveType(TYPE_MONSTER)) and Duel.CheckLPCost(tp,800) and ct>Duel.GetFlagEffect(tp,m)
end
function cm.negop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if rsop.SelectYesNo(tp,{m,0}) then
Duel.PayLPCost(tp,800)
Duel.Hint(HINT_CARD,0,m)
Duel.RegisterFlagEffect(tp,m,rsreset.pend,0,1)
Duel.NegateEffect(ev)
end
end
\ No newline at end of file
--虚拟水神剑士
if not pcall(function() require("expansions/script/c65020201") end) then require("script/c65020201") end
local m,cm=rscf.DefineCard(65020211,"VrAqua")
function cm.initial_effect(c)
--summon with no tribute
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SUMMON_PROC)
e1:SetValue(1)
c:RegisterEffect(e1)
end
...@@ -4,7 +4,7 @@ local cm=_G["c"..m] ...@@ -4,7 +4,7 @@ local cm=_G["c"..m]
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end) xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function cm.initial_effect(c) function cm.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2) aux.AddLinkProcedure(c,cm.matfilter,2)
Senya.AddSummonMusic(c,m*16,SUMMON_TYPE_LINK) Senya.AddSummonMusic(c,m*16,SUMMON_TYPE_LINK)
c:EnableReviveLimit() c:EnableReviveLimit()
--f --f
...@@ -65,7 +65,7 @@ function cm.initial_effect(c) ...@@ -65,7 +65,7 @@ function cm.initial_effect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m-70000) e2:SetCountLimit(1,m)
e2:SetCondition(cm.MaterialCheck(TYPE_SYNCHRO)) e2:SetCondition(cm.MaterialCheck(TYPE_SYNCHRO))
e2:SetCost(Senya.DescriptionCost()) e2:SetCost(Senya.DescriptionCost())
e2:SetTarget(synchro_tg) e2:SetTarget(synchro_tg)
...@@ -75,10 +75,20 @@ function cm.initial_effect(c) ...@@ -75,10 +75,20 @@ function cm.initial_effect(c)
local sg=Duel.GetMatchingGroup(s_fus_filter,tp,LOCATION_EXTRA,0,nil,e,tp) local sg=Duel.GetMatchingGroup(s_fus_filter,tp,LOCATION_EXTRA,0,nil,e,tp)
local g=Senya.SelectGroup(tp,CATEGORY_TODECK,mg,s_group_check,nil,2,2,sg) local g=Senya.SelectGroup(tp,CATEGORY_TODECK,mg,s_group_check,nil,2,2,sg)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local spg=sg:FilterSelect(tp,Card.IsLevel,1,1,nil,g:GetSum(Card.GetLevel)) local sc=sg:FilterSelect(tp,Card.IsLevel,1,1,nil,g:GetSum(Card.GetLevel))
Duel.SendtoDeck(g,nil,2,REASON_EFFECT) Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(spg,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(sc,0,tp,tp,false,false,POS_FACEUP)
sc:RegisterFlagEffect(m,RESET_EVENT+0x1fe0000,0,1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetCountLimit(1)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetLabelObject(sc)
e2:SetCondition(cm.descon)
e2:SetOperation(cm.desop)
Duel.RegisterEffect(e2,tp,true)
end) end)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--x --x
...@@ -90,7 +100,7 @@ function cm.initial_effect(c) ...@@ -90,7 +100,7 @@ function cm.initial_effect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m-60000) e2:SetCountLimit(1,m)
e2:SetProperty(0x14000) e2:SetProperty(0x14000)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCondition(cm.MaterialCheck(TYPE_FUSION,function(e,tp,eg,ep,ev,re,r,rp) e2:SetCondition(cm.MaterialCheck(TYPE_FUSION,function(e,tp,eg,ep,ev,re,r,rp)
...@@ -185,7 +195,7 @@ function cm.initial_effect(c) ...@@ -185,7 +195,7 @@ function cm.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCategory(CATEGORY_DISABLE) e2:SetCategory(CATEGORY_DISABLE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m-5000) e2:SetCountLimit(1,m)
e2:SetCondition(cm.MaterialCheck(TYPE_XYZ)) e2:SetCondition(cm.MaterialCheck(TYPE_XYZ))
e2:SetCost(Senya.DescriptionCost()) e2:SetCost(Senya.DescriptionCost())
e2:SetTarget(function(e,tp,eg,ep,ev,re,r,rp,chk) e2:SetTarget(function(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -250,3 +260,19 @@ function cm.MaterialCheck(t,ex) ...@@ -250,3 +260,19 @@ function cm.MaterialCheck(t,ex)
end,1,nil) and (not ex or ex(e,...)) end,1,nil) and (not ex or ex(e,...))
end end
end end
function cm.matfilter(c)
return c:GetSummonLocation()==LOCATION_EXTRA
end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
local sc=e:GetLabelObject()
if sc:GetFlagEffect(m)~=0 then
return true
else
e:Reset()
return false
end
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local sc=e:GetLabelObject()
Duel.SendtoGrave(sc,REASON_EFFECT)
end
...@@ -3,7 +3,7 @@ if not pcall(function() require("expansions/script/c10199990") end) then require ...@@ -3,7 +3,7 @@ if not pcall(function() require("expansions/script/c10199990") end) then require
local m=88946425 local m=88946425
local cm=_G["c"..m] local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
local e1=rsef.ACT(c,nil,nil,{1,m,1},"dis,sp","tg",cm.discon,nil,rstg.target(cm.disfilter,"dis",LOCATION_ONFIELD+LOCATION_GRAVE,LOCATION_ONFIELD+LOCATION_GRAVE),cm.disop) local e1=rsef.ACT(c,nil,nil,{1,m,1},"dis,sp","tg",cm.discon,nil,rstg.target(cm.disfilter,"dis",LOCATION_ONFIELD,LOCATION_ONFIELD),cm.disop)
--act in hand --act in hand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
#is_named_with_TheLostSpirit 失落英魂 #is_named_with_TheLostSpirit 失落英魂
#is_named_with_WindWheel 风轮 #is_named_with_WindWheel 风轮
#葱喵 ? 9 0xbb0-0xbbf #葱喵 - 9 0xbb0-0xbbf
!setname 0xbb1 葱喵 !setname 0xbb1 葱喵
!setname 0x1bb1 投影魔术 !setname 0x1bb1 投影魔术
!setname 0x2bb1 葱喵亲卫队 !setname 0x2bb1 葱喵亲卫队
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
!setname 0xa2f 猫耳天堂 !setname 0xa2f 猫耳天堂
!counter 0xa2f 猫耳指示物 !counter 0xa2f 猫耳指示物
#血迷 ??? 58 0x???-0x??? #血迷 - 58
#豚马 1033851949 82 0x210-0x21f #豚马 1033851949 82 0x210-0x21f
!setname 0x1212 架空 !setname 0x1212 架空
...@@ -128,7 +128,7 @@ ...@@ -128,7 +128,7 @@
#AddCodeList(11200029) 泄矢诹访子记述 #AddCodeList(11200029) 泄矢诹访子记述
!counter 0x1620 作祟指示物 !counter 0x1620 作祟指示物
#PurpleNightfall ??? 114 0x970-0x97f #PurpleNightfall - 114 0x970-0x97f
!setname 0x6978 龙宫城 !setname 0x6978 龙宫城
#REDAuto 229027526 117 0x280-0x28f #REDAuto 229027526 117 0x280-0x28f
...@@ -180,6 +180,9 @@ ...@@ -180,6 +180,9 @@
!setname 0x4fbd 牙月 !setname 0x4fbd 牙月
!setname 0x8fbd 失落王国 !setname 0x8fbd 失落王国
!setname 0x3fbe 原数黑姬 !setname 0x3fbe 原数黑姬
!setname 0xafab 三叶天使
!setname 0xcfab 十二使徒
!setname 0xfb5 异界支配者
#setcode="BlueAngel" 空乃泊 #setcode="BlueAngel" 空乃泊
#setcode="yatori" yatori #setcode="yatori" yatori
#named_with_Mei 涅依 #named_with_Mei 涅依
...@@ -233,6 +236,9 @@ ...@@ -233,6 +236,9 @@
!setname 0x480e 阿拉德 !setname 0x480e 阿拉德
!counter 0x48f 能量指示物 !counter 0x48f 能量指示物
#林茂爽 - 150
#AddCodeList(15002000) 神名浅海卡名记述
#嫦娥 1242097645 154 0xb60-0xb6f #嫦娥 1242097645 154 0xb60-0xb6f
!setname 0xb60 十六夜咲夜 !setname 0xb60 十六夜咲夜
!setname 0xb61 红魔馆 !setname 0xb61 红魔馆
...@@ -246,11 +252,11 @@ ...@@ -246,11 +252,11 @@
!setname 0xb69 禁弹 !setname 0xb69 禁弹
!counter 0xb6f 红雾指示物 !counter 0xb6f 红雾指示物
#云泽凖 ??? 158 ??? #云泽凖 - 158
#setname="Persona" 人格面具 #setname="Persona" 人格面具
#setname="PhantomThievesOfHearts" 心之怪盗团 #setname="PhantomThievesOfHearts" 心之怪盗团
#咸鱼 ??? 160 0x5c0-0x5cf #咸鱼 - 160 0x5c0-0x5cf
!setname 0x5c1 Ⅷ集团军 !setname 0x5c1 Ⅷ集团军
!setname 0x5c5 传颂 !setname 0x5c5 传颂
!setname 0x5ca 新津 !setname 0x5ca 新津
...@@ -307,7 +313,7 @@ ...@@ -307,7 +313,7 @@
#is_named_with_Symphony 交响型 #is_named_with_Symphony 交响型
#AddCodeList(17045001) 古兰卡名记述 #AddCodeList(17045001) 古兰卡名记述
#圣灵兽骑 ?????????? 180 #圣灵兽骑 - 180
#setname="advency" 冒险遗产 #setname="advency" 冒险遗产
#setname="GhostStone" 鬼石 #setname="GhostStone" 鬼石
#setname="HarmonicRhythm" 谐律 #setname="HarmonicRhythm" 谐律
...@@ -346,7 +352,7 @@ ...@@ -346,7 +352,7 @@
#烩焗 2510495719 220 0x9f0-0x9ff #烩焗 2510495719 220 0x9f0-0x9ff
!setname 0x9ff 从者 !setname 0x9ff 从者
#兔锅 1874883039 222 0x???-0x??? #兔锅 1874883039 222
#named_with_Valhalla 瓦尔哈拉 #named_with_Valhalla 瓦尔哈拉
#named_with_Spar 晶石 #named_with_Spar 晶石
#named_with_Zero 泽洛 #named_with_Zero 泽洛
...@@ -361,7 +367,7 @@ ...@@ -361,7 +367,7 @@
#AddCodeList(24300021) 迦拉克隆记述 #AddCodeList(24300021) 迦拉克隆记述
#AddCodeList(24300088) 礼品炸弹记述 #AddCodeList(24300088) 礼品炸弹记述
#饭饭 ?????????? 245 0x390-0x39f #饭饭 - 245 0x390-0x39f
!setname 0x9390 猛毒性 !setname 0x9390 猛毒性
!counter 0x1391 辉光指示物 !counter 0x1391 辉光指示物
...@@ -376,20 +382,13 @@ ...@@ -376,20 +382,13 @@
#AddCodeList(26818000) 九条璃雨卡名记述 #AddCodeList(26818000) 九条璃雨卡名记述
#AddCodeList(26818001) 明智英树卡名记述 #AddCodeList(26818001) 明智英树卡名记述
#沃亚森斯奥克斯 2201771890 300 0x???-0x??? #沃亚森斯奥克斯 2201771890 300 0x930-0x93f
!setname 0x930 邪魂
#饼干猫 2428706561 305 0x300-0x30f #饼干猫 2428706561 305 0x300-0x30f
!setname 0x305 空中都市 !setname 0x305 空中都市
!setname 0x307 破灭幻械 !setname 0x307 破灭幻械
#SEINE 907314730 314 0x310-0x31f
!setname 0x5310 苍燧
!setname 0xc311 本我
!setname 0x3312 隐喻
!setname 0x9312 化生
!setname 0x5312 炎龙机
!counter 0x5310 霜火指示物
#TaxingCorn 1502312539 329 0xa10-0xa1f #TaxingCorn 1502312539 329 0xa10-0xa1f
!setname 0xaa12 破恒者 !setname 0xaa12 破恒者
!setname 0xa15 螺旋钻头 !setname 0xa15 螺旋钻头
...@@ -439,7 +438,6 @@ ...@@ -439,7 +438,6 @@
!setname 0xc343 DAL-WIZARD !setname 0xc343 DAL-WIZARD
!setname 0x3344 四糸奈 !setname 0x3344 四糸奈
!setname 0x5344 Ratatoskr !setname 0x5344 Ratatoskr
!setname 0x5349 森罗万象
!counter 0x34f 时间指示物 !counter 0x34f 时间指示物
#珈百璃 1248959763 335 0xa80-0xa8f #珈百璃 1248959763 335 0xa80-0xa8f
...@@ -506,14 +504,12 @@ ...@@ -506,14 +504,12 @@
!setname 0xf16 降临 !setname 0xf16 降临
!setname 0xf17 刻兽 !setname 0xf17 刻兽
!setname 0xf18 究极异兽 !setname 0xf18 究极异兽
!setname 0xf24 之蓝
!setname 0x1f24 睿智之蓝
!setname 0xdf1d 一人千面 !setname 0xdf1d 一人千面
#极の一击 煌武院悠阳 ??? 462 0xfc0-0xfcf #极の一击 煌武院悠阳 - 462 0xfc0-0xfcf
!setname 0xfc1 人魂 !setname 0xfc1 人魂
#Cherry/Nanami ??? 465 0x???-0x??? #Cherry/Nanami - 465
#古战场逃兵 1586842214 475 0x5d0-0x5df #古战场逃兵 1586842214 475 0x5d0-0x5df
!setname 0x5d0 骑空士 !setname 0x5d0 骑空士
...@@ -543,7 +539,7 @@ ...@@ -543,7 +539,7 @@
#Millux 498433112 500 #Millux 498433112 500
#积木 ????????? 502 0xcb0-0xcbf #积木 - 502 0xcb0-0xcbf
!setname 0xcb1 数码兽 !setname 0xcb1 数码兽
!setname 0xcb2 T·F !setname 0xcb2 T·F
!setname 0xcb3 季神 !setname 0xcb3 季神
...@@ -594,10 +590,10 @@ ...@@ -594,10 +590,10 @@
!setname 0x3b28 LUKA !setname 0x3b28 LUKA
!setname 0x9b28 RWBY !setname 0x9b28 RWBY
#暗黑半仙 ?????????? 610 0x980-0x98f #暗黑半仙 - 610 0x980-0x98f
!setname 0x980 神赐之门 !setname 0x980 神赐之门
#baka 1274658599 622 0x???-0x??? #baka 1274658599 622
#named_with_FragileArticles 玻离之物 #named_with_FragileArticles 玻离之物
#零儿&灰蓝 1164477469&2455659904 650 0xda0-0xdaf #零儿&灰蓝 1164477469&2455659904 650 0xda0-0xdaf
...@@ -675,7 +671,7 @@ ...@@ -675,7 +671,7 @@
!setname 0x374 星曜 !setname 0x374 星曜
!setname 0x1374 星曜女神 !setname 0x1374 星曜女神
#D9 ?????????? 696 0x???-0x??? #D9 - 696
#樱彩 2543857838 732 global:nep #樱彩 2543857838 732 global:nep
#named_with_nep 海王星 #named_with_nep 海王星
...@@ -727,6 +723,7 @@ ...@@ -727,6 +723,7 @@
!setname 0x81d 望月杏奈 !setname 0x81d 望月杏奈
!setname 0x81e 七草一花 !setname 0x81e 七草一花
!counter 0x810 康娜酱指示物 !counter 0x810 康娜酱指示物
!counter 0x811 爱因斯坦指示物
!counter 0x1810 最上静香指示物 !counter 0x1810 最上静香指示物
!counter 0x818 佐城雪美指示物 !counter 0x818 佐城雪美指示物
#AddCodeList(81010004) 水晶世界卡名记述 #AddCodeList(81010004) 水晶世界卡名记述
...@@ -751,13 +748,13 @@ ...@@ -751,13 +748,13 @@
#Yuki 2574476144 870 0xaf0-0xaff #Yuki 2574476144 870 0xaf0-0xaff
#葉月 ?????????? 876 0x???-0x??? #葉月 - 876
#Slient Knight 888 0x9e0-0x9ef #Slient Knight 888 0x9e0-0x9ef
!setname 0x9ec 龙将 !setname 0x9ec 龙将
!setname 0x9ed 迅刃机 !setname 0x9ed 迅刃机
#小鸟 ?????????? 889 0x960-0x96f #小鸟 - 889 0x960-0x96f
!setname 0x960 折幸 !setname 0x960 折幸
#JustBLACK 1480665321 952 0x520-0x52f #JustBLACK 1480665321 952 0x520-0x52f
...@@ -777,4 +774,4 @@ ...@@ -777,4 +774,4 @@
#花草 707732766 996 0x700-0x70f #花草 707732766 996 0x700-0x70f
!setname 0x1702 时空魔女 !setname 0x1702 时空魔女
#人形 ???????? 999 #人形 - 999
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