Commit 5f42b44d authored by TanakaKotoha's avatar TanakaKotoha

fix

parent e46fba82
No preview for this file type
...@@ -195,3 +195,43 @@ function Tenka.EinBattleCon(e,tp,eg,ep,ev,re,r,rp) ...@@ -195,3 +195,43 @@ function Tenka.EinBattleCon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return ep==tp and c:IsRelateToBattle() return ep==tp and c:IsRelateToBattle()
end end
--
function Tenka.PyroLink(c)
local eb=Effect.CreateEffect(c)
eb:SetType(EFFECT_TYPE_SINGLE)
eb:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
eb:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
eb:SetValue(1)
c:RegisterEffect(eb)
end
--
function Tenka.KaedeMusic(c)
local ea=Effect.CreateEffect(c)
ea:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
ea:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
ea:SetCode(EVENT_BE_MATERIAL)
ea:SetCondition(Tenka.efcon)
ea:SetOperation(Tenka.efop)
c:RegisterEffect(ea)
end
function Tenka.efcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_XYZ
end
function Tenka.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(rc)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(Tenka.sumcon)
e1:SetOperation(Tenka.sumsuc)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true)
end
function Tenka.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
end
function Tenka.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(81009011,1))
end
--白雪安娜·寻踪 --白雪安娜·寻踪
local m=81005059 local m=81005059
local cm=_G["c"..m] local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c) function cm.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,cm.mfilter,2) aux.AddLinkProcedure(c,cm.mfilter,2)
c:EnableReviveLimit() c:EnableReviveLimit()
Tenka.PyroLink(c)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
......
--鲜为人知的天使护士 --鲜为人知的天使护士
local m=81005066 local m=81005066
local cm=_G["c"..m] local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c) function cm.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),3,3) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),3,3)
c:EnableReviveLimit() c:EnableReviveLimit()
--cannot be link material Tenka.PyroLink(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1:SetValue(1)
c:RegisterEffect(e1)
--fusion summon --fusion summon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
......
--幸福滋味·高垣枫 --幸福滋味·高垣枫
local m=81009007 local m=81009007
local cm=_G["c"..m] local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c) function cm.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),3,99,cm.lcheck) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),3,99,cm.lcheck)
c:EnableReviveLimit() c:EnableReviveLimit()
--cannot link material Tenka.PyroLink(c)
local e0=Effect.CreateEffect(c) Tenka.KaedeMusic(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e0:SetValue(1)
c:RegisterEffect(e0)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
...@@ -40,13 +36,6 @@ function cm.initial_effect(c) ...@@ -40,13 +36,6 @@ function cm.initial_effect(c)
e3:SetTarget(cm.mttg) e3:SetTarget(cm.mttg)
e3:SetOperation(cm.mtop) e3:SetOperation(cm.mtop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--effect gain
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_BE_MATERIAL)
e4:SetCondition(cm.efcon)
e4:SetOperation(cm.efop)
c:RegisterEffect(e4)
end end
function cm.lcheck(g) function cm.lcheck(g)
return g:IsExists(Card.IsLinkType,1,nil,TYPE_XYZ) return g:IsExists(Card.IsLinkType,1,nil,TYPE_XYZ)
...@@ -103,23 +92,3 @@ function cm.mtop(e,tp,eg,ep,ev,re,r,rp) ...@@ -103,23 +92,3 @@ function cm.mtop(e,tp,eg,ep,ev,re,r,rp)
Duel.Overlay(c,g) Duel.Overlay(c,g)
end end
end end
function cm.efcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_XYZ
end
function cm.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(rc)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(cm.sumcon)
e1:SetOperation(cm.sumsuc)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true)
end
function cm.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
end
function cm.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(81009011,1))
end
--丽之妙药·高垣枫 --丽之妙药·高垣枫
function c81009008.initial_effect(c) local m=81009008
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,nil,2,2,c81009008.lcheck) aux.AddLinkProcedure(c,nil,2,2,cm.lcheck)
c:EnableReviveLimit() c:EnableReviveLimit()
--cannot link material Tenka.PyroLink(c)
local e0=Effect.CreateEffect(c) Tenka.KaedeMusic(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e0:SetValue(1)
c:RegisterEffect(e0)
--change name --change name
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -20,36 +18,29 @@ function c81009008.initial_effect(c) ...@@ -20,36 +18,29 @@ function c81009008.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--material --material
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(81009008,0)) e2:SetDescription(aux.Stringid(m,0))
e2:SetType(EFFECT_TYPE_XMATERIAL+EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_XMATERIAL+EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
e2:SetTarget(c81009008.target) e2:SetTarget(cm.target)
e2:SetOperation(c81009008.operation) e2:SetOperation(cm.operation)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--effect gain
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_BE_MATERIAL)
e4:SetCondition(c81009008.efcon)
e4:SetOperation(c81009008.efop)
c:RegisterEffect(e4)
end end
function c81009008.lcheck(g,lc) function cm.lcheck(g,lc)
return g:IsExists(Card.IsLinkType,1,nil,TYPE_XYZ) return g:IsExists(Card.IsLinkType,1,nil,TYPE_XYZ)
end end
function c81009008.filter(c,tp) function cm.filter(c,tp)
return c:IsType(TYPE_LINK) and (c:IsControler(tp) or c:IsAbleToChangeControler()) return c:IsType(TYPE_LINK) and (c:IsControler(tp) or c:IsAbleToChangeControler())
end end
function c81009008.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c81009008.filter(chkc,tp) and chkc~=e:GetHandler() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and cm.filter(chkc,tp) and chkc~=e:GetHandler() end
if chk==0 then return e:GetHandler():IsType(TYPE_XYZ) if chk==0 then return e:GetHandler():IsType(TYPE_XYZ)
and Duel.IsExistingTarget(c81009008.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler(),tp) end and Duel.IsExistingTarget(cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler(),tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c81009008.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,e:GetHandler(),tp) Duel.SelectTarget(tp,cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,e:GetHandler(),tp)
end end
function c81009008.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and not tc:IsImmuneToEffect(e) then if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and not tc:IsImmuneToEffect(e) then
...@@ -60,23 +51,3 @@ function c81009008.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -60,23 +51,3 @@ function c81009008.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Overlay(c,Group.FromCards(tc)) Duel.Overlay(c,Group.FromCards(tc))
end end
end end
function c81009008.efcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_XYZ
end
function c81009008.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(rc)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c81009008.sumcon)
e1:SetOperation(c81009008.sumsuc)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true)
end
function c81009008.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
end
function c81009008.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(81009011,1))
end
--恋风·高垣枫 --恋风·高垣枫
function c81009011.initial_effect(c) local m=81009011
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_XYZ),1,1) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_XYZ),1,1)
c:EnableReviveLimit() c:EnableReviveLimit()
--effect gain Tenka.PyroLink(c)
local e0=Effect.CreateEffect(c) Tenka.KaedeMusic(c)
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_BE_MATERIAL)
e0:SetCondition(c81009011.efcon)
e0:SetOperation(c81009011.efop)
c:RegisterEffect(e0)
--cannot link material
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1:SetValue(1)
c:RegisterEffect(e1)
--battle --battle
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(81009011,0)) e4:SetDescription(aux.Stringid(m,0))
e4:SetType(EFFECT_TYPE_XMATERIAL+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_XMATERIAL+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_BATTLED) e4:SetCode(EVENT_BATTLED)
e4:SetCondition(c81009011.xyzcon) e4:SetCondition(cm.xyzcon)
e4:SetOperation(c81009011.xyzop) e4:SetOperation(cm.xyzop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c81009011.xyzcon(e,tp,eg,ep,ev,re,r,rp) function cm.xyzcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=c:GetBattleTarget() local tc=c:GetBattleTarget()
if not c:IsRelateToBattle() or c:IsFacedown() then return false end if not c:IsRelateToBattle() or c:IsFacedown() then return false end
e:SetLabelObject(tc) e:SetLabelObject(tc)
return tc and tc:IsType(TYPE_MONSTER) and tc:IsReason(REASON_BATTLE) and not tc:IsType(TYPE_TOKEN) return tc and tc:IsType(TYPE_MONSTER) and tc:IsReason(REASON_BATTLE) and not tc:IsType(TYPE_TOKEN)
end end
function c81009011.xyzop(e,tp,eg,ep,ev,re,r,rp) function cm.xyzop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=e:GetLabelObject() local tc=e:GetLabelObject()
if c:IsFaceup() and c:IsType(TYPE_XYZ) then if c:IsFaceup() and c:IsType(TYPE_XYZ) then
...@@ -44,23 +35,3 @@ function c81009011.xyzop(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,23 +35,3 @@ function c81009011.xyzop(e,tp,eg,ep,ev,re,r,rp)
Duel.Overlay(c,tc) Duel.Overlay(c,tc)
end end
end end
function c81009011.efcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_XYZ
end
function c81009011.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(rc)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c81009011.sumcon)
e1:SetOperation(c81009011.sumsuc)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true)
end
function c81009011.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
end
function c81009011.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(81009011,1))
end
--神秘的女神·高垣枫 --神秘的女神·高垣枫
function c81009015.initial_effect(c) local m=81009015
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,nil,3,3,c81009015.lcheck) aux.AddLinkProcedure(c,nil,3,3,cm.lcheck)
c:EnableReviveLimit() c:EnableReviveLimit()
--cannot link material Tenka.PyroLink(c)
local e0=Effect.CreateEffect(c) Tenka.KaedeMusic(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e0:SetValue(1)
c:RegisterEffect(e0)
--Attach --Attach
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_TO_GRAVE) e1:SetCode(EVENT_TO_GRAVE)
e1:SetCountLimit(1,81009015) e1:SetCountLimit(1,m)
e1:SetCondition(c81009015.xyzcon) e1:SetCondition(cm.xyzcon)
e1:SetTarget(c81009015.xyztg) e1:SetTarget(cm.xyztg)
e1:SetOperation(c81009015.xyzop) e1:SetOperation(cm.xyzop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--change name --change name
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -30,77 +28,50 @@ function c81009015.initial_effect(c) ...@@ -30,77 +28,50 @@ function c81009015.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--material --material
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(81009015,0)) e3:SetDescription(aux.Stringid(m,0))
e3:SetType(EFFECT_TYPE_XMATERIAL+EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_XMATERIAL+EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1) e3:SetCountLimit(1)
e3:SetTarget(c81009015.mttg) e3:SetTarget(cm.mttg)
e3:SetOperation(c81009015.mtop) e3:SetOperation(cm.mtop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--effect gain
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_BE_MATERIAL)
e4:SetCondition(c81009015.efcon)
e4:SetOperation(c81009015.efop)
c:RegisterEffect(e4)
end end
function c81009015.lcheck(g,lc) function cm.lcheck(g,lc)
return g:IsExists(Card.IsLinkType,1,nil,TYPE_XYZ) return g:IsExists(Card.IsLinkType,1,nil,TYPE_XYZ)
end end
function c81009015.xyzcon(e,tp,eg,ep,ev,re,r,rp) function cm.xyzcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end end
function c81009015.filter(c) function cm.filter(c)
return c:IsFaceup() and c:IsType(TYPE_XYZ) return c:IsFaceup() and c:IsType(TYPE_XYZ)
end end
function c81009015.xyztg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.xyztg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c81009015.filter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and cm.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c81009015.filter,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(cm.filter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c81009015.filter,tp,LOCATION_MZONE,0,1,1,nil) Duel.SelectTarget(tp,cm.filter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end end
function c81009015.xyzop(e,tp,eg,ep,ev,re,r,rp) function cm.xyzop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() and not tc:IsImmuneToEffect(e) and c:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) and tc:IsFaceup() and not tc:IsImmuneToEffect(e) and c:IsRelateToEffect(e) then
Duel.Overlay(tc,Group.FromCards(c)) Duel.Overlay(tc,Group.FromCards(c))
end end
end end
function c81009015.mtfilter(c,e) function cm.mtfilter(c,e)
return c:IsFaceup() and c:IsType(TYPE_XYZ+TYPE_LINK) and not c:IsImmuneToEffect(e) return c:IsFaceup() and c:IsType(TYPE_XYZ+TYPE_LINK) and not c:IsImmuneToEffect(e)
end end
function c81009015.mttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.mttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsType(TYPE_XYZ) if chk==0 then return e:GetHandler():IsType(TYPE_XYZ)
and Duel.IsExistingMatchingCard(c81009015.mtfilter,tp,LOCATION_GRAVE,0,1,nil,e) end and Duel.IsExistingMatchingCard(cm.mtfilter,tp,LOCATION_GRAVE,0,1,nil,e) end
end end
function c81009015.mtop(e,tp,eg,ep,ev,re,r,rp) function cm.mtop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local g=Duel.SelectMatchingCard(tp,c81009015.mtfilter,tp,LOCATION_GRAVE,0,1,1,nil,e) local g=Duel.SelectMatchingCard(tp,cm.mtfilter,tp,LOCATION_GRAVE,0,1,1,nil,e)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.Overlay(c,g) Duel.Overlay(c,g)
end end
end end
function c81009015.efcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_XYZ
end
function c81009015.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(rc)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c81009015.sumcon)
e1:SetOperation(c81009015.sumsuc)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true)
end
function c81009015.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
end
function c81009015.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(81009011,1))
end
--水晶艾蕾娜 --水晶艾蕾娜
function c81011001.initial_effect(c) local m=81011001
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--link summon --link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsSummonType,SUMMON_TYPE_ADVANCE),1,1) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsSummonType,SUMMON_TYPE_ADVANCE),1,1)
Tenka.PyroLink(c)
--spsummon bgm --spsummon bgm
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e0:SetCode(EVENT_SPSUMMON_SUCCESS) e0:SetCode(EVENT_SPSUMMON_SUCCESS)
e0:SetCondition(c81011001.sumcon) e0:SetCondition(cm.sumcon)
e0:SetOperation(c81011001.sumsuc) e0:SetOperation(cm.sumsuc)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--search --search
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -16,39 +21,32 @@ function c81011001.initial_effect(c) ...@@ -16,39 +21,32 @@ function c81011001.initial_effect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_RELEASE) e2:SetCode(EVENT_RELEASE)
e2:SetCountLimit(1,81011001) e2:SetCountLimit(1,m)
e2:SetCondition(c81011001.thcon) e2:SetCondition(cm.thcon)
e2:SetTarget(c81011001.thtg) e2:SetTarget(cm.thtg)
e2:SetOperation(c81011001.thop) e2:SetOperation(cm.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--cannot be link material
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e3:SetValue(1)
c:RegisterEffect(e3)
end end
function c81011001.sumcon(e,tp,eg,ep,ev,re,r,rp) function cm.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end end
function c81011001.sumsuc(e,tp,eg,ep,ev,re,r,rp) function cm.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(81011001,0)) Duel.Hint(HINT_MUSIC,0,aux.Stringid(m,0))
end end
function c81011001.thcon(e,tp,eg,ep,ev,re,r,rp) function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsReason(REASON_SUMMON) return e:GetHandler():IsReason(REASON_SUMMON)
end end
function c81011001.filter(c) function cm.filter(c)
return c:IsLevelAbove(5) and c:IsAbleToHand() return c:IsLevelAbove(5) and c:IsAbleToHand()
end end
function c81011001.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c81011001.filter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c81011001.thop(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c81011001.filter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
......
...@@ -6,13 +6,7 @@ function cm.initial_effect(c) ...@@ -6,13 +6,7 @@ function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--link summon --link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLevelAbove,7),1,1) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLevelAbove,7),1,1)
--cannot be link material Tenka.PyroLink(c)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e0:SetValue(1)
c:RegisterEffect(e0)
-- --
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
--游戏女王·艾米莉 --游戏女王·艾米莉
function c81012005.initial_effect(c) local m=81012005
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),4,4,c81012005.lcheck) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),4,4,cm.lcheck)
--cannot be link material Tenka.PyroLink(c)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e0:SetValue(1)
c:RegisterEffect(e0)
--destroy replace --destroy replace
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DESTROY_REPLACE) e1:SetCode(EFFECT_DESTROY_REPLACE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetTarget(c81012005.reptg) e1:SetTarget(cm.reptg)
e1:SetValue(c81012005.repval) e1:SetValue(cm.repval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--copy effect --copy effect
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -24,10 +21,10 @@ function c81012005.initial_effect(c) ...@@ -24,10 +21,10 @@ function c81012005.initial_effect(c)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,81012005) e2:SetCountLimit(1,m)
e2:SetCondition(c81012005.cpcon) e2:SetCondition(cm.cpcon)
e2:SetTarget(c81012005.cptg) e2:SetTarget(cm.cptg)
e2:SetOperation(c81012005.cpop) e2:SetOperation(cm.cpop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--return to deck --return to deck
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -35,56 +32,56 @@ function c81012005.initial_effect(c) ...@@ -35,56 +32,56 @@ function c81012005.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_DAMAGE_STEP) e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetCode(EVENT_TO_GRAVE) e3:SetCode(EVENT_TO_GRAVE)
e3:SetCountLimit(1,81012095) e3:SetCountLimit(1,m+90)
e3:SetCondition(c81012005.tdcon) e3:SetCondition(cm.tdcon)
e3:SetTarget(c81012005.tdtg) e3:SetTarget(cm.tdtg)
e3:SetOperation(c81012005.tdop) e3:SetOperation(cm.tdop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c81012005.lcheck(g,lc) function cm.lcheck(g,lc)
return g:IsExists(c81012005.mzfilter,1,nil) and g:GetClassCount(Card.GetOriginalCode)==g:GetCount() return g:IsExists(cm.mzfilter,1,nil) and g:GetClassCount(Card.GetOriginalCode)==g:GetCount()
end end
function c81012005.mzfilter(c) function cm.mzfilter(c)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsLevelAbove(7) return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsLevelAbove(7)
end end
function c81012005.repfilter(c,tp) function cm.repfilter(c,tp)
return c:IsFaceup() and c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsReason(REASON_BATTLE+REASON_EFFECT) and not c:IsReason(REASON_REPLACE) return c:IsFaceup() and c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsReason(REASON_BATTLE+REASON_EFFECT) and not c:IsReason(REASON_REPLACE)
end end
function c81012005.rmfilter(c) function cm.rmfilter(c)
return c:IsType(TYPE_SPELL) and c:IsAbleToRemove() return c:IsType(TYPE_SPELL) and c:IsAbleToRemove()
end end
function c81012005.reptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(c81012005.repfilter,1,nil,tp) if chk==0 then return eg:IsExists(cm.repfilter,1,nil,tp)
and Duel.IsExistingMatchingCard(c81012005.rmfilter,tp,LOCATION_GRAVE,0,1,nil) end and Duel.IsExistingMatchingCard(cm.rmfilter,tp,LOCATION_GRAVE,0,1,nil) end
if Duel.SelectEffectYesNo(tp,e:GetHandler(),96) then if Duel.SelectEffectYesNo(tp,e:GetHandler(),96) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c81012005.rmfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.rmfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_EFFECT+REASON_REPLACE) Duel.Remove(g,POS_FACEUP,REASON_EFFECT+REASON_REPLACE)
return true return true
end end
return false return false
end end
function c81012005.repval(e,c) function cm.repval(e,c)
return c81012005.repfilter(c,e:GetHandlerPlayer()) return cm.repfilter(c,e:GetHandlerPlayer())
end end
function c81012005.cfilter(c) function cm.cfilter(c)
return c:IsFaceup() and bit.band(c:GetType(),0x81)==0x81 and c:IsType(TYPE_PENDULUM) return c:IsFaceup() and bit.band(c:GetType(),0x81)==0x81 and c:IsType(TYPE_PENDULUM)
end end
function c81012005.cpcon(e,tp,eg,ep,ev,re,r,rp) function cm.cpcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c81012005.cfilter,tp,LOCATION_MZONE,0,1,nil) return not Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_MZONE,0,1,nil)
end end
function c81012005.cpfilter(c) function cm.cpfilter(c)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_SPELL) and c:IsAbleToDeck() and c:CheckActivateEffect(false,true,false)~=nil return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_SPELL) and c:IsAbleToDeck() and c:CheckActivateEffect(false,true,false)~=nil
end end
function c81012005.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then if chkc then
local te=e:GetLabelObject() local te=e:GetLabelObject()
local tg=te:GetTarget() local tg=te:GetTarget()
return tg and tg(e,tp,eg,ep,ev,re,r,rp,0,chkc) return tg and tg(e,tp,eg,ep,ev,re,r,rp,0,chkc)
end end
if chk==0 then return Duel.IsExistingTarget(c81012005.cpfilter,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(cm.cpfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c81012005.cpfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectTarget(tp,cm.cpfilter,tp,LOCATION_GRAVE,0,1,1,nil)
local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(false,true,true) local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(false,true,true)
Duel.ClearTargetCard() Duel.ClearTargetCard()
g:GetFirst():CreateEffectRelation(e) g:GetFirst():CreateEffectRelation(e)
...@@ -95,7 +92,7 @@ function c81012005.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -95,7 +92,7 @@ function c81012005.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,0,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,0,0,0)
end end
function c81012005.cpop(e,tp,eg,ep,ev,re,r,rp) function cm.cpop(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject() local te=e:GetLabelObject()
if not te then return end if not te then return end
if not te:GetHandler():IsRelateToEffect(e) then return end if not te:GetHandler():IsRelateToEffect(e) then return end
...@@ -105,19 +102,19 @@ function c81012005.cpop(e,tp,eg,ep,ev,re,r,rp) ...@@ -105,19 +102,19 @@ function c81012005.cpop(e,tp,eg,ep,ev,re,r,rp)
Duel.BreakEffect() Duel.BreakEffect()
Duel.Remove(te:GetHandler(),POS_FACEUP,REASON_EFFECT) Duel.Remove(te:GetHandler(),POS_FACEUP,REASON_EFFECT)
end end
function c81012005.tdcon(e,tp,eg,ep,ev,re,r,rp) function cm.tdcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end end
function c81012005.tdfilter(c) function cm.tdfilter(c)
return c:IsType(TYPE_RITUAL) and (c:IsType(TYPE_PENDULUM) or c:IsType(TYPE_SPELL)) and c:IsAbleToDeck() return c:IsType(TYPE_RITUAL) and (c:IsType(TYPE_PENDULUM) or c:IsType(TYPE_SPELL)) and c:IsAbleToDeck()
end end
function c81012005.tdtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c81012005.tdfilter,tp,LOCATION_REMOVED,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.tdfilter,tp,LOCATION_REMOVED,0,1,nil) end
local g=Duel.GetMatchingGroup(c81012005.tdfilter,tp,LOCATION_REMOVED,0,nil) local g=Duel.GetMatchingGroup(cm.tdfilter,tp,LOCATION_REMOVED,0,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
end end
function c81012005.tdop(e,tp,eg,ep,ev,re,r,rp) function cm.tdop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c81012005.tdfilter,tp,LOCATION_REMOVED,0,nil) local g=Duel.GetMatchingGroup(cm.tdfilter,tp,LOCATION_REMOVED,0,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoDeck(g,nil,2,REASON_EFFECT) Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end end
......
--漫读·艾米莉 --漫读·艾米莉
function c81012008.initial_effect(c) local m=81012008
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,c81012008.matfilter,1,1) aux.AddLinkProcedure(c,cm.matfilter,1,1)
--cannot link material Tenka.PyroLink(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1:SetValue(1)
c:RegisterEffect(e1)
--set --set
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,81012008) e2:SetCountLimit(1,m)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c81012008.setcon) e2:SetCondition(cm.setcon)
e2:SetTarget(c81012008.settg) e2:SetTarget(cm.settg)
e2:SetOperation(c81012008.setop) e2:SetOperation(cm.setop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c81012008.matfilter(c) function cm.matfilter(c)
return c:IsLinkType(TYPE_RITUAL) and c:IsLinkType(TYPE_PENDULUM) return c:IsLinkType(TYPE_RITUAL) and c:IsLinkType(TYPE_PENDULUM)
end end
function c81012008.cfilter(c,lg) function cm.cfilter(c,lg)
return c:IsSummonType(SUMMON_TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and lg:IsContains(c) return c:IsSummonType(SUMMON_TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and lg:IsContains(c)
end end
function c81012008.setcon(e,tp,eg,ep,ev,re,r,rp) function cm.setcon(e,tp,eg,ep,ev,re,r,rp)
local lg=e:GetHandler():GetLinkedGroup() local lg=e:GetHandler():GetLinkedGroup()
return eg:IsExists(c81012008.cfilter,1,nil,lg) return eg:IsExists(cm.cfilter,1,nil,lg)
end end
function c81012008.setfilter(c) function cm.setfilter(c)
return c:IsType(TYPE_SPELL) and c:IsType(TYPE_RITUAL) and c:IsSSetable() return c:IsType(TYPE_SPELL) and c:IsType(TYPE_RITUAL) and c:IsSSetable()
end end
function c81012008.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 chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c81012008.setfilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and cm.setfilter(chkc) end
if chk==0 then return true end if chk==0 then return true end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectTarget(tp,c81012008.setfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectTarget(tp,cm.setfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,g,1,0,0)
end end
function c81012008.setop(e,tp,eg,ep,ev,re,r,rp) function cm.setop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) and tc:IsSSetable() then if tc and tc:IsRelateToEffect(e) and tc:IsSSetable() then
Duel.SSet(tp,tc) Duel.SSet(tp,tc)
......
--樱花树下·爱米莉 --樱花树下·爱米莉
function c81012025.initial_effect(c) local m=81012025
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2,2,c81012025.lcheck) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2,2,cm.lcheck)
--cannot be link material Tenka.PyroLink(c)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e0:SetValue(1)
c:RegisterEffect(e0)
--tohand --tohand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,81012025) e1:SetCountLimit(1,m)
e1:SetCondition(c81012025.thcon) e1:SetCondition(cm.thcon)
e1:SetTarget(c81012025.thtg) e1:SetTarget(cm.thtg)
e1:SetOperation(c81012025.thop) e1:SetOperation(cm.thop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--special summon --special summon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -25,48 +22,48 @@ function c81012025.initial_effect(c) ...@@ -25,48 +22,48 @@ function c81012025.initial_effect(c)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET) e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_GRAVE) e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,81012925) e3:SetCountLimit(1,m+900)
e3:SetCost(aux.bfgcost) e3:SetCost(aux.bfgcost)
e3:SetTarget(c81012025.sptg2) e3:SetTarget(cm.sptg2)
e3:SetOperation(c81012025.spop2) e3:SetOperation(cm.spop2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c81012025.lcheck(g,lc) function cm.lcheck(g,lc)
return g:IsExists(c81012025.mzfilter,1,nil) return g:IsExists(cm.mzfilter,1,nil)
end end
function c81012025.mzfilter(c) function cm.mzfilter(c)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM)
end end
function c81012025.thcon(e,tp,eg,ep,ev,re,r,rp) function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end end
function c81012025.filter(c) function cm.filter(c)
return c:IsType(TYPE_RITUAL) and (c:IsType(TYPE_PENDULUM) or c:IsType(TYPE_SPELL)) and c:IsAbleToHand() return c:IsType(TYPE_RITUAL) and (c:IsType(TYPE_PENDULUM) or c:IsType(TYPE_SPELL)) and c:IsAbleToHand()
end end
function c81012025.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c81012025.filter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c81012025.thop(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c81012025.filter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
function c81012025.spfilter2(c,e,tp) function cm.spfilter2(c,e,tp)
return c:IsFaceup() and c:IsRace(RACE_PYRO) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and not c:IsCode(81012025) return c:IsFaceup() and c:IsRace(RACE_PYRO) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and not c:IsCode(81012025)
end end
function c81012025.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_REMOVED) and chkc:IsControler(tp) and c81012025.spfilter2(chkc,e,tp) end if chkc then return chkc:IsLocation(LOCATION_REMOVED) and chkc:IsControler(tp) and cm.spfilter2(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c81012025.spfilter2,tp,LOCATION_REMOVED,0,1,nil,e,tp) end and Duel.IsExistingTarget(cm.spfilter2,tp,LOCATION_REMOVED,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c81012025.spfilter2,tp,LOCATION_REMOVED,0,1,1,nil,e,tp) local g=Duel.SelectTarget(tp,cm.spfilter2,tp,LOCATION_REMOVED,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end end
function c81012025.spop2(e,tp,eg,ep,ev,re,r,rp) function cm.spop2(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
...@@ -76,10 +73,10 @@ function c81012025.spop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -76,10 +73,10 @@ function c81012025.spop2(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetTarget(c81012025.splimit) e1:SetTarget(cm.splimit)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c81012025.splimit(e,c) function cm.splimit(e,c)
return not c:IsRace(RACE_PYRO) and c:IsLocation(LOCATION_EXTRA) return not c:IsRace(RACE_PYRO) and c:IsLocation(LOCATION_EXTRA)
end end
--粉红沙冰·爱米莉 --粉红沙冰·爱米莉
function c81012026.initial_effect(c) local m=81012026
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),3,3,c81012026.lcheck) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),3,3,cm.lcheck)
--cannot be link material Tenka.PyroLink(c)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e0:SetValue(1)
c:RegisterEffect(e0)
--act limit --act limit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetOperation(c81012026.chainop) e1:SetOperation(cm.chainop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--cannot be target --cannot be target
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -23,7 +20,7 @@ function c81012026.initial_effect(c) ...@@ -23,7 +20,7 @@ function c81012026.initial_effect(c)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(c81012026.tgtg) e2:SetTarget(cm.tgtg)
e2:SetValue(aux.tgoval) e2:SetValue(aux.tgoval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--remove --remove
...@@ -33,76 +30,76 @@ function c81012026.initial_effect(c) ...@@ -33,76 +30,76 @@ function c81012026.initial_effect(c)
e3:SetCode(EVENT_SUMMON_SUCCESS) e3:SetCode(EVENT_SUMMON_SUCCESS)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,81012026) e3:SetCountLimit(1,m)
e3:SetCondition(c81012026.rmcon) e3:SetCondition(cm.rmcon)
e3:SetTarget(c81012026.rmtg) e3:SetTarget(cm.rmtg)
e3:SetOperation(c81012026.rmop) e3:SetOperation(cm.rmop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--set --set
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetProperty(EFFECT_FLAG_DELAY) e5:SetProperty(EFFECT_FLAG_DELAY)
e5:SetCode(EVENT_DESTROYED) e5:SetCode(EVENT_DESTROYED)
e5:SetCountLimit(1,81012926) e5:SetCountLimit(1,m+900)
e5:SetCondition(c81012026.setcon) e5:SetCondition(cm.setcon)
e5:SetTarget(c81012026.settg) e5:SetTarget(cm.settg)
e5:SetOperation(c81012026.setop) e5:SetOperation(cm.setop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c81012026.lcheck(g,lc) function cm.lcheck(g,lc)
return g:IsExists(c81012026.mzfilter,1,nil) and g:GetClassCount(Card.GetCode)==g:GetCount() return g:IsExists(cm.mzfilter,1,nil) and g:GetClassCount(Card.GetCode)==g:GetCount()
end end
function c81012026.mzfilter(c) function cm.mzfilter(c)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsLevelAbove(4) return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsLevelAbove(4)
end end
function c81012026.chainop(e,tp,eg,ep,ev,re,r,rp) function cm.chainop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler() local rc=re:GetHandler()
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and ep==tp and re:IsActiveType(TYPE_RITUAL) then if re:IsHasType(EFFECT_TYPE_ACTIVATE) and ep==tp and re:IsActiveType(TYPE_RITUAL) then
Duel.SetChainLimit(c81012026.chainlm) Duel.SetChainLimit(cm.chainlm)
end end
end end
function c81012026.chainlm(e,rp,tp) function cm.chainlm(e,rp,tp)
return tp==rp return tp==rp
end end
function c81012026.tgtg(e,c) function cm.tgtg(e,c)
return c:IsType(TYPE_PENDULUM) and c:IsType(TYPE_RITUAL) return c:IsType(TYPE_PENDULUM) and c:IsType(TYPE_RITUAL)
end end
function c81012026.cfilter(c,tp) function cm.cfilter(c,tp)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsType(TYPE_RITUAL) and c:IsSummonType(SUMMON_TYPE_RITUAL) and lg:IsContains(c) return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsType(TYPE_RITUAL) and c:IsSummonType(SUMMON_TYPE_RITUAL) and lg:IsContains(c)
end end
function c81012026.rmcon(e,tp,eg,ep,ev,re,r,rp) function cm.rmcon(e,tp,eg,ep,ev,re,r,rp)
local lg=e:GetHandler():GetLinkedGroup() local lg=e:GetHandler():GetLinkedGroup()
return eg:IsExists(c81012026.cfilter,1,nil,lg) return eg:IsExists(cm.cfilter,1,nil,lg)
end end
function c81012026.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsAbleToRemove() end 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 if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectTarget(tp,Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
end end
function c81012026.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) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
Duel.Remove(tc,POS_FACEUP,REASON_EFFECT) Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)
end end
end end
function c81012026.setcon(e,tp,eg,ep,ev,re,r,rp) function cm.setcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return rp==1-tp and c:GetPreviousControler()==tp and c:IsPreviousLocation(LOCATION_MZONE) return rp==1-tp and c:GetPreviousControler()==tp and c:IsPreviousLocation(LOCATION_MZONE)
end end
function c81012026.setfilter(c) function cm.setfilter(c)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_SPELL) and c:IsSSetable() return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_SPELL) and c:IsSSetable()
end end
function c81012026.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 chkc then return chkc:IsLocation(LOCATION_GRAVE) and c81012026.setfilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and cm.setfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c81012026.setfilter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil) end if chk==0 then return Duel.IsExistingTarget(cm.setfilter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectTarget(tp,c81012026.setfilter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil) local g=Duel.SelectTarget(tp,cm.setfilter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,g,1,0,0)
end end
function c81012026.setop(e,tp,eg,ep,ev,re,r,rp) function cm.setop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsSSetable() then if tc:IsRelateToEffect(e) and tc:IsSSetable() then
Duel.SSet(tp,tc) Duel.SSet(tp,tc)
......
--只是早餐·爱米莉 --只是早餐·爱米莉
function c81012028.initial_effect(c) local m=81012028
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_PENDULUM),3,3,c81012028.lcheck) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_PENDULUM),3,3,cm.lcheck)
c:EnableReviveLimit() c:EnableReviveLimit()
--cannot be link material Tenka.PyroLink(c)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e0:SetValue(1)
c:RegisterEffect(e0)
--draw --draw
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW) e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c81012028.drcon) e1:SetCondition(cm.drcon)
e1:SetTarget(c81012028.drtg) e1:SetTarget(cm.drtg)
e1:SetOperation(c81012028.drop) e1:SetOperation(cm.drop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon --spsummon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -26,55 +23,55 @@ function c81012028.initial_effect(c) ...@@ -26,55 +23,55 @@ function c81012028.initial_effect(c)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET) e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCountLimit(1,81012928) e3:SetCountLimit(1,m+900)
e3:SetTarget(c81012028.sptg) e3:SetTarget(cm.sptg)
e3:SetOperation(c81012028.spop) e3:SetOperation(cm.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c81012028.lcheck(g,lc) function cm.lcheck(g,lc)
return g:IsExists(c81012028.mzfilter,1,nil) return g:IsExists(cm.mzfilter,1,nil)
end end
function c81012028.mzfilter(c) function cm.mzfilter(c)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM)
end end
function c81012028.cfilter(c,lg,tp) function cm.cfilter(c,lg,tp)
return c:IsRace(RACE_PYRO) and c:IsType(TYPE_PENDULUM) and c:IsSummonType(SUMMON_TYPE_RITUAL) and lg:IsContains(c) return c:IsRace(RACE_PYRO) and c:IsType(TYPE_PENDULUM) and c:IsSummonType(SUMMON_TYPE_RITUAL) and lg:IsContains(c)
and not Duel.IsExistingMatchingCard(c81012028.drfilter,tp,LOCATION_MZONE,0,1,c,c:GetCode()) and not Duel.IsExistingMatchingCard(cm.drfilter,tp,LOCATION_MZONE,0,1,c,c:GetCode())
end end
function c81012028.drfilter(c,code) function cm.drfilter(c,code)
return c:IsFaceup() and c:IsCode(code) return c:IsFaceup() and c:IsCode(code)
end end
function c81012028.drcon(e,tp,eg,ep,ev,re,r,rp) function cm.drcon(e,tp,eg,ep,ev,re,r,rp)
local lg=e:GetHandler():GetLinkedGroup() local lg=e:GetHandler():GetLinkedGroup()
return eg:IsExists(c81012028.cfilter,1,nil,lg,tp) return eg:IsExists(cm.cfilter,1,nil,lg,tp)
end end
function c81012028.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetTargetPlayer(tp) Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1) Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end end
function c81012028.drop(e,tp,eg,ep,ev,re,r,rp) function cm.drop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT) Duel.Draw(p,d,REASON_EFFECT)
end end
function c81012028.counterfilter(c) function cm.counterfilter(c)
return c:IsRace(RACE_PYRO) return c:IsRace(RACE_PYRO)
end end
function c81012028.filter(c,e,tp,zone) function cm.filter(c,e,tp,zone)
return c:IsRace(RACE_PYRO) and not c:IsType(TYPE_LINK) return c:IsRace(RACE_PYRO) and not c:IsType(TYPE_LINK)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone)
end end
function c81012028.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local zone=bit.band(e:GetHandler():GetLinkedZone(tp),0x1f) local zone=bit.band(e:GetHandler():GetLinkedZone(tp),0x1f)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c81012028.filter(chkc,e,tp,zone) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and cm.filter(chkc,e,tp,zone) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c81012028.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp,zone) end and Duel.IsExistingTarget(cm.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp,zone) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c81012028.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp,zone) local g=Duel.SelectTarget(tp,cm.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp,zone)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end end
function c81012028.spop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
local zone=bit.band(e:GetHandler():GetLinkedZone(tp),0x1f) local zone=bit.band(e:GetHandler():GetLinkedZone(tp),0x1f)
if tc:IsRelateToEffect(e) and zone~=0 then if tc:IsRelateToEffect(e) and zone~=0 then
...@@ -85,10 +82,10 @@ function c81012028.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -85,10 +82,10 @@ function c81012028.spop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetTarget(c81012028.splimit) e1:SetTarget(cm.splimit)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c81012028.splimit(e,c) function cm.splimit(e,c)
return not c:IsRace(RACE_PYRO) return not c:IsRace(RACE_PYRO)
end end
--实习女仆·双叶 --实习女仆·双叶
function c81012053.initial_effect(c) local m=81012053
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_PYRO),2) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_PYRO),2)
Tenka.PyroLink(c)
--set --set
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(81012053,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,81012053) e1:SetCountLimit(1,m)
e1:SetCondition(c81012053.setcon) e1:SetCondition(cm.setcon)
e1:SetTarget(c81012053.settg) e1:SetTarget(cm.settg)
e1:SetOperation(c81012053.setop) e1:SetOperation(cm.setop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--cannot be link material
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e2:SetValue(1)
c:RegisterEffect(e2)
--to hand --to hand
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(81012053,1)) e3:SetDescription(aux.Stringid(m,1))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,81012953) e3:SetCountLimit(1,81012953)
e3:SetCondition(c81012053.thcon) e3:SetCondition(cm.thcon)
e3:SetTarget(c81012053.thtg) e3:SetTarget(cm.thtg)
e3:SetOperation(c81012053.thop) e3:SetOperation(cm.thop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c81012053.setcon(e,tp,eg,ep,ev,re,r,rp) function cm.setcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end end
function c81012053.setfilter1(c,tp) function cm.setfilter1(c,tp)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden() return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
and Duel.IsExistingMatchingCard(c81012053.setfilter2,tp,LOCATION_DECK,0,1,nil,c:GetCode()) and Duel.IsExistingMatchingCard(cm.setfilter2,tp,LOCATION_DECK,0,1,nil,c:GetCode())
end end
function c81012053.setfilter2(c,code) function cm.setfilter2(c,code)
return c:IsType(TYPE_RITUAL) and not c:IsCode(code) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden() return c:IsType(TYPE_RITUAL) and not c:IsCode(code) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
end end
function c81012053.settg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) and Duel.CheckLocation(tp,LOCATION_PZONE,1) if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) and Duel.CheckLocation(tp,LOCATION_PZONE,1)
and Duel.IsExistingMatchingCard(c81012053.setfilter1,tp,LOCATION_DECK,0,1,nil,tp) end and Duel.IsExistingMatchingCard(cm.setfilter1,tp,LOCATION_DECK,0,1,nil,tp) end
end end
function c81012053.setop(e,tp,eg,ep,ev,re,r,rp) function cm.setop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) or not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return end if not Duel.CheckLocation(tp,LOCATION_PZONE,0) or not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g1=Duel.SelectMatchingCard(tp,c81012053.setfilter1,tp,LOCATION_DECK,0,1,1,nil,tp) local g1=Duel.SelectMatchingCard(tp,cm.setfilter1,tp,LOCATION_DECK,0,1,1,nil,tp)
local tc1=g1:GetFirst() local tc1=g1:GetFirst()
if not tc1 then return end if not tc1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g2=Duel.SelectMatchingCard(tp,c81012053.setfilter2,tp,LOCATION_DECK,0,1,1,nil,tc1:GetCode()) local g2=Duel.SelectMatchingCard(tp,cm.setfilter2,tp,LOCATION_DECK,0,1,1,nil,tc1:GetCode())
local tc2=g2:GetFirst() local tc2=g2:GetFirst()
Duel.MoveToField(tc1,tp,tp,LOCATION_PZONE,POS_FACEUP,true) Duel.MoveToField(tc1,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
Duel.MoveToField(tc2,tp,tp,LOCATION_PZONE,POS_FACEUP,true) Duel.MoveToField(tc2,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
...@@ -65,30 +62,30 @@ function c81012053.setop(e,tp,eg,ep,ev,re,r,rp) ...@@ -65,30 +62,30 @@ function c81012053.setop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetTarget(c81012053.splimit) e1:SetTarget(cm.splimit)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c81012053.splimit(e,c) function cm.splimit(e,c)
return not c:IsRace(RACE_PYRO) return not c:IsRace(RACE_PYRO)
end end
function c81012053.cfilter(c,lg) function cm.cfilter(c,lg)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and lg:IsContains(c) return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and lg:IsContains(c)
end end
function c81012053.thcon(e,tp,eg,ep,ev,re,r,rp) function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
local lg=e:GetHandler():GetLinkedGroup() local lg=e:GetHandler():GetLinkedGroup()
return eg:IsExists(c81012053.cfilter,1,nil,lg) return eg:IsExists(cm.cfilter,1,nil,lg)
end end
function c81012053.thfilter(c) function cm.thfilter(c)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_SPELL) and c:IsAbleToHand() return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_SPELL) and c:IsAbleToHand()
end end
function c81012053.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c81012053.thfilter,tp,LOCATION_DECK,0,1,nil) end 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) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c81012053.thop(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c81012053.thfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
......
--害羞女仆·理子 --害羞女仆·理子
function c81012054.initial_effect(c) local m=81012054
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,c81012054.mfilter,2) aux.AddLinkProcedure(c,cm.mfilter,2)
c:EnableReviveLimit() c:EnableReviveLimit()
Tenka.PyroLink(c)
--spsummon --spsummon
local e0=aux.AddRitualProcEqual2(c,c81012054.filter,LOCATION_REMOVED,nil,c81012054.psfilter) local e0=aux.AddRitualProcEqual2(c,cm.filter,LOCATION_REMOVED,nil,cm.psfilter)
e0:SetType(EFFECT_TYPE_IGNITION) e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetCode(0) e0:SetCode(0)
e0:SetCountLimit(1,81012054) e0:SetCountLimit(1,m)
e0:SetRange(LOCATION_MZONE) e0:SetRange(LOCATION_MZONE)
e0:SetCost(c81012054.cost) e0:SetCost(cm.cost)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
...@@ -18,44 +22,37 @@ function c81012054.initial_effect(c) ...@@ -18,44 +22,37 @@ function c81012054.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,81012954) e2:SetCountLimit(1,81012954)
e2:SetCondition(c81012054.spcon) e2:SetCondition(cm.spcon)
e2:SetTarget(c81012054.sptg) e2:SetTarget(cm.sptg)
e2:SetOperation(c81012054.spop) e2:SetOperation(cm.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--cannot be link material end
local e3=Effect.CreateEffect(c) function cm.mfilter(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e3:SetValue(1)
c:RegisterEffect(e3)
end
function c81012054.mfilter(c)
return c:IsLinkType(TYPE_PENDULUM) and c:IsLinkRace(RACE_PYRO) return c:IsLinkType(TYPE_PENDULUM) and c:IsLinkRace(RACE_PYRO)
end end
function c81012054.filter(c) function cm.filter(c)
return c:IsType(TYPE_PENDULUM) and c:IsType(TYPE_RITUAL) return c:IsType(TYPE_PENDULUM) and c:IsType(TYPE_RITUAL)
end end
function c81012054.psfilter(c,e,tp) function cm.psfilter(c,e,tp)
return c~=e:GetHandler() return c~=e:GetHandler()
end end
function c81012054.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST) Duel.Release(e:GetHandler(),REASON_COST)
end end
function c81012054.spcfilter(c,tp) function cm.spcfilter(c,tp)
return c:IsSummonType(SUMMON_TYPE_RITUAL) and c:IsReason(REASON_BATTLE+REASON_EFFECT) and c:IsPreviousLocation(LOCATION_MZONE) and c:GetPreviousControler()==tp return c:IsSummonType(SUMMON_TYPE_RITUAL) and c:IsReason(REASON_BATTLE+REASON_EFFECT) and c:IsPreviousLocation(LOCATION_MZONE) and c:GetPreviousControler()==tp
end end
function c81012054.spcon(e,tp,eg,ep,ev,re,r,rp) function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c81012054.spcfilter,1,nil,tp) return eg:IsExists(cm.spcfilter,1,nil,tp)
end end
function c81012054.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end end
function c81012054.spop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
......
--特别礼物·爱米莉 --特别礼物·爱米莉
function c81012063.initial_effect(c) local m=81012063
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,c81012063.matfilter,4,4) aux.AddLinkProcedure(c,cm.matfilter,4,4)
Tenka.PyroLink(c)
--immune --immune
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE) e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_IMMUNE_EFFECT) e0:SetCode(EFFECT_IMMUNE_EFFECT)
e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e0:SetRange(LOCATION_MZONE) e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c81012063.tgcon) e0:SetCondition(cm.tgcon)
e0:SetValue(c81012063.efilter) e0:SetValue(cm.efilter)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--summon success --summon success
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c81012063.regcon) e1:SetCondition(cm.regcon)
e1:SetOperation(c81012063.regop) e1:SetOperation(cm.regop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_MATERIAL_CHECK) e2:SetCode(EFFECT_MATERIAL_CHECK)
e2:SetValue(c81012063.valcheck) e2:SetValue(cm.valcheck)
e2:SetLabelObject(e1) e2:SetLabelObject(e1)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--spsummon --spsummon
local e3=aux.AddRitualProcGreater2(c,c81012063.filter,LOCATION_DECK) local e3=aux.AddRitualProcGreater2(c,cm.filter,LOCATION_DECK)
e3:SetDescription(aux.Stringid(81012063,0)) e3:SetDescription(aux.Stringid(m,0))
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCode(0) e3:SetCode(0)
e3:SetCountLimit(1,81012063) e3:SetCountLimit(1,m)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
--cannot be link material
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e4:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e4:SetValue(1)
c:RegisterEffect(e4)
--activate limit --activate limit
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(81012063,1)) e6:SetDescription(aux.Stringid(m,1))
e6:SetType(EFFECT_TYPE_QUICK_O) e6:SetType(EFFECT_TYPE_QUICK_O)
e6:SetCode(EVENT_FREE_CHAIN) e6:SetCode(EVENT_FREE_CHAIN)
e6:SetRange(LOCATION_MZONE) e6:SetRange(LOCATION_MZONE)
e6:SetHintTiming(0,TIMING_DRAW_PHASE) e6:SetHintTiming(0,TIMING_DRAW_PHASE)
e6:SetCountLimit(1,81012963) e6:SetCountLimit(1,m+900)
e6:SetCost(c81012063.actcost) e6:SetCost(cm.actcost)
e6:SetOperation(c81012063.actop) e6:SetOperation(cm.actop)
c:RegisterEffect(e6) c:RegisterEffect(e6)
end end
function c81012063.matfilter(c) function cm.matfilter(c)
return c:IsLinkRace(RACE_PYRO) and c:IsLinkType(TYPE_PENDULUM) and c:IsLevelAbove(8) return c:IsLinkRace(RACE_PYRO) and c:IsLinkType(TYPE_PENDULUM) and c:IsLevelAbove(8)
end end
function c81012063.regcon(e,tp,eg,ep,ev,re,r,rp) function cm.regcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) and e:GetLabel()==1 return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) and e:GetLabel()==1
end end
function c81012063.regop(e,tp,eg,ep,ev,re,r,rp) function cm.regop(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(81012063,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(81012063,2)) e:GetHandler():RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,2))
end end
function c81012063.valfilter(c) function cm.valfilter(c)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM)
end end
function c81012063.valcheck(e,c) function cm.valcheck(e,c)
local g=c:GetMaterial() local g=c:GetMaterial()
if g:IsExists(c81012063.valfilter,1,nil) then if g:IsExists(cm.valfilter,1,nil) then
e:GetLabelObject():SetLabel(1) e:GetLabelObject():SetLabel(1)
else else
e:GetLabelObject():SetLabel(0) e:GetLabelObject():SetLabel(0)
end end
end end
function c81012063.tgcon(e) function cm.tgcon(e)
return e:GetHandler():GetFlagEffect(81012063)>0 return e:GetHandler():GetFlagEffect(m)>0
end end
function c81012063.efilter(e,te) function cm.efilter(e,te)
return te:GetOwner()~=e:GetOwner() return te:GetOwner()~=e:GetOwner()
end end
function c81012063.filter(c) function cm.filter(c)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsRace(RACE_PYRO) return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsRace(RACE_PYRO)
end end
function c81012063.cfilter(c) function cm.cfilter(c)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM)
end end
function c81012063.actcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.actcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c81012063.cfilter,1,nil) end if chk==0 then return Duel.CheckReleaseGroup(tp,cm.cfilter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c81012063.cfilter,1,1,nil) local g=Duel.SelectReleaseGroup(tp,cm.cfilter,1,1,nil)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
end end
function c81012063.actop(e,tp,eg,ep,ev,re,r,rp) function cm.actop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE) e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetTargetRange(0,1) e2:SetTargetRange(0,1)
e2:SetValue(c81012063.aclimit) e2:SetValue(cm.aclimit)
e2:SetReset(RESET_PHASE+PHASE_END) e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c81012063.aclimit(e,re,tp) function cm.aclimit(e,re,tp)
local loc=re:GetActivateLocation() local loc=re:GetActivateLocation()
return (loc==LOCATION_SZONE and not re:IsHasType(EFFECT_TYPE_ACTIVATE)) or (loc==LOCATION_MZONE and re:IsActiveType(TYPE_MONSTER)) return (loc==LOCATION_SZONE and not re:IsHasType(EFFECT_TYPE_ACTIVATE)) or (loc==LOCATION_MZONE and re:IsActiveType(TYPE_MONSTER))
end end
--假日散步·双叶 --假日散步·双叶
function c81012070.initial_effect(c) local m=81012070
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,c81012070.matfilter,1,1) aux.AddLinkProcedure(c,cm.matfilter,1,1)
--cannot be link material Tenka.PyroLink(c)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e0:SetValue(1)
c:RegisterEffect(e0)
--extra pendulum --extra pendulum
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_IGNITION) e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_MZONE) e5:SetRange(LOCATION_MZONE)
e5:SetCountLimit(1,81012070+EFFECT_COUNT_CODE_DUEL) e5:SetCountLimit(1,m+EFFECT_COUNT_CODE_DUEL)
e5:SetCost(c81012070.expcost) e5:SetCost(cm.expcost)
e5:SetOperation(c81012070.expop) e5:SetOperation(cm.expop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c81012070.matfilter(c) function cm.matfilter(c)
return c:IsLinkType(TYPE_RITUAL) and c:IsLinkType(TYPE_PENDULUM) and c:GetOriginalLevel()>7 return c:IsLinkType(TYPE_RITUAL) and c:IsLinkType(TYPE_PENDULUM) and c:GetOriginalLevel()>7
end end
function c81012070.costfilter(c,tp,mc) function cm.costfilter(c,tp,mc)
local lg=mc:GetLinkedGroup() local lg=mc:GetLinkedGroup()
return lg:IsContains(c) and c:IsAbleToRemoveAsCost() and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) return lg:IsContains(c) and c:IsAbleToRemoveAsCost() and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM)
end end
function c81012070.expcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.expcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c81012070.costfilter,tp,LOCATION_MZONE,0,1,c,tp,c) if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_MZONE,0,1,c,tp,c)
and c:IsAbleToRemoveAsCost() end and c:IsAbleToRemoveAsCost() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c81012070.costfilter,tp,LOCATION_MZONE,0,1,1,c,tp,c) local g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_MZONE,0,1,1,c,tp,c)
g:AddCard(c) g:AddCard(c)
Duel.Remove(g,POS_FACEUP,REASON_COST) Duel.Remove(g,POS_FACEUP,REASON_COST)
end end
function c81012070.expop(e,tp,eg,ep,ev,re,r,rp) function cm.expop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(81012070,4)) e1:SetDescription(aux.Stringid(m,4))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_EXTRA_PENDULUM_SUMMON) e1:SetCode(EFFECT_EXTRA_PENDULUM_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(c81012070.pendvalue) e1:SetValue(cm.pendvalue)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c81012070.pendvalue(e,c) function cm.pendvalue(e,c)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM)
end end
--青梅竹马·爱米莉 --青梅竹马·爱米莉
function c81012074.initial_effect(c) local m=81012074
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2,2) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2,2)
c:EnableReviveLimit() c:EnableReviveLimit()
Tenka.PyroLink(c)
--remove --remove
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(81012074,0)) e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_REMOVE) e2:SetCategory(CATEGORY_REMOVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,81012074) e2:SetCountLimit(1,m)
e2:SetTarget(c81012074.target) e2:SetTarget(cm.target)
e2:SetOperation(c81012074.operation) e2:SetOperation(cm.operation)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--atkup --atkup
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(81012074,1)) e3:SetDescription(aux.Stringid(m,1))
e3:SetCategory(CATEGORY_ATKCHANGE) e3:SetCategory(CATEGORY_ATKCHANGE)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BATTLE_START) e3:SetCode(EVENT_BATTLE_START)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,81012974) e3:SetCountLimit(1,m+900)
e3:SetCondition(c81012074.atkcon) e3:SetCondition(cm.atkcon)
e3:SetCost(c81012074.atkcost) e3:SetCost(cm.atkcost)
e3:SetOperation(c81012074.atkop) e3:SetOperation(cm.atkop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c81012074.rmfilter(c) function cm.rmfilter(c)
return c:IsRace(RACE_PYRO) and c:IsAbleToRemove() return c:IsRace(RACE_PYRO) and c:IsAbleToRemove()
end end
function c81012074.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c81012074.rmfilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and cm.rmfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c81012074.rmfilter,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(cm.rmfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,c81012074.rmfilter,tp,LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectTarget(tp,cm.rmfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
end end
function c81012074.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.Remove(tc,0,REASON_EFFECT+REASON_TEMPORARY)~=0 then if tc:IsRelateToEffect(e) and Duel.Remove(tc,0,REASON_EFFECT+REASON_TEMPORARY)~=0 then
...@@ -50,8 +54,8 @@ function c81012074.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,8 +54,8 @@ function c81012074.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EVENT_PHASE+PHASE_STANDBY) e1:SetCode(EVENT_PHASE+PHASE_STANDBY)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetLabelObject(tc) e1:SetLabelObject(tc)
e1:SetCondition(c81012074.retcon) e1:SetCondition(cm.retcon)
e1:SetOperation(c81012074.retop) e1:SetOperation(cm.retop)
if Duel.GetTurnPlayer()==tp and Duel.GetCurrentPhase()==PHASE_STANDBY then if Duel.GetTurnPlayer()==tp and Duel.GetCurrentPhase()==PHASE_STANDBY then
e1:SetReset(RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN,2) e1:SetReset(RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN,2)
e1:SetValue(Duel.GetTurnCount()) e1:SetValue(Duel.GetTurnCount())
...@@ -63,31 +67,31 @@ function c81012074.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,31 +67,31 @@ function c81012074.operation(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterFlagEffect(81012975,RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN,0,ct) tc:RegisterFlagEffect(81012975,RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN,0,ct)
end end
end end
function c81012074.retcon(e,tp,eg,ep,ev,re,r,rp) function cm.retcon(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetTurnPlayer()~=tp or Duel.GetTurnCount()==e:GetValue() then return false end if Duel.GetTurnPlayer()~=tp or Duel.GetTurnCount()==e:GetValue() then return false end
return e:GetLabelObject():GetFlagEffect(81012975)~=0 return e:GetLabelObject():GetFlagEffect(81012975)~=0
end end
function c81012074.retop(e,tp,eg,ep,ev,re,r,rp) function cm.retop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject() local tc=e:GetLabelObject()
Duel.ReturnToField(tc) Duel.ReturnToField(tc)
end end
function c81012074.atkcon(e,tp,eg,ep,ev,re,r,rp) function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetAttacker() local tc=Duel.GetAttacker()
if tc:IsControler(1-tp) then tc=Duel.GetAttackTarget() end if tc:IsControler(1-tp) then tc=Duel.GetAttackTarget() end
e:SetLabelObject(tc) e:SetLabelObject(tc)
return tc and tc:IsControler(tp) and tc:IsRace(RACE_PYRO) and tc:IsRelateToBattle() and Duel.GetAttackTarget()~=nil return tc and tc:IsControler(tp) and tc:IsRace(RACE_PYRO) and tc:IsRelateToBattle() and Duel.GetAttackTarget()~=nil
end end
function c81012074.atkfilter(c) function cm.atkfilter(c)
return c:IsType(TYPE_PENDULUM) and c:IsType(TYPE_RITUAL) and c:GetAttack()>0 and c:IsDiscardable() return c:IsType(TYPE_PENDULUM) and c:IsType(TYPE_RITUAL) and c:GetAttack()>0 and c:IsDiscardable()
end end
function c81012074.atkcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c81012074.atkfilter,tp,LOCATION_HAND,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.atkfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,c81012074.atkfilter,tp,LOCATION_HAND,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.atkfilter,tp,LOCATION_HAND,0,1,1,nil)
e:SetLabel(g:GetFirst():GetAttack()) e:SetLabel(g:GetFirst():GetAttack())
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD) Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
end end
function c81012074.atkop(e,tp,eg,ep,ev,re,r,rp) function cm.atkop(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 tc=e:GetLabelObject() local tc=e:GetLabelObject()
if tc:IsRelateToBattle() and tc:IsFaceup() and tc:IsControler(tp) then if tc:IsRelateToBattle() and tc:IsFaceup() and tc:IsControler(tp) then
......
--秋夜花火·爱米莉 --秋夜花火·爱米莉
local m=81012087 local m=81012087
local cm=_G["c"..m] local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c) function cm.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,cm.mfilter,1,1) aux.AddLinkProcedure(c,cm.mfilter,1,1)
c:EnableReviveLimit() c:EnableReviveLimit()
Tenka.PyroLink(c)
-- --
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE) e0:SetType(EFFECT_TYPE_SINGLE)
...@@ -25,13 +27,6 @@ function cm.initial_effect(c) ...@@ -25,13 +27,6 @@ function cm.initial_effect(c)
e1:SetTarget(cm.sptg) e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop) e1:SetOperation(cm.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--cannot be link material
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e3:SetValue(1)
c:RegisterEffect(e3)
end end
function cm.mfilter(c) function cm.mfilter(c)
return c:IsLinkType(TYPE_PENDULUM) and c:IsLinkRace(RACE_PYRO) return c:IsLinkType(TYPE_PENDULUM) and c:IsLinkRace(RACE_PYRO)
......
--草莓芭菲·拉蒂 --草莓芭菲·拉蒂
local m=81022005 local m=81022005
local cm=_G["c"..m] local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c) function cm.initial_effect(c)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_PYRO),2) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_PYRO),2)
Tenka.PyroLink(c)
--token --token
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
......
--读书时间·理子 --读书时间·理子
local m=81022010 local m=81022010
local cm=_G["c"..m] local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c) function cm.initial_effect(c)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_PYRO),4,4) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_PYRO),4,4)
--cannot be link material Tenka.PyroLink(c)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e0:SetValue(1)
c:RegisterEffect(e0)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
......
--到站电车·拉蒂 --到站电车·拉蒂
local m=81022025 local m=81022025
local cm=_G["c"..m] local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c) function cm.initial_effect(c)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_PYRO),2,2) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_PYRO),2,2)
Tenka.PyroLink(c)
--summon success --summon success
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
......
...@@ -6,6 +6,7 @@ function cm.initial_effect(c) ...@@ -6,6 +6,7 @@ function cm.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,cm.mfilter,2) aux.AddLinkProcedure(c,cm.mfilter,2)
c:EnableReviveLimit() c:EnableReviveLimit()
Tenka.PyroLink(c)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
...@@ -30,13 +31,6 @@ function cm.initial_effect(c) ...@@ -30,13 +31,6 @@ function cm.initial_effect(c)
e2:SetTarget(cm.thtg) e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop) e2:SetOperation(cm.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--cannot be link material
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e3:SetValue(1)
c:RegisterEffect(e3)
end end
function cm.mfilter(c) function cm.mfilter(c)
return c:IsLinkType(TYPE_PENDULUM) and c:IsLinkRace(RACE_PYRO) return c:IsLinkType(TYPE_PENDULUM) and c:IsLinkRace(RACE_PYRO)
......
...@@ -6,6 +6,7 @@ function cm.initial_effect(c) ...@@ -6,6 +6,7 @@ function cm.initial_effect(c)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_PYRO),2) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_PYRO),2)
Tenka.PyroLink(c)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
......
...@@ -7,13 +7,7 @@ function cm.initial_effect(c) ...@@ -7,13 +7,7 @@ function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,cm.matfilter,2) aux.AddLinkProcedure(c,cm.matfilter,2)
Tenka.KoikakeLink(c) Tenka.KoikakeLink(c)
--cannot link material Tenka.PyroLink(c)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e0:SetValue(1)
c:RegisterEffect(e0)
--Negate --Negate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY) e1:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
......
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