Commit e019bf2e authored by nanahira's avatar nanahira

filelist

parent ad560d93
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
--+++++猛毒性 球系 --+++++猛毒性 球系
function c24562471.initial_effect(c) function c24562471.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(24562471,0)) e2:SetDescription(aux.Stringid(24562471,0))
e2:SetCategory(CATEGORY_DRAW) e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_DAMAGE) e2:SetCode(EVENT_DAMAGE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCountLimit(1,24562471) e2:SetCountLimit(1,24562471)
e2:SetCondition(c24562471.drcon) e2:SetCondition(c24562471.drcon)
e2:SetTarget(c24562471.drtg) e2:SetTarget(c24562471.drtg)
e2:SetOperation(c24562471.drop) e2:SetOperation(c24562471.drop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(24562471,1)) e3:SetDescription(aux.Stringid(24562471,1))
e3:SetCategory(CATEGORY_DAMAGE) e3:SetCategory(CATEGORY_DAMAGE)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE_START) e3:SetCode(EVENT_PHASE+PHASE_BATTLE_START)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCountLimit(1) e3:SetCountLimit(1)
e3:SetTarget(c24562471.target) e3:SetTarget(c24562471.target)
e3:SetOperation(c24562471.operation) e3:SetOperation(c24562471.operation)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c24562471.target(e,tp,eg,ep,ev,re,r,rp,chk) function c24562471.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetTargetPlayer(1-tp) Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(600) Duel.SetTargetParam(600)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,600) Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,600)
end end
function c24562471.operation(e,tp,eg,ep,ev,re,r,rp) function c24562471.operation(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Damage(p,d,REASON_EFFECT) Duel.Damage(p,d,REASON_EFFECT)
end end
function c24562471.drcon(e,tp,eg,ep,ev,re,r,rp) function c24562471.drcon(e,tp,eg,ep,ev,re,r,rp)
if bit.band(r,REASON_EFFECT)~=0 then if bit.band(r,REASON_EFFECT)~=0 then
return re and re:GetHandler():IsSetCard(0x9390) and ep~=tp return re and re:GetHandler():IsSetCard(0x9390) and ep~=tp
else return ep~=tp else return ep~=tp
end end
end end
function c24562471.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function c24562471.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetTargetPlayer(tp) Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1) Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end end
function c24562471.drop(e,tp,eg,ep,ev,re,r,rp) function c24562471.drop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TARGET_PARAM) local p,d=Duel.GetChainInfo(0,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT) Duel.Draw(p,d,REASON_EFFECT)
end end
\ No newline at end of file
--时崎狂三-祈福 --时崎狂三-祈福
function c33400007.initial_effect(c) function c33400007.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,c33400007.mfilter,2) aux.AddLinkProcedure(c,c33400007.mfilter,2)
c:EnableReviveLimit() c:EnableReviveLimit()
--activate from hand --activate from hand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_QP_ACT_IN_NTPHAND) e1:SetCode(EFFECT_QP_ACT_IN_NTPHAND)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetTarget(aux.TargetBoolFunction(c33400007.afilter)) e1:SetTarget(aux.TargetBoolFunction(c33400007.afilter))
e1:SetTargetRange(LOCATION_HAND,0) e1:SetTargetRange(LOCATION_HAND,0)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--extra summon --extra summon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33400007,0)) e2:SetDescription(aux.Stringid(33400007,0))
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_EXTRA_SUMMON_COUNT) e2:SetCode(EFFECT_EXTRA_SUMMON_COUNT)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_HAND,0) e2:SetTargetRange(LOCATION_HAND,0)
e2:SetValue(c33400007.sumval) e2:SetValue(c33400007.sumval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--search --search
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33400007,0)) e3:SetDescription(aux.Stringid(33400007,0))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,33400007) e3:SetCountLimit(1,33400007)
e3:SetLabel(2) e3:SetLabel(2)
e3:SetCost(c33400007.thcost) e3:SetCost(c33400007.thcost)
e3:SetTarget(c33400007.thtg) e3:SetTarget(c33400007.thtg)
e3:SetOperation(c33400007.thop) e3:SetOperation(c33400007.thop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c33400007.mfilter(c) function c33400007.mfilter(c)
return c:IsLinkSetCard(0x3341) return c:IsLinkSetCard(0x3341)
end end
function c33400007.afilter(c) function c33400007.afilter(c)
return c:IsSetCard(0x3340) and c:IsType(TYPE_QUICKPLAY) return c:IsSetCard(0x3340) and c:IsType(TYPE_QUICKPLAY)
end end
function c33400007.sumval(e,c) function c33400007.sumval(e,c)
local sumzone=e:GetHandler():GetLinkedZone() local sumzone=e:GetHandler():GetLinkedZone()
local relzone=-bit.lshift(1,e:GetHandler():GetSequence()) local relzone=-bit.lshift(1,e:GetHandler():GetSequence())
return 0,sumzone,relzone return 0,sumzone,relzone
end end
function c33400007.thcost(e,tp,eg,ep,ev,re,r,rp,chk) function c33400007.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=e:GetLabel() local ct=e:GetLabel()
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil)
and Duel.IsCanRemoveCounter(tp,1,0,0x34f,ct,REASON_COST) and Duel.IsCanRemoveCounter(tp,1,0,0x34f,ct,REASON_COST)
end end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription()) Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.RemoveCounter(tp,1,0,0x34f,ct,REASON_COST) Duel.RemoveCounter(tp,1,0,0x34f,ct,REASON_COST)
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD) Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end end
function c33400007.thfilter(c) function c33400007.thfilter(c)
return c:IsSetCard(0x3341) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() return c:IsSetCard(0x3341) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end end
function c33400007.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c33400007.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33400007.thfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c33400007.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c33400007.thop(e,tp,eg,ep,ev,re,r,rp) function c33400007.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c33400007.thfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c33400007.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
\ No newline at end of file
--时崎狂三 校服 --时崎狂三 校服
function c33400013.initial_effect(c) function c33400013.initial_effect(c)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x341),aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x341),aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
--CANNOT_ATTACK --CANNOT_ATTACK
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE) e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,33400013) e1:SetCountLimit(1,33400013)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c33400013.cost1) e1:SetCost(c33400013.cost1)
e1:SetOperation(c33400013.activate1) e1:SetOperation(c33400013.activate1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--set counter --set counter
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33400013,1)) e2:SetDescription(aux.Stringid(33400013,1))
e2:SetCategory(CATEGORY_COUNTER) e2:SetCategory(CATEGORY_COUNTER)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_TO_GRAVE) e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,33400013+10000) e2:SetCountLimit(1,33400013+10000)
e2:SetTarget(c33400013.addct) e2:SetTarget(c33400013.addct)
e2:SetOperation(c33400013.addc) e2:SetOperation(c33400013.addc)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--protection --protection
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33400013,1)) e3:SetDescription(aux.Stringid(33400013,1))
e3:SetType(EFFECT_TYPE_QUICK_O) e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN) e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_GRAVE) e3:SetRange(LOCATION_GRAVE)
e3:SetCost(aux.bfgcost) e3:SetCost(aux.bfgcost)
e3:SetOperation(c33400013.activate3) e3:SetOperation(c33400013.activate3)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c33400013.tgfilter(e,c) function c33400013.tgfilter(e,c)
return c:IsFaceup() and c:IsLocation(LOCATION_MZONE) and c:IsSetCard(0x341) return c:IsFaceup() and c:IsLocation(LOCATION_MZONE) and c:IsSetCard(0x341)
end end
function c33400013.activate3(e,tp,eg,ep,ev,re,r,rp) function c33400013.activate3(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetTargetRange(LOCATION_ONFIELD,0) e1:SetTargetRange(LOCATION_ONFIELD,0)
e1:SetTarget(c33400013.tgfilter) e1:SetTarget(c33400013.tgfilter)
e1:SetValue(1) e1:SetValue(1)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
--e2 --e2
function c33400013.filter(c) function c33400013.filter(c)
return c:IsFaceup() and c:IsCanAddCounter(0x34f,4) return c:IsFaceup() and c:IsCanAddCounter(0x34f,4)
end end
function c33400013.addct(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c33400013.addct(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and c33400013.filter(chkc) end if chkc then return chkc:IsOnField() and c33400013.filter(chkc) end
if chk==0 then return true end if chk==0 then return true end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c33400013.filter,tp,LOCATION_ONFIELD,0,1,1,nil) Duel.SelectTarget(tp,c33400013.filter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,4,0,0x34f) Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,4,0,0x34f)
end end
function c33400013.addc(e,tp,eg,ep,ev,re,r,rp) function c33400013.addc(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc and tc:IsFaceup() and tc:IsRelateToEffect(e) then if tc and tc:IsFaceup() and tc:IsRelateToEffect(e) then
tc:AddCounter(0x34f,4) tc:AddCounter(0x34f,4)
end end
end end
--e1 --e1
function c33400013.cost1(e,tp,eg,ep,ev,re,r,rp,chk) function c33400013.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end if chk==0 then return e:GetHandler():IsReleasable() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST) Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function c33400013.activate1(e,tp,eg,ep,ev,re,r,rp) function c33400013.activate1(e,tp,eg,ep,ev,re,r,rp)
if tp~=Duel.GetTurnPlayer() then if tp~=Duel.GetTurnPlayer() then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ATTACK_ANNOUNCE) e1:SetCode(EFFECT_CANNOT_ATTACK_ANNOUNCE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(0,1) e1:SetTargetRange(0,1)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
else else
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ATTACK_ANNOUNCE) e1:SetCode(EFFECT_CANNOT_ATTACK_ANNOUNCE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(0,1) e1:SetTargetRange(0,1)
Duel.RegisterEffect(e1,1-tp) Duel.RegisterEffect(e1,1-tp)
end end
end end
--刻刻帝---「三之弹」 --刻刻帝---「三之弹」
function c33400103.initial_effect(c) function c33400103.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE+CATEGORY_LVCHANGE) e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE+CATEGORY_LVCHANGE)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+TIMINGS_CHECK_MONSTER) e1:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+TIMINGS_CHECK_MONSTER)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,33400103+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,33400103+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c33400103.target) e1:SetTarget(c33400103.target)
e1:SetOperation(c33400103.activate) e1:SetOperation(c33400103.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c33400103.cfilter(c) function c33400103.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x3341) return c:IsFaceup() and c:IsSetCard(0x3341)
end end
function c33400103.filter(c) function c33400103.filter(c)
return c:IsFaceup() return c:IsFaceup()
end end
function c33400103.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c33400103.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(c33400103.cfilter,tp,LOCATION_MZONE,0,1,nil) if chk==0 then return Duel.IsExistingTarget(c33400103.cfilter,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsCanRemoveCounter(tp,1,0,0x34f,1,REASON_COST) and Duel.IsCanRemoveCounter(tp,1,0,0x34f,1,REASON_COST)
end end
local sc=Duel.GetMatchingGroupCount(c33400103.cfilter,tp,LOCATION_MZONE,0,nil) local sc=Duel.GetMatchingGroupCount(c33400103.cfilter,tp,LOCATION_MZONE,0,nil)
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_MZONE) and c33400102.filter(chkc) end if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_MZONE) and c33400102.filter(chkc) end
if chk==0 then return sc>0 and Duel.IsExistingTarget(c33400102.filter,tp,LOCATION_MZONE,LOCATION_MZONE,-1,nil) end if chk==0 then return sc>0 and Duel.IsExistingTarget(c33400102.filter,tp,LOCATION_MZONE,LOCATION_MZONE,-1,nil) end
local cn=Duel.GetCounter(tp,1,0,0x34f) local cn=Duel.GetCounter(tp,1,0,0x34f)
local lvt={} local lvt={}
for i=1,7 do for i=1,7 do
if i<=cn and i<=sc then lvt[i]=i end if i<=cn and i<=sc then lvt[i]=i end
end end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(33400103,1)) Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(33400103,1))
local sc1=Duel.AnnounceNumber(tp,table.unpack(lvt)) local sc1=Duel.AnnounceNumber(tp,table.unpack(lvt))
Duel.RemoveCounter(tp,1,0,0x34f,sc1,REASON_COST) Duel.RemoveCounter(tp,1,0,0x34f,sc1,REASON_COST)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,c33400103.filter,tp,LOCATION_MZONE,LOCATION_MZONE,sc1,sc1,nil) local g=Duel.SelectTarget(tp,c33400103.filter,tp,LOCATION_MZONE,LOCATION_MZONE,sc1,sc1,nil)
Duel.SetOperationInfo(0,CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE+CATEGORY_LVCHANGE,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE+CATEGORY_LVCHANGE,g,g:GetCount(),0,0)
local v=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e) local v=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
end end
function c33400103.activate(e,tp,eg,ep,ev,re,r,rp) function c33400103.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g:GetCount()>0 then if g:GetCount()>0 then
local sc=g:GetFirst() local sc=g:GetFirst()
while sc do while sc do
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL) e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetValue(sc:GetAttack()*2) e1:SetValue(sc:GetAttack()*2)
sc:RegisterEffect(e1) sc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SET_DEFENSE_FINAL) e2:SetCode(EFFECT_SET_DEFENSE_FINAL)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e2:SetValue(sc:GetDefense()*2) e2:SetValue(sc:GetDefense()*2)
sc:RegisterEffect(e2) sc:RegisterEffect(e2)
local e3=Effect.CreateEffect(e:GetHandler()) local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CHANGE_LEVEL) e3:SetCode(EFFECT_CHANGE_LEVEL)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e3:SetValue(sc:GetLevel()*2) e3:SetValue(sc:GetLevel()*2)
sc:RegisterEffect(e3) sc:RegisterEffect(e3)
sc=g:GetNext() sc=g:GetNext()
end end
end end
end end
\ No newline at end of file
--夜之晶月辉印 --夜之晶月辉印
function c65020067.initial_effect(c) function c65020067.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c65020067.target) e1:SetTarget(c65020067.target)
e1:SetOperation(c65020067.activate) e1:SetOperation(c65020067.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c65020067.thfil(c) function c65020067.thfil(c)
return c:IsSetCard(0x9da3) and c:IsAbleToHand() return c:IsSetCard(0x9da3) and c:IsAbleToHand()
end end
function c65020067.target(e,tp,eg,ep,ev,re,r,rp,chk) function c65020067.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c65020067.thfil,tp,LOCATION_DECK,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.IsExistingMatchingCard(c65020067.thfil,tp,LOCATION_DECK,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,65020067,0,0x21,0,2000,4,RACE_WYRM,ATTRIBUTE_DARK) end and Duel.IsPlayerCanSpecialSummonMonster(tp,65020067,0,0x21,0,2000,4,RACE_WYRM,ATTRIBUTE_DARK) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c65020067.activate(e,tp,eg,ep,ev,re,r,rp) function c65020067.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.SelectMatchingCard(tp,c65020067.thfil,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c65020067.thfil,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,tp,REASON_EFFECT)~=0 then if g:GetCount()>0 and Duel.SendtoHand(g,tp,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
Duel.BreakEffect() Duel.BreakEffect()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
or not Duel.IsPlayerCanSpecialSummonMonster(tp,65020067,0,0x21,0,2000,4,RACE_WYRM,ATTRIBUTE_DARK) then return end or not Duel.IsPlayerCanSpecialSummonMonster(tp,65020067,0,0x21,0,2000,4,RACE_WYRM,ATTRIBUTE_DARK) then return end
c:AddMonsterAttribute(TYPE_EFFECT+TYPE_TRAP) c:AddMonsterAttribute(TYPE_EFFECT+TYPE_TRAP)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP)
--activate --activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c65020067.con) e1:SetCondition(c65020067.con)
e1:SetCost(c65020067.cost) e1:SetCost(c65020067.cost)
e1:SetTarget(c65020067.xyztg) e1:SetTarget(c65020067.xyztg)
e1:SetOperation(c65020067.xyzop) e1:SetOperation(c65020067.xyzop)
c:RegisterEffect(e1,true) c:RegisterEffect(e1,true)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
function c65020067.con(e,tp,eg,ep,ev,re,r,rp) function c65020067.con(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2) return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2)
end end
function c65020067.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c65020067.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(65020067)==0 end if chk==0 then return c:GetFlagEffect(65020067)==0 end
c:RegisterFlagEffect(65020067,RESET_CHAIN,0,1) c:RegisterFlagEffect(65020067,RESET_CHAIN,0,1)
end end
function c65020067.xyzfilter2(c,mg) function c65020067.xyzfilter2(c,mg)
return c:IsXyzSummonable(mg) and c:IsType(TYPE_XYZ) return c:IsXyzSummonable(mg) and c:IsType(TYPE_XYZ)
end end
function c65020067.xyzfilter1(c,tp) function c65020067.xyzfilter1(c,tp)
return c:IsSetCard(0x9da3) and c:IsFaceup() and not c:IsType(TYPE_TOKEN) and Duel.GetLocationCountFromEx(tp,tp,c)>0 return c:IsSetCard(0x9da3) and c:IsFaceup() and not c:IsType(TYPE_TOKEN) and Duel.GetLocationCountFromEx(tp,tp,c)>0
end end
function c65020067.xyztg(e,tp,eg,ep,ev,re,r,rp,chk) function c65020067.xyztg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local g=Duel.GetMatchingGroup(c65020067.xyzfilter1,tp,LOCATION_MZONE,0,nil,tp) local g=Duel.GetMatchingGroup(c65020067.xyzfilter1,tp,LOCATION_MZONE,0,nil,tp)
return Duel.IsExistingMatchingCard(c65020067.xyzfilter2,tp,LOCATION_EXTRA,0,1,nil,g) return Duel.IsExistingMatchingCard(c65020067.xyzfilter2,tp,LOCATION_EXTRA,0,1,nil,g)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function c65020067.xyzop(e,tp,eg,ep,ev,re,r,rp) function c65020067.xyzop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c65020067.xyzfilter1,tp,LOCATION_MZONE,0,nil,tp) local g=Duel.GetMatchingGroup(c65020067.xyzfilter1,tp,LOCATION_MZONE,0,nil,tp)
if g:GetCount()<=0 then return end if g:GetCount()<=0 then return end
local xyzg=Duel.GetMatchingGroup(c65020067.xyzfilter2,tp,LOCATION_EXTRA,0,nil,g) local xyzg=Duel.GetMatchingGroup(c65020067.xyzfilter2,tp,LOCATION_EXTRA,0,nil,g)
if xyzg:GetCount()>0 then if xyzg:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local xyz=xyzg:Select(tp,1,1,nil):GetFirst() local xyz=xyzg:Select(tp,1,1,nil):GetFirst()
Duel.XyzSummon(tp,xyz,g,1,10) Duel.XyzSummon(tp,xyz,g,1,10)
end end
end end
\ No newline at end of file
--雪之晶月辉印 --雪之晶月辉印
function c65020068.initial_effect(c) function c65020068.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c65020068.target) e1:SetTarget(c65020068.target)
e1:SetOperation(c65020068.activate) e1:SetOperation(c65020068.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c65020068.thfil(c) function c65020068.thfil(c)
return c:IsSetCard(0x9da3) and c:IsType(TYPE_TRAP) and c:IsType(TYPE_CONTINUOUS) and c:IsSSetable() return c:IsSetCard(0x9da3) and c:IsType(TYPE_TRAP) and c:IsType(TYPE_CONTINUOUS) and c:IsSSetable()
end end
function c65020068.target(e,tp,eg,ep,ev,re,r,rp,chk) function c65020068.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c65020068.thfil,tp,LOCATION_DECK,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.IsExistingMatchingCard(c65020068.thfil,tp,LOCATION_DECK,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,65020068,0,0x21,1600,1000,4,RACE_AQUA,ATTRIBUTE_DARK) end and Duel.IsPlayerCanSpecialSummonMonster(tp,65020068,0,0x21,1600,1000,4,RACE_AQUA,ATTRIBUTE_DARK) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c65020068.activate(e,tp,eg,ep,ev,re,r,rp) function c65020068.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
local g=Duel.SelectMatchingCard(tp,c65020068.thfil,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c65020068.thfil,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 and Duel.SSet(tp,g:GetFirst())~=0 then if g:GetCount()>0 and Duel.SSet(tp,g:GetFirst())~=0 then
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
Duel.BreakEffect() Duel.BreakEffect()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
or not Duel.IsPlayerCanSpecialSummonMonster(tp,65020068,0,0x21,1600,1000,4,RACE_AQUA,ATTRIBUTE_DARK) then return end or not Duel.IsPlayerCanSpecialSummonMonster(tp,65020068,0,0x21,1600,1000,4,RACE_AQUA,ATTRIBUTE_DARK) then return end
c:AddMonsterAttribute(TYPE_EFFECT+TYPE_TRAP) c:AddMonsterAttribute(TYPE_EFFECT+TYPE_TRAP)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP)
--activate --activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c65020068.con) e1:SetCondition(c65020068.con)
e1:SetCost(c65020068.cost) e1:SetCost(c65020068.cost)
e1:SetTarget(c65020068.xyztg) e1:SetTarget(c65020068.xyztg)
e1:SetOperation(c65020068.xyzop) e1:SetOperation(c65020068.xyzop)
c:RegisterEffect(e1,true) c:RegisterEffect(e1,true)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
function c65020068.con(e,tp,eg,ep,ev,re,r,rp) function c65020068.con(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2) return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2)
end end
function c65020068.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c65020068.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(65020068)==0 end if chk==0 then return c:GetFlagEffect(65020068)==0 end
c:RegisterFlagEffect(65020068,RESET_CHAIN,0,1) c:RegisterFlagEffect(65020068,RESET_CHAIN,0,1)
end end
function c65020068.xyzfilter2(c,mg) function c65020068.xyzfilter2(c,mg)
return c:IsXyzSummonable(mg) and c:IsType(TYPE_XYZ) return c:IsXyzSummonable(mg) and c:IsType(TYPE_XYZ)
end end
function c65020068.xyzfilter1(c,tp) function c65020068.xyzfilter1(c,tp)
return c:IsSetCard(0x9da3) and c:IsFaceup() and not c:IsType(TYPE_TOKEN) and Duel.GetLocationCountFromEx(tp,tp,c)>0 return c:IsSetCard(0x9da3) and c:IsFaceup() and not c:IsType(TYPE_TOKEN) and Duel.GetLocationCountFromEx(tp,tp,c)>0
end end
function c65020068.xyztg(e,tp,eg,ep,ev,re,r,rp,chk) function c65020068.xyztg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local g=Duel.GetMatchingGroup(c65020068.xyzfilter1,tp,LOCATION_MZONE,0,nil,tp) local g=Duel.GetMatchingGroup(c65020068.xyzfilter1,tp,LOCATION_MZONE,0,nil,tp)
return Duel.IsExistingMatchingCard(c65020068.xyzfilter2,tp,LOCATION_EXTRA,0,1,nil,g) return Duel.IsExistingMatchingCard(c65020068.xyzfilter2,tp,LOCATION_EXTRA,0,1,nil,g)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function c65020068.xyzop(e,tp,eg,ep,ev,re,r,rp) function c65020068.xyzop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c65020068.xyzfilter1,tp,LOCATION_MZONE,0,nil,tp) local g=Duel.GetMatchingGroup(c65020068.xyzfilter1,tp,LOCATION_MZONE,0,nil,tp)
if g:GetCount()<=0 then return end if g:GetCount()<=0 then return end
local xyzg=Duel.GetMatchingGroup(c65020068.xyzfilter2,tp,LOCATION_EXTRA,0,nil,g) local xyzg=Duel.GetMatchingGroup(c65020068.xyzfilter2,tp,LOCATION_EXTRA,0,nil,g)
if xyzg:GetCount()>0 then if xyzg:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local xyz=xyzg:Select(tp,1,1,nil):GetFirst() local xyz=xyzg:Select(tp,1,1,nil):GetFirst()
Duel.XyzSummon(tp,xyz,g,1,10) Duel.XyzSummon(tp,xyz,g,1,10)
end end
end end
--幻之晶月辉印 --幻之晶月辉印
function c65020069.initial_effect(c) function c65020069.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c65020069.target) e1:SetTarget(c65020069.target)
e1:SetOperation(c65020069.activate) e1:SetOperation(c65020069.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c65020069.thfil(c) function c65020069.thfil(c)
return c:IsSetCard(0x9da3) and c:IsAbleToGrave() return c:IsSetCard(0x9da3) and c:IsAbleToGrave()
end end
function c65020069.target(e,tp,eg,ep,ev,re,r,rp,chk) function c65020069.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c65020069.thfil,tp,LOCATION_DECK,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.IsExistingMatchingCard(c65020069.thfil,tp,LOCATION_DECK,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,65020069,0,0x21,1900,500,4,RACE_PSYCHO,ATTRIBUTE_DARK) end and Duel.IsPlayerCanSpecialSummonMonster(tp,65020069,0,0x21,1900,500,4,RACE_PSYCHO,ATTRIBUTE_DARK) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c65020069.activate(e,tp,eg,ep,ev,re,r,rp) function c65020069.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.SelectMatchingCard(tp,c65020069.thfil,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c65020069.thfil,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoGrave(g,REASON_EFFECT)~=0 then if g:GetCount()>0 and Duel.SendtoGrave(g,REASON_EFFECT)~=0 then
Duel.BreakEffect() Duel.BreakEffect()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
or not Duel.IsPlayerCanSpecialSummonMonster(tp,65020069,0,0x21,1900,500,4,RACE_PSYCHO,ATTRIBUTE_DARK) then return end or not Duel.IsPlayerCanSpecialSummonMonster(tp,65020069,0,0x21,1900,500,4,RACE_PSYCHO,ATTRIBUTE_DARK) then return end
c:AddMonsterAttribute(TYPE_EFFECT+TYPE_TRAP) c:AddMonsterAttribute(TYPE_EFFECT+TYPE_TRAP)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c65020069.con) e1:SetCondition(c65020069.con)
e1:SetCost(c65020069.cost) e1:SetCost(c65020069.cost)
e1:SetTarget(c65020069.linktg) e1:SetTarget(c65020069.linktg)
e1:SetOperation(c65020069.linkop) e1:SetOperation(c65020069.linkop)
c:RegisterEffect(e1,true) c:RegisterEffect(e1,true)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
function c65020069.con(e,tp,eg,ep,ev,re,r,rp) function c65020069.con(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2) return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2)
end end
function c65020069.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c65020069.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(65020069)==0 end if chk==0 then return c:GetFlagEffect(65020069)==0 end
c:RegisterFlagEffect(65020069,RESET_CHAIN,0,1) c:RegisterFlagEffect(65020069,RESET_CHAIN,0,1)
end end
function c65020069.matfilter(c) function c65020069.matfilter(c)
return c:IsFaceup() return c:IsFaceup()
end end
function c65020069.lkfilter(c) function c65020069.lkfilter(c)
return c:IsSetCard(0x9da3) and c:IsType(TYPE_LINK) and c:IsSpecialSummonable(SUMMON_TYPE_LINK) return c:IsSetCard(0x9da3) and c:IsType(TYPE_LINK) and c:IsSpecialSummonable(SUMMON_TYPE_LINK)
end end
function c65020069.linktg(e,tp,eg,ep,ev,re,r,rp,chk) function c65020069.linktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local el={} local el={}
local mg=Duel.GetMatchingGroup(c65020069.matfilter,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(c65020069.matfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,mg) local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,mg)
for tc in aux.Next(g) do for tc in aux.Next(g) do
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL) e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
table.insert(el,e1) table.insert(el,e1)
end end
local res=Duel.IsExistingMatchingCard(c65020069.lkfilter,tp,LOCATION_EXTRA,0,1,nil) local res=Duel.IsExistingMatchingCard(c65020069.lkfilter,tp,LOCATION_EXTRA,0,1,nil)
for _,e in ipairs(el) do for _,e in ipairs(el) do
e:Reset() e:Reset()
end end
return res return res
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function c65020069.linkop(e,tp,eg,ep,ev,re,r,rp) function c65020069.linkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local el={} local el={}
local mg=Duel.GetMatchingGroup(c65020069.matfilter,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(c65020069.matfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,mg) local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,mg)
for tc in aux.Next(g) do for tc in aux.Next(g) do
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL) e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
table.insert(el,e1) table.insert(el,e1)
end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local xg=Duel.SelectMatchingCard(tp,c65020069.lkfilter,tp,LOCATION_EXTRA,0,1,1,nil) local xg=Duel.SelectMatchingCard(tp,c65020069.lkfilter,tp,LOCATION_EXTRA,0,1,1,nil)
local tc=xg:GetFirst() local tc=xg:GetFirst()
if tc then if tc then
Duel.SpecialSummonRule(tp,tc,SUMMON_TYPE_LINK) Duel.SpecialSummonRule(tp,tc,SUMMON_TYPE_LINK)
end end
for _,e in ipairs(el) do for _,e in ipairs(el) do
e:Reset() e:Reset()
end end
end end
\ No newline at end of file
--星之晶月辉印 --星之晶月辉印
function c65020070.initial_effect(c) function c65020070.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c65020070.target) e1:SetTarget(c65020070.target)
e1:SetOperation(c65020070.activate) e1:SetOperation(c65020070.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c65020070.thfil(c) function c65020070.thfil(c)
return c:IsSetCard(0x9da3) and c:IsAbleToHand() return c:IsSetCard(0x9da3) and c:IsAbleToHand()
end end
function c65020070.target(e,tp,eg,ep,ev,re,r,rp,chk) function c65020070.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c65020070.thfil,tp,LOCATION_GRAVE,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.IsExistingMatchingCard(c65020070.thfil,tp,LOCATION_GRAVE,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,65020070,0,0x21,1500,1500,4,RACE_WARRIOR,ATTRIBUTE_DARK) end and Duel.IsPlayerCanSpecialSummonMonster(tp,65020070,0,0x21,1500,1500,4,RACE_WARRIOR,ATTRIBUTE_DARK) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c65020070.activate(e,tp,eg,ep,ev,re,r,rp) function c65020070.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.SelectMatchingCard(tp,c65020070.thfil,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c65020070.thfil,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,tp,REASON_EFFECT)~=0 then if g:GetCount()>0 and Duel.SendtoHand(g,tp,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
Duel.BreakEffect() Duel.BreakEffect()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
or not Duel.IsPlayerCanSpecialSummonMonster(tp,65020070,0,0x21,1500,1500,4,RACE_WARRIOR,ATTRIBUTE_DARK) then return end or not Duel.IsPlayerCanSpecialSummonMonster(tp,65020070,0,0x21,1500,1500,4,RACE_WARRIOR,ATTRIBUTE_DARK) then return end
c:AddMonsterAttribute(TYPE_EFFECT+TYPE_TRAP) c:AddMonsterAttribute(TYPE_EFFECT+TYPE_TRAP)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c65020070.con) e1:SetCondition(c65020070.con)
e1:SetCost(c65020070.cost) e1:SetCost(c65020070.cost)
e1:SetTarget(c65020070.linktg) e1:SetTarget(c65020070.linktg)
e1:SetOperation(c65020070.linkop) e1:SetOperation(c65020070.linkop)
c:RegisterEffect(e1,true) c:RegisterEffect(e1,true)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
function c65020070.con(e,tp,eg,ep,ev,re,r,rp) function c65020070.con(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2) return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2)
end end
function c65020070.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c65020070.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(65020070)==0 end if chk==0 then return c:GetFlagEffect(65020070)==0 end
c:RegisterFlagEffect(65020070,RESET_CHAIN,0,1) c:RegisterFlagEffect(65020070,RESET_CHAIN,0,1)
end end
function c65020070.matfilter(c) function c65020070.matfilter(c)
return c:IsFaceup() return c:IsFaceup()
end end
function c65020070.lkfilter(c) function c65020070.lkfilter(c)
return c:IsSetCard(0x9da3) and c:IsType(TYPE_LINK) and c:IsSpecialSummonable(SUMMON_TYPE_LINK) return c:IsSetCard(0x9da3) and c:IsType(TYPE_LINK) and c:IsSpecialSummonable(SUMMON_TYPE_LINK)
end end
function c65020070.linktg(e,tp,eg,ep,ev,re,r,rp,chk) function c65020070.linktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local el={} local el={}
local mg=Duel.GetMatchingGroup(c65020070.matfilter,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(c65020070.matfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,mg) local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,mg)
for tc in aux.Next(g) do for tc in aux.Next(g) do
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL) e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
table.insert(el,e1) table.insert(el,e1)
end end
local res=Duel.IsExistingMatchingCard(c65020070.lkfilter,tp,LOCATION_EXTRA,0,1,nil) local res=Duel.IsExistingMatchingCard(c65020070.lkfilter,tp,LOCATION_EXTRA,0,1,nil)
for _,e in ipairs(el) do for _,e in ipairs(el) do
e:Reset() e:Reset()
end end
return res return res
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function c65020070.linkop(e,tp,eg,ep,ev,re,r,rp) function c65020070.linkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local el={} local el={}
local mg=Duel.GetMatchingGroup(c65020070.matfilter,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(c65020070.matfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,mg) local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,mg)
for tc in aux.Next(g) do for tc in aux.Next(g) do
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL) e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
table.insert(el,e1) table.insert(el,e1)
end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local xg=Duel.SelectMatchingCard(tp,c65020070.lkfilter,tp,LOCATION_EXTRA,0,1,1,nil) local xg=Duel.SelectMatchingCard(tp,c65020070.lkfilter,tp,LOCATION_EXTRA,0,1,1,nil)
local tc=xg:GetFirst() local tc=xg:GetFirst()
if tc then if tc then
Duel.SpecialSummonRule(tp,tc,SUMMON_TYPE_LINK) Duel.SpecialSummonRule(tp,tc,SUMMON_TYPE_LINK)
end end
for _,e in ipairs(el) do for _,e in ipairs(el) do
e:Reset() e:Reset()
end end
end end
--晶之晶月辉印 --晶之晶月辉印
function c65020071.initial_effect(c) function c65020071.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c65020071.target) e1:SetTarget(c65020071.target)
e1:SetOperation(c65020071.activate) e1:SetOperation(c65020071.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c65020071.thfil(c) function c65020071.thfil(c)
return c:IsSetCard(0x9da3) and c:IsType(TYPE_TRAP) and c:IsType(TYPE_CONTINUOUS) and c:IsSSetable() return c:IsSetCard(0x9da3) and c:IsType(TYPE_TRAP) and c:IsType(TYPE_CONTINUOUS) and c:IsSSetable()
end end
function c65020071.target(e,tp,eg,ep,ev,re,r,rp,chk) function c65020071.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c65020071.thfil,tp,LOCATION_GRAVE,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.IsExistingMatchingCard(c65020071.thfil,tp,LOCATION_GRAVE,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,65020071,0,0x21,500,1800,4,RACE_ROCK,ATTRIBUTE_DARK) end and Duel.IsPlayerCanSpecialSummonMonster(tp,65020071,0,0x21,500,1800,4,RACE_ROCK,ATTRIBUTE_DARK) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c65020071.activate(e,tp,eg,ep,ev,re,r,rp) function c65020071.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
local g=Duel.SelectMatchingCard(tp,c65020071.thfil,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c65020071.thfil,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 and Duel.SSet(tp,g)~=0 then if g:GetCount()>0 and Duel.SSet(tp,g)~=0 then
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
Duel.BreakEffect() Duel.BreakEffect()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
or not Duel.IsPlayerCanSpecialSummonMonster(tp,65020071,0,0x21,500,1800,4,RACE_ROCK,ATTRIBUTE_DARK) then return end or not Duel.IsPlayerCanSpecialSummonMonster(tp,65020071,0,0x21,500,1800,4,RACE_ROCK,ATTRIBUTE_DARK) then return end
c:AddMonsterAttribute(TYPE_EFFECT+TYPE_TRAP) c:AddMonsterAttribute(TYPE_EFFECT+TYPE_TRAP)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP)
--activate --activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e1:SetCondition(c65020071.con) e1:SetCondition(c65020071.con)
e1:SetTarget(c65020071.destg) e1:SetTarget(c65020071.destg)
e1:SetOperation(c65020071.desop) e1:SetOperation(c65020071.desop)
c:RegisterEffect(e1,true) c:RegisterEffect(e1,true)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
function c65020071.con(e,tp,eg,ep,ev,re,r,rp) function c65020071.con(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2) return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2)
end end
function c65020071.desfilter(c) function c65020071.desfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) return c:IsType(TYPE_SPELL+TYPE_TRAP)
end end
function c65020071.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c65020071.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(c65020071.desfilter,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) if chk==0 then return Duel.IsExistingTarget(c65020071.desfilter,tp,LOCATION_ONFIELD,0,1,e:GetHandler())
and Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end and Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g1=Duel.SelectTarget(tp,c65020071.desfilter,tp,LOCATION_ONFIELD,0,1,1,nil) local g1=Duel.SelectTarget(tp,c65020071.desfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g2=Duel.SelectTarget(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil) local g2=Duel.SelectTarget(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
g1:Merge(g2) g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g1,2,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g1,2,0,0)
end end
function c65020071.desop(e,tp,eg,ep,ev,re,r,rp) function c65020071.desop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.Destroy(g,REASON_EFFECT) Duel.Destroy(g,REASON_EFFECT)
end end
end end
\ No newline at end of file
--花之晶月辉印 --花之晶月辉印
function c65020072.initial_effect(c) function c65020072.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE+CATEGORY_DRAW) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c65020072.target) e1:SetTarget(c65020072.target)
e1:SetOperation(c65020072.activate) e1:SetOperation(c65020072.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c65020072.thfil(c) function c65020072.thfil(c)
return c:IsAbleToGrave() and c:IsSetCard(0x9da3) return c:IsAbleToGrave() and c:IsSetCard(0x9da3)
end end
function c65020072.target(e,tp,eg,ep,ev,re,r,rp,chk) function c65020072.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) if chk==0 then return Duel.IsPlayerCanDraw(tp,2)
and Duel.IsExistingMatchingCard(c65020072.thfil,tp,LOCATION_HAND,0,1,e:GetHandler()) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c65020072.thfil,tp,LOCATION_HAND,0,1,e:GetHandler()) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,65020072,0,0x21,1700,1200,4,RACE_PLANT,ATTRIBUTE_DARK) end and Duel.IsPlayerCanSpecialSummonMonster(tp,65020072,0,0x21,1700,1200,4,RACE_PLANT,ATTRIBUTE_DARK) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c65020072.activate(e,tp,eg,ep,ev,re,r,rp) function c65020072.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not Duel.IsPlayerCanDraw(tp,2) then return end if not Duel.IsPlayerCanDraw(tp,2) then return end
local g=Duel.SelectMatchingCard(tp,c65020072.thfil,tp,LOCATION_HAND,0,1,1,e:GetHandler()) local g=Duel.SelectMatchingCard(tp,c65020072.thfil,tp,LOCATION_HAND,0,1,1,e:GetHandler())
if g:GetCount()>0 and Duel.SendtoGrave(g,REASON_EFFECT)~=0 and Duel.Draw(tp,2,REASON_EFFECT)~=0 then if g:GetCount()>0 and Duel.SendtoGrave(g,REASON_EFFECT)~=0 and Duel.Draw(tp,2,REASON_EFFECT)~=0 then
Duel.BreakEffect() Duel.BreakEffect()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
or not Duel.IsPlayerCanSpecialSummonMonster(tp,65020072,0,0x21,1700,1200,4,RACE_PLANT,ATTRIBUTE_DARK) then return end or not Duel.IsPlayerCanSpecialSummonMonster(tp,65020072,0,0x21,1700,1200,4,RACE_PLANT,ATTRIBUTE_DARK) then return end
c:AddMonsterAttribute(TYPE_EFFECT+TYPE_TRAP) c:AddMonsterAttribute(TYPE_EFFECT+TYPE_TRAP)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP)
--activate --activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c65020072.con) e1:SetCondition(c65020072.con)
e1:SetTarget(c65020072.distg) e1:SetTarget(c65020072.distg)
e1:SetOperation(c65020072.disop) e1:SetOperation(c65020072.disop)
c:RegisterEffect(e1,true) c:RegisterEffect(e1,true)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
function c65020072.con(e,tp,eg,ep,ev,re,r,rp) function c65020072.con(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2) return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2)
end end
function c65020072.filter(c) function c65020072.filter(c)
return c:IsFaceup() and c:IsType(TYPE_SPELL+TYPE_TRAP) return c:IsFaceup() and c:IsType(TYPE_SPELL+TYPE_TRAP)
end end
function c65020072.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c65020072.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(c65020072.filter,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) if chk==0 then return Duel.IsExistingTarget(c65020072.filter,tp,LOCATION_ONFIELD,0,1,e:GetHandler())
and Duel.IsExistingTarget(aux.disfilter1,tp,0,LOCATION_ONFIELD,1,nil) end and Duel.IsExistingTarget(aux.disfilter1,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF)
Duel.SelectTarget(tp,aux.filter,tp,LOCATION_ONFIELD,0,1,1,nil) Duel.SelectTarget(tp,aux.filter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPPO) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPPO)
Duel.SelectTarget(tp,aux.disfilter1,tp,0,LOCATION_ONFIELD,1,1,nil) Duel.SelectTarget(tp,aux.disfilter1,tp,0,LOCATION_ONFIELD,1,1,nil)
end end
function c65020072.disop(e,tp,eg,ep,ev,re,r,rp) function c65020072.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g:GetCount()~=2 then return end if g:GetCount()~=2 then return end
for tc in aux.Next(g) do for tc in aux.Next(g) do
Duel.NegateRelatedChain(tc,RESET_TURN_SET) Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_DISABLE) e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EFFECT_DISABLE_EFFECT) e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET) e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
if tc:IsType(TYPE_TRAPMONSTER) then if tc:IsType(TYPE_TRAPMONSTER) then
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER) e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e3:SetReset(RESET_EVENT+RESETS_STANDARD) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3) tc:RegisterEffect(e3)
end end
end end
end end
\ No newline at end of file
This diff is collapsed.
2019/9/9 21:35:56 2019/9/10 13:21:38
\ No newline at end of file \ No newline at end of file
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