Commit 22593c08 authored by 聖園ミカ's avatar 聖園ミカ 🐟

man!

parent 79c34e18
Pipeline #32331 passed with stage
in 11 minutes and 28 seconds
No preview for this file type
...@@ -1761,12 +1761,6 @@ ...@@ -1761,12 +1761,6 @@
60153101 0 --甜食派对 百江渚 60153101 0 --甜食派对 百江渚
60153104 0 --淘气精灵 百江渚 60153104 0 --淘气精灵 百江渚
60153105 0 --梦游亡灵 百江渚 60153105 0 --梦游亡灵 百江渚
60153201 0 --器灵·赤炎焚天剑
60153202 0 --器灵·深海水晶珠
60153203 0 --器灵·天风旋舞扇
60153204 0 --器灵·大地岩石盾
60153205 0 --器灵·电闪雷鸣锤
60153206 0 --器灵·幽月暗影刃
60159907 0 --极夜的龙骑士 60159907 0 --极夜的龙骑士
60159912 1 --连锁束缚 60159912 1 --连锁束缚
60159914 0 --地狱使者比尔姬 60159914 0 --地狱使者比尔姬
......
--便车小蓝!
function c18017501.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(18017501,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetRange(LOCATION_HAND)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,18017501)
e1:SetCondition(c18017501.spcon)
e1:SetTarget(c18017501.sptg)
e1:SetOperation(c18017501.spop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(18017501,1))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetHintTiming(TIMING_SPSUMMON,TIMING_BATTLE_START)
e3:SetCountLimit(1,18117501)
e3:SetCondition(c18017501.spcon2)
e3:SetTarget(c18017501.sptg2)
e3:SetOperation(c18017501.spop2)
c:RegisterEffect(e3)
end
function c18017501.spfilter(c,tp)
return c:IsRace(RACE_DRAGON) and c:IsType(TYPE_MONSTER) and c:IsSummonPlayer(tp) and c:IsFaceup()
end
function c18017501.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c18017501.spfilter,1,nil,tp)
end
function c18017501.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsPlayerCanDiscardDeck(tp,3) end
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,3)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c18017501.spop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) and Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP)>0 then
Duel.DiscardDeck(tp,3,REASON_EFFECT)
end
end
function c18017501.spcon2(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE)
end
function c18017501.spfilter2(c,e,tp)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:IsAttack(2600) and c:IsDefense(1600) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c18017501.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToHand()
and Duel.GetMZoneCount(tp,c)>0
and Duel.IsExistingMatchingCard(c18017501.spfilter2,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c18017501.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SendtoHand(c,nil,REASON_EFFECT)~=0
and c:IsLocation(LOCATION_HAND) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c18017501.spfilter2),tp,LOCATION_HAND+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
--僵尸小蓝!
function c18017502.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(18017502,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,18017502)
e1:SetTarget(c18017502.sptg)
e1:SetOperation(c18017502.spop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(18017502,1))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetHintTiming(TIMING_SPSUMMON,TIMING_BATTLE_START)
e3:SetCountLimit(1,18117502)
e3:SetCondition(c18017502.spcon2)
e3:SetTarget(c18017502.sptg2)
e3:SetOperation(c18017502.spop2)
c:RegisterEffect(e3)
end
function c18017502.filter(c,e,tp)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:IsDefense(1600) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c18017502.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c18017502.filter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c18017502.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c18017502.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c18017502.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
function c18017502.spcon2(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE)
end
function c18017502.spfilter(c,e,tp)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:IsAttack(2600) and c:IsDefense(1600) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c18017502.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToHand()
and Duel.GetMZoneCount(tp,c)>0
and Duel.IsExistingMatchingCard(c18017502.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c18017502.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SendtoHand(c,nil,REASON_EFFECT)~=0
and c:IsLocation(LOCATION_HAND) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c18017502.spfilter),tp,LOCATION_HAND+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
--出口小蓝!
function c18017503.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(18017503,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetRange(LOCATION_HAND)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,18017503)
e1:SetCondition(c18017503.spcon)
e1:SetTarget(c18017503.sptg)
e1:SetOperation(c18017503.spop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(18017503,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(TIMING_SPSUMMON,TIMING_BATTLE_START)
e2:SetCountLimit(1,18117503)
e2:SetCondition(c18017503.spcon2)
e2:SetTarget(c18017503.sptg2)
e2:SetOperation(c18017503.spop2)
c:RegisterEffect(e2)
end
function c18017503.cfilter(c)
return c:IsPreviousLocation(LOCATION_DECK)
end
function c18017503.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c18017503.cfilter,1,nil)
end
function c18017503.spfilter(c,e,tp)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:IsDefense(1600) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c18017503.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsStatus(STATUS_CHAINING)
and not Duel.IsPlayerAffectedByEffect(tp,59822133)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingMatchingCard(c18017503.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,e:GetHandler(),e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c18017503.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<2 or not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c18017503.spfilter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,e:GetHandler(),e,tp)
if g:GetCount()==0 then return end
g:AddCard(c)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
function c18017503.spcon2(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE)
end
function c18017503.spfilter(c,e,tp)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:IsAttack(2600) and c:IsDefense(1600) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c18017503.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToHand()
and Duel.GetMZoneCount(tp,c)>0
and Duel.IsExistingMatchingCard(c18017503.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c18017503.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SendtoHand(c,nil,REASON_EFFECT)~=0
and c:IsLocation(LOCATION_HAND) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c18017503.spfilter),tp,LOCATION_HAND+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
--卫兵小蓝
function c18017504.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(18017504,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetRange(LOCATION_HAND)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,18017504)
e1:SetCondition(c18017504.spcon)
e1:SetTarget(c18017504.sptg)
e1:SetOperation(c18017504.spop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(18017504,1))
e2:SetCategory(CATEGORY_DECKDES)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,18117504)
e2:SetCondition(c18017504.tgcon)
e2:SetTarget(c18017504.tgtg)
e2:SetOperation(c18017504.tgop)
c:RegisterEffect(e2)
end
function c18017504.cfilter(c)
return c:IsPreviousLocation(LOCATION_DECK)
end
function c18017504.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c18017504.cfilter,1,nil)
end
function c18017504.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c18017504.spfilter(c,e,tp)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:IsDefense(1600) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c18017504.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(c18017504.spfilter),tp,LOCATION_GRAVE,0,nil,e,tp)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(18017504,2)) then
Duel.BreakEffect()
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
end
function c18017504.tgcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end
function c18017504.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3) end
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,3)
end
function c18017504.filter(c)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:IsAttack(2600) and c:IsDefense(1600)
end
function c18017504.tgop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,3)
Duel.DisableShuffleCheck()
if Duel.SendtoGrave(g,REASON_EFFECT)~=0 and g:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE)
and Duel.IsExistingMatchingCard(c18017504.filter,tp,LOCATION_GRAVE,0,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(18017504,3)) then
Duel.BreakEffect()
Duel.DiscardDeck(tp,3,REASON_EFFECT)
end
end
\ No newline at end of file
--尖兵小蓝
function c18017505.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(18017505,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetRange(LOCATION_HAND)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,18017505)
e1:SetCondition(c18017505.spcon)
e1:SetTarget(c18017505.sptg)
e1:SetOperation(c18017505.spop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(18017505,1))
e2:SetCategory(CATEGORY_DECKDES)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetCountLimit(1,18117505)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCondition(c18017505.tgcon)
e2:SetTarget(c18017505.tgtg)
e2:SetOperation(c18017505.tgop)
c:RegisterEffect(e2)
end
function c18017505.cfilter(c)
return c:IsPreviousLocation(LOCATION_DECK)
end
function c18017505.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c18017505.cfilter,1,nil)
end
function c18017505.tfilter(c)
return c:IsSummonType(SUMMON_TYPE_SPECIAL) and c:IsAbleToHand()
end
function c18017505.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and c18017505.tfilter(chkc) end
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingTarget(c18017505.tfilter,tp,0,LOCATION_MZONE,1,nil)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,c18017505.tfilter,tp,0,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c18017505.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsAbleToHand() then
Duel.BreakEffect()
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
end
function c18017505.tgcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end
function c18017505.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3) end
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,3)
end
function c18017505.sfilter(c)
return c:IsType(TYPE_TRAP) and c:IsSSetable()
end
function c18017505.filter(c)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:IsAttack(2600) and c:IsDefense(1600)
end
function c18017505.tgop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,3)
Duel.DisableShuffleCheck()
if Duel.SendtoGrave(g,REASON_EFFECT)~=0 and g:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE)
and Duel.IsExistingMatchingCard(c18017505.filter,tp,LOCATION_GRAVE,0,1,nil) then
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(c18017505.sfilter),tp,LOCATION_GRAVE,0,nil)
if #g>0 and Duel.SelectYesNo(tp,aux.Stringid(18017505,2)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local sg=g:Select(tp,1,1,nil)
Duel.SSet(tp,sg)
end
end
end
\ No newline at end of file
--小蓝!
function c18017506.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(18017506,0))
e1:SetCategory(CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,18017506)
e1:SetTarget(c18017506.ddtg)
e1:SetOperation(c18017506.ddop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(18017506,1))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetHintTiming(TIMING_SPSUMMON,TIMING_BATTLE_START)
e3:SetCountLimit(1,18117506)
e3:SetCondition(c18017506.spcon2)
e3:SetTarget(c18017506.sptg2)
e3:SetOperation(c18017506.spop2)
c:RegisterEffect(e3)
end
function c18017506.ddtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3) end
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,3)
end
function c18017506.ddop(e,tp,eg,ep,ev,re,r,rp)
Duel.DiscardDeck(tp,3,REASON_EFFECT)
end
function c18017506.spcon2(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE)
end
function c18017506.spfilter(c,e,tp)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:IsAttack(2600) and c:IsDefense(1600) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c18017506.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToHand()
and Duel.GetMZoneCount(tp,c)>0
and Duel.IsExistingMatchingCard(c18017506.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c18017506.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SendtoHand(c,nil,REASON_EFFECT)~=0
and c:IsLocation(LOCATION_HAND) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c18017506.spfilter),tp,LOCATION_HAND+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
--大蓝!
function c18017507.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(18017507,0))
e1:SetCategory(CATEGORY_TODECK)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,18017507)
e1:SetTarget(c18017507.tdtg)
e1:SetOperation(c18017507.tdop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(18017507,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(TIMING_SPSUMMON,TIMING_BATTLE_START)
e2:SetCountLimit(1,18117507)
e2:SetTarget(c18017507.sptg2)
e2:SetOperation(c18017507.spop2)
c:RegisterEffect(e2)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(18017507,2))
e2:SetCategory(CATEGORY_DECKDES)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetCountLimit(1,18217507)
e2:SetCondition(c18017507.tgcon)
e2:SetTarget(c18017507.tgtg)
e2:SetOperation(c18017507.tgop)
c:RegisterEffect(e2)
end
function c18017507.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsAbleToDeck() end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
end
function c18017507.tdop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoDeck(tc,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
end
function c18017507.spfilter(c,e,tp)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:IsDefense(1600) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c18017507.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToHand()
and Duel.GetMZoneCount(tp,c)>0
and Duel.IsExistingMatchingCard(c18017507.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c18017507.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SendtoHand(c,nil,REASON_EFFECT)~=0
and c:IsLocation(LOCATION_HAND) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c18017507.spfilter),tp,LOCATION_HAND+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
function c18017507.tgcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsReason(REASON_EFFECT)
end
function c18017507.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3) end
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,3)
end
function c18017507.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.DiscardDeck(tp,3,REASON_EFFECT)
end
\ No newline at end of file
--饶舌小蓝
function c18017508.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(18017508,0))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,18017508+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c18017508.spcon)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(18017508,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(TIMING_SPSUMMON,TIMING_BATTLE_START)
e2:SetCountLimit(1,18117508)
e2:SetCondition(c18017508.spcon2)
e2:SetTarget(c18017508.sptg2)
e2:SetOperation(c18017508.spop2)
c:RegisterEffect(e2)
end
function c18017508.filter(c)
return c:IsRace(RACE_DRAGON) and c:IsAttribute(ATTRIBUTE_WATER) and c:GetBaseDefense()==1600 and c:IsFaceup()
end
function c18017508.spcon(e,c)
if c==nil then return true end
return Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c18017508.filter,c:GetControler(),LOCATION_MZONE,0,1,nil)
end
function c18017508.spcon2(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE)
end
function c18017508.spfilter(c,e,tp)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:IsAttack(2600) and c:IsDefense(1600) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c18017508.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToHand()
and Duel.GetMZoneCount(tp,c)>0
and Duel.IsExistingMatchingCard(c18017508.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c18017508.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SendtoHand(c,nil,REASON_EFFECT)~=0
and c:IsLocation(LOCATION_HAND) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c18017508.spfilter),tp,LOCATION_HAND+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
--镜子小蓝!
function c18017509.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(18017509,0))
e1:SetCategory(CATEGORY_DECKDES+CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,18017509)
e1:SetTarget(c18017509.tgtg)
e1:SetOperation(c18017509.tgop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(18017509,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(TIMING_SPSUMMON,TIMING_BATTLE_START)
e2:SetCountLimit(1,18117509)
e2:SetCondition(c18017509.spcon2)
e2:SetTarget(c18017509.sptg2)
e2:SetOperation(c18017509.spop2)
c:RegisterEffect(e2)
end
function c18017509.tgfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
end
function c18017509.tgtg(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)
and Duel.IsPlayerCanDiscardDeck(tp,3)
and Duel.IsExistingMatchingCard(c18017509.tgfilter,tp,LOCATION_HAND,0,1,c) end
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,3)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c18017509.tgop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) and Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c18017509.tgfilter,tp,LOCATION_HAND,0,1,1,nil)
if #g>0 and Duel.SendtoGrave(g,REASON_EFFECT)>0 and g:GetFirst():IsLocation(LOCATION_GRAVE)
and Duel.IsPlayerCanDiscardDeck(tp,1) then
Duel.BreakEffect()
Duel.DiscardDeck(tp,3,REASON_EFFECT)
end
end
end
function c18017509.spcon2(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE)
end
function c18017509.spfilter(c,e,tp)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:IsAttack(2600) and c:IsDefense(1600) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c18017509.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToHand()
and Duel.GetMZoneCount(tp,c)>0
and Duel.IsExistingMatchingCard(c18017509.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c18017509.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SendtoHand(c,nil,REASON_EFFECT)~=0
and c:IsLocation(LOCATION_HAND) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c18017509.spfilter),tp,LOCATION_HAND+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
--洗衣机小蓝
function c18017510.initial_effect(c)
aux.AddXyzProcedure(c,nil,2,2)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(18017510,0))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,18017510)
e1:SetTarget(c18017510.mattg)
e1:SetOperation(c18017510.matop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(c18017510.atkval)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(18017510,1))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetHintTiming(TIMING_SPSUMMON,TIMING_BATTLE_START)
e3:SetCountLimit(1,18117510)
e3:SetTarget(c18017510.sptg2)
e3:SetOperation(c18017510.spop2)
c:RegisterEffect(e3)
end
function c18017510.xyzfilter(c,tid)
return c:GetTurnID()==tid and c:IsCanOverlay()
end
function c18017510.mattg(e,tp,eg,ep,ev,re,r,rp,chk)
local tid=Duel.GetTurnCount()
if chk==0 then return e:GetHandler():IsType(TYPE_XYZ) and Duel.IsExistingMatchingCard(c18017510.xyzfilter,tp,LOCATION_GRAVE,0,3,nil,tid) end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,3,0,0)
end
function c18017510.matop(e,tp,eg,ep,ev,re,r,rp)
local tid=Duel.GetTurnCount()
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local g=Duel.SelectMatchingCard(tp,c18017510.xyzfilter,tp,LOCATION_GRAVE,0,3,3,nil,tid)
if g:GetCount()>0 then
Duel.Overlay(c,g)
end
end
end
function c18017510.atkval(e,c)
return c:GetOverlayCount()*500
end
function c18017510.spfilter(c,e,tp)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:IsDefense(1600) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c18017510.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckRemoveOverlayCard(tp,1,0,3,REASON_EFFECT)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c18017510.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c18017510.check(g)
return g:FilterCount(Card.IsAbleToDeck,nil)==g:GetCount()
end
function c18017510.spop2(e,tp,eg,ep,ev,re,r,rp)
local dg=Duel.GetOverlayGroup(tp,1,0)
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(c18017510.spfilter),tp,LOCATION_HAND+LOCATION_GRAVE,0,nil,e,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
local sg=dg:SelectSubGroup(tp,c18017510.check,false,3,3)
if sg and Duel.SendtoDeck(sg,tp,2,REASON_EFFECT)~=0
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
--摔跤手小蓝
function c18017511.initial_effect(c)
aux.AddXyzProcedure(c,nil,2,3)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(18017511,0))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,18017511)
e1:SetTarget(c18017511.mattg)
e1:SetOperation(c18017511.matop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(c18017511.atkval)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(18017511,1))
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetHintTiming(0,TIMING_END_PHASE+TIMING_EQUIP)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,18117511)
e3:SetTarget(c18017511.destg)
e3:SetOperation(c18017511.desop)
c:RegisterEffect(e3)
end
function c18017511.xyzfilter(c,tid)
return c:GetTurnID()==tid and c:IsCanOverlay()
end
function c18017511.mattg(e,tp,eg,ep,ev,re,r,rp,chk)
local tid=Duel.GetTurnCount()
if chk==0 then return e:GetHandler():IsType(TYPE_XYZ) and Duel.IsExistingMatchingCard(c18017511.xyzfilter,tp,LOCATION_GRAVE,0,3,nil,tid) end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,3,0,0)
end
function c18017511.matop(e,tp,eg,ep,ev,re,r,rp)
local tid=Duel.GetTurnCount()
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local g=Duel.SelectMatchingCard(tp,c18017511.xyzfilter,tp,LOCATION_GRAVE,0,3,3,nil,tid)
if g:GetCount()>0 then
Duel.Overlay(c,g)
end
end
end
function c18017511.atkval(e,c)
return c:GetOverlayCount()*500
end
function c18017511.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() end
if chk==0 then return Duel.CheckRemoveOverlayCard(tp,1,0,3,REASON_EFFECT) and 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 c18017511.desop(e,tp,eg,ep,ev,re,r,rp)
local dg=Duel.GetOverlayGroup(tp,1,0)
local tc=Duel.GetFirstTarget()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
local sg=dg:SelectSubGroup(tp,c18017510.check,false,3,3)
if sg and Duel.SendtoDeck(sg,tp,2,REASON_EFFECT)~=0
and tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT)
end
end
\ No newline at end of file
--洗衣龙拳!
function c18017512.initial_effect(c)
aux.AddXyzProcedure(c,nil,7,3,c18017512.ovfilter,aux.Stringid(18017512,0),99,c18017512.xyzop)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(18017512,1))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,18017512)
e1:SetTarget(c18017512.mattg)
e1:SetOperation(c18017512.matop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(18017512,2))
e2:SetCategory(CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetCountLimit(1,EFFECT_COUNT_CODE_CHAIN)
e2:SetTarget(c18017512.destg)
e2:SetOperation(c18017512.desop)
c:RegisterEffect(e2)
end
function c18017512.ovfilter(c)
return c:IsFaceup() and c:IsRace(RACE_DRAGON) and c:IsAttribute(ATTRIBUTE_WATER) and c:IsAttackAbove(2600) and c:GetBaseDefense()==1600
end
function c18017512.xyzop(e,tp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,18017512)==0 end
Duel.RegisterFlagEffect(tp,18017512,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c18017512.xyzfilter(c,tid)
return c:GetTurnID()==tid and c:IsCanOverlay()
end
function c18017512.mattg(e,tp,eg,ep,ev,re,r,rp,chk)
local tid=Duel.GetTurnCount()
if chk==0 then return e:GetHandler():IsType(TYPE_XYZ) and Duel.IsExistingMatchingCard(c18017512.xyzfilter,tp,LOCATION_GRAVE,0,5,nil,tid) end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,5,0,0)
end
function c18017512.matop(e,tp,eg,ep,ev,re,r,rp)
local tid=Duel.GetTurnCount()
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local g=Duel.SelectMatchingCard(tp,c18017512.xyzfilter,tp,LOCATION_GRAVE,0,5,5,nil,tid)
if g:GetCount()>0 then
Duel.Overlay(c,g)
end
end
end
function c18017512.tgfilter(c)
return c:IsFaceup() and c:IsAbleToDeck()
end
function c18017512.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local c=e:GetHandler()
if not Duel.CheckRemoveOverlayCard(tp,1,0,3,REASON_EFFECT) then return false end
local g=Duel.GetOverlayGroup(tp,1,0)
local ct=Duel.GetMatchingGroupCount(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
return g:CheckSubGroup(c18017512.check,3,3,ct)
end
Duel.SetChainLimit(c18017512.chainlm)
end
function c18017512.chainlm(re,rp,tp)
return not (re:GetHandler():GetOriginalCode()==18017512)
end
function c18017512.check(g,ct)
local d=0
if g:IsExists(Card.IsType,1,nil,TYPE_MONSTER) then d=d+1 end
if g:IsExists(Card.IsType,1,nil,TYPE_SPELL) then d=d+1 end
if g:IsExists(Card.IsType,1,nil,TYPE_TRAP) then d=d+1 end
return d<=ct and g:FilterCount(Card.IsAbleToDeck,nil)==g:GetCount()
end
function c18017512.ccfilter(c)
return bit.band(c:GetType(),0x7)
end
function c18017512.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or not c:CheckRemoveOverlayCard(tp,1,REASON_EFFECT) then return end
local g=Duel.GetOverlayGroup(tp,1,0)
local ct=Duel.GetMatchingGroupCount(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
local sg=g:SelectSubGroup(tp,c18017512.check,false,3,3,ct)
if not sg then return end
local d=sg:GetClassCount(c18017512.ccfilter)
Duel.SendtoDeck(sg,tp,2,REASON_EFFECT)
Duel.RaiseSingleEvent(c,EVENT_DETACH_MATERIAL,e,0,0,0,0)
if d>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,d,d,nil)
if #g>0 then
Duel.HintSelection(g)
Duel.Destroy(g,REASON_EFFECT)
end
end
end
\ No newline at end of file
--增殖的小蓝!
function c18017513.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:SetDescription(aux.Stringid(18017513,0))
e2:SetCategory(CATEGORY_DECKDES)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,18017513)
e2:SetTarget(c18017513.distg)
e2:SetOperation(c18017513.disop)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(18017513,1))
e4:SetCategory(CATEGORY_TOHAND)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_GRAVE)
e4:SetCountLimit(1,18117513)
e4:SetTarget(c18017513.settg)
e4:SetOperation(c18017513.setop)
c:RegisterEffect(e4)
end
function c18017513.disfilter(c)
return c:IsRace(RACE_DRAGON) and c:IsAttribute(ATTRIBUTE_WATER) and c:GetBaseDefense()==1600 and c:IsFaceup()
end
function c18017513.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3)
and Duel.IsExistingMatchingCard(c18017513.disfilter,tp,LOCATION_ONFIELD,0,1,nil) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(3)
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,3)
end
function c18017513.disop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.DiscardDeck(p,d,REASON_EFFECT)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetTargetRange(0,LOCATION_MZONE)
e1:SetValue(-500)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c18017513.thfilter(c)
return c:IsRace(RACE_DRAGON) and c:IsAttribute(ATTRIBUTE_WATER) and c:GetBaseDefense()==1600 and c:IsAbleToHand()
end
function c18017513.settg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c18017513.thfilter(chkc) end
if chk==0 then return e:GetHandler():IsSSetable()
and Duel.IsExistingTarget(c18017513.thfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,c18017513.thfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c18017513.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0
and tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
\ No newline at end of file
--小蓝倒来!
function c18017514.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,18017514)
e1:SetTarget(c18017514.sptg)
e1:SetOperation(c18017514.spop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(18017514,1))
e2:SetCategory(CATEGORY_TOHAND)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,18117514)
e2:SetTarget(c18017514.settg)
e2:SetOperation(c18017514.setop)
c:RegisterEffect(e2)
end
function c18017514.filter(c,e,tp)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:IsDefense(1600) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c18017514.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c18017514.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c18017514.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,aux.NecroValleyFilter(c18017514.filter),tp,LOCATION_HAND+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 c18017514.thfilter(c)
return c:IsRace(RACE_DRAGON) and c:IsAttribute(ATTRIBUTE_WATER) and c:GetBaseDefense()==1600 and c:IsAbleToHand()
end
function c18017514.settg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c18017514.thfilter(chkc) end
if chk==0 then return e:GetHandler():IsSSetable()
and Duel.IsExistingTarget(c18017514.thfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,c18017514.thfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c18017514.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0
and tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
\ No newline at end of file
--洗衣盆小蓝!
function c18017515.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,18017515)
e1:SetOperation(c18017515.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(c18017515.atktg)
e2:SetValue(500)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(18017515,1))
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e3:SetRange(LOCATION_FZONE)
e3:SetCode(EVENT_TO_HAND)
e3:SetCountLimit(1,18117515)
e3:SetCondition(c18017515.descon)
e3:SetTarget(c18017515.destg)
e3:SetOperation(c18017515.desop)
c:RegisterEffect(e3)
end
function c18017515.filter(c)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:IsDefense(1600) and c:IsAbleToHand()
end
function c18017515.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c18017515.filter,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(18017515,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
function c18017515.atktg(e,c)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:GetBaseDefense()==1600
end
function c18017515.cfilter(c,tp)
return c:IsRace(RACE_DRAGON) and c:IsType(TYPE_MONSTER)
and c:IsPreviousLocation(LOCATION_MZONE) and c:IsPreviousPosition(POS_FACEUP) and c:IsControler(tp)
end
function c18017515.descon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c18017515.cfilter,1,nil,tp)
end
function c18017515.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() end
if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c18017515.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
\ No newline at end of file
--高足杯小蓝!
function c18017516.initial_effect(c)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(18017516,0))
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_SZONE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,18017516)
e1:SetTarget(c18017516.rmtg)
e1:SetOperation(c18017516.rmop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(18017516,1))
e2:SetCategory(CATEGORY_TOHAND)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,18117516)
e2:SetTarget(c18017516.settg)
e2:SetOperation(c18017516.setop)
c:RegisterEffect(e2)
end
function c18017516.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) end
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3) and Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,3)
end
function c18017516.filter(c)
return c:IsRace(RACE_DRAGON) and c:IsAttribute(ATTRIBUTE_WATER) and c:IsDefense(1600)
end
function c18017516.rmop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
Duel.DiscardDeck(tp,3,REASON_EFFECT)
local g=Duel.GetOperatedGroup()
if g:Filter(Card.IsLocation,nil,LOCATION_GRAVE):IsExists(c18017516.filter,1,nil) and tc:IsRelateToEffect(e) and Duel.SelectYesNo(tp,aux.Stringid(18017516,2)) then
Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)
end
end
function c18017516.thfilter(c)
return c:IsRace(RACE_DRAGON) and c:IsAttribute(ATTRIBUTE_WATER) and c:GetBaseDefense()==1600 and c:IsAbleToHand()
end
function c18017516.settg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c18017516.thfilter(chkc) end
if chk==0 then return e:GetHandler():IsSSetable()
and Duel.IsExistingTarget(c18017516.thfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,c18017516.thfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c18017516.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0
and tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
\ No newline at end of file
--致以辉煌的小蓝!
function c18017517.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING)
e1:SetCountLimit(1,18017517)
e1:SetCondition(c18017517.condition)
e1:SetTarget(c18017517.target)
e1:SetOperation(c18017517.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(18017517,1))
e2:SetCategory(CATEGORY_TOHAND)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,18117517)
e2:SetTarget(c18017517.settg)
e2:SetOperation(c18017517.setop)
c:RegisterEffect(e2)
end
function c18017517.filter(c)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_DRAGON) and c:GetBaseDefense()==1600 and c:IsFaceup()
end
function c18017517.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsChainNegatable(ev)
and Duel.IsExistingMatchingCard(c18017517.filter,tp,LOCATION_MZONE,0,1,nil)
end
function c18017517.target(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
end
function c18017517.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
end
end
function c18017517.thfilter(c)
return c:IsRace(RACE_DRAGON) and c:IsAttribute(ATTRIBUTE_WATER) and c:GetBaseDefense()==1600 and c:IsAbleToHand()
end
function c18017517.settg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c18017517.thfilter(chkc) end
if chk==0 then return e:GetHandler():IsSSetable()
and Duel.IsExistingTarget(c18017517.thfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,c18017517.thfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c18017517.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0
and tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
\ No newline at end of file
--拔螺丝小蓝!
function c18017518.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_POSITION+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(TIMING_BATTLE_PHASE,TIMINGS_CHECK_MONSTER+TIMING_BATTLE_PHASE)
e1:SetCountLimit(1,18017518)
e1:SetTarget(c18017518.target)
e1:SetOperation(c18017518.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(18017518,1))
e2:SetCategory(CATEGORY_TOHAND)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,18117518)
e2:SetTarget(c18017518.settg)
e2:SetOperation(c18017518.setop)
c:RegisterEffect(e2)
end
function c18017518.filter(c)
return c:IsFaceup() and c:IsCanTurnSet()
end
function c18017518.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c18017518.filter(chkc) and chkc:IsControler(1-tp) end
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3) and Duel.IsExistingTarget(c18017518.filter,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,c18017518.filter,tp,0,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,3)
end
function c18017518.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsLocation(LOCATION_MZONE) and tc:IsFaceup() then
if Duel.ChangePosition(tc,POS_FACEDOWN_DEFENSE)~=0 then
Duel.DiscardDeck(tp,3,REASON_EFFECT)
end
end
end
function c18017518.thfilter(c)
return c:IsRace(RACE_DRAGON) and c:IsAttribute(ATTRIBUTE_WATER) and c:GetBaseDefense()==1600 and c:IsAbleToHand()
end
function c18017518.settg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c18017518.thfilter(chkc) end
if chk==0 then return e:GetHandler():IsSSetable()
and Duel.IsExistingTarget(c18017518.thfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,c18017518.thfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c18017518.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0
and tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
\ No newline at end of file
--器灵·赤炎焚天剑
function c60153201.initial_effect(c)
--1效果
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60153201,0))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCondition(c60153201.e1con)
e1:SetOperation(c60153201.e1pop)
c:RegisterEffect(e1)
--2效果
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60153201,1))
e2:SetCategory(CATEGORY_HANDES+CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EVENT_BATTLE_DAMAGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCondition(c60153201.e2con)
e2:SetTarget(c60153201.e2tg)
e2:SetOperation(c60153201.e2op)
c:RegisterEffect(e2)
--3效果
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60153201,2))
e3:SetCategory(CATEGORY_REMOVE+CATEGORY_DAMAGE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetTarget(c60153201.e3tg)
e3:SetOperation(c60153201.e3op)
c:RegisterEffect(e3)
end
--1效果
function c60153201.e1conf(c)
return c:IsFaceup() and c:IsCode(60153218) and not c:IsDisabled()
end
function c60153201.e1con(e,c)
if c==nil then return true end
if c:IsHasEffect(EFFECT_NECRO_VALLEY) then return false end
local tp=c:GetControler()
if not Duel.IsExistingMatchingCard(c60153201.e1conf,tp,LOCATION_FZONE,0,1,nil) then
return Duel.CheckLPCost(tp,1000)
else
return true
end
end
function c60153201.e1pop(e,tp,eg,ep,ev,re,r,rp,c)
if not Duel.IsExistingMatchingCard(c60153201.e1conf,tp,LOCATION_FZONE,0,1,nil) then
Duel.PayLPCost(tp,1000)
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+0xff0000)
e1:SetValue(1)
c:RegisterEffect(e1)
local e3=e1:Clone()
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(c60153201.lim)
c:RegisterEffect(e3)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
c:RegisterEffect(e4)
local e5=e1:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e5)
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetReset(RESET_EVENT+0xff0000)
e7:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e7)
c:RegisterFlagEffect(0,RESET_EVENT+0xff0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(60153201,0))
end
function c60153201.lim(e,c,st)
return st==SUMMON_TYPE_FUSION
end
--2效果
function c60153201.e2con(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
return ep~=tp and tc:IsControler(tp)
end
function c60153201.e2tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0 end
Duel.SetOperationInfo(0,CATEGORY_HANDES,0,0,1-tp,1)
end
function c60153201.e2op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
if g:GetCount()==0 then return end
local sg=g:RandomSelect(1-tp,1)
Duel.SendtoGrave(sg,REASON_DISCARD+REASON_EFFECT)
local tc=sg:GetFirst()
if tc:IsType(TYPE_MONSTER) then
local atk=tc:GetBaseAttack()
if atk>0 then
Duel.Damage(1-tp,atk,REASON_EFFECT)
end
end
end
--3效果
function c60153201.e3tg(e,tp,eg,ep,ev,re,r,rp,chk)
local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,0,nil,tp,POS_FACEDOWN)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil,tp,POS_FACEDOWN)
if chk==0 then return g1:GetCount()>0 and g2:GetCount()>0 end
g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g1,2,0,0)
end
function c60153201.e3op(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,0,nil,tp,POS_FACEDOWN)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil,tp,POS_FACEDOWN)
if g1:GetCount()>0 and g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local dg1=g1:Select(tp,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local dg2=g2:Select(tp,1,1,nil)
dg1:Merge(dg2)
if dg1:GetCount()==2 then
Duel.HintSelection(dg1)
if Duel.Remove(dg1,POS_FACEDOWN,REASON_EFFECT)~=0 then
Duel.BreakEffect()
Duel.Damage(1-tp,1000,REASON_EFFECT)
end
end
end
end
\ No newline at end of file
--器灵·深海水晶珠
function c60153202.initial_effect(c)
--1效果
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60153202,0))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCondition(c60153202.e1con)
e1:SetOperation(c60153202.e1pop)
c:RegisterEffect(e1)
--2效果
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60153202,1))
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetOperation(c60153202.e2op)
c:RegisterEffect(e2)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(60153202,1))
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAIN_SOLVED)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c60153202.e4con)
e4:SetOperation(c60153202.e4op)
c:RegisterEffect(e4)
--3效果
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60153202,2))
e3:SetCategory(CATEGORY_REMOVE+CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetTarget(c60153202.e3tg)
e3:SetOperation(c60153202.e3op)
c:RegisterEffect(e3)
end
--1效果
function c60153202.e1conf(c)
return c:IsFaceup() and c:IsCode(60153218) and not c:IsDisabled()
end
function c60153202.e1con(e,c)
if c==nil then return true end
if c:IsHasEffect(EFFECT_NECRO_VALLEY) then return false end
local tp=c:GetControler()
if not Duel.IsExistingMatchingCard(c60153202.e1conf,tp,LOCATION_FZONE,0,1,nil) then
return Duel.CheckLPCost(tp,1000)
else
return true
end
end
function c60153202.e1pop(e,tp,eg,ep,ev,re,r,rp,c)
if not Duel.IsExistingMatchingCard(c60153202.e1conf,tp,LOCATION_FZONE,0,1,nil) then
Duel.PayLPCost(tp,1000)
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+0xff0000)
e1:SetValue(1)
c:RegisterEffect(e1)
local e3=e1:Clone()
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(c60153202.lim)
c:RegisterEffect(e3)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
c:RegisterEffect(e4)
local e5=e1:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e5)
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetReset(RESET_EVENT+0xff0000)
e7:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e7)
c:RegisterFlagEffect(0,RESET_EVENT+0xff0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(60153202,0))
end
function c60153202.lim(e,c,st)
return st==SUMMON_TYPE_FUSION
end
--2效果
function c60153202.e2op(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(60153202,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_CHAIN,0,1)
end
function c60153202.e4con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return ep~=tp and c:GetFlagEffect(60153202)~=0
end
function c60153202.e4op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,60153202)
Duel.Recover(tp,500,REASON_EFFECT)
end
--3效果
function c60153202.e3opf(c)
return c:IsSetCard(0x3b2a) and c:IsAbleToGrave()
end
function c60153202.e3tg(e,tp,eg,ep,ev,re,r,rp,chk)
local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,0,nil,tp,POS_FACEDOWN)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil,tp,POS_FACEDOWN)
if chk==0 then return g1:GetCount()>0 and g2:GetCount()>0 and Duel.IsExistingMatchingCard(c60153202.e3opf,tp,LOCATION_DECK,0,1,nil) end
g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g1,2,0,0)
end
function c60153202.e3op(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,0,nil,tp,POS_FACEDOWN)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil,tp,POS_FACEDOWN)
if g1:GetCount()>0 and g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local dg1=g1:Select(tp,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local dg2=g2:Select(tp,1,1,nil)
dg1:Merge(dg2)
if dg1:GetCount()==2 then
Duel.HintSelection(dg1)
if Duel.Remove(dg1,POS_FACEDOWN,REASON_EFFECT)~=0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c60153202.e3opf,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
end
end
end
\ No newline at end of file
--器灵·天风旋舞扇
function c60153203.initial_effect(c)
--1效果
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60153203,0))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCondition(c60153203.e1con)
e1:SetOperation(c60153203.e1pop)
c:RegisterEffect(e1)
--2效果
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(60153203,1))
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_BATTLE_DESTROYING)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1)
e4:SetTarget(c60153203.catg)
e4:SetOperation(c60153203.caop)
c:RegisterEffect(e4)
--3效果
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60153203,2))
e3:SetCategory(CATEGORY_REMOVE+CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetTarget(c60153203.e3tg)
e3:SetOperation(c60153203.e3op)
c:RegisterEffect(e3)
end
--1效果
function c60153203.e1conf(c)
return c:IsFaceup() and c:IsCode(60153218) and not c:IsDisabled()
end
function c60153203.e1con(e,c)
if c==nil then return true end
if c:IsHasEffect(EFFECT_NECRO_VALLEY) then return false end
local tp=c:GetControler()
if not Duel.IsExistingMatchingCard(c60153203.e1conf,tp,LOCATION_FZONE,0,1,nil) then
return Duel.CheckLPCost(tp,1000)
else
return true
end
end
function c60153203.e1pop(e,tp,eg,ep,ev,re,r,rp,c)
if not Duel.IsExistingMatchingCard(c60153203.e1conf,tp,LOCATION_FZONE,0,1,nil) then
Duel.PayLPCost(tp,1000)
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+0xff0000)
e1:SetValue(1)
c:RegisterEffect(e1)
local e3=e1:Clone()
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(c60153203.lim)
c:RegisterEffect(e3)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
c:RegisterEffect(e4)
local e5=e1:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e5)
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetReset(RESET_EVENT+0xff0000)
e7:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e7)
c:RegisterFlagEffect(0,RESET_EVENT+0xff0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(60153203,0))
end
function c60153203.lim(e,c,st)
return st==SUMMON_TYPE_FUSION
end
--2效果
function c60153203.afilter(c,tp)
return c:IsControler(tp) and c:IsChainAttackable()
end
function c60153203.catg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(c60153203.afilter,1,nil,tp) end
local a=eg:Filter(c60153203.afilter,nil,tp):GetFirst()
Duel.SetTargetCard(a)
end
function c60153203.caop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:GetFlagEffect(60153203)==0 then
tc:RegisterFlagEffect(60153203,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE,0,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_SET_ATTACK_FINAL)
e2:SetValue(tc:GetAttack()*2)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e2)
end
end
--3效果
function c60153203.e3opf(c)
return c:IsSetCard(0x3b2a) and c:IsAbleToHand()
end
function c60153203.e3tg(e,tp,eg,ep,ev,re,r,rp,chk)
local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,0,nil,tp,POS_FACEDOWN)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil,tp,POS_FACEDOWN)
if chk==0 then return g1:GetCount()>0 and g2:GetCount()>0 and Duel.IsExistingMatchingCard(c60153203.e3opf,tp,LOCATION_DECK,0,1,nil) end
g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g1,2,0,0)
end
function c60153203.e3op(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,0,nil,tp,POS_FACEDOWN)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil,tp,POS_FACEDOWN)
if g1:GetCount()>0 and g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local dg1=g1:Select(tp,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local dg2=g2:Select(tp,1,1,nil)
dg1:Merge(dg2)
if dg1:GetCount()==2 then
Duel.HintSelection(dg1)
if Duel.Remove(dg1,POS_FACEDOWN,REASON_EFFECT)~=0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c60153203.e3opf,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
end
end
end
\ No newline at end of file
--器灵·大地岩石盾
function c60153204.initial_effect(c)
--1效果
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60153204,0))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCondition(c60153204.e1con)
e1:SetOperation(c60153204.e1pop)
c:RegisterEffect(e1)
--2效果
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(60153204,1))
e4:SetCategory(CATEGORY_ATKCHANGE)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetRange(LOCATION_MZONE)
e4:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e4:SetCountLimit(1)
e4:SetTarget(c60153204.e4tg)
e4:SetOperation(c60153204.e4op)
c:RegisterEffect(e4)
--3效果
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60153204,2))
e3:SetCategory(CATEGORY_REMOVE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetTarget(c60153204.e3tg)
e3:SetOperation(c60153204.e3op)
c:RegisterEffect(e3)
end
--1效果
function c60153204.e1conf(c)
return c:IsFaceup() and c:IsCode(60153218) and not c:IsDisabled()
end
function c60153204.e1con(e,c)
if c==nil then return true end
if c:IsHasEffect(EFFECT_NECRO_VALLEY) then return false end
local tp=c:GetControler()
if not Duel.IsExistingMatchingCard(c60153204.e1conf,tp,LOCATION_FZONE,0,1,nil) then
return Duel.CheckLPCost(tp,1000)
else
return true
end
end
function c60153204.e1pop(e,tp,eg,ep,ev,re,r,rp,c)
if not Duel.IsExistingMatchingCard(c60153204.e1conf,tp,LOCATION_FZONE,0,1,nil) then
Duel.PayLPCost(tp,1000)
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+0xff0000)
e1:SetValue(1)
c:RegisterEffect(e1)
local e3=e1:Clone()
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(c60153204.lim)
c:RegisterEffect(e3)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
c:RegisterEffect(e4)
local e5=e1:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e5)
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetReset(RESET_EVENT+0xff0000)
e7:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e7)
c:RegisterFlagEffect(0,RESET_EVENT+0xff0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(60153204,0))
end
function c60153204.lim(e,c,st)
return st==SUMMON_TYPE_FUSION
end
--2效果
function c60153204.e4tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
end
function c60153204.e4op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(0)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e3=e1:Clone()
e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e3:SetValue(1)
tc:RegisterEffect(e3)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_MZONE)
e5:SetCode(EFFECT_IMMUNE_EFFECT)
e5:SetValue(c60153204.e4opf)
e5:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e5)
end
end
function c60153204.e4opf(e,te)
return te:GetOwnerPlayer()~=e:GetOwnerPlayer()
end
--3效果
function c60153204.e3tg(e,tp,eg,ep,ev,re,r,rp,chk)
local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,0,nil,tp,POS_FACEDOWN)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil,tp,POS_FACEDOWN)
if chk==0 then return g1:GetCount()>0 and g2:GetCount()>0 end
g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g1,2,0,0)
end
function c60153204.e3op(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,0,nil,tp,POS_FACEDOWN)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil,tp,POS_FACEDOWN)
if g1:GetCount()>0 and g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local dg1=g1:Select(tp,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local dg2=g2:Select(tp,1,1,nil)
dg1:Merge(dg2)
if dg1:GetCount()==2 then
Duel.HintSelection(dg1)
if Duel.Remove(dg1,POS_FACEDOWN,REASON_EFFECT)~=0 then
Duel.BreakEffect()
local ph=Duel.GetCurrentPhase()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SKIP_BP)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1)
if Duel.GetTurnPlayer()~=tp and ph>PHASE_MAIN1 and ph<PHASE_MAIN2 then
e1:SetLabel(Duel.GetTurnCount())
e1:SetCondition(c60153204.skipcon)
e1:SetReset(RESET_PHASE+PHASE_BATTLE+RESET_OPPO_TURN,2)
else
e1:SetReset(RESET_PHASE+PHASE_BATTLE+RESET_OPPO_TURN,1)
end
Duel.RegisterEffect(e1,tp)
end
end
end
end
function c60153204.skipcon(e)
return Duel.GetTurnCount()~=e:GetLabel()
end
--器灵·电闪雷鸣锤
function c60153205.initial_effect(c)
--1效果
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60153205,0))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCondition(c60153205.e1con)
e1:SetOperation(c60153205.e1pop)
c:RegisterEffect(e1)
--2效果
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60153205,1))
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetOperation(c60153205.e2op)
c:RegisterEffect(e2)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(60153205,1))
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAIN_SOLVED)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c60153205.e4con)
e4:SetOperation(c60153205.e4op)
c:RegisterEffect(e4)
--3效果
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60153205,2))
e3:SetCategory(CATEGORY_REMOVE+CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetTarget(c60153205.e3tg)
e3:SetOperation(c60153205.e3op)
c:RegisterEffect(e3)
end
--1效果
function c60153205.e1conf(c)
return c:IsFaceup() and c:IsCode(60153218) and not c:IsDisabled()
end
function c60153205.e1con(e,c)
if c==nil then return true end
if c:IsHasEffect(EFFECT_NECRO_VALLEY) then return false end
local tp=c:GetControler()
if not Duel.IsExistingMatchingCard(c60153205.e1conf,tp,LOCATION_FZONE,0,1,nil) then
return Duel.CheckLPCost(tp,1000)
else
return true
end
end
function c60153205.e1pop(e,tp,eg,ep,ev,re,r,rp,c)
if not Duel.IsExistingMatchingCard(c60153205.e1conf,tp,LOCATION_FZONE,0,1,nil) then
Duel.PayLPCost(tp,1000)
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+0xff0000)
e1:SetValue(1)
c:RegisterEffect(e1)
local e3=e1:Clone()
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(c60153205.lim)
c:RegisterEffect(e3)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
c:RegisterEffect(e4)
local e5=e1:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e5)
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetReset(RESET_EVENT+0xff0000)
e7:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e7)
c:RegisterFlagEffect(0,RESET_EVENT+0xff0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(60153205,0))
end
function c60153205.lim(e,c,st)
return st==SUMMON_TYPE_FUSION
end
--2效果
function c60153205.e2op(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(60153205,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_CHAIN,0,1)
end
function c60153205.e4con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return ep~=tp and c:GetFlagEffect(60153205)~=0
end
function c60153205.e4op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,60153205)
Duel.Damage(1-tp,500,REASON_EFFECT)
end
--3效果
function c60153205.rmfilter(c)
return c:IsFacedown() and c:IsAbleToRemove()
end
function c60153205.e3tg(e,tp,eg,ep,ev,re,r,rp,chk)
local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,0,nil,tp,POS_FACEDOWN)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil,tp,POS_FACEDOWN)
if chk==0 then return g1:GetCount()>0 and g2:GetCount()>0 and Duel.IsExistingMatchingCard(c60153205.rmfilter,tp,0,LOCATION_EXTRA,1,nil) end
g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g1,2,0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_EXTRA)
end
function c60153205.e3op(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,0,nil,tp,POS_FACEDOWN)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil,tp,POS_FACEDOWN)
if g1:GetCount()>0 and g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local dg1=g1:Select(tp,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local dg2=g2:Select(tp,1,1,nil)
dg1:Merge(dg2)
if dg1:GetCount()==2 then
Duel.HintSelection(dg1)
if Duel.Remove(dg1,POS_FACEDOWN,REASON_EFFECT)~=0 then
Duel.BreakEffect()
local g=Duel.GetMatchingGroup(c60153205.rmfilter,tp,0,LOCATION_EXTRA,nil)
if g:GetCount()==0 then return end
local tc=g:RandomSelect(tp,1):GetFirst()
Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)
end
end
end
end
\ No newline at end of file
--器灵·幽月暗影刃
function c60153206.initial_effect(c)
--1效果
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60153206,0))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCondition(c60153206.e1con)
e1:SetOperation(c60153206.e1pop)
c:RegisterEffect(e1)
--2效果
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(60153206,1))
e4:SetCategory(CATEGORY_REMOVE+CATEGORY_TOGRAVE)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e4:SetCountLimit(1)
e4:SetTarget(c60153206.e4tg)
e4:SetOperation(c60153206.e4op)
c:RegisterEffect(e4)
--3效果
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60153206,2))
e3:SetCategory(CATEGORY_REMOVE+CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetTarget(c60153206.e3tg)
e3:SetOperation(c60153206.e3op)
c:RegisterEffect(e3)
end
--1效果
function c60153206.e1conf(c)
return c:IsFaceup() and c:IsCode(60153218) and not c:IsDisabled()
end
function c60153206.e1con(e,c)
if c==nil then return true end
if c:IsHasEffect(EFFECT_NECRO_VALLEY) then return false end
local tp=c:GetControler()
if not Duel.IsExistingMatchingCard(c60153206.e1conf,tp,LOCATION_FZONE,0,1,nil) then
return Duel.CheckLPCost(tp,1000)
else
return true
end
end
function c60153206.e1pop(e,tp,eg,ep,ev,re,r,rp,c)
if not Duel.IsExistingMatchingCard(c60153206.e1conf,tp,LOCATION_FZONE,0,1,nil) then
Duel.PayLPCost(tp,1000)
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+0xff0000)
e1:SetValue(1)
c:RegisterEffect(e1)
local e3=e1:Clone()
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(c60153206.lim)
c:RegisterEffect(e3)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
c:RegisterEffect(e4)
local e5=e1:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e5)
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetReset(RESET_EVENT+0xff0000)
e7:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e7)
c:RegisterFlagEffect(0,RESET_EVENT+0xff0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(60153206,0))
end
function c60153206.lim(e,c,st)
return st==SUMMON_TYPE_FUSION
end
--2效果
function c60153206.e4tgf(c)
return (c:IsLocation(LOCATION_GRAVE) and c:IsAbleToRemove()) or c:IsLocation(LOCATION_REMOVED)
end
function c60153206.e4tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60153206.e4tgf,tp,LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_GRAVE+LOCATION_REMOVED,1,nil) end
local g=Duel.GetMatchingGroup(c60153206.e4tgf,tp,LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_GRAVE+LOCATION_REMOVED,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE+CATEGORY_TOGRAVE,g,1,0,0)
end
function c60153206.e4op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectMatchingCard(tp,c60153206.e4tgf,tp,LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_GRAVE+LOCATION_REMOVED,1,2,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
local tc=g:GetFirst()
while tc do
if tc:IsLocation(LOCATION_GRAVE) and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)~=0 then
if tc:IsLocation(LOCATION_REMOVED) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
elseif tc:IsLocation(LOCATION_REMOVED) and Duel.SendtoGrave(tc,REASON_EFFECT+REASON_RETURN)~=0 then
if tc:IsLocation(LOCATION_GRAVE) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
end
tc=g:GetNext()
end
end
end
--3效果
function c60153206.e3tgf(c)
return c:IsAbleToHand()
end
function c60153206.e3tg(e,tp,eg,ep,ev,re,r,rp,chk)
local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,0,nil,tp,POS_FACEDOWN)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil,tp,POS_FACEDOWN)
if chk==0 then return g1:GetCount()>0 and g2:GetCount()>0 and Duel.IsExistingMatchingCard(c60153206.e3tgf,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil) end
g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g1,2,0,0)
end
function c60153206.e3op(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,0,nil,tp,POS_FACEDOWN)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil,tp,POS_FACEDOWN)
if g1:GetCount()>0 and g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local dg1=g1:Select(tp,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local dg2=g2:Select(tp,1,1,nil)
dg1:Merge(dg2)
if dg1:GetCount()==2 then
Duel.HintSelection(dg1)
if Duel.Remove(dg1,POS_FACEDOWN,REASON_EFFECT)~=0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,c60153206.e3tgf,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
end
end
end
\ No newline at end of file
--魂器灵·时空永恒钟
function c60153207.initial_effect(c)
c:EnableReviveLimit()
--material
aux.AddFusionProcFunRep(c,c60153207.mfilter,2,true)
--spsum condition
aux.AddContactFusionProcedure(c,Card.IsReleasable,LOCATION_MZONE,0,Duel.Release,REASON_COST+REASON_MATERIAL)
--splimit
local e11=Effect.CreateEffect(c)
e11:SetType(EFFECT_TYPE_SINGLE)
e11:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e11:SetCode(EFFECT_SPSUMMON_CONDITION)
e11:SetValue(c60153207.splimit)
c:RegisterEffect(e11)
--1
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60153207,0))
e1:SetCategory(CATEGORY_LEAVE_GRAVE+CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c60153207.e1tg)
e1:SetOperation(c60153207.e1op)
c:RegisterEffect(e1)
--2
local e22=Effect.CreateEffect(c)
e22:SetDescription(aux.Stringid(60153207,1))
e22:SetType(EFFECT_TYPE_SINGLE)
e22:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e22:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e22:SetRange(LOCATION_MZONE)
e22:SetCondition(c60153207.indcon)
e22:SetValue(1)
c:RegisterEffect(e22)
local e33=e22:Clone()
e33:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
c:RegisterEffect(e33)
--3
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60153207,2))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCost(c60153207.e2cost)
e2:SetOperation(c60153207.e2op)
c:RegisterEffect(e2)
--cannot material
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e5:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e5:SetValue(c60153207.fuslimit)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e6:SetValue(1)
c:RegisterEffect(e6)
local e7=e6:Clone()
e7:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e7)
local e8=e6:Clone()
e8:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
c:RegisterEffect(e8)
end
function c60153207.fuslimit(e,c,sumtype)
return sumtype==SUMMON_TYPE_FUSION
end
function c60153207.mfilter(c,fc,sub,mg,sg)
return c:IsFusionSetCard(0x3b2a) and c:IsType(TYPE_MONSTER) and (not sg or not sg:IsExists(Card.IsCode,1,c,c:GetCode()))
end
function c60153207.splimit(e,se,sp,st)
return not e:GetHandler():IsLocation(LOCATION_EXTRA)
end
function c60153207.e1tgf(c)
return c:IsSetCard(0x3b2a) and c:IsType(TYPE_MONSTER) and not c:IsForbidden() and c:IsFaceup()
end
function c60153207.e1tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) and chkc:IsControler(tp) and c60153207.e1tgf(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c60153207.e1tgf,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectTarget(tp,c60153207.e1tgf,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
end
function c60153207.e1op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
if not Duel.Equip(tp,tc,c,false) then return end
local e11=Effect.CreateEffect(c)
e11:SetType(EFFECT_TYPE_SINGLE)
e11:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e11:SetCode(EFFECT_EQUIP_LIMIT)
e11:SetReset(RESET_EVENT+RESETS_STANDARD)
e11:SetValue(c60153207.eqlimit)
tc:RegisterEffect(e11)
local code=tc:GetOriginalCode()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(code)
e1:SetLabel(tp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
c:RegisterEffect(e1)
local cid=c:CopyEffect(code,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60153207,3))
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCountLimit(1)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c60153207.rstcon)
e2:SetOperation(c60153207.rstop)
e2:SetLabel(cid)
e2:SetLabelObject(e1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
c:RegisterEffect(e2)
tc:RegisterFlagEffect(60153207,RESET_EVENT+RESETS_STANDARD,0,1)
end
end
function c60153207.eqlimit(e,c)
return e:GetOwner()==c
end
function c60153207.rstcon(e,tp,eg,ep,ev,re,r,rp)
local e1=e:GetLabelObject()
return Duel.GetTurnPlayer()~=e1:GetLabel()
end
function c60153207.rstop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local cid=e:GetLabel()
c:ResetEffect(cid,RESET_COPY)
c:ResetEffect(RESET_DISABLE,RESET_EVENT)
local e1=e:GetLabelObject()
e1:Reset()
Duel.HintSelection(Group.FromCards(c))
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c60153207.indcon(e)
return e:GetHandler():GetEquipGroup():IsExists(Card.IsSetCard,1,nil,0x3b2a)
end
function c60153207.e2costf(c,tp)
return c:GetFlagEffect(60153207)~=0 and c:IsControler(tp) and c:IsLocation(LOCATION_SZONE)
end
function c60153207.e2cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local eqg=c:GetEquipGroup()
if chk==0 then return eqg:IsExists(c60153207.e2costf,1,nil,tp) and c:GetFlagEffect(60153207)==0 end
c:RegisterFlagEffect(60153207,RESET_CHAIN,0,1)
end
function c60153207.e2opf(c,tp)
return c:IsControler(1-tp)
end
function c60153207.e2op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local eqg=c:GetEquipGroup()
if eqg:GetCount()>0 then
local g=eqg:FilterSelect(tp,c60153207.e2costf,1,1,nil,tp)
local tc=g:GetFirst()
local g2=tc:GetColumnGroup()
local g3=g2:Filter(c60153207.e2opf,nil,tp)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_DISABLE)
e4:SetTargetRange(0,LOCATION_ONFIELD)
e4:SetTarget(c60153207.distg)
e4:SetReset(RESET_PHASE+PHASE_END)
e4:SetLabel(tc:GetSequence(),tc:GetFieldID())
Duel.RegisterEffect(e4,tp)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_CHAIN_SOLVING)
e5:SetOperation(c60153207.disop)
e5:SetReset(RESET_PHASE+PHASE_END)
e5:SetLabel(tc:GetSequence())
Duel.RegisterEffect(e5,tp)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e6:SetTargetRange(0,LOCATION_ONFIELD)
e6:SetTarget(c60153207.distg)
e6:SetReset(RESET_PHASE+PHASE_END)
e6:SetLabel(tc:GetSequence())
Duel.RegisterEffect(e6,tp)
Duel.Hint(HINT_ZONE,tp,0x1<<(tc:GetSequence()+8))
Duel.SendtoGrave(tc,REASON_EFFECT)
end
end
function c60153207.distg(e,c)
local seq,fid=e:GetLabel()
local tp=e:GetHandlerPlayer()
return aux.GetColumn(c,tp)==seq and c:GetFieldID()~=fid
end
function c60153207.disop(e,tp,eg,ep,ev,re,r,rp)
local tseq=e:GetLabel()
local loc,seq=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TRIGGERING_SEQUENCE)
if loc&LOCATION_ONFIELD~=0 and seq<=4 and (rp==1-tp and seq==4-tseq) then
Duel.NegateEffect(ev)
end
end
\ No newline at end of file
--凶器灵·混沌虚空琴
function c60153208.initial_effect(c)
c:EnableReviveLimit()
--material
aux.AddFusionProcFunRep(c,c60153208.mfilter,2,true)
--spsum condition
aux.AddContactFusionProcedure(c,Card.IsReleasable,LOCATION_MZONE,0,Duel.Release,REASON_COST+REASON_MATERIAL)
--splimit
local e11=Effect.CreateEffect(c)
e11:SetType(EFFECT_TYPE_SINGLE)
e11:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e11:SetCode(EFFECT_SPSUMMON_CONDITION)
e11:SetValue(c60153208.splimit)
c:RegisterEffect(e11)
--1
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60153208,0))
e1:SetCategory(CATEGORY_LEAVE_GRAVE+CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c60153208.e1tg)
e1:SetOperation(c60153208.e1op)
c:RegisterEffect(e1)
--3
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60153208,2))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCost(c60153208.e2cost)
e2:SetOperation(c60153208.e2op)
c:RegisterEffect(e2)
--cannot material
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e5:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e5:SetValue(c60153208.fuslimit)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e6:SetValue(1)
c:RegisterEffect(e6)
local e7=e6:Clone()
e7:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e7)
local e8=e6:Clone()
e8:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
c:RegisterEffect(e8)
end
function c60153208.fuslimit(e,c,sumtype)
return sumtype==SUMMON_TYPE_FUSION
end
function c60153208.mfilter(c,fc,sub,mg,sg)
return c:IsFusionSetCard(0x3b2a) and c:IsType(TYPE_MONSTER) and (not sg or not sg:IsExists(Card.IsCode,1,c,c:GetCode()))
end
function c60153208.splimit(e,se,sp,st)
return not e:GetHandler():IsLocation(LOCATION_EXTRA)
end
function c60153208.e1tgf(c)
return c:IsSetCard(0x3b2a) and c:IsType(TYPE_MONSTER) and not c:IsForbidden() and c:IsFaceup()
end
function c60153208.e1tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) and chkc:IsControler(tp) and c60153208.e1tgf(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c60153208.e1tgf,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectTarget(tp,c60153208.e1tgf,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
end
function c60153208.e1op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
if not Duel.Equip(tp,tc,c,false) then return end
local e11=Effect.CreateEffect(c)
e11:SetType(EFFECT_TYPE_SINGLE)
e11:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e11:SetCode(EFFECT_EQUIP_LIMIT)
e11:SetReset(RESET_EVENT+RESETS_STANDARD)
e11:SetValue(c60153208.eqlimit)
tc:RegisterEffect(e11)
local atk=math.ceil(tc:GetBaseAttack()/2)
if atk>0 then
local e22=Effect.CreateEffect(c)
e22:SetType(EFFECT_TYPE_EQUIP)
e22:SetProperty(EFFECT_FLAG_OWNER_RELATE+EFFECT_FLAG_IGNORE_IMMUNE)
e22:SetCode(EFFECT_UPDATE_ATTACK)
e22:SetReset(RESET_EVENT+RESETS_STANDARD)
e22:SetValue(atk)
tc:RegisterEffect(e22)
end
local code=tc:GetOriginalCode()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(code)
e1:SetLabel(tp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
c:RegisterEffect(e1)
local cid=c:CopyEffect(code,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60153208,3))
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCountLimit(1)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c60153208.rstcon)
e2:SetOperation(c60153208.rstop)
e2:SetLabel(cid)
e2:SetLabelObject(e1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
c:RegisterEffect(e2)
tc:RegisterFlagEffect(60153208,RESET_EVENT+RESETS_STANDARD,0,1)
end
end
function c60153208.eqlimit(e,c)
return e:GetOwner()==c
end
function c60153208.rstcon(e,tp,eg,ep,ev,re,r,rp)
local e1=e:GetLabelObject()
return Duel.GetTurnPlayer()~=e1:GetLabel()
end
function c60153208.rstop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local cid=e:GetLabel()
c:ResetEffect(cid,RESET_COPY)
c:ResetEffect(RESET_DISABLE,RESET_EVENT)
local e1=e:GetLabelObject()
e1:Reset()
Duel.HintSelection(Group.FromCards(c))
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c60153208.e2costf(c,tp)
return c:GetFlagEffect(60153208)~=0 and c:IsControler(tp) and c:IsLocation(LOCATION_SZONE) and c:GetColumnGroup():IsExists(c60153208.e2costff,1,nil,tp)
end
function c60153208.e2costff(c,tp)
return c:IsControler(1-tp)
end
function c60153208.e2cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local eqg=c:GetEquipGroup()
if chk==0 then return eqg:GetCount()>0 and eqg:IsExists(c60153208.e2costf,1,nil,tp) and c:GetFlagEffect(60153208)==0 end
c:RegisterFlagEffect(60153208,RESET_CHAIN,0,1)
end
function c60153208.e2opf(c,tp)
return c:IsControler(1-tp)
end
function c60153208.e2op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local eqg=c:GetEquipGroup()
if eqg:GetCount()>0 and eqg:IsExists(c60153208.e2costf,1,nil,tp) then
local g=eqg:FilterSelect(tp,c60153208.e2costf,1,1,nil,tp)
local tc=g:GetFirst()
local g2=tc:GetColumnGroup()
local g3=g2:Filter(c60153208.e2opf,nil,tp)
Duel.SendtoGrave(tc,REASON_EFFECT)
Duel.BreakEffect()
Duel.SendtoGrave(g3,REASON_RULE)
end
end
\ No newline at end of file
--器灵符·灵魂共振
function c60153214.initial_effect(c)
--1
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60153214,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,60153214)
e1:SetCondition(c60153214.e1con)
e1:SetTarget(c60153214.e1tg)
e1:SetOperation(c60153214.e1op)
c:RegisterEffect(e1)
--2
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60153214,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,6013214)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c60153214.e2tg)
e2:SetOperation(c60153214.e2op)
c:RegisterEffect(e2)
end
function c60153214.e1conf(c)
return c:IsFaceup() and c:IsSetCard(0x3b2a)
end
function c60153214.e1con(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c60153214.e1conf,tp,LOCATION_ONFIELD,0,1,nil)
end
function c60153214.e1tg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,0,LOCATION_ONFIELD,nil)
if chk==0 then return #g>0 end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0)
end
function c60153214.e1op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,0,LOCATION_ONFIELD,nil)
if #g>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local sg=g:Select(tp,1,1,nil)
Duel.HintSelection(sg)
Duel.SendtoGrave(sg,REASON_EFFECT)
local tc=sg:GetFirst()
if tc:IsLocation(LOCATION_GRAVE) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(0,1)
e1:SetValue(c60153214.e1opl)
e1:SetLabel(tc:GetCode())
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
end
function c60153214.e1opl(e,re,tp)
return re:GetHandler():IsCode(e:GetLabel())
end
function c60153214.e2tgf(c,e,tp)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSSetable()
end
function c60153214.e2tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.GetMatchingGroup(c60153214.e2tgf,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(c60153214.e2tgf,tp,0,LOCATION_DECK,nil)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_SZONE)>0
and g:GetCount()>0 and g2:GetCount()>0 end
end
function c60153214.e2op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c60153214.e2tgf,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(c60153214.e2tgf,tp,0,LOCATION_DECK,nil)
if Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_SZONE)>0
and g:GetCount()>0 and g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local sg=g:Select(tp,1,1,nil)
if Duel.SSet(tp,sg)~=0 then
local tc=sg:GetFirst()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e2:SetReset(RESET_EVENT+RESETS_REDIRECT)
e2:SetValue(LOCATION_DECKBOT)
tc:RegisterEffect(e2,true)
end
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_SET)
local sg2=g2:Select(1-tp,1,1,nil)
if Duel.SSet(1-tp,sg2)~=0 then
local tc2=sg2:GetFirst()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc2:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e2:SetReset(RESET_EVENT+RESETS_REDIRECT)
e2:SetValue(LOCATION_DECKBOT)
tc2:RegisterEffect(e2,true)
end
end
end
\ No newline at end of file
--器灵卷·古灵唤醒
function c60153215.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,60153215)
e1:SetTarget(c60153215.target)
e1:SetOperation(c60153215.activate)
c:RegisterEffect(e1)
--2
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60153215,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,6013215)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c60153215.e2tg)
e2:SetOperation(c60153215.e2op)
c:RegisterEffect(e2)
end
function c60153215.filter(c)
return c:IsSetCard(0x3b2a) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c60153215.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60153215.filter,tp,LOCATION_DECK,0,1,nil)
and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function c60153215.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c60153215.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 c60153215.e2tgf(c,e,tp)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSSetable()
end
function c60153215.e2tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.GetMatchingGroup(c60153215.e2tgf,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(c60153215.e2tgf,tp,0,LOCATION_DECK,nil)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_SZONE)>0
and g:GetCount()>0 and g2:GetCount()>0 end
end
function c60153215.e2op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c60153215.e2tgf,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(c60153215.e2tgf,tp,0,LOCATION_DECK,nil)
if Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_SZONE)>0
and g:GetCount()>0 and g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local sg=g:Select(tp,1,1,nil)
if Duel.SSet(tp,sg)~=0 then
local tc=sg:GetFirst()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e2:SetReset(RESET_EVENT+RESETS_REDIRECT)
e2:SetValue(LOCATION_DECKBOT)
tc:RegisterEffect(e2,true)
end
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_SET)
local sg2=g2:Select(1-tp,1,1,nil)
if Duel.SSet(1-tp,sg2)~=0 then
local tc2=sg2:GetFirst()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc2:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e2:SetReset(RESET_EVENT+RESETS_REDIRECT)
e2:SetValue(LOCATION_DECKBOT)
tc2:RegisterEffect(e2,true)
end
end
end
\ No newline at end of file
--器灵槎·灵魂位移
function c60153216.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,60153216)
e1:SetTarget(c60153216.target)
e1:SetOperation(c60153216.activate)
c:RegisterEffect(e1)
--2
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60153216,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,6013216)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c60153216.e2tg)
e2:SetOperation(c60153216.e2op)
c:RegisterEffect(e2)
end
function c60153216.filter(c,e,tp)
return c:IsSetCard(0x3b2a) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemove() and Duel.IsExistingMatchingCard(c60153216.filter2,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp,c:GetCode())
end
function c60153216.filter2(c,e,tp,code)
return c:IsSetCard(0x3b2a) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and not c:IsCode(code)
end
function c60153216.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60153216.filter,tp,LOCATION_MZONE,0,1,nil,e,tp) end
local g=Duel.GetMatchingGroup(c60153216.filter,tp,LOCATION_MZONE,0,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_REMOVED)
end
function c60153216.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c60153216.filter,tp,LOCATION_MZONE,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc then
Duel.HintSelection(g)
if Duel.Remove(tc,0,REASON_EFFECT+REASON_TEMPORARY)~=0 then
tc:RegisterFlagEffect(60153216,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetLabelObject(tc)
e1:SetCountLimit(1)
e1:SetCondition(c60153216.retcon)
e1:SetOperation(c60153216.retop)
Duel.RegisterEffect(e1,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c60153216.filter2,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil,e,tp,tc:GetCode())
if sg:GetCount()>0 then
Duel.BreakEffect()
local tc2=sg:GetFirst()
if tc2 and Duel.SpecialSummonStep(tc2,0,tp,tp,false,false,POS_FACEUP) then
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_MZONE)
e5:SetCode(EFFECT_IMMUNE_EFFECT)
e5:SetValue(c60153216.e4opf)
e5:SetReset(RESET_EVENT+RESETS_STANDARD)
tc2:RegisterEffect(e5,true)
local fid=c:GetFieldID()
tc2:RegisterFlagEffect(60153216,RESET_EVENT+RESETS_STANDARD,0,1,fid)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCountLimit(1)
e3:SetLabel(fid)
e3:SetLabelObject(tc2)
e3:SetCondition(c60153216.rmcon1)
e3:SetOperation(c60153216.rmop1)
Duel.RegisterEffect(e3,tp)
end
Duel.SpecialSummonComplete()
end
end
end
end
function c60153216.retcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetLabelObject():GetFlagEffect(60153216)~=0
end
function c60153216.retop(e,tp,eg,ep,ev,re,r,rp)
Duel.ReturnToField(e:GetLabelObject())
end
function c60153216.e4opf(e,te)
return te:GetOwnerPlayer()~=e:GetOwnerPlayer()
end
function c60153216.rmcon1(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:GetFlagEffectLabel(60153216)~=e:GetLabel() then
e:Reset()
return false
else return true end
end
function c60153216.rmop1(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(e:GetLabelObject(),POS_FACEUP,REASON_EFFECT)
end
--------------------------------------------------------------------------------------
function c60153216.e2tgf(c,e,tp)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSSetable()
end
function c60153216.e2tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.GetMatchingGroup(c60153216.e2tgf,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(c60153216.e2tgf,tp,0,LOCATION_DECK,nil)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_SZONE)>0
and g:GetCount()>0 and g2:GetCount()>0 end
end
function c60153216.e2op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c60153216.e2tgf,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(c60153216.e2tgf,tp,0,LOCATION_DECK,nil)
if Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_SZONE)>0
and g:GetCount()>0 and g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local sg=g:Select(tp,1,1,nil)
if Duel.SSet(tp,sg)~=0 then
local tc=sg:GetFirst()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e2:SetReset(RESET_EVENT+RESETS_REDIRECT)
e2:SetValue(LOCATION_DECKBOT)
tc:RegisterEffect(e2,true)
end
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_SET)
local sg2=g2:Select(1-tp,1,1,nil)
if Duel.SSet(1-tp,sg2)~=0 then
local tc2=sg2:GetFirst()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc2:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e2:SetReset(RESET_EVENT+RESETS_REDIRECT)
e2:SetValue(LOCATION_DECKBOT)
tc2:RegisterEffect(e2,true)
end
end
end
\ No newline at end of file
--器灵印·灵界神召
function c60153217.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,60153217)
e1:SetCondition(c60153217.condition)
e1:SetTarget(c60153217.target)
e1:SetOperation(c60153217.activate)
c:RegisterEffect(e1)
--2
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60153217,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,6013217)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c60153217.e2tg)
e2:SetOperation(c60153217.e2op)
c:RegisterEffect(e2)
end
function c60153217.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0
end
function c60153217.spfilter(c,e,tp)
return c:IsSetCard(0x3b2a) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c60153217.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c60153217.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c60153217.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c60153217.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
end
--------------------------------------------------------------------------------------
function c60153217.e2tgf(c,e,tp)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSSetable()
end
function c60153217.e2tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.GetMatchingGroup(c60153217.e2tgf,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(c60153217.e2tgf,tp,0,LOCATION_DECK,nil)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_SZONE)>0
and g:GetCount()>0 and g2:GetCount()>0 end
end
function c60153217.e2op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c60153217.e2tgf,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(c60153217.e2tgf,tp,0,LOCATION_DECK,nil)
if Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_SZONE)>0
and g:GetCount()>0 and g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local sg=g:Select(tp,1,1,nil)
if Duel.SSet(tp,sg)~=0 then
local tc=sg:GetFirst()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e2:SetReset(RESET_EVENT+RESETS_REDIRECT)
e2:SetValue(LOCATION_DECKBOT)
tc:RegisterEffect(e2,true)
end
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_SET)
local sg2=g2:Select(1-tp,1,1,nil)
if Duel.SSet(1-tp,sg2)~=0 then
local tc2=sg2:GetFirst()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc2:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e2:SetReset(RESET_EVENT+RESETS_REDIRECT)
e2:SetValue(LOCATION_DECKBOT)
tc2:RegisterEffect(e2,true)
end
end
end
\ No newline at end of file
--器灵契·永恒灵魂
function c60153218.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c60153218.e1op)
c:RegisterEffect(e1)
--level
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_UPDATE_LEVEL)
e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_HAND,0)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x3b2a))
e2:SetValue(-3)
c:RegisterEffect(e2)
--draw
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(60153218,1))
e5:SetCategory(CATEGORY_DRAW+CATEGORY_TODECK)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_FZONE)
e5:SetCountLimit(1)
e5:SetTarget(c60153218.drtg)
e5:SetOperation(c60153218.drop)
c:RegisterEffect(e5)
end
function c60153218.e1opf(c)
return c:IsType(TYPE_MONSTER)
end
function c60153218.e1opf2(c)
return not c:IsType(TYPE_TOKEN)
end
function c60153218.e1opf3(c,e,sp)
return c:IsSetCard(0x3b2a) and c:IsCanBeSpecialSummoned(e,0,sp,false,false)
end
function c60153218.e1op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g1=Duel.GetMatchingGroup(c60153218.e1opf,tp,LOCATION_MZONE,0,nil)
local g2=Duel.GetMatchingGroup(c60153218.e1opf2,tp,0,LOCATION_MZONE,nil)
local cg=Duel.GetMatchingGroup(aux.NecroValleyFilter(c60153218.e1opf3),tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,nil,e,tp)
if #cg>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and #g2>#g1
and Duel.SelectYesNo(tp,aux.Stringid(60153218,0)) then
local ct=#g2-#g1
if ct>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=cg:Select(tp,ct,ct,nil)
local tc=sg:GetFirst()
while tc do
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(1)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
tc:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(c60153218.fuslimit)
tc:RegisterEffect(e3)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
tc:RegisterEffect(e4)
local e9=Effect.CreateEffect(c)
e9:SetType(EFFECT_TYPE_SINGLE)
e9:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e9:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e9:SetReset(RESET_EVENT+RESETS_REDIRECT)
e9:SetValue(LOCATION_REMOVED)
tc:RegisterEffect(e9,true)
tc:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(60153218,2))
tc=sg:GetNext()
end
end
end
end
function c60153218.fuslimit(e,c,st)
return st==SUMMON_TYPE_FUSION
end
function c60153218.dropf(c)
return c:IsFaceup() and c:IsSetCard(0x3b2a) and c:IsAbleToDeck()
end
function c60153218.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60153218.dropf,tp,LOCATION_REMOVED,0,1,nil) end
local g=Duel.GetMatchingGroup(c60153218.dropf,tp,LOCATION_REMOVED,0,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c60153218.drop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c60153218.dropf,tp,LOCATION_REMOVED,0,1,3,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 then
Duel.Draw(tp,1,REASON_EFFECT)
end
end
end
\ No newline at end of file
--器灵阵·灵魂守护
function c60153219.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60153219,0))
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_BE_BATTLE_TARGET)
e1:SetCountLimit(1,60153219)
e1:SetCondition(c60153219.condition)
e1:SetTarget(c60153219.target)
e1:SetOperation(c60153219.operation)
c:RegisterEffect(e1)
--2
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60153219,1))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e2:SetCountLimit(1,6013219)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c60153219.e2tg)
e2:SetOperation(c60153219.e2op)
c:RegisterEffect(e2)
end
function c60153219.condition(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
return tc:IsControler(tp) and tc:IsFaceup() and tc:IsSetCard(0x3b2a)
end
function c60153219.target(e,tp,eg,ep,ev,re,r,rp,chk)
local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget()
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,Group.FromCards(a,d),2,0,0)
end
function c60153219.operation(e,tp,eg,ep,ev,re,r,rp)
local a,d=Duel.GetAttacker(),Duel.GetAttackTarget()
local g=Group.FromCards(a,d):Filter(Card.IsRelateToBattle,nil)
if #g==2 and Duel.SendtoGrave(g,REASON_RULE)~=0 then
Duel.BreakEffect()
Duel.SkipPhase(1-tp,PHASE_BATTLE,RESET_PHASE+PHASE_END,1,1)
Duel.SkipPhase(1-tp,PHASE_MAIN2,RESET_PHASE+PHASE_END,1)
end
end
--------------------------------------------------------------------------------------
function c60153219.e2tgf(c,e,tp)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSSetable()
end
function c60153219.e2tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.GetMatchingGroup(c60153219.e2tgf,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(c60153219.e2tgf,tp,0,LOCATION_DECK,nil)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_SZONE)>0
and g:GetCount()>0 and g2:GetCount()>0 end
end
function c60153219.e2op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c60153219.e2tgf,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(c60153219.e2tgf,tp,0,LOCATION_DECK,nil)
if Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_SZONE)>0
and g:GetCount()>0 and g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local sg=g:Select(tp,1,1,nil)
if Duel.SSet(tp,sg)~=0 then
local tc=sg:GetFirst()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e2:SetReset(RESET_EVENT+RESETS_REDIRECT)
e2:SetValue(LOCATION_DECKBOT)
tc:RegisterEffect(e2,true)
end
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_SET)
local sg2=g2:Select(1-tp,1,1,nil)
if Duel.SSet(1-tp,sg2)~=0 then
local tc2=sg2:GetFirst()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc2:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e2:SetReset(RESET_EVENT+RESETS_REDIRECT)
e2:SetValue(LOCATION_DECKBOT)
tc2:RegisterEffect(e2,true)
end
end
end
\ No newline at end of file
--器灵陷·反咒灵道
function c60153220.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60153220,0))
e1:SetCategory(CATEGORY_NEGATE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING)
e1:SetCountLimit(1,60153220)
e1:SetCondition(c60153220.condition)
e1:SetTarget(c60153220.target)
e1:SetOperation(c60153220.activate)
c:RegisterEffect(e1)
--2
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60153220,1))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e2:SetCountLimit(1,6013220)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c60153220.e2tg)
e2:SetOperation(c60153220.e2op)
c:RegisterEffect(e2)
end
function c60153220.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x3b2a)
end
function c60153220.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c60153220.cfilter,tp,LOCATION_MZONE,0,1,nil)
and (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE)) and Duel.IsChainNegatable(ev)
end
function c60153220.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
e:SetCategory(CATEGORY_NEGATE)
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)==LOCATION_MZONE and re:GetHandler():IsRelateToEffect(re)
and not re:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) then
e:SetCategory(CATEGORY_NEGATE+CATEGORY_CONTROL)
Duel.SetOperationInfo(0,CATEGORY_CONTROL,eg,1,0,0)
end
end
function c60153220.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)==LOCATION_MZONE
and re:GetHandler():IsRelateToEffect(re) and not re:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) then
Duel.BreakEffect()
Duel.GetControl(re:GetHandler(),tp)
end
end
--------------------------------------------------------------------------------------
function c60153220.e2tgf(c,e,tp)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSSetable()
end
function c60153220.e2tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.GetMatchingGroup(c60153220.e2tgf,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(c60153220.e2tgf,tp,0,LOCATION_DECK,nil)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_SZONE)>0
and g:GetCount()>0 and g2:GetCount()>0 end
end
function c60153220.e2op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c60153220.e2tgf,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(c60153220.e2tgf,tp,0,LOCATION_DECK,nil)
if Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_SZONE)>0
and g:GetCount()>0 and g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local sg=g:Select(tp,1,1,nil)
if Duel.SSet(tp,sg)~=0 then
local tc=sg:GetFirst()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e2:SetReset(RESET_EVENT+RESETS_REDIRECT)
e2:SetValue(LOCATION_DECKBOT)
tc:RegisterEffect(e2,true)
end
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_SET)
local sg2=g2:Select(1-tp,1,1,nil)
if Duel.SSet(1-tp,sg2)~=0 then
local tc2=sg2:GetFirst()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc2:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e2:SetReset(RESET_EVENT+RESETS_REDIRECT)
e2:SetValue(LOCATION_DECKBOT)
tc2:RegisterEffect(e2,true)
end
end
end
\ No newline at end of file
--Magia-Soul-gem
function c68300001.initial_effect(c)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetCountLimit(1,68300001)
e1:SetTarget(c68300001.sptg)
e1:SetOperation(c68300001.spop)
c:RegisterEffect(e1)
--equip
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCategory(CATEGORY_EQUIP)
e2:SetRange(LOCATION_HAND)
e2:SetCountLimit(1,68300001+100)
e2:SetTarget(c68300001.eqtg)
e2:SetOperation(c68300001.eqop)
c:RegisterEffect(e2)
end
function c68300001.spfilter(c,e,tp)
return c:IsSetCard(0x630) and not c:IsCode(68300001) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c68300001.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK)
end
function c68300001.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,c68300001.spfilter,tp,LOCATION_HAND+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
function c68300001.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and chkc:IsFaceup() end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c68300001.filter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c68300001.filter,tp,LOCATION_MZONE,0,1,1,nil)
end
function c68300001.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:IsFacedown() or not tc:IsRelateToEffect(e) or not tc:IsControler(tp) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
Duel.Equip(tp,c,tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(c68300001.eqlimit)
e1:SetLabelObject(tc)
c:RegisterEffect(e1)
end
function c68300001.eqlimit(e,c)
return c==e:GetLabelObject()
end
\ No newline at end of file
--Magia-处决
function c68300002.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,68300002)
e1:SetCondition(c68300002.spcon)
e1:SetTarget(c68300002.sptg)
e1:SetOperation(c68300002.spop)
c:RegisterEffect(e1)
--search
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,68300002+100)
e2:SetTarget(c68300002.thtg)
e2:SetOperation(c68300002.thop)
c:RegisterEffect(e2)
local e22=e2:Clone()
e22:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e22)
end
function c68300002.cfilter(c)
return c:IsFacedown() or not c:IsSetCard(0x630)
end
function c68300002.spcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c68300002.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c68300002.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c68300002.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
function c68300002.filter(c)
return c:IsLevel(1) and c:IsAttribute(ATTRIBUTE_DARK) and c:IsRace(RACE_SPELLCASTER) and c:IsAbleToHand()
end
function c68300002.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c68300002.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c68300002.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c68300002.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
\ No newline at end of file
--Magia-警戒
function c68300004.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1,68300004)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCondition(c68300004.spcon1)
e1:SetTarget(c68300004.sptg1)
e1:SetOperation(c68300004.spop1)
c:RegisterEffect(e1)
--spsummon (deck)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,68300004+100)
e2:SetCondition(c68300004.spcon2)
e2:SetTarget(c68300004.sptg2)
e2:SetOperation(c68300004.spop2)
c:RegisterEffect(e2)
end
function c68300004.spcon1(e,tp,eg,ep,ev,re,r,rp)
return rp==tp and re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL)
and re:GetHandler():IsSetCard(0x630)
end
function c68300004.sptg1(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 c68300004.spop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
function c68300004.spcon2(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsSetCard(0x630)
end
function c68300004.spfilter(c,e,tp)
return c:IsSetCard(0x630) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c68300004.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c68300004.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK)
end
function c68300004.spop2(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c68300004.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
--Magia-妄信
function c68300005.initial_effect(c)
--to hand/set
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,68300005)
e1:SetTarget(c68300005.thtg)
e1:SetOperation(c68300005.thop)
c:RegisterEffect(e1)
local e11=e1:Clone()
e11:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e11)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,68300005+100)
e2:SetTarget(c68300005.sptg)
e2:SetOperation(c68300005.spop)
c:RegisterEffect(e2)
end
function c68300005.thfilter(c)
return c:IsType(TYPE_SPELL) and c:IsSetCard(0x630) and (c:IsAbleToHand() or c:IsSSetable())
end
function c68300005.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c68300005.thfilter,tp,LOCATION_DECK,0,1,nil) end
end
function c68300005.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,c68300005.thfilter,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst()
if tc then
if tc:IsAbleToHand() and (not tc:IsSSetable() or Duel.SelectOption(tp,1190,1153)==0) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
else
Duel.SSet(tp,tc)
end
end
end
function c68300005.sptg(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 c68300005.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
local 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
--Magia-报凶
function c68300006.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCountLimit(1,68300006)
e1:SetCost(c68300006.spcost)
e1:SetTarget(c68300006.sptg)
e1:SetOperation(c68300006.spop)
c:RegisterEffect(e1)
--spsummon
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,68300006+100)
e3:SetTarget(c68300006.sptg2)
e3:SetOperation(c68300006.spop2)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e4)
end
function c68300006.spfilter(c)
return c:IsSetCard(0x630) and c:IsAbleToRemoveAsCost()
end
function c68300006.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c68300006.spfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c68300006.spfilter,tp,LOCATION_GRAVE,0,1,1,e:GetHandler())
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function c68300006.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c68300006.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
function c68300006.spfilter2(c,e,tp)
return c:IsSetCard(0x630) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c68300006.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c68300006.spfilter2(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c68300006.spfilter2,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c68300006.spfilter2,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c68300006.spop2(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
end
\ No newline at end of file
--Magia-独善
function c68300007.initial_effect(c)
c:EnableReviveLimit()
--to hand
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_HANDES)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,68300007)
e1:SetCost(c68300007.thcost)
e1:SetTarget(c68300007.thtg)
e1:SetOperation(c68300007.thop)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetCountLimit(1,68300007+100)
e2:SetCondition(c68300007.spcon)
e2:SetTarget(c68300007.sptg)
e2:SetOperation(c68300007.spop)
c:RegisterEffect(e2)
end
function c68300007.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsPublic() end
end
function c68300007.thfilter(c)
return c:IsSetCard(0x630) and not c:IsCode(68300007) and c:IsAbleToHand()
end
function c68300007.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c68300007.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,tp,1)
end
function c68300007.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c68300007.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp)
Duel.BreakEffect()
Duel.DiscardHand(tp,nil,1,1,REASON_EFFECT+REASON_DISCARD)
end
end
function c68300007.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsReason(REASON_EFFECT)
end
function c68300007.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end
function c68300007.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SendtoHand(c,nil,0x40) then
Duel.ConfirmCards(1-tp,c)
end
end
\ No newline at end of file
--Magia-零食魔女
function c68300008.initial_effect(c)
--xyz summon
c:EnableReviveLimit()
aux.AddXyzProcedureLevelFree(c,c68300008.mfilter,nil,2,2)
--tohand
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1,68300008)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c68300008.cost)
e1:SetTarget(c68300008.target)
e1:SetOperation(c68300008.operation)
c:RegisterEffect(e1)
--Activate
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,68300008+100)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c68300008.target2)
e2:SetOperation(c68300008.activate2)
c:RegisterEffect(e2)
end
c68300008.fusion_effect=true
function c68300008.mfilter(c,xyzc)
return c:IsSetCard(0x630) or c:IsLevel(11)
end
function c68300008.costfilter1(c)
return c:IsCode(68300001) and c:IsAbleToGraveAsCost()
end
function c68300008.costfilter2(c)
return c:IsCode(68300001) and c:IsAbleToRemoveAsCost()
end
function c68300008.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(c68300008.costfilter1,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c68300008.costfilter2,tp,LOCATION_GRAVE,0,1,nil)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) and (b1 or b2) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
local op=aux.SelectFromOptions(tp,{b1,aux.Stringid(68300008,1)},{b2,aux.Stringid(68300008,2)})
if op==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c68300008.costfilter1,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
if op==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c68300008.costfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
end
function c68300008.thfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
end
function c68300008.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return c68300008.thfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c68300008.thfilter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,0x1c,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,c68300008.thfilter,tp,0x1c,0x1c,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c68300008.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
function c68300008.filter1(c,e)
return not c:IsImmuneToEffect(e)
end
function c68300008.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c68300008.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp)
local res=Duel.IsExistingMatchingCard(c68300008.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 mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c68300008.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c68300008.activate2(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c68300008.filter1,nil,e)
local sg1=Duel.GetMatchingGroup(c68300008.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg2=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c68300008.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg2,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,mg2,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end
\ No newline at end of file
--Magia-此岸魔女
function c68300009.initial_effect(c)
--xyz summon
c:EnableReviveLimit()
aux.AddXyzProcedureLevelFree(c,c68300009.mfilter,nil,2,2)
--tohand
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1,68300009)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c68300009.cost)
e1:SetTarget(c68300009.target)
e1:SetOperation(c68300009.operation)
c:RegisterEffect(e1)
--Activate
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,68300009+100)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c68300009.target2)
e2:SetOperation(c68300009.activate2)
c:RegisterEffect(e2)
end
c68300009.fusion_effect=true
function c68300009.mfilter(c,xyzc)
return c:IsSetCard(0x630) or c:IsLevel(11)
end
function c68300009.costfilter1(c)
return c:IsCode(68300001) and c:IsAbleToGraveAsCost()
end
function c68300009.costfilter2(c)
return c:IsCode(68300001) and c:IsAbleToRemoveAsCost()
end
function c68300009.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(c68300009.costfilter1,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c68300009.costfilter2,tp,LOCATION_GRAVE,0,1,nil)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) and (b1 or b2) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
local op=aux.SelectFromOptions(tp,{b1,aux.Stringid(68300009,1)},{b2,aux.Stringid(68300009,2)})
if op==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c68300009.costfilter1,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
if op==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c68300009.costfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
end
function c68300009.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CARDTYPE)
local op=Duel.AnnounceType(tp)
e:SetLabel(op)
end
function c68300009.tgfilter(c,ty,e,tp)
return c:IsType(ty) and (c:IsSSetable() or c:IsCanBeSpecialSummoned(e,0,tp,false,false,0x8) and Duel.GetLocationCount(1-tp,LOCATION_MZONE))
end
function c68300009.thfilter(c)
return c:IsSetCard(0x630) and c:IsType(TYPE_SPELL) and c:IsAbleToHand()
end
function c68300009.operation(e,tp,eg,ep,ev,re,r,rp)
local g=nil
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_SET)
if e:GetLabel()==0 then g=Duel.SelectMatchingCard(1-tp,c68300009.tgfilter,1-tp,LOCATION_HAND,0,1,1,nil,TYPE_MONSTER,e,tp)
elseif e:GetLabel()==1 then g=Duel.SelectMatchingCard(1-tp,c68300009.tgfilter,1-tp,LOCATION_HAND,0,1,1,nil,TYPE_SPELL,e,tp)
else g=Duel.SelectMatchingCard(1-tp,c68300009.tgfilter,1-tp,LOCATION_HAND,0,1,1,nil,TYPE_TRAP,e,tp) end
if g:GetCount()~=0 then
local tc=g:GetFirst()
if tc:IsType(0x6) then Duel.SSet(1-tp,tc,1-tp,true) end
if tc:IsType(0x1) then Duel.SpecialSummon(tc,0,tp,tp,false,false,0x8) end
else
local hg=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
Duel.ConfirmCards(tp,hg)
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local thg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c68300009.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if thg:GetCount()>0 then
Duel.SendtoHand(thg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,thg)
end
end
end
function c68300009.filter0(c)
return c:IsFaceupEx() and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck()
end
function c68300009.filter1(c,e)
return c:IsFaceupEx() and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck() and not c:IsImmuneToEffect(e)
end
function c68300009.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c68300009.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg=Duel.GetMatchingGroup(c68300009.filter0,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,e:GetHandler())
local res=Duel.IsExistingMatchingCard(c68300009.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg,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(c68300009.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg3,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_GRAVE+LOCATION_REMOVED)
end
function c68300009.activate2(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg=Duel.GetMatchingGroup(aux.NecroValleyFilter(c68300009.filter1),tp,LOCATION_GRAVE+LOCATION_REMOVED,0,e:GetHandler(),e)
local sg1=Duel.GetMatchingGroup(c68300009.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg,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(c68300009.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 mat=Duel.SelectFusionMaterial(tp,tc,mg,nil,chkf)
tc:SetMaterial(mat)
if mat:Filter(c68300009.cfilter,nil):GetCount()>0 then
local cg=mat:Filter(c68300009.cfilter,nil)
Duel.HintSelection(cg)
end
Duel.SendtoDeck(mat,nil,SEQ_DECKSHUFFLE,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
end
function c68300009.cfilter(c)
return c:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) or (c:IsLocation(LOCATION_MZONE) and c:IsFaceup())
end
\ No newline at end of file
--Magia-人鱼魔女
function c68300010.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,68300001,aux.FilterBoolFunction(Card.IsFusionType,TYPE_EFFECT),1,true,true)
--negate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_NEGATE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,68300010)
e1:SetCondition(c68300010.discon)
e1:SetCost(c68300010.discost)
e1:SetTarget(c68300010.distg)
e1:SetOperation(c68300010.disop)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetCountLimit(1,68300010+100)
e2:SetOperation(c68300010.thop)
c:RegisterEffect(e2)
end
function c68300010.discon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
end
function c68300010.costfilter1(c)
return c:IsCode(68300001) and c:IsAbleToGraveAsCost()
end
function c68300010.costfilter2(c)
return c:IsCode(68300001) and c:IsAbleToRemoveAsCost()
end
function c68300010.discost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(c68300010.costfilter1,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c68300010.costfilter2,tp,LOCATION_GRAVE,0,1,nil)
if chk==0 then return b1 or b2 end
local op=aux.SelectFromOptions(tp,{b1,aux.Stringid(68300010,1)},{b2,aux.Stringid(68300010,2)})
if op==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c68300010.costfilter1,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
if op==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c68300010.costfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
end
function c68300010.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 c68300010.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local dg=Group.CreateGroup()
for i=1,ev do
local te,tgp=Duel.GetChainInfo(i,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
if tgp~=tp then
local tc=te:GetHandler()
if tc:IsRelateToEffect(te) and tc:IsDestructable(e) then
dg:AddCard(tc)
end
end
end
Duel.SetTargetCard(dg)
Duel.SetOperationInfo(0,CATEGORY_NEGATE,ev,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,dg,dg:GetCount(),0,0)
end
function c68300010.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateActivation(ev)
local dg=Group.CreateGroup()
for i=1,ev do
local te,tgp=Duel.GetChainInfo(i,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
if tgp~=tp then
local tc=te:GetHandler()
if tc:IsRelateToEffect(e) and tc:IsRelateToEffect(te) and tc:IsDestructable(e) then
dg:AddCard(tc)
end
end
end
Duel.Destroy(dg,REASON_EFFECT)
end
function c68300010.thfilter1(c)
return c:IsCode(68300001) and c:IsAbleToHand()
end
function c68300010.thfilter2(c)
return c:IsCode(68300001) and c:IsAbleToGrave()
end
function c68300010.thop(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(c68300010.thfilter1,tp,LOCATION_REMOVED,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c68300010.thfilter2,tp,LOCATION_DECK,0,1,nil)
if chk==0 then return op1 or op2 end
local op=aux.SelectFromOptions(tp,{b1,aux.Stringid(68300010,3)},{b2,aux.Stringid(68300010,4)})
if op==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c68300010.thfilter1,tp,LOCATION_REMOVED,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_EFFECT)
end
if op==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c68300010.thfilter2,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
\ No newline at end of file
--Magia-武旦魔女
function c68300011.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,68300001,aux.FilterBoolFunction(Card.IsFusionType,TYPE_EFFECT),1,true,true)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,68300011)
e1:SetCost(c68300011.cost)
e1:SetTarget(c68300011.sptg)
e1:SetOperation(c68300011.spop)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetCountLimit(1,68300011+100)
e2:SetOperation(c68300011.thop)
c:RegisterEffect(e2)
end
function c68300011.costfilter1(c)
return c:IsCode(68300001) and c:IsAbleToGraveAsCost()
end
function c68300011.costfilter2(c)
return c:IsCode(68300001) and c:IsAbleToRemoveAsCost()
end
function c68300011.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(c68300011.costfilter1,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c68300011.costfilter2,tp,LOCATION_GRAVE,0,1,nil)
if chk==0 then return b1 or b2 end
local op=aux.SelectFromOptions(tp,{b1,aux.Stringid(68300011,1)},{b2,aux.Stringid(68300011,2)})
if op==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c68300011.costfilter1,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
if op==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c68300011.costfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
end
function c68300011.spfilter(c,e,tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return c:IsAttribute(ATTRIBUTE_DARK) and (c:IsAbleToHand() or (ft>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)))
end
function c68300011.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c68300011.spfilter,tp,LOCATION_REMOVED+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_REMOVED+LOCATION_GRAVE)
end
function c68300011.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c68300011.spfilter),tp,LOCATION_REMOVED+LOCATION_GRAVE,0,1,1,nil,e,tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local tc=g:GetFirst()
if tc then
if tc:IsAbleToHand() and (not tc:IsCanBeSpecialSummoned(e,0,tp,false,false) or ft<=0 or Duel.SelectOption(tp,1190,1152)==0) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
else
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
end
function c68300011.thfilter1(c)
return c:IsCode(68300001) and c:IsAbleToHand()
end
function c68300011.thfilter2(c)
return c:IsCode(68300001) and c:IsAbleToGrave()
end
function c68300011.thop(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(c68300011.thfilter1,tp,LOCATION_REMOVED,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c68300011.thfilter2,tp,LOCATION_DECK,0,1,nil)
if chk==0 then return op1 or op2 end
local op=aux.SelectFromOptions(tp,{b1,aux.Stringid(68300011,3)},{b2,aux.Stringid(68300011,4)})
if op==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c68300011.thfilter1,tp,LOCATION_REMOVED,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_EFFECT)
end
if op==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c68300011.thfilter2,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
\ No newline at end of file
--Magia-救济魔女
function c68300012.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,nil,2,99,c68300012.lcheck)
c:EnableReviveLimit()
--self destroy
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_SELF_DESTROY)
e1:SetCondition(c68300012.descon)
c:RegisterEffect(e1)
--token
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_ATKCHANGE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_MZONE)
e2:SetOperation(c68300012.atkop)
c:RegisterEffect(e2)
--to deck
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TODECK)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1,EFFECT_COUNT_CODE_CHAIN)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetCost(c68300012.tdcost)
e3:SetTarget(c68300012.tdtg)
e3:SetOperation(c68300012.tdop)
c:RegisterEffect(e3)
end
function c68300012.lcheck(g,lc)
return g:IsExists(Card.IsLinkSetCard,1,nil,0x630)
end
function c68300012.filter(c)
return c:IsFaceup() and c:IsSetCard(0x630)
end
function c68300012.descon(e)
return not Duel.IsExistingMatchingCard(c68300012.filter,0,LOCATION_MZONE,0,1,e:GetHandler())
end
function c68300012.atkfilter(c)
return c:IsFaceup() and c:IsSetCard(0x630)
end
function c68300012.atkop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c68300012.atkfilter,tp,LOCATION_MZONE,0,nil)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(500)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
tc=g:GetNext()
end
end
function c68300012.costfilter1(c)
return c:IsCode(68300001) and c:IsAbleToGraveAsCost()
end
function c68300012.costfilter2(c)
return c:IsCode(68300001) and c:IsAbleToRemoveAsCost()
end
function c68300012.tdcost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(c68300012.costfilter1,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c68300012.costfilter2,tp,LOCATION_GRAVE,0,1,nil)
if chk==0 then return b1 or b2 end
local op=aux.SelectFromOptions(tp,{b1,aux.Stringid(68300012,1)},{b2,aux.Stringid(68300012,2)})
if op==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c68300012.costfilter1,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
if op==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c68300012.costfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
end
function c68300012.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0x1c,0x1c,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,0x1c,0x1c,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
end
function c68300012.tdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFacedown() or not c:IsRelateToEffect(e) or c:GetAttack()<2000 then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e1:SetValue(-2000)
c:RegisterEffect(e1)
if not c:IsHasEffect(EFFECT_REVERSE_UPDATE) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,0x1c,0x1c,1,1,nil)
if sg:GetCount()>0 then
Duel.HintSelection(sg)
Duel.SendtoDeck(sg,nil,2,REASON_EFFECT)
end
end
end
\ No newline at end of file
--Magia-魔女之夜
function c68300013.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c68300013.ffilter,3,true)
--destroy
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,68300013)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_ATTACK+TIMING_END_PHASE)
e1:SetCost(c68300013.descost)
e1:SetTarget(c68300013.destg)
e1:SetOperation(c68300013.desop)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,68300013+100)
e2:SetTarget(c68300013.sptg)
e2:SetOperation(c68300013.spop)
c:RegisterEffect(e2)
end
function c68300013.ffilter(c)
return c:IsFusionSetCard(0x630)
end
function c68300013.costfilter1(c)
return c:IsCode(68300001) and c:IsAbleToGraveAsCost()
end
function c68300013.costfilter2(c)
return c:IsCode(68300001) and c:IsAbleToRemoveAsCost()
end
function c68300013.descost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(c68300013.costfilter1,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c68300013.costfilter2,tp,LOCATION_GRAVE,0,1,nil)
if chk==0 then return e:GetHandler():IsReleasable() and (b1 or b2) end
Duel.Release(e:GetHandler(),REASON_COST)
local op=aux.SelectFromOptions(tp,{b1,aux.Stringid(68300013,1)},{b2,aux.Stringid(68300013,2)})
if op==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c68300013.costfilter1,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
if op==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c68300013.costfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
end
function c68300013.desfilter(c)
return c:IsFaceupEx() and c:IsType(TYPE_SPELL) and c:IsSetCard(0x630)
end
function c68300013.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c68300013.desfilter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,0,1,nil)
and Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c68300013.desop(e,tp,eg,ep,ev,re,r,rp)
local cg=Duel.GetMatchingGroup(c68300013.desfilter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,0,nil)
local ct=cg:GetClassCount(Card.GetCode)
if ct==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,ct,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.Destroy(g,REASON_EFFECT)
end
end
function c68300013.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c68300013.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
--Magia-Incubator
function c68300014.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,nil,2,99,c68300014.lcheck)
c:EnableReviveLimit()
--tohand
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,68300014)
e1:SetCondition(c68300014.thcon)
e1:SetTarget(c68300014.thtg)
e1:SetOperation(c68300014.thop)
c:RegisterEffect(e1)
--Activate
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,68300014+100)
e2:SetCost(c68300014.cost)
e2:SetTarget(c68300014.target)
e2:SetOperation(c68300014.activate)
c:RegisterEffect(e2)
end
c68300014.fusion_effect=true
function c68300014.lcheck(g,lc)
return g:IsExists(Card.IsLinkSetCard,1,nil,0x630)
end
function c68300014.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function c68300014.thfilter(c)
return c:IsType(TYPE_SPELL) and c:IsSetCard(0x630) and c:IsAbleToHand()
end
function c68300014.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c68300014.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c68300014.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 c68300014.costfilter1(c)
return c:IsCode(68300001) and c:IsAbleToGraveAsCost()
end
function c68300014.costfilter2(c)
return c:IsCode(68300001) and c:IsAbleToRemoveAsCost()
end
function c68300014.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(c68300014.costfilter1,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c68300014.costfilter2,tp,LOCATION_GRAVE,0,1,nil)
if chk==0 then return b1 or b2 end
local op=aux.SelectFromOptions(tp,{b1,aux.Stringid(68300014,1)},{b2,aux.Stringid(68300014,2)})
if op==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c68300014.costfilter1,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
if op==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c68300014.costfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
end
function c68300014.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x630) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c68300014.filter3(c)
return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and c:IsSetCard(0x630)
end
function c68300014.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetMatchingGroup(c68300014.filter3,tp,LOCATION_GRAVE,0,nil)
local res=Duel.IsExistingMatchingCard(c68300014.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(c68300014.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg3,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_ONFIELD+LOCATION_GRAVE)
end
function c68300014.activate(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetMatchingGroup(c68300014.filter3,tp,LOCATION_GRAVE,0,nil)
local sg1=Duel.GetMatchingGroup(c68300014.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(c68300014.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.Remove(mat1,POS_FACEUP,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg3,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end
\ No newline at end of file
--Magia-圆环之理
function c68300015.initial_effect(c)
c:EnableReviveLimit()
aux.AddFusionProcFunFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x630),c68300015.ffilter,1,99,true)
aux.AddContactFusionProcedure(c,c68300015.cfilter,LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED,0,aux.tdcfop(c))
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
local e00=Effect.CreateEffect(c)
e00:SetType(EFFECT_TYPE_SINGLE)
e00:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e00:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e00:SetValue(1)
e00:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
c:RegisterEffect(e00)
local e01=e00:Clone()
e01:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e01)
local e02=e00:Clone()
e02:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
c:RegisterEffect(e02)
local e03=e00:Clone()
e03:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e03:SetValue(c68300015.fuslimit)
c:RegisterEffect(e03)
local e04=Effect.CreateEffect(c)
e04:SetType(EFFECT_TYPE_SINGLE)
e04:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e04:SetCode(EFFECT_UNRELEASABLE_SUM)
e04:SetValue(1)
c:RegisterEffect(e04)
local e05=e04:Clone()
e05:SetCode(EFFECT_UNRELEASABLE_NONSUM)
c:RegisterEffect(e05)
--summon success
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_MATERIAL_CHECK)
e1:SetValue(c68300015.matcheck)
c:RegisterEffect(e1)
end
function c68300015.ffilter(c)
return c:IsAttack(0) and c:IsDefense(0)
end
function c68300015.cfilter(c)
return c:IsType(TYPE_MONSTER) and not (c:IsLocation(LOCATION_REMOVED) and c:IsFacedown()) and c:IsAbleToDeckOrExtraAsCost()
end
function c68300015.fuslimit(e,c,sumtype)
return sumtype==SUMMON_TYPE_FUSION
end
function c68300015.matcheck(e,c)
local ct=c:GetMaterial():GetClassCount(Card.GetCode)
Debug.Message(ct)
if ct>=2 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCost(c68300015.chcost)
e1:SetTarget(c68300015.chtg)
e1:SetOperation(c68300015.chop)
c:RegisterEffect(e1)
end
if ct>=5 then
--immune
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetOperation(c68300015.imop)
c:RegisterEffect(e2)
end
if ct>=9 then
--battle
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_REFLECT_BATTLE_DAMAGE)
e3:SetValue(1)
c:RegisterEffect(e3)
local e33=Effect.CreateEffect(c)
e33:SetType(EFFECT_TYPE_SINGLE)
e33:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e33:SetValue(1)
c:RegisterEffect(e33)
end
if ct>=13 then
--indes
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_INDESTRUCTABLE_COUNT)
e4:SetRange(LOCATION_MZONE)
e4:SetTargetRange(LOCATION_ONFIELD,0)
e4:SetTarget(c68300015.target)
e4:SetValue(c68300015.indct)
c:RegisterEffect(e4)
end
end
function c68300015.chcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,3) end
Duel.DiscardDeck(tp,3,REASON_COST)
end
function c68300015.filter(c)
return c:IsCode(68300001)
and ((c:IsLocation(LOCATION_DECK) and c:IsAbleToGrave()) or (c:IsLocation(LOCATION_GRAVE) and c:IsAbleToRemove()))
end
function c68300015.chtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c68300015.filter,rp,0,LOCATION_DECK+LOCATION_GRAVE,1,e:GetHandler()) end
end
function c68300015.chop(e,tp,eg,ep,ev,re,r,rp)
local g=Group.CreateGroup()
Duel.ChangeTargetCard(ev,g)
Duel.ChangeChainOperation(ev,c68300015.repop)
end
function c68300015.repop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(1-tp,c68300015.filter,tp,0,LOCATION_DECK+LOCATION_GRAVE,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
local loc=tc:GetLocation()
if loc==LOCATION_DECK then Duel.SendtoGrave(tc,REASON_EFFECT) end
if loc==LOCATION_GRAVE then Duel.Remove(tc,POS_FACEUP,REASON_EFFECT) end
end
end
function c68300015.imop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(c68300015.efilter)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
function c68300015.efilter(e,te)
return te:GetOwner()~=e:GetHandler()
end
function c68300015.target(e,c)
return c:IsType(TYPE_SPELL)
end
function c68300015.indct(e,re,r,rp)
if bit.band(r,REASON_EFFECT)~=0 then
return 1
else return 0 end
end
\ No newline at end of file
--Magia-回廊
function c68300016.initial_effect(c)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_CHAINING)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_SZONE)
e1:SetCountLimit(1,68300016)
e1:SetCondition(c68300016.spcon)
e1:SetTarget(c68300016.sptg)
e1:SetOperation(c68300016.spop)
c:RegisterEffect(e1)
--negate
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_NEGATE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1,68300016+100)
e2:SetCondition(c68300016.negcon)
e2:SetCost(c68300016.negcost)
e2:SetTarget(c68300016.negtg)
e2:SetOperation(c68300016.negop)
c:RegisterEffect(e2)
end
function c68300016.cfilter(c)
return c:IsSetCard(0x630) and c:IsFaceup()
end
function c68300016.spcon(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_SPELL)
and Duel.IsExistingMatchingCard(c68300016.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c68300016.spfilter(c,e,tp)
return c:IsSetCard(0x630) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c68300016.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c68300016.spfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK+LOCATION_GRAVE)
end
function c68300016.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c68300016.spfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
function c68300016.cfilter1(c,tp)
return c:IsControler(tp) and c:IsLocation(LOCATION_MZONE)
end
function c68300016.negcon(e,tp,eg,ep,ev,re,r,rp)
if not (rp==1-tp and re:IsHasProperty(EFFECT_FLAG_CARD_TARGET)) then return false end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsExists(c68300016.cfilter1,1,nil,tp) and Duel.IsChainNegatable(ev)
end
function c68300016.drfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and not c:IsCode(68300016) and c:IsAbleToGraveAsCost()
end
function c68300016.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c68300016.drfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,s.drfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
function c68300016.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 c68300016.negop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateActivation(ev)
end
\ No newline at end of file
--Magiamaiden-迎击
function c68300017.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c68300017.cost)
e1:SetTarget(c68300017.target)
e1:SetOperation(c68300017.activate)
c:RegisterEffect(e1)
--destroy replace
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EFFECT_DESTROY_REPLACE)
e2:SetRange(LOCATION_GRAVE)
e2:SetTarget(c68300017.reptg)
e2:SetValue(c68300017.repval)
e2:SetOperation(c68300017.repop)
c:RegisterEffect(e2)
end
function c68300017.costfilter1(c,tp)
return c:IsCode(68300001) and c:IsAbleToGraveAsCost()
and Duel.IsExistingMatchingCard(c68300017.filter,tp,LOCATION_DECK,0,1,c)
end
function c68300017.costfilter2(c)
return c:IsCode(68300001) and c:IsAbleToRemoveAsCost()
end
function c68300017.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(c68300017.costfilter1,tp,LOCATION_DECK,0,1,nil,tp)
local b2=Duel.IsExistingMatchingCard(c68300017.costfilter2,tp,LOCATION_GRAVE,0,1,nil)
if chk==0 then return b1 or b2 end
local op=aux.SelectFromOptions(tp,{b1,aux.Stringid(68300017,1)},{b2,aux.Stringid(68300017,2)})
if op==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c68300017.costfilter1,tp,LOCATION_DECK,0,1,1,nil,tp)
Duel.SendtoGrave(g,REASON_COST)
end
if op==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c68300017.costfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
end
function c68300017.filter(c)
return c:IsSetCard(0x630) and c:IsType(0x1) and c:IsAbleToHand()
end
function c68300017.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c68300017.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c68300017.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c68300017.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 c68300017.repfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x630) and c:IsLocation(LOCATION_MZONE)
and c:IsControler(tp) and c:IsReason(REASON_EFFECT+REASON_BATTLE) and not c:IsReason(REASON_REPLACE)
end
function c68300017.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemove() and eg:IsExists(c68300017.repfilter,1,nil,tp) end
return Duel.SelectEffectYesNo(tp,e:GetHandler(),96)
end
function c68300017.repval(e,c)
return c68300017.repfilter(c,e:GetHandlerPlayer())
end
function c68300017.repop(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end
\ No newline at end of file
--Magia-残垣
function c68300018.initial_effect(c)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetCountLimit(1,68300018+EFFECT_COUNT_CODE_OATH)
c:RegisterEffect(e0)
--draw
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetRange(LOCATION_FZONE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetCountLimit(1)
e1:SetCost(c68300018.drcost)
e1:SetTarget(c68300018.drtg)
e1:SetOperation(c68300018.drop)
c:RegisterEffect(e1)
--negate
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetCondition(c68300018.negcon)
e2:SetOperation(c68300018.negop)
c:RegisterEffect(e2)
end
function c68300018.cfilter(c)
return c:IsCode(68300001) and c:IsAbleToDeckAsCost()
end
function c68300018.drcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c68300018.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c68300018.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,2,2,nil)
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end
function c68300018.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 c68300018.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 c68300018.negcon(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_TRAP)
end
function c68300018.negop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,68300018)
local rc=re:GetHandler()
if Duel.NegateEffect(ev,true) and rc:IsRelateToEffect(re) then
Duel.Destroy(rc,REASON_EFFECT)
end
end
\ No newline at end of file
--Magiamaiden-绝望
function c68300019.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,68300019)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCost(c68300019.cost)
e1:SetTarget(c68300019.target)
e1:SetOperation(c68300019.activate)
c:RegisterEffect(e1)
--draw
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,68300019+100)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c68300019.drtg)
e2:SetOperation(c68300019.drop)
c:RegisterEffect(e2)
end
function c68300019.costfilter1(c)
return c:IsCode(68300001) and c:IsAbleToGraveAsCost()
end
function c68300019.costfilter2(c)
return c:IsCode(68300001) and c:IsAbleToRemoveAsCost()
end
function c68300019.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(c68300019.costfilter1,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c68300019.costfilter2,tp,LOCATION_GRAVE,0,1,nil)
if chk==0 then return b1 or b2 end
local op=aux.SelectFromOptions(tp,{b1,aux.Stringid(68300019,1)},{b2,aux.Stringid(68300019,2)})
if op==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c68300019.costfilter1,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
if op==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c68300019.costfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
end
function c68300019.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsControler(tp) and chkc:IsOnField() and chkc:IsAbleToHand() and chkc~=c end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToHand,tp,LOCATION_ONFIELD,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,Card.IsAbleToHand,tp,LOCATION_ONFIELD,0,1,1,c)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c68300019.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SendtoHand(tc,nil,REASON_EFFECT)>0 and tc:IsLocation(LOCATION_HAND) then
local sg=Duel.GetMatchingGroup(aux.NegateAnyFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if sg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(53971455,3)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local tg=sg:Select(tp,1,1,nil)
Duel.HintSelection(tg)
local sc=tg:GetFirst()
Duel.NegateRelatedChain(sc,RESET_TURN_SET)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EFFECT_DISABLE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_DISABLE_EFFECT)
e3:SetValue(RESET_TURN_SET)
sc:RegisterEffect(e3)
if sc:IsType(TYPE_TRAPMONSTER) then
local e4=e2:Clone()
e4:SetCode(EFFECT_DISABLE_TRAPMONSTER)
sc:RegisterEffect(e4)
end
end
end
end
function c68300019.filter(c)
return c:IsSetCard(0x630) and not c:IsCode(68300019) and c:IsAbleToDeck()
end
function c68300019.drtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c68300019.filter(chkc) end
if chk==0 then return Duel.IsPlayerCanDraw(tp,1)
and Duel.IsExistingTarget(c68300019.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c68300019.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c68300019.drop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SendtoDeck(tc,nil,SEQ_DECKBOTTOM,REASON_EFFECT)>0
and tc:IsLocation(LOCATION_DECK) then
Duel.Draw(tp,1,REASON_EFFECT)
end
end
\ No newline at end of file
--Magia-Grief-seed
function c68300520.initial_effect(c)
--draw
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW+CATEGORY_HANDES)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetCountLimit(1,68300520)
e1:SetTarget(c68300520.target)
e1:SetOperation(c68300520.activate)
c:RegisterEffect(e1)
--equip
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCategory(CATEGORY_EQUIP)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,68300520+100)
e2:SetTarget(c68300520.eqtg)
e2:SetOperation(c68300520.eqop)
c:RegisterEffect(e2)
end
function c68300520.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,PLAYER_ALL,1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,PLAYER_ALL,2)
end
function c68300520.activate(e,tp,eg,ep,ev,re,r,rp)
local h1=Duel.Draw(tp,2,REASON_EFFECT)
local h2=Duel.Draw(1-tp,2,REASON_EFFECT)
if h1>0 or h2>0 then Duel.BreakEffect() end
if h1>0 then
Duel.ShuffleHand(tp)
Duel.DiscardHand(tp,aux.TRUE,1,1,REASON_EFFECT+REASON_DISCARD)
end
if h2>0 then
Duel.ShuffleHand(1-tp)
Duel.DiscardHand(1-tp,aux.TRUE,1,1,REASON_EFFECT+REASON_DISCARD)
end
end
function c68300520.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and chkc:IsFaceup() end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c68300520.filter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c68300520.filter,tp,LOCATION_MZONE,0,1,1,nil)
end
function c68300520.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:IsFacedown() or not tc:IsRelateToEffect(e) or not tc:IsControler(tp) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
Duel.Equip(tp,c,tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(c68300520.eqlimit)
e1:SetLabelObject(tc)
c:RegisterEffect(e1)
end
function c68300520.eqlimit(e,c)
return c==e:GetLabelObject()
end
\ No newline at end of file
...@@ -63,6 +63,8 @@ ...@@ -63,6 +63,8 @@
#做完大黑开始睡觉 2403798438 12 0x210-0x21f #做完大黑开始睡觉 2403798438 12 0x210-0x21f
!setname 0x3210 文艺公司 !setname 0x3210 文艺公司
#雪 1930937313 13
#septluna 495073131 42 0xa20-0xa2f #septluna 495073131 42 0xa20-0xa2f
!setname 0xa23 幽狐 !setname 0xa23 幽狐
!setname 0xa24 茸茸茶会 !setname 0xa24 茸茸茶会
...@@ -169,6 +171,9 @@ ...@@ -169,6 +171,9 @@
!setname 0x542 H.I !setname 0x542 H.I
!setname 0x543 逐火十三英桀 !setname 0x543 逐火十三英桀
!setname 0x544 之律者 !setname 0x544 之律者
!setname 0x545 深渊教团
!setname 0x546 纳塔
!counter 0x1545 深渊指示物
!counter 0x1540 蕴种印指示物 !counter 0x1540 蕴种印指示物
!counter 0x540 契约指示物 !counter 0x540 契约指示物
!counter 0x541 棱镜指示物 !counter 0x541 棱镜指示物
...@@ -365,6 +370,7 @@ ...@@ -365,6 +370,7 @@
#AddCodeList(16161000) 阿比盖尔·威廉姆斯卡名记述 #AddCodeList(16161000) 阿比盖尔·威廉姆斯卡名记述
#AddCodeList(16138001) 黄道带的灾厄卡名记述 #AddCodeList(16138001) 黄道带的灾厄卡名记述
#rk.set(code,"alcadias") 阿尔卡迪亚斯记述/原本卡名包含「阿尔卡迪亚斯」的怪兽 #rk.set(code,"alcadias") 阿尔卡迪亚斯记述/原本卡名包含「阿尔卡迪亚斯」的怪兽
#rk.set(code,"PORO") 魄罗
!counter 0x1ccc 无字指示物 !counter 0x1ccc 无字指示物
!counter 0xcc2 魔帝指示物 !counter 0xcc2 魔帝指示物
...@@ -443,22 +449,24 @@ ...@@ -443,22 +449,24 @@
!setname 0xc6e5 吸血姬 !setname 0xc6e5 吸血姬
!setname 0x36e6 孤独摇滚 !setname 0x36e6 孤独摇滚
!setname 0x96e6 兜武 !setname 0x96e6 兜武
!setname 0xc6e6 鼠骑士
!setname 0x6e7 狱水 !setname 0x6e7 狱水
!setname 0x36e7 狱水甲 !setname 0x36e7 狱水甲
!setname 0x56e7 狱水鳞 !setname 0x56e7 狱水鳞
!setname 0x56e8 U.S. !setname 0x56e8 U.S.
!setname 0x96e8 星选姬 !setname 0x96e8 星选姬
!setname 0xa6e8 如月结良
!setname 0xc6e8 废土旅伴
!setname 0x36e9 突击莉莉
!setname 0x6ed 守护骑士 !setname 0x6ed 守护骑士
!setname 0x6ee 忆炼 !setname 0x6ee 忆炼
#DefineSet(code,"LianXing") 恋星 #DefineSet(code,"LianXing") 恋星
#setname="advency" 冒险遗产 #setname="advency" 冒险遗产
#setname="HarmonicRhythm" 谐律 #setname="HarmonicRhythm" 谐律
#setname="Mechavanus" Mechvaranus
#setname="WindName" 风名
#setname="PseudoSoul" 拟魂 #setname="PseudoSoul" 拟魂
#setcard="PhantomQuantum" 幻量子 #setcard="PhantomQuantum" 幻量子
#setcard="Shinkansen" 新干线 #setcard="Shinkansen" 新干线
#AddCodeListed(18017314) 雪音克莉丝卡名记述 #aux.AddCodeList(c,18029407) 「英杰衍生物」衍生物名记述
#浅间橘 1747466088 185 0x790-0x79f #浅间橘 1747466088 185 0x790-0x79f
!setname 0x790 浅间 !setname 0x790 浅间
...@@ -1125,6 +1133,7 @@ ...@@ -1125,6 +1133,7 @@
#AddCodeList(60001179) 紫罗兰永恒花园卡名记述 #AddCodeList(60001179) 紫罗兰永恒花园卡名记述
!counter 0x624 进化指示物 !counter 0x624 进化指示物
!counter 0x625 吟唱指示物 !counter 0x625 吟唱指示物
!counter 0x62a 万世铭指示物
!counter 0x162a 源石指示物 !counter 0x162a 源石指示物
#LaiBill 529508379 601 0xb20-0xb2f #LaiBill 529508379 601 0xb20-0xb2f
...@@ -1337,9 +1346,6 @@ ...@@ -1337,9 +1346,6 @@
!counter 0x671 结缘指示物 !counter 0x671 结缘指示物
!counter 0x1673 血指示物 !counter 0x1673 血指示物
#加汤 2818667760 683 0x630-0x63f
!setname 0x630 magia
#翼龙 1253913364 710 #翼龙 1253913364 710
#codelist 废柴小红帽 #codelist 废柴小红帽
...@@ -1480,14 +1486,18 @@ ...@@ -1480,14 +1486,18 @@
#AddCodeList(81902001) C-TC.记述 #AddCodeList(81902001) C-TC.记述
#AddCodeList(81902002) M-TC.记述 #AddCodeList(81902002) M-TC.记述
#AddCodeList(81902003) 都市传说记述 #AddCodeList(81902003) 都市传说记述
#AddCodeList(81902004) F-TC.记述
#AddCodeList(81902005) S-TC.记述
!counter 0x850 恋之埋火指示物 !counter 0x850 恋之埋火指示物
!counter 0x1851 传染病指示物 !counter 0x1851 传染病指示物
!counter 0x1852 无心傀丝
!counter 0x853 灾厄指示物 !counter 0x853 灾厄指示物
!counter 0x1855 完美冻结指示物 !counter 0x1855 完美冻结指示物
#屋屋赛高 - 820 0xf50-0xf5f #屋屋赛高 - 820 0xf50-0xf5f
!setname 0x3f55 屋屋 !setname 0x3f55 屋屋
!setname 0x9f55 特利亚|非特利 !setname 0x9f55 特利亚|非特利
!setname 0xaf55 隐藏众
!setname 0xf57 特制法属 !setname 0xf57 特制法属
!setname 0x3f57 特制法属乏术空物 !setname 0x3f57 特制法属乏术空物
!setname 0xaf57 作战指令 !setname 0xaf57 作战指令
...@@ -1499,6 +1509,8 @@ ...@@ -1499,6 +1509,8 @@
!setname 0xaf59 机电棋子 !setname 0xaf59 机电棋子
!counter 0x3f59 技能点 !counter 0x3f59 技能点
#花 948144759 822
#互联网流浪者-深渊 3565313751 842 0x840-0x84f #互联网流浪者-深渊 3565313751 842 0x840-0x84f
!setname 0x840 天弃乱域 !setname 0x840 天弃乱域
...@@ -1566,6 +1578,11 @@ ...@@ -1566,6 +1578,11 @@
!counter 0x1a41 吞噬将至指示物 !counter 0x1a41 吞噬将至指示物
#雾岛露明 2065661273 926 0x920-0x92f #雾岛露明 2065661273 926 0x920-0x92f
!setname 0x3920B小町
!setname 0x6920 露比
!setname 0x9920 加奈
!setname 0xa920 MEM
!setname 0xc920 舞台闪耀
#欲於紫禁城下起舞 1527374587 929 0x9a0-0x9af #欲於紫禁城下起舞 1527374587 929 0x9a0-0x9af
!setname 0x9a0 Virtual UP !setname 0x9a0 Virtual UP
...@@ -1601,6 +1618,22 @@ ...@@ -1601,6 +1618,22 @@
!setname 0x67e0 研讨会 !setname 0x67e0 研讨会
!counter 0x7e0 奇迹指示物 !counter 0x7e0 奇迹指示物
#天音 - 980 0xaa0-0xaaf
!setname 0xaa0 猯藏
!setname 0xaa1 幻界
!setname 0x1aa3 娅蜜儿
!setname 0x2aa3 魔石
!setname 0x1aa4 轨迹-
!setname 0x2aa4 克洛斯贝尔-
!setname 0xaa5 幻之樱
!setname 0xaa6 河城荷取
!setname 0xaa7 蔷薇的使者
!setname 0xaa8 召灵姬
!setname 0xaaa 人偶少女
!setname 0xaab 圣歌
!setname 0xaae 日神君
!setname 0xaaf 幻灵
#公用区间 986 0x870-0x87f #公用区间 986 0x870-0x87f
##柚木梨沙 1141457733 000-200 ##柚木梨沙 1141457733 000-200
!setname 0x870 少女分形 !setname 0x870 少女分形
......
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