Commit 52888c11 authored by Momobako's avatar Momobako

Push by Appveyor

parent 2ad74955
No preview for this file type
...@@ -24,7 +24,7 @@ function cm.disable(e,c) ...@@ -24,7 +24,7 @@ function cm.disable(e,c)
return c==e:GetHandler() return c==e:GetHandler()
end end
function cm.sumcon(e) function cm.sumcon(e)
return Duel.GetTurnCount()<10 return Duel.GetTurnCount()<9
end end
function cm.drfilter(c) function cm.drfilter(c)
return c:IsFaceup() and c:IsCode(10901003) return c:IsFaceup() and c:IsCode(10901003)
......
--星彩的显化
local m=10902000
local cm=_G["c"..m]
function cm.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:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(92204263,0))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetTarget(cm.seqtg)
e2:SetOperation(cm.seqop)
c:RegisterEffect(e2)
end
function cm.filter(c)
return c:IsSetCard(0x235) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.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 cm.seqfilter(c)
return c:IsFaceup() and c:GetEquipCount()~=0
end
function cm.seqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and cm.seqfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.seqfilter,tp,LOCATION_MZONE,0,1,nil)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(92204263,1))
Duel.SelectTarget(tp,cm.seqfilter,tp,LOCATION_MZONE,0,1,1,nil)
end
function cm.seqop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) or tc:IsControler(1-tp) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,571)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=math.log(s,2)
Duel.MoveSequence(tc,nseq)
end
--星彩的双星
local m=10902001
local cm=_G["c"..m]
function cm.initial_effect(c)
--equip
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(3064425,0))
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m)
e1:SetTarget(cm.eqtg)
e1:SetOperation(cm.eqop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(59755122,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCountLimit(1)
e2:SetRange(LOCATION_SZONE)
e2:SetCost(cm.spcost)
e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(11493868,1))
e3:SetCategory(CATEGORY_TOGRAVE+CATEGORY_DRAW)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_SZONE)
e3:SetCost(cm.cost)
e3:SetTarget(cm.target)
e3:SetOperation(cm.activate)
c:RegisterEffect(e3)
end
function cm.qfilter(c)
return c:IsFaceup()
end
function cm.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and cm.qfilter(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(cm.qfilter,tp,LOCATION_MZONE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,cm.qfilter,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
end
function cm.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if c:IsLocation(LOCATION_MZONE) and c:IsFacedown() then return end
local tc=Duel.GetFirstTarget()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:GetControler()~=tp or tc:IsFacedown() or not tc:IsRelateToEffect(e) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
Duel.Equip(tp,c,tc,true)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(cm.eqlimit)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_EQUIP)
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetValue(1)
e2:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e2)
end
function cm.eqlimit(e,c)
return c:IsFaceup()
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
function cm.filter(c)
return ((c:IsFaceup() or c:IsLocation(LOCATION_HAND)) and c:IsSetCard(0x235)) and c:IsAbleToGrave()
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2)
and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,e:GetHandler())
local tc=g:GetFirst()
if tc and Duel.SendtoGrave(tc,REASON_EFFECT)>0 and tc:IsLocation(LOCATION_GRAVE) then
Duel.Draw(tp,2,REASON_EFFECT)
end
end
function cm.scfilter(c,g)
return g:IsContains(c) and c:IsSetCard(0x235) and c:IsFaceup()
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local cg=e:GetHandler():GetColumnGroup()
if chkc then return chkc:IsOnField() and cm.scfilter(chkc,cg) end
if chk==0 then return Duel.CheckReleaseGroup(tp,cm.scfilter,1,nil,cg) end
local g=Duel.SelectReleaseGroup(tp,cm.scfilter,1,1,nil,cg)
Duel.Release(g,REASON_COST)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.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
--星彩的神树
local m=10902002
local cm=_G["c"..m]
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(3064425,0))
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_HAND)
e1:SetTarget(cm.eqtg)
e1:SetOperation(cm.eqop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(7093411,1))
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetTarget(cm.settarget)
e2:SetOperation(cm.setoperation)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(59755122,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCountLimit(1)
e3:SetRange(LOCATION_SZONE)
e3:SetCost(cm.spcost)
e3:SetTarget(cm.sptg)
e3:SetOperation(cm.spop)
c:RegisterEffect(e3)
end
function cm.filter(c)
return c:IsFaceup()
end
function cm.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and cm.filter(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(cm.filter,tp,LOCATION_MZONE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,cm.filter,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
end
function cm.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if c:IsLocation(LOCATION_MZONE) and c:IsFacedown() then return end
local tc=Duel.GetFirstTarget()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:GetControler()~=tp or tc:IsFacedown() or not tc:IsRelateToEffect(e) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
Duel.Equip(tp,c,tc,true)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(cm.eqlimit)
c:RegisterEffect(e1)
end
function cm.eqlimit(e,c)
return c:IsFaceup()
end
function cm.stfilter(c)
return c:IsSetCard(0x235) and c:IsType(TYPE_MONSTER) and not c:IsForbidden()
end
function cm.settarget(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.stfilter,tp,LOCATION_DECK,0,1,nil)
and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
end
function cm.setoperation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,cm.stfilter,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fc0000)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
tc:RegisterEffect(e1)
end
end
function cm.scfilter(c,g)
return g:IsContains(c) and c:IsSetCard(0x235) and c:IsFaceup()
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local cg=e:GetHandler():GetColumnGroup()
if chkc then return chkc:IsOnField() and cm.scfilter(chkc,cg) end
if chk==0 then return Duel.CheckReleaseGroup(tp,cm.scfilter,1,nil,cg) end
local g=Duel.SelectReleaseGroup(tp,cm.scfilter,1,1,nil,cg)
Duel.Release(g,REASON_COST)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.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
--星彩的守望者
local m=10902003
local cm=_G["c"..m]
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(3064425,0))
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_HAND)
e1:SetTarget(cm.eqtg)
e1:SetOperation(cm.eqop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(7093411,1))
e2:SetCategory(CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,m)
e2:SetTarget(cm.settarget)
e2:SetOperation(cm.setoperation)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(59755122,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCountLimit(1)
e3:SetRange(LOCATION_SZONE)
e3:SetCost(cm.spcost)
e3:SetTarget(cm.sptg)
e3:SetOperation(cm.spop)
c:RegisterEffect(e3)
end
function cm.filter(c)
return c:IsFaceup()
end
function cm.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and cm.filter(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(cm.filter,tp,LOCATION_MZONE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,cm.filter,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
end
function cm.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if c:IsLocation(LOCATION_MZONE) and c:IsFacedown() then return end
local tc=Duel.GetFirstTarget()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:GetControler()~=tp or tc:IsFacedown() or not tc:IsRelateToEffect(e) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
Duel.Equip(tp,c,tc,true)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(cm.eqlimit)
c:RegisterEffect(e1)
end
function cm.eqlimit(e,c)
return c:IsFaceup()
end
function cm.sefilter(c)
return c:IsSetCard(0x235) and c:IsAbleToHand()
end
function cm.settarget(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.sefilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.setoperation(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.sefilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.scfilter(c,g)
return g:IsContains(c) and c:IsSetCard(0x235) and c:IsFaceup()
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local cg=e:GetHandler():GetColumnGroup()
if chkc then return chkc:IsOnField() and cm.scfilter(chkc,cg) end
if chk==0 then return Duel.CheckReleaseGroup(tp,cm.scfilter,1,nil,cg) end
local g=Duel.SelectReleaseGroup(tp,cm.scfilter,1,1,nil,cg)
Duel.Release(g,REASON_COST)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.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
--星彩的舞浪者
local m=10902004
local cm=_G["c"..m]
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(3064425,0))
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_HAND)
e1:SetTarget(cm.eqtg)
e1:SetOperation(cm.eqop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(7093411,1))
e2:SetCategory(CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,m)
e2:SetTarget(cm.settarget)
e2:SetOperation(cm.setoperation)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(59755122,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCountLimit(1)
e3:SetRange(LOCATION_SZONE)
e3:SetCost(cm.spcost)
e3:SetTarget(cm.sptg)
e3:SetOperation(cm.spop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CANNOT_INACTIVATE)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(cm.tgcon)
e4:SetValue(cm.effectfilter)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_CANNOT_DISEFFECT)
e5:SetRange(LOCATION_MZONE)
e5:SetCondition(cm.tgcon)
e5:SetValue(cm.effectfilter)
c:RegisterEffect(e5)
end
function cm.filter(c)
return c:IsFaceup()
end
function cm.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and cm.filter(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(cm.filter,tp,LOCATION_MZONE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,cm.filter,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
end
function cm.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if c:IsLocation(LOCATION_MZONE) and c:IsFacedown() then return end
local tc=Duel.GetFirstTarget()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:GetControler()~=tp or tc:IsFacedown() or not tc:IsRelateToEffect(e) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
Duel.Equip(tp,c,tc,true)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(cm.eqlimit)
c:RegisterEffect(e1)
end
function cm.eqlimit(e,c)
return c:IsFaceup()
end
function cm.tdfilter(c)
return c:IsAbleToDeck()
end
function cm.settarget(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.tdfilter,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(cm.tdfilter,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
end
function cm.setoperation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,cm.tdfilter,tp,0,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
end
function cm.tgcon(e)
local c=e:GetHandler()
return c:GetSummonLocation()==LOCATION_SZONE and c:GetEquipCount()~=0
end
function cm.effectfilter(e,ct)
local p=e:GetHandlerPlayer()
local te,tp,loc=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TRIGGERING_LOCATION)
local tc=te:GetHandler()
return p==tp and bit.band(loc,LOCATION_ONFIELD)~=0 and tc:IsSetCard(0x235)
end
function cm.scfilter(c,g)
return g:IsContains(c) and c:IsSetCard(0x235) and c:IsFaceup()
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local cg=e:GetHandler():GetColumnGroup()
if chkc then return chkc:IsOnField() and cm.scfilter(chkc,cg) end
if chk==0 then return Duel.CheckReleaseGroup(tp,cm.scfilter,1,nil,cg) end
local g=Duel.SelectReleaseGroup(tp,cm.scfilter,1,1,nil,cg)
Duel.Release(g,REASON_COST)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.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
\ No newline at end of file
--星彩的天使
local m=10902005
local cm=_G["c"..m]
function cm.initial_effect(c)
--equip
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(3064425,0))
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m)
e1:SetCondition(cm.eqcon)
e1:SetTarget(cm.eqtg)
e1:SetOperation(cm.eqop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_HAND)
e2:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(59755122,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCountLimit(1)
e3:SetRange(LOCATION_SZONE)
e3:SetCost(cm.spcost)
e3:SetTarget(cm.sptg)
e3:SetOperation(cm.spop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAIN_SOLVING)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(cm.discon)
e4:SetOperation(cm.disop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(m,0))
e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_SPSUMMON_SUCCESS)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e5:SetCountLimit(1,m)
e5:SetTarget(cm.sptg)
e5:SetOperation(cm.spop)
c:RegisterEffect(e5)
end
function cm.filter(c)
return c:IsFaceup()
end
function cm.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and cm.filter(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(cm.filter,tp,LOCATION_MZONE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,cm.filter,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
end
function cm.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if c:IsLocation(LOCATION_MZONE) and c:IsFacedown() then return end
local tc=Duel.GetFirstTarget()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:GetControler()~=tp or tc:IsFacedown() or not tc:IsRelateToEffect(e) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
Duel.Equip(tp,c,tc,true)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(cm.eqlimit)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_EQUIP)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetValue(cm.efilter)
e2:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e2)
end
function cm.eqlimit(e,c)
return c:IsFaceup()
end
function cm.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer() and te:GetOwner()~=e:GetOwner()
and te:IsActiveType(TYPE_MONSTER)
end
function cm.seqfilter(c)
return c:IsFaceup() and c:IsSetCard(0x235)
end
function cm.eqcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.seqfilter,tp,LOCATION_ONFIELD,0,1,nil)
end
function cm.spfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function cm.discon(e,tp,eg,ep,ev,re,r,rp)
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
local c=e:GetHandler()
return ep~=tp and c:GetSummonLocation()==LOCATION_SZONE and not (re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsType(TYPE_SPELL)) and loc==LOCATION_HAND
end
function cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
function cm.scfilter(c,g)
return g:IsContains(c) and c:IsSetCard(0x235) and c:IsFaceup()
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local cg=e:GetHandler():GetColumnGroup()
if chkc then return chkc:IsOnField() and cm.scfilter(chkc,cg) end
if chk==0 then return Duel.CheckReleaseGroup(tp,cm.scfilter,1,nil,cg) end
local g=Duel.SelectReleaseGroup(tp,cm.scfilter,1,1,nil,cg)
Duel.Release(g,REASON_COST)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.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
--小小的星辉
local m=10902006
local cm=_G["c"..m]
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetRange(LOCATION_SZONE)
e2:SetCondition(cm.discon)
e2:SetOperation(cm.disop)
c:RegisterEffect(e2)
--Equip
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCategory(CATEGORY_EQUIP)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetHintTiming(0,TIMING_END_PHASE)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCountLimit(1)
e3:SetRange(LOCATION_SZONE)
e3:SetCost(cm.cost)
e3:SetTarget(cm.target)
e3:SetOperation(cm.operation)
c:RegisterEffect(e3)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x235))
e1:SetTargetRange(LOCATION_ONFIELD,0)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetValue(aux.indoval)
Duel.RegisterEffect(e1,tp)
end
function cm.ngfilter(c)
return c:IsFaceup() and c:IsSetCard(0x235)
end
function cm.cnfilter(c,tp)
return c:IsControler(tp) and c:IsLocation(LOCATION_SZONE) and c:IsFaceup() and c:IsSetCard(0x235)
end
function cm.discon(e,tp,eg,ep,ev,re,r,rp)
if re:GetHandler():GetColumnGroup():FilterCount(cm.cnfilter,nil,tp)>0 then return end
return rp~=tp and re:IsActiveType(TYPE_SPELL) and Duel.IsExistingMatchingCard(cm.ngfilter,tp,LOCATION_SZONE,0,2,nil)
end
function cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
function cm.cpfilter(c,ft)
return c:IsFaceup() and c:IsAbleToHandAsCost() and c:IsSetCard(0x235)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cpfilter,tp,LOCATION_ONFIELD,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,cm.cpfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_COST)
end
function cm.cfilter(c)
return c:IsFaceup()
end
function cm.filter2(c)
return c:IsSetCard(0x235) and c:IsType(TYPE_MONSTER) and not c:IsForbidden()
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and cm.cfilter(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(cm.cfilter,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_GRAVE+LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,cm.cfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,1,tp,LOCATION_GRAVE+LOCATION_HAND)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local sg=Duel.SelectMatchingCard(tp,cm.filter2,tp,LOCATION_GRAVE+LOCATION_HAND,0,1,1,nil)
local sc=sg:GetFirst()
if sc and tc:IsFaceup() and tc:IsRelateToEffect(e) then
if not Duel.Equip(tp,sc,tc,true) then return end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(cm.eqlimit)
e1:SetLabelObject(tc)
sc:RegisterEffect(e1)
end
end
function cm.eqlimit(e,c)
return e:GetLabelObject()==c
end
--星彩的背弃者
local m=10902007
local cm=_G["c"..m]
function cm.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),3,3)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1:SetValue(1)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(cm.discon)
e2:SetCost(cm.discost)
e2:SetTarget(cm.distg)
e2:SetOperation(cm.disop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(10441498,1))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_RELEASE)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(cm.thcon)
e3:SetTarget(cm.thtg)
e3:SetOperation(cm.thop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetRange(LOCATION_MZONE)
e4:SetTargetRange(LOCATION_MZONE,0)
e4:SetTarget(cm.distarget)
e4:SetCode(EFFECT_DISABLE)
c:RegisterEffect(e4)
end
function cm.distarget(e,c)
return e:GetHandler():GetLinkedGroup():IsContains(c) and not (c:GetEquipCount()~=0 and c:GetEquipGroup():IsExists(Card.IsSetCard,1,nil,0x235))
end
function cm.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x235) and c:IsAbleToGraveAsCost()
end
function cm.discon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return re:IsActiveType(TYPE_MONSTER) and not c:IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
end
function cm.ngfilter(c,g)
return c:IsType(TYPE_MONSTER) and g:IsContains(c) and not c:IsDisabled()
end
function cm.discost(e,tp,eg,ep,ev,re,r,rp,chk)
local lg=e:GetHandler():GetLinkedGroup()
if chk==0 then return Duel.CheckReleaseGroup(tp,cm.ngfilter,1,nil,lg) end
local g=Duel.SelectReleaseGroup(tp,cm.ngfilter,1,1,nil,lg)
Duel.Release(g,REASON_COST)
end
function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end
end
function cm.disop(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 cm.thfilter2(c,tp)
return c:IsType(TYPE_MONSTER) and c:IsPreviousLocation(LOCATION_ONFIELD+LOCATION_HAND) and c:IsSetCard(0x235)
end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.thfilter2,1,e:GetHandler(),tp)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetChainLimit(aux.FALSE)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local lp=Duel.GetLP(1-tp)
Duel.SetLP(1-tp,lp-1000)
end
--永远鲜红的幼月
function c1151001.initial_effect(c)
--
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_SPSUMMON_PROC_G)
e0:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c1151001.synCon)
e0:SetOperation(c1151001.synOp)
e0:SetValue(SUMMON_TYPE_SYNCHRO)
c:RegisterEffect(e0)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(c1151001.tg1)
e1:SetOperation(c1151001.op1)
c:RegisterEffect(e1)
--
end
--
c1151001.named_with_Leimi=1
function c1151001.IsLeimi(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Leimi
end
c1151001.named_with_Leisp=1
function c1151001.IsLeisp(c)
local m=_G["c"..c:GetCode()]
return c.named_with_Leisp
end
function c1151001.IsFulan(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Fulan
end
c1151001.named_with_Lulsp=1
function c1151001.IsFulsp(c)
local m=_G["c"..c:GetCode()]
return c.named_with_Fulsp
end
--
function c1151001.synLvfilter(c, syncard)
if c:IsType(TYPE_LINK) then return 99 end
if c:IsType(TYPE_XYZ) then
return c:GetRank()
else
return c:GetSynchroLevel(syncard)
end
end
function c1151001.filter(c, tp, mg, turner, e)
local lv = c:GetLevel() - turner:GetLevel()
if lv < 1 then return false end
local flag = Duel.GetLocationCountFromEx(tp, tp, turner) < 1
return c:IsRace(RACE_FIEND) and c:IsType(TYPE_SYNCHRO) and c:IsCanBeSpecialSummoned(e, SUMMON_TYPE_SYNCHRO, tp, true, false)
and mg:IsExists(c1151001.matfilter, 1, turner, mg, tp, lv, c, flag)
end
function c1151001.matfilter(c, mg, tp, lv, sync, flag)
if flag and Duel.GetLocationCountFromEx(tp, tp, c) < 1 then return end
local val = c1151001.synLvfilter(c, sync)
if val == 99 then return false end
lv = lv - val
if lv == 0 then return true end
if lv > 1 then
local g = mg:Clone()
g:RemoveCard(c)
return g:CheckWithSumEqual(c1151001.synLvfilter, lv, 1, 99, sync)
end
return false
end
function c1151001.synCon(e, c, og)
if c == nil then return true end
local tp = c:GetControler()
local mg = Duel.GetMatchingGroup(Card.IsFaceup, tp, LOCATION_MZONE, 0, c)
return Duel.IsExistingMatchingCard(c1151001.filter, tp, LOCATION_EXTRA, 0, 1, nil, tp, mg, c, e)
end
function c1151001.synOp(e,tp,eg,ep,ev,re,r,rp,c,sg,og)
local tp = c:GetControler()
local g = Duel.GetMatchingGroup(Card.IsFaceup, tp, LOCATION_MZONE, 0, c)
local syncG = Duel.SelectMatchingCard(tp, c1151001.filter, tp, LOCATION_EXTRA, 0, 1, 1, nil, tp, g, c, e)
if syncG:GetCount() < 1 then return end
sg:Merge(syncG)
sync = syncG:GetFirst()
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_SMATERIAL)
local mg = Group.FromCards(c)
mg:Select(tp, 1, 1, nil)
g:RemoveCard(c)
local lv = sync:GetLevel()-c:GetLevel()
local flag = Duel.GetLocationCountFromEx(tp, tp, c) < 1
local fmat = g:FilterSelect(tp, c1151001.matfilter, 1, 1, c, g, tp, lv, c, flag):GetFirst()
local val = c1151001.synLvfilter(fmat, sync)
mg:AddCard(fmat)
g:RemoveCard(fmat)
lv = lv - val
if lv > 1 then
local temp = g:SelectWithSumEqual(tp, c1151001.synLvfilter, lv, 1, 99, sync)
mg:Merge(temp)
end
sync:SetMaterial(mg)
Duel.SendtoGrave(mg, REASON_MATERIAL+REASON_SYNCHRO)
sync:CompleteProcedure()
end
--
function c1151001.tfilter1(c)
return (((c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP)) and c1151001.IsLeisp(c)) or (c:IsType(TYPE_MONSTER) and c1151001.IsFulan(c))) and c:IsAbleToHand()
end
function c1151001.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c1151001.tfilter1,tp,LOCATION_DECK,0,1,nil) and e:GetHandler():GetFlagEffect(1151001)==0 end
end
--
function c1151001.ofilter1(c)
return c:IsRace(RACE_FIEND)
end
function c1151001.op1(e,tp,eg,ep,ev,re,r,rp,c)
local c=e:GetHandler()
if eg:IsExists(c1151001.ofilter1,1,e:GetHandler()) and not c:IsDisabled() then
Duel.Hint(HINT_CARD,0,1151001)
c:RegisterFlagEffect(1151001,RESET_EVENT+0x1fe0000,0,1)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c1151001.tfilter1,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
--红之恶魔·蕾米莉亚
function c1151003.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,1151003)
e1:SetCost(c1151003.cost1)
e1:SetTarget(c1151003.tg1)
e1:SetOperation(c1151003.op1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(1151003,0))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCost(c1151003.cost2)
e2:SetTarget(c1151003.tg2)
e2:SetOperation(c1151003.op2)
c:RegisterEffect(e2)
--
end
--
c1151003.named_with_Leimi=1
function c1151003.IsLeimi(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Leimi
end
c1151003.named_with_Leisp=1
function c1151003.IsLeisp(c)
local m=_G["c"..c:GetCode()]
return c.named_with_Leisp
end
--
function c1151003.cfilter(c)
return c:IsAbleToDeck()
end
function c1151003.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c1151003.cfilter1,tp,LOCATION_SZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c1151003.cfilter1,tp,LOCATION_SZONE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
end
--
function c1151003.tg1(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,tp,LOCATION_GRAVE)
end
--
function c1151003.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsLocation(LOCATION_GRAVE) then
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
local e1_1=Effect.CreateEffect(c)
e1_1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1_1:SetCode(EVENT_LEAVE_FIELD)
e1_1:SetReset(RESET_EVENT+0x01020000)
e1_1:SetCondition(c1151003.con1_1)
e1_1:SetOperation(c1151003.op1_1)
c:RegisterEffect(e1_1)
local e1_2=Effect.CreateEffect(c)
e1_2:SetType(EFFECT_TYPE_SINGLE)
e1_2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1_2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1_2:SetReset(RESET_EVENT+0x47e0000)
e1_2:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1_2,true)
end
end
end
function c1151003.con1_1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousPosition(POS_FACEUP)
end
function c1151003.op1_1(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,1151990,0,0x4011,200,200,1,RACE_FIEND,ATTRIBUTE_DARK) then
Duel.Hint(HINT_CARD,0,1151003)
local token=Duel.CreateToken(tp,1151990)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
end
end
--
function c1151003.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
if chk==0 then return true end
end
function c1151003.tfilter2(c,e,tp,eg,ep,ev,re,r,rp)
if c:GetType()==TYPE_SPELL and c:IsAbleToRemoveAsCost() and c1151003.IsLeisp(c) then
if c:CheckActivateEffect(true,true,false)~=nil then return true end
local te=c:GetActivateEffect()
local con=te:GetCondition()
if con and not con(e,tp,eg,ep,ev,re,r,rp) then return false end
local tg=te:GetTarget()
if tg and not tg(e,tp,eg,ep,ev,re,r,rp,0) then return false end
end
return false
end
--
function c1151003.op2(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject()
if not te then return end
e:SetLabelObject(te:GetLabelObject())
local op=te:GetOperation()
if op then op(e,tp,eg,ep,ev,re,r,rp) end
if Duel.GetLocationCount(tp,LOCATION_SZONE)>0 then
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e2_1=Effect.CreateEffect(e:GetHandler())
e2_1:SetCode(EFFECT_CHANGE_TYPE)
e2_1:SetType(EFFECT_TYPE_SINGLE)
e2_1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2_1:SetReset(RESET_EVENT+0x1fc0000)
e2_1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e:GetHandler():RegisterEffect(e2_1,true)
end
end
--
function c1151003.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()==0 then return false end
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return false end
e:SetLabel(0)
return Duel.IsExistingMatchingCard(c1151003.tfilter2,tp,LOCATION_GRAVE,0,1,nil,e,tp,eg,ep,ev,re,r,rp)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c1151003.tfilter2,tp,LOCATION_GRAVE,0,1,1,nil,e,tp,eg,ep,ev,re,r,rp)
local tc=g:GetFirst()
local te,ceg,cep,cev,cre,cr,crp
local fchain=c1151003.tfilter2(tc)
if fchain then
te,ceg,cep,cev,cre,cr,crp=tc:CheckActivateEffect(true,true,true)
else
te=tc:GetActivateEffect()
end
Duel.Remove(g,POS_FACEUP,REASON_COST)
e:SetCategory(te:GetCategory())
e:SetProperty(te:GetProperty())
local tg=te:GetTarget()
if tg then
if fchain then
tg(e,tp,ceg,cep,cev,cre,cr,crp,1)
else
tg(e,tp,eg,ep,ev,re,r,rp,1)
end
end
te:SetLabelObject(e:GetLabelObject())
e:SetLabelObject(te)
end
--
\ No newline at end of file
--浓雾的吸血鬼·蕾米莉亚
function c1151005.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(1151005,3))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_SZONE)
e1:SetTarget(c1151005.tg1)
e1:SetOperation(c1151005.op1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(1151005,2))
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,1151006)
e2:SetTarget(c1151005.tg2)
e2:SetOperation(c1151005.op2)
c:RegisterEffect(e2)
--
end
--
c1151005.named_with_Leimi=1
function c1151005.IsLeimi(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Leimi
end
function c1151005.IsLeisp(c)
local m=_G["c"..c:GetCode()]
return c.named_with_Leisp
end
--
function c1151005.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0 end
end
--
function c1151005.op1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0 then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(1151005,0))
local tc=Duel.GetDecktopGroup(tp,1):GetFirst()
local t=0
local opt=Duel.SelectOption(tp,70,71,72)
if opt==0 then t=TYPE_MONSTER
else
if opt==1 then
t=TYPE_SPELL
else t=TYPE_TRAP
end
end
Duel.ConfirmDecktop(tp,1)
Duel.ShuffleDeck(tp)
if tc:IsType(t) and Duel.GetFieldGroupCount(tp,0,LOCATION_DECK)>0 then
if Duel.GetFieldGroupCount(tp,0,LOCATION_DECK)==1 then
Duel.SortDecktop(tp,1-tp,1)
else
Duel.SortDecktop(tp,1-tp,2)
end
if e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP)
end
else
if e:GetHandler():IsAbleToHand() then
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
end
end
end
--
function c1151005.tfilter2(c)
return c1151005.IsLeisp(c) and c:IsType(TYPE_SPELL)
end
function c1151005.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and c1151005.tfilter2(chkc) end
if chk==0 then return Duel.IsExistingMatchingCard(c1151005.tfilter2,tp,LOCATION_GRAVE,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(1151005,1))
local g=Duel.SelectTarget(tp,c1151005.tfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
end
--
function c1151005.op2(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsLocation(LOCATION_GRAVE) then
local e2_1=Effect.CreateEffect(tc)
e2_1:SetType(EFFECT_TYPE_SINGLE)
e2_1:SetCode(EFFECT_CHANGE_TYPE)
e2_1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2_1:SetValue(TYPE_CONTINUOUS+TYPE_SPELL)
e2_1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e2_1,true)
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e2_2=Effect.CreateEffect(tc)
e2_2:SetType(EFFECT_TYPE_SINGLE)
e2_2:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE)
e2_2:SetCode(EFFECT_CHANGE_CODE)
e2_2:SetRange(LOCATION_SZONE)
e2_2:SetValue(1151999)
e2_2:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e2_2,true)
local e2_3=Effect.CreateEffect(tc)
e2_3:SetType(EFFECT_TYPE_FIELD)
e2_3:SetCode(EFFECT_SPSUMMON_PROC_G)
e2_3:SetRange(LOCATION_SZONE)
e2_3:SetCountLimit(1,1151999)
e2_3:SetCondition(c1151005.con2_3)
e2_3:SetOperation(c1151005.op2_3)
e2_3:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e2_3,true)
end
end
--
function c1151005.cfilter2_3(c,e,tp)
return c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:GetLevel()<5 and c:IsRace(RACE_FIEND)
end
function c1151005.con2_3(e,c,og)
local tp=e:GetHandlerPlayer()
local c=e:GetHandler()
return Duel.IsExistingMatchingCard(c1151005.cfilter2_3,tp,LOCATION_HAND,0,1,nil,e,tp) and c:IsFaceup() and not c:IsDisabled() and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
--
function c1151005.op2_3(e,tp,eg,ep,ev,re,r,rp,c,sg,og)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c1151005.cfilter2_3,tp,LOCATION_HAND,0,1,1,nil,e,tp)
sg:Merge(g)
end
--
--蕾米莉亚·斯卡蕾特
function c1151101.initial_effect(c)
--
aux.AddSynchroProcedure(c,c1151101.filter0_1,c1151101.filter0_2,1)
c:EnableReviveLimit()
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(1151101,0))
e1:SetCategory(CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,1151101)
e1:SetTarget(c1151101.tg1)
e1:SetOperation(c1151101.op1)
c:RegisterEffect(e1)
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetValue(aux.tgoval)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(1151101,1))
e4:SetCategory(CATEGORY_TOHAND+CATEGORY_TOGRAVE+CATEGORY_DESTROY)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,1151102)
e4:SetTarget(c1151101.tg4)
e4:SetOperation(c1151101.op4)
c:RegisterEffect(e4)
--
end
--
c1151101.named_with_Leimi=1
function c1151101.IsLeimi(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Leimi
end
function c1151101.IsLeisp(c)
local m=_G["c"..c:GetCode()]
return c.named_with_Leisp
end
--
function c1151101.filter0_1(c)
return c1151101.IsLeimi(c) and c:IsType(TYPE_TUNER)
end
function c1151101.filter0_2(c)
return c:IsRace(RACE_FIEND)
end
--
function c1151101.tfilter1(c)
return c:IsAbleToDeck()
end
function c1151101.tg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c1151101.tfilter1,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,0,LOCATION_GRAVE)
end
--
function c1151101.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c1151101.tfilter1,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoDeck(g,nil,0,REASON_EFFECT)
end
end
end
--
function c1151101.tg4(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0 end
Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(1151101,2))
Duel.Hint(HINT_SELECTMSG,tp,0)
local ac=Duel.AnnounceCard(tp)
e:SetLabel(ac)
end
--
function c1151101.ofilter4(c)
return c:IsAbleToGrave()
end
function c1151101.op4(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) or Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)==0 then return end
Duel.ConfirmDecktop(tp,1)
local g=Duel.GetDecktopGroup(tp,1)
local tc=g:GetFirst()
if tc:GetCode()==e:GetLabel() and tc:IsAbleToHand() then
Duel.DisableShuffleCheck()
if Duel.SendtoHand(tc,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,tc)
if Duel.IsExistingMatchingCard(c1151101.ofilter4,tp,LOCATION_ONFIELD,0,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g2=Duel.SelectMatchingCard(tp,c1151101.ofilter4,tp,0,LOCATION_ONFIELD,1,1,nil)
if g2:GetCount()>0 then
Duel.SendtoGrave(g2,REASON_EFFECT)
end
end
Duel.ShuffleHand(tp)
end
else
Duel.DisableShuffleCheck()
Duel.Destroy(tc,REASON_EFFECT)
end
end
--
...@@ -3,12 +3,10 @@ function c1151201.initial_effect(c) ...@@ -3,12 +3,10 @@ function c1151201.initial_effect(c)
-- --
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(1151201,0)) e1:SetDescription(aux.Stringid(1151201,0))
e1:SetCategory(CATEGORY_TODECK) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,1151201)
e1:SetCost(c1151201.cost1) e1:SetCost(c1151201.cost1)
e1:SetCondition(c1151201.con1)
e1:SetTarget(c1151201.tg1) e1:SetTarget(c1151201.tg1)
e1:SetOperation(c1151201.op1) e1:SetOperation(c1151201.op1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -19,7 +17,6 @@ function c1151201.initial_effect(c) ...@@ -19,7 +17,6 @@ function c1151201.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetType(EFFECT_TYPE_ACTIVATE) e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAINING)
e2:SetCountLimit(1,1151200)
e2:SetCondition(c1151201.con2) e2:SetCondition(c1151201.con2)
e2:SetTarget(c1151201.tg2) e2:SetTarget(c1151201.tg2)
e2:SetOperation(c1151201.op2) e2:SetOperation(c1151201.op2)
...@@ -38,40 +35,45 @@ function c1151201.IsLeisp(c) ...@@ -38,40 +35,45 @@ function c1151201.IsLeisp(c)
end end
-- --
function c1151201.cfilter1(c) function c1151201.cfilter1(c)
return c:IsType(TYPE_MONSTER) return c:IsRace(RACE_FIEND) and c:IsType(TYPE_MONSTER)
end end
function c1151201.cost1(e,tp,eg,ep,ev,re,r,rp,chk) function c1151201.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c1151201.cfilter2,1,nil) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingMatchingCard(c1151201.cfilter1,tp,LOCATION_ONFIELD,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF)
local g=Duel.SelectReleaseGroup(tp,c1151201.cfilter2,1,1,nil) local g=Duel.SelectMatchingCard(tp,c1151201.cfilter1,tp,LOCATION_ONFIELD,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.Release(g,REASON_EFFECT) local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1_1=Effect.CreateEffect(e:GetHandler())
e1_1:SetType(EFFECT_TYPE_SINGLE)
e1_1:SetCode(EFFECT_CHANGE_TYPE)
e1_1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1_1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e1_1:SetReset(RESET_EVENT+0x1fc0000)
tc:RegisterEffect(e1_1,true)
end end
end end
-- --
function c1151201.con1(e,tp,eg,ep,ev,re,r,rp)
return tp==Duel.GetTurnPlayer()
end
--
function c1151201.tfilter1(c) function c1151201.tfilter1(c)
return c:IsAbleToDeck() return c:IsAbleToHand()
end end
function c1151201.tg1(e,tp,eg,ep,ev,re,r,rp,chk) function c1151201.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c1151201.tfilter1,tp,0,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c1151201.tfilter1,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,0,0,LOCATION_ONFIELD) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_ONFIELD)
end end
-- --
function c1151201.op1(e,tp,eg,ep,ev,re,r,rp) function c1151201.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPPO)
local g=Duel.SelectMatchingCard(tp,c1151201.tfilter1,tp,0,LOCATION_ONFIELD,1,2,nil) local g=Duel.SelectMatchingCard(tp,c1151201.tfilter1,tp,0,LOCATION_ONFIELD,1,2,nil)
if g:GetCount()>0 then if g:GetCount()==1 then
if Duel.SendtoDeck(g,nil,0,REASON_EFFECT)~=0 and Duel.GetFieldGroupCount(tp,0,LOCATION_DECK)>0 then Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.BreakEffect()
if Duel.GetFieldGroupCount(tp,0,LOCATION_DECK)==1 then
Duel.SortDecktop(tp,1-tp,1)
else else
Duel.SortDecktop(tp,1-tp,2) if g:GetCount()>1 then
end local tg=g:RandomSelect(tp,1,1,nil)
local tc=tg:GetFirst()
Duel.SendtoHand(tc,nil,REASON_EFFECT)
g:RemoveCard(tc)
Duel.SendtoDeck(g,nil,0,REASON_EFFECT)
end end
end end
end end
...@@ -80,69 +82,30 @@ function c1151201.con2(e,tp,eg,ep,ev,re,r,rp) ...@@ -80,69 +82,30 @@ function c1151201.con2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsChainNegatable(ev) and rp~=tp return Duel.IsChainNegatable(ev) and rp~=tp
end end
-- --
function c1151201.tfilter2(c)
return c:IsAttribute(ATTRIBUTE_DARK) and c:IsRace(RACE_FIEND) and c:IsType(TYPE_MONSTER)
end
function c1151201.tg2(e,tp,eg,ep,ev,re,r,rp,chk) function c1151201.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return Duel.IsExistingMatchingCard(c1151201.tfilter2,tp,LOCATION_ONFIELD,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
end end
-- --
function c1151201.ofilter2(c)
return c:IsRace(RACE_FIEND)
end
function c1151201.ofilter2x(c)
return c:IsAbleToRemove() or c:IsAbleToGrave()
end
function c1151201.ofilter2x1(c)
return c:IsAbleToGrave()
end
function c1151201.ofilter2x2(c)
return c:IsAbleToRemove()
end
function c1151201.op2(e,tp,eg,ep,ev,re,r,rp) function c1151201.op2(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and Duel.CheckReleaseGroup(tp,c1151201.ofilter2,1,nil) and Duel.IsExistingMatchingCard(c1151201.ofilter2x,tp,LOCATION_ONFIELD,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(1151201,2)) then if Duel.NegateActivation(ev) then
Duel.BreakEffect() local tc=re:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) local code=tc:GetCode()
local g2=Duel.SelectReleaseGroup(tp,c1151201.ofilter2,1,1,nil) local e2_1=Effect.CreateEffect(e:GetHandler())
if g2:GetCount()>0 then e2_1:SetType(EFFECT_TYPE_FIELD)
if Duel.Release(g2,REASON_EFFECT)~=0 then e2_1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
if Duel.IsExistingMatchingCard(c1151201.ofilter2x1,tp,0,LOCATION_ONFIELD,1,nil) and not Duel.IsExistingMatchingCard(c1151201.ofilter2x2,tp,0,LOCATION_ONFIELD,1,nil) then e2_1:SetCode(EFFECT_CANNOT_ACTIVATE)
local sel=Duel.SelectOption(tp,aux.Stringid(1151201,3)) e2_1:SetTargetRange(0,1)
if sel==0 then e2_1:SetValue(c1151201.limit2_1)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) e2_1:SetLabel(code)
local g=Duel.SelectMatchingCard(tp,c1151201.ofilter2x1,tp,0,LOCATION_ONFIELD,1,1,nil) e2_1:SetReset(RESET_PHASE+PHASE_END)
if g:GetCount()>0 then Duel.RegisterEffect(e2_1,tp)
Duel.SendtoGrave(g,REASON_EFFECT) end
end end
end function c1151201.limit2_1(e,re)
else return re:GetHandler():GetCode()==e:GetLabel()
if Duel.IsExistingMatchingCard(c1151201.ofilter2x1,tp,0,LOCATION_ONFIELD,1,nil) and Duel.IsExistingMatchingCard(c1151201.ofilter2x2,tp,0,LOCATION_ONFIELD,1,nil) then
local sel=Duel.SelectOption(tp,aux.Stringid(1151201,3),aux.Stringid(1151201,4))
if sel==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c1151201.ofilter2x1,tp,0,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c1151201.ofilter2x2,tp,0,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()>0 then
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
end
else
if not Duel.IsExistingMatchingCard(c1151201.ofilter2x1,tp,0,LOCATION_ONFIELD,1,nil) and Duel.IsExistingMatchingCard(c1151201.ofilter2x2,tp,0,LOCATION_ONFIELD,1,nil) then
local sel=Duel.SelectOption(tp,aux.Stringid(1151201,4))
if sel==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c1151201.ofilter2x2,tp,0,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()>0 then
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
end
end
end
end
end
end
end
end end
--
\ No newline at end of file
--冥符『红色的冥界』
function c1151203.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c1151203.cost1)
e1:SetTarget(c1151203.tg1)
e1:SetOperation(c1151203.op1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(c1151203.cost2)
e2:SetTarget(c1151203.tg2)
e2:SetOperation(c1151203.op2)
c:RegisterEffect(e2)
--
end
--
function c1151203.IsLeimi(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Leimi
end
function c1151203.IsLeisp(c)
local m=_G["c"..c:GetCode()]
return c.named_with_Leisp
end
--
function c1151203.cfilter1(c)
return c:IsRace(RACE_FIEND) and c:IsAttribute(ATTRIBUTE_DARK) and c:IsType(TYPE_MONSTER) and c:GetAttack()==1800 and c:IsAbleToGraveAsCost()
end
function c1151203.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c1151203.cfilter1,tp,LOCATION_DECK,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c1151203.cfilter1,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
--
function c1151203.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,1151990,0,0x4011,200,200,1,RACE_FIEND,ATTRIBUTE_DARK) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
--
function c1151203.op1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,1151990,0,0x4011,200,200,1,RACE_FIEND,ATTRIBUTE_DARK) then
local token=Duel.CreateToken(tp,1151990)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
end
e:GetHandler():CancelToGrave()
end
--
function c1151203.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
--
function c1151203.tfilter2(c)
return c:IsAbleToDeck() and not c:IsCode(1151203)
end
function c1151203.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c1151203.tfilter2,tp,LOCATION_REMOVED,0,2,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_REMOVED)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_REMOVED)
end
--
function c1151203.op2(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsExistingMatchingCard(c1151203.tfilter2,tp,LOCATION_REMOVED,0,2,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF)
local g=Duel.SelectMatchingCard(tp,c1151203.tfilter2,tp,LOCATION_REMOVED,0,2,2,nil)
if g:GetCount()>0 then
Duel.ConfirmCards(1-tp,g)
local tg=g:RandomSelect(tp,1,1,nil)
local tc=tg:GetFirst()
g:RemoveCard(tc)
Duel.SendtoGrave(tc,REASON_EFFECT+REASON_RETURN)
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
end
end
--神术『吸血鬼幻想』
function c1151205.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:SetTarget(c1151205.tg1)
e1:SetOperation(c1151205.op1)
c:RegisterEffect(e1)
--
end
--
function c1151205.IsLeimi(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Leimi
end
c1151205.named_with_Leisp=1
function c1151205.IsLeisp(c)
local m=_G["c"..c:GetCode()]
return c.named_with_Leisp
end
function c1151205.IsFulan(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Fulan
end
--
function c1151205.tfilter1_1(c)
return c1151205.IsLeimi(c) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c1151205.tfilter1_2(c)
return (c1151205.IsLeisp(c) and (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP)) and c:IsAbleToHand() and not c:IsCode(1151205)) or (c1151205.IsFulan(c) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand())
end
function c1151205.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.IsExistingMatchingCard(c1151205.tfilter1_1,tp,LOCATION_DECK,0,1,nil) and not Duel.IsExistingMatchingCard(c1151205.ofilter1_1,tp,LOCATION_ONFIELD,0,1,nil)) or Duel.IsExistingMatchingCard(c1151205.ofilter1_2,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
--
function c1151205.ofilter1_1(c)
return c1151205.IsLeimi(c) and c:IsType(TYPE_MONSTER) and c:IsFaceup()
end
function c1151205.ofilter1_2(c)
return c:IsFaceup() and c:IsType(TYPE_MONSTER) and c:IsRace(RACE_FIEND) and c:GetLevel()>0
end
function c1151205.op1(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsExistingMatchingCard(c1151205.ofilter1_1,tp,LOCATION_ONFIELD,0,1,nil) then
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<1 then return end
local g=Duel.GetMatchingGroup(c1151205.tfilter1_1,tp,LOCATION_DECK,0,nil)
local dcount=Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)
local seq=-1
local tc=g:GetFirst()
local spcard=nil
while tc do
if tc:GetSequence()>seq then
seq=tc:GetSequence()
spcard=tc
end
tc=g:GetNext()
end
if seq==-1 then
Duel.ConfirmDecktop(tp,dcount)
Duel.ShuffleDeck(tp)
return
end
Duel.ConfirmDecktop(tp,dcount-seq)
if spcard:IsAbleToHand() then
Duel.SendtoHand(spcard,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,spcard)
end
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectMatchingCard(tp,c1151205.ofilter1_2,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
Duel.Hint(HINT_SELECTMSG,1-tp,567)
local lv=Duel.AnnounceNumber(tp,1,2,3,4,5,6,7,8,9,10,11,12)
local e1_3=Effect.CreateEffect(tc)
e1_3:SetType(EFFECT_TYPE_SINGLE)
e1_3:SetCode(EFFECT_CHANGE_LEVEL)
e1_3:SetValue(lv)
e1_3:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e1_3)
if Duel.IsExistingMatchingCard(c1151205.tfilter1_2,tp,LOCATION_DECK,0,1,nil) and tc:GetLevel()==lv and Duel.SelectYesNo(tp,aux.Stringid(1151205,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c1151205.tfilter1_2,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
--必杀『碎心』
function c1151212.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_TODECK)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c1151212.tg1)
e1:SetOperation(c1151212.op1)
c:RegisterEffect(e1)
--
end
--
function c1151212.IsLeimi(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Leimi
end
c1151212.named_with_Leisp=1
function c1151212.IsLeisp(c)
local m=_G["c"..c:GetCode()]
return c.named_with_Leisp
end
--
function c1151212.tfilter1(c)
return c1151212.IsLeimi(c) and c:IsType(TYPE_MONSTER) and c:IsFaceup()
end
function c1151212.tfilter1x(c)
return (c:IsAbleToDeck() or c:IsDestructable()) and c:IsType(TYPE_MONSTER)
end
function c1151212.tg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_ONFIELD) and chkc:IsControler(1-tp) and c1151212.tfilter1x(chkc) end
if chk==0 then return Duel.IsExistingMatchingCard(c1151212.tfilter1,tp,LOCATION_MZONE,0,1,nil) and Duel.IsExistingTarget(c1151212.tfilter1x,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPPO)
local g=Duel.SelectTarget(tp,c1151212.tfilter1x,tp,0,LOCATION_ONFIELD,1,1,nil)
end
--
function c1151212.op1(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) and tc:IsLocation(LOCATION_MZONE) and not tc:IsImmuneToEffect(e) then
local code=tc:GetCode()
if tc:IsDestructable() and not tc:IsAbleToDeck() then
local sel=Duel.SelectOption(tp,aux.Stringid(1151212,0))
if sel==0 then
Duel.Destroy(tc,REASON_EFFECT)
end
else
if tc:IsDestructable() and tc:IsAbleToDeck() then
local sel=Duel.SelectOption(tp,aux.Stringid(1151212,0),aux.Stringid(1151212,1))
if sel==0 then
Duel.Destroy(tc,REASON_EFFECT)
else
Duel.SendtoDeck(tc,nil,1,REASON_EFFECT)
end
else
if not tc:IsDestructable() and tc:IsAbleToDeck() then
local sel=Duel.SelectOption(tp,aux.Stringid(1151212,1))
if sel==0 then
Duel.SendtoDeck(tc,1,REASON_EFFECT)
end
end
end
end
local e1_1=Effect.CreateEffect(e:GetHandler())
e1_1:SetType(EFFECT_TYPE_FIELD)
e1_1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1_1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1_1:SetTargetRange(0,1)
e1_1:SetTarget(c1151212.limit1_1)
e1_1:SetLabel(code)
e1_1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1_1,tp)
end
end
function c1151212.limit1_1(e,c,sump,sumtype,sumpos,targetp,se)
return c:IsCode(e:GetLabel())
end
--
--神枪『冈格尼尔之枪』
function c1151214.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,1151214+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c1151214.tg1)
e1:SetOperation(c1151214.op1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_EQUIP)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,1151215)
e2:SetTarget(c1151214.tg2)
e2:SetOperation(c1151214.op2)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_EQUIP_LIMIT)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetValue(c1151214.limit3)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_EQUIP)
e4:SetRange(LOCATION_SZONE)
e4:SetOperation(c1151214.op4)
c:RegisterEffect(e4)
--
end
--
function c1151214.IsLeimi(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Leimi
end
c1151214.named_with_Leisp=1
function c1151214.IsLeisp(c)
local m=_G["c"..c:GetCode()]
return c.named_with_Leisp
end
--
function c1151214.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroupCount(aux.TRUE,tp,0,LOCATION_MZONE,nil)
local g2=Duel.GetMatchingGroupCount(aux.TRUE,tp,LOCATION_MZONE,0,nil)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) and g>=g2 end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c1151214.op1(e,tp,eg,ep,ev,re,r,rp)
if Duel.Draw(tp,1,REASON_EFFECT)~=0 then
local tc=Duel.GetOperatedGroup():GetFirst()
Duel.ConfirmCards(1-tp,tc)
if (tc:IsAttribute(ATTRIBUTE_DARK) and tc:IsRace(RACE_FIEND)) then
if Duel.GetMatchingGroupCount(Card.IsDestructable,tp,0,LOCATION_ONFIELD,nil)>0 and Duel.SelectYesNo(tp,aux.Stringid(1151214,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local dg=Duel.SelectMatchingCard(tp,Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.Destroy(dg,REASON_EFFECT)
end
else
Duel.Destroy(tc,REASON_EFFECT)
end
end
Duel.ShuffleHand(tp)
end
--
function c1151214.tfilter2(c)
return c:IsFaceup() and c1151214.IsLeimi(c)
end
function c1151214.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c1151214.tfilter2(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(c1151214.tfilter2,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c1151214.tfilter2,tp,LOCATION_MZONE,0,1,1,nil)
end
--
function c1151214.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
local tc=Duel.GetFirstTarget()
if Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and tc:IsFaceup() and tc:IsRelateToEffect(e) then
local e2_1=Effect.CreateEffect(c)
e2_1:SetType(EFFECT_TYPE_SINGLE)
e2_1:SetCode(EFFECT_CHANGE_TYPE)
e2_1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2_1:SetValue(TYPE_EQUIP+TYPE_SPELL)
e2_1:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e2_1,true)
Duel.Equip(tp,c,tc,true)
local e2_2=Effect.CreateEffect(c)
e2_2:SetType(EFFECT_TYPE_SINGLE)
e2_2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e2_2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2_2:SetReset(RESET_EVENT+0x47e0000)
e2_2:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e2_2,true)
end
end
end
--
function c1151214.limit3(e,c)
return c1151214.IsLeimi(c)
end
--
function c1151214.op4(e,tp,eg,ep,ev,re,r,rp)
if eg:GetFirst()~=e:GetHandler() then return end
local tc=e:GetHandler():GetEquipTarget()
if tc then
local e4_1=Effect.CreateEffect(e:GetHandler())
e4_1:SetDescription(aux.Stringid(1151214,0))
e4_1:SetCategory(CATEGORY_TOHAND+CATEGORY_TODECK)
e4_1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4_1:SetRange(LOCATION_MZONE)
e4_1:SetCode(EVENT_BATTLE_DAMAGE)
e4_1:SetLabelObject(e:GetHandler())
e4_1:SetCondition(c1151214.con4_1)
e4_1:SetTarget(c1151214.tg4_1)
e4_1:SetOperation(c1151214.op4_1)
tc:RegisterEffect(e4_1,true)
if e4_1:GetHandler()==nil then return end
end
end
--
function c1151214.con4_1(e)
local g=e:GetHandler():GetEquipGroup()
if g:IsContains(e:GetLabelObject()) then
return not e:GetLabelObject():IsDisabled()
else return false
end
end
--
function c1151214.tfilter4_1(c)
return c:IsAbleToHand()
end
function c1151214.tg4_1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c1151214.tfilter4_1,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,0,1,0,LOCATION_GRAVE)
end
--
function c1151214.ofilter4_1(c)
return c:IsAbleToDeck()
end
function c1151214.op4_1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c1151214.tfilter4_1,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
if Duel.SendtoHand(g,1-tp,REASON_EFFECT)~=0 and Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0 then
local g2=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
if g2:GetCount()>0 then
Duel.ConfirmCards(tp,g2)
local g3=Duel.SelectMatchingCard(tp,c1151214.ofilter4_1,tp,0,LOCATION_HAND,1,1,nil)
if g3:GetCount()>0 then
local sel=Duel.SelectOption(tp,aux.Stringid(1151214,1),aux.Stringid(1151214,2))
if sel==0 then
Duel.SendtoDeck(g3,nil,2,REASON_EFFECT)
else
Duel.SendtoDeck(g3,nil,1,REASON_EFFECT)
end
end
end
end
end
end
----
--红蝙蝠『吸血鬼之夜』
function c1151216.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c1151216.cost1)
e1:SetCondition(c1151216.con1)
e1:SetTarget(c1151216.tg1)
e1:SetOperation(c1151216.op1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(c1151216.cost2)
e2:SetTarget(c1151216.tg2)
e2:SetOperation(c1151216.op2)
c:RegisterEffect(e2)
--
Duel.AddCustomActivityCounter(1151216,ACTIVITY_SUMMON,c1151216.counterfilter)
Duel.AddCustomActivityCounter(1151217,ACTIVITY_SPSUMMON,c1151216.counterfilter)
--
end
--
function c1151216.IsLeimi(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Leimi
end
function c1151216.IsLeisp(c)
local m=_G["c"..c:GetCode()]
return c.named_with_Leisp
end
--
function c1151216.counterfilter(c)
return c:IsAttribute(ATTRIBUTE_DARK) and c:IsRace(RACE_FIEND)
end
--
function c1151216.cfilter1(c)
return c:IsRace(RACE_FIEND) and c:IsFaceup()
end
function c1151216.con1(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c1151216.cfilter1,tp,LOCATION_MZONE,0,1,nil)
end
--
function c1151216.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1200) and Duel.GetCustomActivityCount(1151216,tp,ACTIVITY_SUMMON)==0 and Duel.GetCustomActivityCount(1151217,tp,ACTIVITY_SPSUMMON)==0 end
local e1_1=Effect.CreateEffect(e:GetHandler())
e1_1:SetType(EFFECT_TYPE_FIELD)
e1_1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1_1:SetCode(EFFECT_CANNOT_SUMMON)
e1_1:SetReset(RESET_PHASE+PHASE_END)
e1_1:SetTargetRange(1,0)
e1_1:SetTarget(c1151216.splimit1_1)
Duel.RegisterEffect(e1_1,tp)
local e1_2=Effect.CreateEffect(e:GetHandler())
e1_2:SetType(EFFECT_TYPE_FIELD)
e1_2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1_2:SetCode(EFFECT_CANNOT_SUMMON)
e1_2:SetReset(RESET_PHASE+PHASE_END)
e1_2:SetTargetRange(1,0)
e1_2:SetTarget(c1151216.splimit1_1)
Duel.RegisterEffect(e1_2,tp)
Duel.PayLPCost(tp,1200)
end
function c1151216.splimit1_1(e,c)
return not (c:IsAttribute(ATTRIBUTE_DARK) and c:IsRace(RACE_FIEND))
end
--
function c1151216.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,1151990,0,0x4011,200,200,1,RACE_FIEND,ATTRIBUTE_DARK) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
--
function c1151216.op1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,1151990,0,0x4011,200,200,1,RACE_FIEND,ATTRIBUTE_DARK) then
local ft=2
if Duel.IsPlayerAffectedByEffect(tp,59822133) then
ft=1
end
for i=1,ft do
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
local token=Duel.CreateToken(tp,1151990)
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP)
end
end
Duel.SpecialSummonComplete()
end
end
--
function c1151216.cfilter2(c)
return c:IsRace(RACE_FIEND) and c:IsAbleToRemoveAsCost()
end
function c1151216.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() and Duel.IsExistingMatchingCard(c1151216.cfilter2,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c1151216.cfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
local tc=g:GetFirst()
g:AddCard(e:GetHandler())
Duel.Remove(g,POS_FACEUP,REASON_COST)
local e2_4=Effect.CreateEffect(tc)
e2_4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2_4:SetRange(LOCATION_REMOVED)
e2_4:SetCode(EVENT_PHASE+PHASE_STANDBY)
e2_4:SetCountLimit(1)
e2_4:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN)
e2_4:SetCondition(c1151216.con2_4)
e2_4:SetOperation(c1151216.op2_4)
tc:RegisterEffect(e2_4)
end
function c1151216.con2_4(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function c1151216.op2_4(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,e:GetHandler())
end
--
function c1151216.tfilter2(c,e,tp)
return c:IsRace(RACE_FIEND) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c1151216.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c1151216.tfilter2,tp,LOCATION_SZONE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_SZONE)
end
--
function c1151216.op2(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local tg=Duel.GetMatchingGroup(c1151216.tfilter2,tp,LOCATION_SZONE,0,nil,e,tp)
if ft<=0 or tg:GetCount()==0 then return end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=tg:Select(tp,ft,ft,nil)
local tc=g:GetFirst()
while tc do
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
local e2_1=Effect.CreateEffect(tc)
e2_1:SetType(EFFECT_TYPE_SINGLE)
e2_1:SetCode(EFFECT_DISABLE)
e2_1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e2_1)
local e2_2=Effect.CreateEffect(tc)
e2_2:SetType(EFFECT_TYPE_SINGLE)
e2_2:SetCode(EFFECT_DISABLE_EFFECT)
e2_2:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e2_2)
local e2_3=Effect.CreateEffect(tc)
e2_3:SetType(EFFECT_TYPE_SINGLE)
e2_3:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE)
e2_3:SetCode(EFFECT_CHANGE_CODE)
e2_3:SetRange(LOCATION_MZONE)
e2_3:SetValue(1151990)
e2_3:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e2_3)
tc=g:GetNext()
end
end
--
--神鬼『蕾米莉亚潜行者』
function c1151217.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING)
e1:SetCondition(c1151217.con1)
e1:SetTarget(c1151217.tg1)
e1:SetOperation(c1151217.op1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(c1151217.cost2)
e2:SetCondition(c1151217.con2)
e2:SetTarget(c1151217.tg2)
e2:SetOperation(c1151217.op2)
c:RegisterEffect(e2)
--
end
--
function c1151217.IsLeimi(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Leimi
end
c1151217.named_with_Leisp=1
function c1151217.IsLeisp(c)
local m=_G["c"..c:GetCode()]
return c.named_with_Leisp
end
--
function c1151217.cfilter1(c)
return c1151217.IsLeimi(c) and c:IsType(TYPE_MONSTER) and c:IsFaceup()
end
function c1151217.con1(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c1151217.cfilter1,tp,LOCATION_MZONE,0,1,nil)
end
--
function c1151217.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_EXTRA+LOCATION_DECK)>0 end
end
--
function c1151217.op1(e,tp,eg,ep,ev,re,r,rp)
local code=re:GetHandler():GetCode()
local g=Duel.GetFieldGroup(tp,0,LOCATION_EXTRA+LOCATION_DECK)
Duel.ConfirmCards(tp,g)
local tg=g:Filter(Card.IsCode,nil,code)
if tg:GetCount()>0 then
Duel.Remove(tg,POS_FACEDOWN,REASON_EFFECT)
end
end
--
function c1151217.cfilter2(c)
return c:IsRace(RACE_FIEND) and c:IsType(TYPE_MONSTER) and c:IsAttribute(ATTRIBUTE_DARK) and c:IsAbleToRemoveAsCost()
end
function c1151217.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() and Duel.IsExistingMatchingCard(c1151217.cfilter2,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c1151217.cfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
g:AddCard(e:GetHandler())
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
--
function c1151217.confilter2(c)
return c:IsType(TYPE_MONSTER)
end
function c1151217.con2(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c1151217.confilter2,tp,LOCATION_ONFIELD,0,1,nil)
end
--
function c1151217.tfilter2(c,e,tp)
return c1151217.IsLeimi(c) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c1151217.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c1151217.tfilter2,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
--
function c1151217.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c1151217.tfilter2,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
local tc=g:GetFirst()
if Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 then
local e2_1=Effect.CreateEffect(tc)
e2_1:SetType(EFFECT_TYPE_SINGLE)
e2_1:SetCode(EFFECT_IMMUNE_EFFECT)
e2_1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2_1:SetRange(LOCATION_MZONE)
e2_1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
e2_1:SetValue(c1151217.efilter2_1)
tc:RegisterEffect(e2_1,true)
end
end
end
function c1151217.efilter2_1(e,re)
return re:GetHandlerPlayer()~=e:GetHandlerPlayer()
end
--运命『悲惨的命运』
function c1151219.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c1151219.cost1)
e1:SetTarget(c1151219.tg1)
e1:SetOperation(c1151219.op1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_DESTROY_REPLACE)
e2:SetRange(LOCATION_GRAVE)
e2:SetTarget(c1151219.tg2)
e2:SetValue(c1151219.val2)
e2:SetOperation(c1151219.op2)
c:RegisterEffect(e2)
--
end
--
function c1151219.IsLeimi(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Leimi
end
c1151219.named_with_Leisp=1
function c1151219.IsLeisp(c)
local m=_G["c"..c:GetCode()]
return c.named_with_Leisp
end
function c1151219.IsFulan(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Fulan
end
c1151219.named_with_Fulsp=1
function c1151219.IsLeisp(c)
local m=_G["c"..c:GetCode()]
return c.named_with_Fulsp
end
--
function c1151219.cfilter1(c)
return c:IsRace(RACE_FIEND) and c:IsType(TYPE_MONSTER)
end
function c1151219.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingMatchingCard(c1151219.cfilter1,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF)
local g=Duel.SelectMatchingCard(tp,c1151219.cfilter1,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1_1=Effect.CreateEffect(e:GetHandler())
e1_1:SetType(EFFECT_TYPE_SINGLE)
e1_1:SetCode(EFFECT_CHANGE_TYPE)
e1_1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1_1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e1_1:SetReset(RESET_EVENT+0x1fc0000)
tc:RegisterEffect(e1_1,true)
end
end
--
function c1151219.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(1-tp,LOCATION_DECK,0)>1 end
end
--
function c1151219.tfilter1_M(c)
return c:IsType(TYPE_MONSTER)
end
function c1151219.tfilter1_S(c)
return c:IsType(TYPE_SPELL)
end
function c1151219.tfilter1_T(c)
return c:IsType(TYPE_TRAP)
end
function c1151219.ofilter1_1(c)
return c1151219.IsLeimi(c) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
end
function c1151219.ofilter1_2(c)
return c1151219.IsFulan(c) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c1151219.ofilter1_3(c)
return c:IsAbleToHand()
end
function c1151219.ofilter1_4(c)
return c:IsType(TYPE_TRAP) and c:IsAbleToRemove()
end
function c1151219.op1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(1-tp,LOCATION_DECK,0)>1 then
Duel.ConfirmDecktop(1-tp,2)
local g=Duel.GetDecktopGroup(1-tp,2)
if g:GetCount()>0 then
if g:IsExists(c1151219.tfilter1_M,1,nil) then
if Duel.IsExistingMatchingCard(c1151219.ofilter1_1,tp,LOCATION_DECK,0,1,nil) and Duel.IsExistingMatchingCard(c1151219.ofilter1_2,tp,LOCATION_DECK,0,1,nil) then
local sel=Duel.SelectOption(tp,aux.Stringid(1151219,0),aux.Stringid(1151219,1))
if sel==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g1_1=Duel.SelectMatchingCard(tp,c1151219.ofilter1_1,tp,LOCATION_DECK,0,1,1,nil)
if g1_1:GetCount()>0 then
Duel.SendtoGrave(g1_1,REASON_EFFECT)
end
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g1_2=Duel.SelectMatchingCard(tp,c1151219.ofilter1_2,tp,LOCATION_DECK,0,1,1,nil)
if g1_2:GetCount()>0 then
Duel.SendtoHand(g1_2,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g1_2)
end
end
else
if Duel.IsExistingMatchingCard(c1151219.ofilter1_1,tp,LOCATION_DECK,0,1,nil) and not Duel.IsExistingMatchingCard(c1151219.ofilter1_2,tp,LOCATION_DECK,0,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g1_1=Duel.SelectMatchingCard(tp,c1151219.ofilter1_1,tp,LOCATION_DECK,0,1,1,nil)
if g1_1:GetCount()>0 then
Duel.SendtoGrave(g1_1,REASON_EFFECT)
end
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g1_2=Duel.SelectMatchingCard(tp,c1151219.ofilter1_2,tp,LOCATION_DECK,0,1,1,nil)
if g1_2:GetCount()>0 then
Duel.SendtoHand(g1_2,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g1_2)
end
end
end
end
if g:IsExists(c1151219.tfilter1_S,1,nil) then
if g:IsExists(c1151219.ofilter1_3,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g1_3=g:FilterSelect(tp,c1151219.ofilter1_3,1,1,nil)
if g1_3:GetCount()>0 then
Duel.SendtoHand(g1_3,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g1_3)
end
end
end
if g:IsExists(c1151219.tfilter1_T,1,nil) then
local g1_4=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_HAND,nil)
if g1_4:GetCount()>0 then
Duel.ConfirmCards(tp,g1_4)
if g1_4:IsExists(c1151219.ofilter1_4,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g1_5=Duel.SelectMatchingCard(tp,c1151219.ofilter1_4,tp,0,LOCATION_HAND,1,1,nil)
if g1_5:GetCount()>0 then
Duel.Remove(g1_5,POS_FACEDOWN,REASON_EFFECT)
end
end
Duel.ShuffleDeck(1-tp)
end
end
end
end
end
--
function c1151219.cfilter2(c)
return c1151219.IsLeimi(c) and c:IsType(TYPE_MONSTER) and c:IsFaceup()
end
function c1151219.tfilter2(c,tp)
return c:IsLocation(LOCATION_ONFIELD) and c:IsControler(tp)
end
function c1151219.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c1151219.cfilter2,tp,LOCATION_ONFIELD,0,1,nil) and e:GetHandler():IsAbleToRemove() and eg:IsExists(c1151219.tfilter2,1,nil,tp) end
return Duel.SelectYesNo(tp,aux.Stringid(1151219,2))
end
--
function c1151219.val2(e,c)
return c1151219.tfilter2(c,e:GetHandlerPlayer())
end
--
function c1151219.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end
--
\ No newline at end of file
...@@ -45,7 +45,7 @@ function c1152001.tfilter1(c) ...@@ -45,7 +45,7 @@ function c1152001.tfilter1(c)
return c:IsFaceup() and not c:IsDisabled() return c:IsFaceup() and not c:IsDisabled()
end end
function c1152001.tfilter1_2(c) function c1152001.tfilter1_2(c)
return c1152001.IsFulsp(c) and (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP)) and c:IsAbleToRemove() and bit.band(c:GetReason(),REASON_DESTROY)~=0 return c1152001.IsFulsp(c) and c:IsAbleToRemove() and bit.band(c:GetReason(),REASON_DESTROY)~=0
end end
function c1152001.tg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c1152001.tg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsOnField() and c1152001.tfilter1(chkc) end if chkc then return chkc:IsControler(1-tp) and chkc:IsOnField() and c1152001.tfilter1(chkc) end
......
...@@ -3,9 +3,8 @@ function c1152002.initial_effect(c) ...@@ -3,9 +3,8 @@ function c1152002.initial_effect(c)
-- --
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCondition(c1152002.con1) e1:SetCondition(c1152002.con1)
e1:SetTarget(c1152002.tg1) e1:SetTarget(c1152002.tg1)
...@@ -39,7 +38,7 @@ function c1152002.con1(e,tp,eg,ep,ev,re,r,rp) ...@@ -39,7 +38,7 @@ function c1152002.con1(e,tp,eg,ep,ev,re,r,rp)
end end
-- --
function c1152002.tfilter1(c) function c1152002.tfilter1(c)
return ((c1152002.IsFulan(c) and c:IsType(TYPE_MONSTER)) or (c1152002.IsFulsp(c) and (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP)))) and c:IsDestructable() return ((c:IsRace(RACE_FIEND) and c:IsType(TYPE_MONSTER)) or (c:IsType(TYPE_SPELL) and c:IsFaceup())) and c:IsDestructable()
end end
function c1152002.tg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c1152002.tg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(c1152002.tfilter1,tp,LOCATION_ONFIELD,0,1,nil) and Duel.GetFlagEffect(tp,1152000)==0 end if chk==0 then return Duel.IsExistingTarget(c1152002.tfilter1,tp,LOCATION_ONFIELD,0,1,nil) and Duel.GetFlagEffect(tp,1152000)==0 end
...@@ -90,7 +89,7 @@ function c1152002.tfilter2(c,e,tp) ...@@ -90,7 +89,7 @@ function c1152002.tfilter2(c,e,tp)
end end
function c1152002.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c1152002.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c1152002.tfilter2,tp,LOCATION_SZONE,0,1,nil,e,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c1152002.tfilter2,tp,LOCATION_SZONE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,LOCATION_SZONE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_SZONE)
end end
-- --
function c1152002.op2(e,tp,eg,ep,ev,re,r,rp) function c1152002.op2(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -37,11 +37,11 @@ function c1152003.cfilter1_1(c) ...@@ -37,11 +37,11 @@ function c1152003.cfilter1_1(c)
return c:IsType(TYPE_MONSTER) return c:IsType(TYPE_MONSTER)
end end
function c1152003.cfilter1_2(c) function c1152003.cfilter1_2(c)
return (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP)) and c1152003.IsFulsp(c) and c:IsSSetable() and bit.band(c:GetReason(),REASON_DESTROY)~=0 return (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP)) and c1152003.IsFulsp(c) and c:IsSSetable() and c:GetReason()==REASON_DESTROY
end end
function c1152003.con1(e,c) function c1152003.con1(e,c)
if c==nil then return true end if c==nil then return true end
return Duel.GetMatchingGroupCount(c1152003.cfilter1_1,tp,LOCATION_ONFIELD,0,nil)==0 and Duel.GetMatchingGroupCount(c1152003.cfilter1_2,tp,LOCATION_GRAVE,0,nil)>0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and not e:GetHandler():IsHasEffect(EFFECT_NECRO_VALLEY) return Duel.GetMatchingGroupCount(c1152003.cfilter1_1,tp,LOCATION_ONFIELD,0,nil)==0 and Duel.GetMatchingGroupCount(c1152003.cfilter1_2,tp,LOCATION_GRAVE,0,nil)>0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
end end
-- --
function c1152003.op1(e,tp,eg,ep,ev,re,r,rp,c) function c1152003.op1(e,tp,eg,ep,ev,re,r,rp,c)
......
...@@ -3,10 +3,10 @@ function c1152005.initial_effect(c) ...@@ -3,10 +3,10 @@ function c1152005.initial_effect(c)
-- --
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_GRAVE+LOCATION_HAND) e1:SetRange(LOCATION_GRAVE+LOCATION_HAND)
e1:SetCondition(c1152005.con1)
e1:SetTarget(c1152005.tg1) e1:SetTarget(c1152005.tg1)
e1:SetOperation(c1152005.op1) e1:SetOperation(c1152005.op1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -31,13 +31,6 @@ function c1152005.IsFulsp(c) ...@@ -31,13 +31,6 @@ function c1152005.IsFulsp(c)
return c.named_with_Fulsp return c.named_with_Fulsp
end end
-- --
function c1152005.cfilter1(c)
return c:IsCode(1152999) and c:IsFaceup()
end
function c1152005.con1(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c1152005.cfilter1,tp,LOCATION_ONFIELD,0,1,nil)
end
--
function c1152005.tfilter1_1(c,e) function c1152005.tfilter1_1(c,e)
return c:IsDestructable() and c:IsType(TYPE_SPELL) and c:IsFaceup() and not c:IsImmuneToEffect(e) and not c:IsCode(1152999) return c:IsDestructable() and c:IsType(TYPE_SPELL) and c:IsFaceup() and not c:IsImmuneToEffect(e) and not c:IsCode(1152999)
end end
......
...@@ -50,12 +50,12 @@ function c1152101.cfilter1(c) ...@@ -50,12 +50,12 @@ function c1152101.cfilter1(c)
return c:IsAbleToGraveAsCost() return c:IsAbleToGraveAsCost()
end end
function c1152101.cost1(e,c,tp) function c1152101.cost1(e,c,tp)
return Duel.IsExistingMatchingCard(c1152101.cfilter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) return Duel.IsExistingMatchingCard(c1152101.cfilter1,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
end end
-- --
function c1152101.op1(e,tp,eg,ep,ev,re,r,rp) function c1152101.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c1152101.cfilter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) local g=Duel.SelectMatchingCard(tp,c1152101.cfilter1,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_COST) Duel.SendtoGrave(g,REASON_COST)
end end
......
...@@ -101,7 +101,7 @@ function c1152203.op1(e,tp,eg,ep,ev,re,r,rp) ...@@ -101,7 +101,7 @@ function c1152203.op1(e,tp,eg,ep,ev,re,r,rp)
local sg=g:FilterSelect(tp,c1152203.tfilter1,1,1,nil) local sg=g:FilterSelect(tp,c1152203.tfilter1,1,1,nil)
if sg:GetCount()>0 then if sg:GetCount()>0 then
local tc=sg:GetFirst() local tc=sg:GetFirst()
if Duel.Destroy(tc,REASON_EFFECT)~=0 and c1152203.IsFulsp(tc)and (tc:IsType(TYPE_SPELL) or tc:IsType(TYPE_TRAP)) then if Duel.Destroy(tc,REASON_EFFECT)~=0 and c1152203.IsFulsp(tc) and (tc:IsType(TYPE_SPELL) or tc:IsType(TYPE_TRAP)) then
local code=tc:GetOriginalCode() local code=tc:GetOriginalCode()
if Duel.IsExistingMatchingCard(c1152203.ofilter1,tp,LOCATION_DECK,0,1,nil,code) and Duel.SelectYesNo(tp,aux.Stringid(1152203,0)) then if Duel.IsExistingMatchingCard(c1152203.ofilter1,tp,LOCATION_DECK,0,1,nil,code) and Duel.SelectYesNo(tp,aux.Stringid(1152203,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
......
...@@ -111,7 +111,7 @@ function c1152205.op2_1(e,tp,eg,ep,ev,re,r,rp) ...@@ -111,7 +111,7 @@ function c1152205.op2_1(e,tp,eg,ep,ev,re,r,rp)
if g2:GetCount()>0 then if g2:GetCount()>0 then
Duel.Hint(HINT_CARD,0,1152205) Duel.Hint(HINT_CARD,0,1152205)
local num=g2:GetCount() local num=g2:GetCount()
local hert=num*200 local hert=num*400
if Duel.SelectYesNo(1-tp,aux.Stringid(1152205,0)) then if Duel.SelectYesNo(1-tp,aux.Stringid(1152205,0)) then
local tc=g2:GetFirst() local tc=g2:GetFirst()
while tc do while tc do
......
...@@ -3,6 +3,7 @@ function c1152208.initial_effect(c) ...@@ -3,6 +3,7 @@ function c1152208.initial_effect(c)
-- --
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE) e1:SetCategory(CATEGORY_REMOVE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(c1152208.con1) e1:SetCondition(c1152208.con1)
......
...@@ -80,7 +80,7 @@ function c1152209.op1(e,tp,eg,ep,ev,re,r,rp) ...@@ -80,7 +80,7 @@ function c1152209.op1(e,tp,eg,ep,ev,re,r,rp)
if gn:GetCount()>0 then if gn:GetCount()>0 then
local tc=gn:GetFirst() local tc=gn:GetFirst()
while tc do while tc do
if tc:IsType(TYPE_MONSTER) then if tc:IsType(TYPE_MONSTER) and not c:IsRace(RACE_FIEND) then
gr:AddCard(tc) gr:AddCard(tc)
end end
tc=gn:GetNext() tc=gn:GetNext()
...@@ -118,10 +118,10 @@ function c1152209.tg2(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -118,10 +118,10 @@ function c1152209.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabelObject(rc) e:SetLabelObject(rc)
local loc,np=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TRIGGERING_CONTROLER) local loc,np=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TRIGGERING_CONTROLER)
if chk==0 then return loc==LOCATION_MZONE and np==tp and re:IsActiveType(TYPE_MONSTER) and c1152209.IsFulan(rc) end if chk==0 then return loc==LOCATION_MZONE and np==tp and re:IsActiveType(TYPE_MONSTER) and c1152209.IsFulan(rc) end
return Duel.SelectYesNo(tp,aux.Stringid(1152209,0))
end end
-- --
function c1152209.op2(e,tp,eg,ep,ev,re,r,rp) function c1152209.op2(e,tp,eg,ep,ev,re,r,rp)
if Duel.SelectYesNo(tp,aux.Stringid(1152209,0)) then
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT) Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
local rc=e:GetLabelObject() local rc=e:GetLabelObject()
local e2_1=Effect.CreateEffect(rc) local e2_1=Effect.CreateEffect(rc)
...@@ -132,6 +132,7 @@ function c1152209.op2(e,tp,eg,ep,ev,re,r,rp) ...@@ -132,6 +132,7 @@ function c1152209.op2(e,tp,eg,ep,ev,re,r,rp)
e2_1:SetValue(c1152209.efilter2_1) e2_1:SetValue(c1152209.efilter2_1)
e2_1:SetReset(RESET_EVENT+0x1fe0000+RESET_CHAIN) e2_1:SetReset(RESET_EVENT+0x1fe0000+RESET_CHAIN)
rc:RegisterEffect(e2_1) rc:RegisterEffect(e2_1)
end
end end
function c1152209.efilter2_1(e,re) function c1152209.efilter2_1(e,re)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer() return e:GetOwnerPlayer()~=re:GetOwnerPlayer()
......
...@@ -37,7 +37,7 @@ function c1152212.tfilter1_2(c) ...@@ -37,7 +37,7 @@ function c1152212.tfilter1_2(c)
return c1152212.IsFulsp(c) and (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP)) and c:IsAbleToRemove() and bit.band(c:GetReason(),REASON_DESTROY)~=0 return c1152212.IsFulsp(c) and (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP)) and c:IsAbleToRemove() and bit.band(c:GetReason(),REASON_DESTROY)~=0
end end
function c1152212.tg1(e,tp,eg,ep,ev,re,r,rp,chk) function c1152212.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() and e:GetHandler():IsLocation(LOCATION_REMOVED) and c:IsFaceup() and (Duel.IsExistingMatchingCard(c1152212.tfilter1_1,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,nil) or Duel.IsExistingMatchingCard(c1152212.tfilter1_2,tp,LOCATION_GRAVE,0,1,nil)) end if chk==0 then return e:GetHandler():IsAbleToHand() and e:GetHandler():IsLocation(LOCATION_REMOVED) and e:GetHandler():IsFaceup() and (Duel.IsExistingMatchingCard(c1152212.tfilter1_1,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,nil) or Duel.IsExistingMatchingCard(c1152212.tfilter1_2,tp,LOCATION_GRAVE,0,1,nil)) end
end end
-- --
function c1152212.op1(e,tp,eg,ep,ev,re,r,rp) function c1152212.op1(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -5,7 +5,6 @@ function c1152301.initial_effect(c) ...@@ -5,7 +5,6 @@ function c1152301.initial_effect(c)
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetCondition(c1152301.con1)
e1:SetTarget(c1152301.tg1) e1:SetTarget(c1152301.tg1)
e1:SetOperation(c1152301.op1) e1:SetOperation(c1152301.op1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -30,10 +29,6 @@ function c1152301.IsFulsp(c) ...@@ -30,10 +29,6 @@ function c1152301.IsFulsp(c)
return c.named_with_Fulsp return c.named_with_Fulsp
end end
-- --
function c1152301.con1(e,tp,eg,ep,ev,re,r,rp)
return (re:IsActiveType(TYPE_SPELL) and re:GetHandler():IsType(TYPE_QUICKPLAY)) or re:IsActiveType(TYPE_TRAP)
end
--
function c1152301.tfilter1(c) function c1152301.tfilter1(c)
return c:IsDestructable() return c:IsDestructable()
end end
......
...@@ -14,14 +14,14 @@ function c1152304.initial_effect(c) ...@@ -14,14 +14,14 @@ function c1152304.initial_effect(c)
e2:SetCategory(CATEGORY_TODECK) e2:SetCategory(CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_DESTROYED) e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,1152304)
e2:SetCondition(c1152304.con2) e2:SetCondition(c1152304.con2)
e2:SetCost(c1152304.cost2) e2:SetCost(c1152304.cost2)
e2:SetTarget(c1152304.tg2) e2:SetTarget(c1152304.tg2)
e2:SetOperation(c1152304.op2) e2:SetOperation(c1152304.op2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--
end end
-- --
function c1152304.IsFulan(c) function c1152304.IsFulan(c)
...@@ -35,37 +35,27 @@ function c1152304.IsFulsp(c) ...@@ -35,37 +35,27 @@ function c1152304.IsFulsp(c)
end end
-- --
function c1152304.cfilter1(c) function c1152304.cfilter1(c)
return c1152304.IsFulan(c) and c:IsFaceup() return c:IsType(TYPE_MONSTER) and c:IsAttribute(ATTRIBUTE_DARK) and c:IsRace(RACE_FIEND) and c:IsFaceup()
end end
function c1152304.con1(e,tp,eg,ep,ev,re,r,rp) function c1152304.con1(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
if not Duel.IsExistingMatchingCard(c1152304.cfilter1,tp,LOCATION_ONFIELD,0,1,nil) then return false end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return tg:IsExists(c1152304.cfilter1,1,nil) and re:IsActiveType(TYPE_SPELL) and re:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.IsChainNegatable(ev) return tg and Duel.IsChainNegatable(ev)
end end
-- --
function c1152304.tg1(e,tp,eg,ep,ev,re,r,rp,chk) function c1152304.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsRelateToEffect(re) then
if Duel.GetFieldGroupCount(1-tp,LOCATION_HAND,0)~=0 then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_HAND)
end
end
Duel.SetChainLimit(aux.FALSE) Duel.SetChainLimit(aux.FALSE)
end end
-- --
function c1152304.op1(e,tp,eg,ep,ev,re,r,rp) function c1152304.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateActivation(ev) Duel.NegateActivation(ev)
if re:GetHandler():IsRelateToEffect(re) then
local g=Duel.GetFieldGroup(1-tp,LOCATION_HAND,0)
if g:GetCount()==0 then return end
local sg=g:RandomSelect(1-tp,1)
Duel.Destroy(sg,REASON_EFFECT)
end
end end
-- --
function c1152304.cfilter2(c,tp) function c1152304.cfilter2(c,tp)
return c:IsPreviousLocation(LOCATION_ONFIELD) and c:GetPreviousControler()==tp and c:IsReason(REASON_EFFECT) and c1152304.IsFulan(c) return c:IsPreviousLocation(LOCATION_ONFIELD) and c:GetPreviousControler()==tp and c1152304.IsFulan(c)
end end
function c1152304.con2(e,tp,eg,ep,ev,re,r,rp) function c1152304.con2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c1152304.cfilter2,1,nil,tp) return eg:IsExists(c1152304.cfilter2,1,nil,tp)
......
...@@ -50,10 +50,10 @@ function c1152306.con2(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,10 +50,10 @@ function c1152306.con2(e,tp,eg,ep,ev,re,r,rp)
end end
-- --
function c1152306.tfilter2_1(c,e,tp) function c1152306.tfilter2_1(c,e,tp)
return c1152306.IsFulsp(c) and c:IsAbleToRemove() and bit.band(c:GetReason(),REASON_DESTROY)~=0 and Duel.IsExistingMatchingCard(c1152306.tfilter2_2,tp,LOCATION_DECK,0,1,nil,c:GetCode()) return c1152306.IsFulsp(c) and c:IsAbleToRemove() and Duel.IsExistingMatchingCard(c1152306.tfilter2_2,tp,LOCATION_DECK,0,1,nil,c:GetCode()) and (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP))
end end
function c1152306.tfilter2_2(c,code) function c1152306.tfilter2_2(c,code)
return c:IsCode(code) and c:IsAbleToHand() return c:IsAbleToHand() and c:IsCode(code)
end end
function c1152306.tg2(e,tp,eg,ep,ev,re,r,rp,chk) function c1152306.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c1152306.tfilter2_1,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c1152306.tfilter2_1,tp,LOCATION_GRAVE,0,1,nil) end
...@@ -80,6 +80,7 @@ end ...@@ -80,6 +80,7 @@ end
function c1152306.con3(e,tp,eg,ep,ev,re,r,rp) function c1152306.con3(e,tp,eg,ep,ev,re,r,rp)
if re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then if re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
if tg then
local tc=tg:GetFirst() local tc=tg:GetFirst()
local i=0 local i=0
while tc do while tc do
...@@ -93,6 +94,7 @@ function c1152306.con3(e,tp,eg,ep,ev,re,r,rp) ...@@ -93,6 +94,7 @@ function c1152306.con3(e,tp,eg,ep,ev,re,r,rp)
else else
return false return false
end end
end
else else
return false return false
end end
......
...@@ -45,11 +45,11 @@ function c1152999.IsFulsp(c) ...@@ -45,11 +45,11 @@ function c1152999.IsFulsp(c)
end end
-- --
function c1152999.ofilter1(c,e,tp) function c1152999.ofilter1(c,e,tp)
return c1152999.IsFulan(c) and c:IsFaceup() and c:IsAbleToHand() return c:IsFaceup() and c:IsAbleToHand() and (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP))
end end
function c1152999.op1(e,tp,eg,ep,ev,re,r,rp) function c1152999.op1(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.GetMatchingGroup(c1152999.ofilter1,tp,LOCATION_ONFIELD,0,nil) local g=Duel.GetMatchingGroup(c1152999.ofilter1,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(1152999,0)) then if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(1152999,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
...@@ -95,7 +95,7 @@ function c1152999.op2(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -95,7 +95,7 @@ function c1152999.op2(e,tp,eg,ep,ev,re,r,rp,c)
end end
-- --
function c1152999.cfilter3(c) function c1152999.cfilter3(c)
return (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP)) and c1152999.IsFulsp(c) return (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP))
end end
function c1152999.tfilter3(c) function c1152999.tfilter3(c)
return (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP)) and c1152999.IsFulsp(c) and c:IsDestructable() return (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP)) and c1152999.IsFulsp(c) and c:IsDestructable()
......
--ロードジェネラル·ロミオ
local m=17111001
local cm=_G["c"..m]
cm.dfc_front_side=m
cm.dfc_back_side=m+1
function cm.initial_effect(c)
--Change
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(m,0))
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(cm.changecon)
e0:SetTarget(cm.changetg)
e0:SetOperation(cm.changeop)
c:RegisterEffect(e0)
--must attack
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_MUST_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(0,LOCATION_MZONE)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_MUST_ATTACK_MONSTER)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_MUST_BE_ATTACKED)
e3:SetValue(1)
c:RegisterEffect(e3)
--synchro level
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_SYNCHRO_LEVEL)
e4:SetValue(cm.slevel)
c:RegisterEffect(e4)
end
cm.is_named_with_Commander=1
function cm.IsCommander(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Commander
end
function cm.cfilter(c)
return c:IsFaceup() and (c:IsCode(17111003) or c:IsCode(17111004))
end
function cm.changecon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
end
function cm.changetg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c.dfc_back_side and c.dfc_front_side==c:GetOriginalCode() end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function cm.changeop(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() or c:IsImmuneToEffect(e) then return end
local tcode=c.dfc_back_side
c:SetEntityCode(tcode,true)
c:ReplaceEffect(tcode,0,0)
Duel.Hint(12,0,aux.Stringid(m,12))
end
function cm.slevel(e,c)
local lv=e:GetHandler():GetLevel()
return 2*65536+lv
end
\ No newline at end of file
--ロードジェネラル·ロミオ
local m=17111002
local cm=_G["c"..m]
function cm.initial_effect(c)
--must attack
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_MUST_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(0,LOCATION_MZONE)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_MUST_ATTACK_MONSTER)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_MUST_BE_ATTACKED)
e3:SetValue(1)
c:RegisterEffect(e3)
--synchro level
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_SYNCHRO_LEVEL)
e4:SetValue(cm.slevel)
c:RegisterEffect(e4)
--back
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_ADJUST)
e5:SetRange(LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_HAND+LOCATION_EXTRA)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE)
e5:SetCondition(cm.backon)
e5:SetOperation(cm.backop)
c:RegisterEffect(e5)
end
cm.is_named_with_Commander=1
function cm.IsCommander(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Commander
end
function cm.slevel(e,c)
local lv=e:GetHandler():GetLevel()
return 2*65536+lv
end
function cm.backon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c.dfc_front_side and c:GetOriginalCode()==c.dfc_back_side
end
function cm.backop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tcode=c.dfc_front_side
c:SetEntityCode(tcode)
Duel.ConfirmCards(tp,Group.FromCards(c))
Duel.ConfirmCards(1-tp,Group.FromCards(c))
c:ReplaceEffect(tcode,0,0)
end
\ No newline at end of file
--ブリンセス·ジュリエット
local m=17111003
local cm=_G["c"..m]
cm.dfc_front_side=m
cm.dfc_back_side=m+1
function cm.initial_effect(c)
--Change
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.changecon)
e1:SetTarget(cm.changetg)
e1:SetOperation(cm.changeop)
c:RegisterEffect(e1)
--direct attack
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DIRECT_ATTACK)
c:RegisterEffect(e2)
--synchro level
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,2))
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_SYNCHRO_LEVEL)
e3:SetValue(cm.slevel)
c:RegisterEffect(e3)
end
cm.is_named_with_Commander=1
function cm.IsCommander(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Commander
end
function cm.cfilter(c)
return c:IsFaceup() and (c:IsCode(17111001) or c:IsCode(17111002))
end
function cm.changecon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
end
function cm.changetg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c.dfc_back_side and c.dfc_front_side==c:GetOriginalCode() end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function cm.changeop(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() or c:IsImmuneToEffect(e) then return end
local tcode=c.dfc_back_side
c:SetEntityCode(tcode,true)
c:ReplaceEffect(tcode,0,0)
Duel.Hint(12,0,aux.Stringid(m,12))
end
function cm.slevel(e,c)
local lv=e:GetHandler():GetLevel()
return 2*65536+lv
end
\ No newline at end of file
--ブリンセス·ジュリエット
local m=17111004
local cm=_G["c"..m]
function cm.initial_effect(c)
--direct attack
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DIRECT_ATTACK)
c:RegisterEffect(e1)
--synchro level
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SYNCHRO_LEVEL)
e2:SetValue(cm.slevel)
c:RegisterEffect(e2)
--back
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ADJUST)
e3:SetRange(LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_HAND+LOCATION_EXTRA)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE)
e3:SetCondition(cm.backon)
e3:SetOperation(cm.backop)
c:RegisterEffect(e3)
end
cm.is_named_with_Commander=1
function cm.IsCommander(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Commander
end
function cm.slevel(e,c)
local lv=e:GetHandler():GetLevel()
return 2*65536+lv
end
function cm.backon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c.dfc_front_side and c:GetOriginalCode()==c.dfc_back_side
end
function cm.backop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tcode=c.dfc_front_side
c:SetEntityCode(tcode)
Duel.ConfirmCards(tp,Group.FromCards(c))
Duel.ConfirmCards(1-tp,Group.FromCards(c))
c:ReplaceEffect(tcode,0,0)
end
\ No newline at end of file
--円卓会議
local m=17111005
local cm=_G["c"..m]
function cm.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,m)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
function cm.IsCommander(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Commander
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(m,tp,ACTIVITY_SPSUMMON)==0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not cm.IsCommander(c) and c:IsLocation(LOCATION_EXTRA)
end
function cm.spfilter(c,e,tp)
return cm.IsCommander(c) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local g=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_DECK,0,nil,e,tp)
return not Duel.IsPlayerAffectedByEffect(tp,59822133)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>1 and g:GetClassCount(Card.GetCode)>=2 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_DECK)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local g=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_DECK,0,nil,e,tp)
if not Duel.IsPlayerAffectedByEffect(tp,59822133) and ft>1 and g:GetClassCount(Card.GetCode)>1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g1=g:Select(tp,1,1,nil)
g:Remove(Card.IsCode,nil,g1:GetFirst():GetCode())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g2=g:Select(tp,1,1,nil)
g1:Merge(g2)
Duel.SpecialSummon(g1,0,tp,tp,false,false,POS_FACEUP)
end
end
--列奥尼达
local m=17111011
local cm=_G["c"..m]
cm.dfc_front_side=m
cm.dfc_back_side=m+1
function cm.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--Change
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(m,0))
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(cm.changecon)
e0:SetTarget(cm.changetg)
e0:SetOperation(cm.changeop)
c:RegisterEffect(e0)
--set
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_DESTROYED)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCondition(cm.tfcon)
e1:SetTarget(cm.tftg)
e1:SetOperation(cm.tfop)
c:RegisterEffect(e1)
--spsummon voice
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,2))
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetOperation(cm.sumsuc)
c:RegisterEffect(e2)
--atk voice
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,3))
e3:SetCategory(CATEGORY_ATKCHANGE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetOperation(cm.atksuc)
c:RegisterEffect(e3)
--destroy voice
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,4))
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_DESTROYED)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCondition(cm.descon)
e4:SetOperation(cm.dessuc)
c:RegisterEffect(e4)
end
cm.is_named_with_Commander=1
function cm.IsCommander(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Commander
end
function cm.changecon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)<Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)
end
function cm.changetg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c.dfc_back_side and c.dfc_front_side==c:GetOriginalCode() end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function cm.changeop(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() or c:IsImmuneToEffect(e) then return end
local tcode=c.dfc_back_side
c:SetEntityCode(tcode,true)
c:ReplaceEffect(tcode,0,0)
Duel.Hint(12,0,aux.Stringid(m,8))
end
function cm.tfcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsFaceup()
end
function cm.tftg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
end
function cm.tfop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
local token=Duel.CreateToken(tp,17111013)
Duel.MoveToField(token,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e1:SetReset(RESET_EVENT+0x1fc0000)
token:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetRange(LOCATION_SZONE)
e2:SetCondition(cm.atkcon)
e2:SetOperation(cm.atkop)
token:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
token:RegisterEffect(e3)
end
function cm.cfilter(c,tp)
return c:IsFaceup() and c:GetSummonPlayer()==tp
end
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil,tp)
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=eg:Filter(cm.cfilter,nil,tp):Filter(Card.IsFaceup,nil)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(1200)
e1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,9))
e3:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetOperation(cm.atkbop)
tc:RegisterEffect(e3)
tc=g:GetNext()
end
end
function cm.atkbop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetValue(cm.efilter)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_DAMAGE)
e:GetHandler():RegisterEffect(e1)
end
function cm.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE+LOCATION_SZONE) and c:IsFaceup()
end
function cm.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(12,0,aux.Stringid(m,5))
end
function cm.atksuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(12,0,aux.Stringid(m,6))
end
function cm.dessuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(12,0,aux.Stringid(m,7))
end
\ No newline at end of file
--列奥尼达
local m=17111011
local cm=_G["c"..m]
cm.dfc_front_side=m
cm.dfc_back_side=m+1
function cm.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--Change
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(m,0))
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(cm.changecon)
e0:SetTarget(cm.changetg)
e0:SetOperation(cm.changeop)
c:RegisterEffect(e0)
--set
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_DESTROYED)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCondition(cm.tfcon)
e1:SetTarget(cm.tftg)
e1:SetOperation(cm.tfop)
c:RegisterEffect(e1)
--spsummon voice
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,2))
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetOperation(cm.sumsuc)
c:RegisterEffect(e2)
--atk voice
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,3))
e3:SetCategory(CATEGORY_ATKCHANGE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetOperation(cm.atksuc)
c:RegisterEffect(e3)
--destroy voice
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,4))
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_DESTROYED)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCondition(cm.descon)
e4:SetOperation(cm.dessuc)
c:RegisterEffect(e4)
end
cm.is_named_with_Commander=1
function cm.IsCommander(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Commander
end
function cm.changecon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)<Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)
end
function cm.changetg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c.dfc_back_side and c.dfc_front_side==c:GetOriginalCode() end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function cm.changeop(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() or c:IsImmuneToEffect(e) then return end
local tcode=c.dfc_back_side
c:SetEntityCode(tcode,true)
c:ReplaceEffect(tcode,0,0)
Duel.Hint(12,0,aux.Stringid(m,8))
end
function cm.tfcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsFaceup()
end
function cm.tftg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
end
function cm.tfop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
local token=Duel.CreateToken(tp,17111013)
Duel.MoveToField(token,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e1:SetReset(RESET_EVENT+0x1fc0000)
token:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetRange(LOCATION_SZONE)
e2:SetCondition(cm.atkcon)
e2:SetOperation(cm.atkop)
token:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
token:RegisterEffect(e3)
end
function cm.cfilter(c,tp)
return c:IsFaceup() and c:GetSummonPlayer()==tp
end
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil,tp)
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=eg:Filter(cm.cfilter,nil,tp):Filter(Card.IsFaceup,nil)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(1200)
e1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,9))
e3:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetOperation(cm.atkbop)
tc:RegisterEffect(e3)
tc=g:GetNext()
end
end
function cm.atkbop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetValue(cm.efilter)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_DAMAGE)
e:GetHandler():RegisterEffect(e1)
end
function cm.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE+LOCATION_SZONE) and c:IsFaceup()
end
function cm.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(12,0,aux.Stringid(m,5))
end
function cm.atksuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(12,0,aux.Stringid(m,6))
end
function cm.dessuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(12,0,aux.Stringid(m,7))
end
\ No newline at end of file
--列奥尼达
local m=17111012
local cm=_G["c"..m]
function cm.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--set
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_DESTROYED)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCondition(cm.tfcon)
e1:SetTarget(cm.tftg)
e1:SetOperation(cm.tfop)
c:RegisterEffect(e1)
--atk voice
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,3))
e3:SetCategory(CATEGORY_ATKCHANGE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetOperation(cm.atksuc)
c:RegisterEffect(e3)
--destroy voice
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,4))
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_DESTROYED)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCondition(cm.descon)
e4:SetOperation(cm.dessuc)
c:RegisterEffect(e4)
--back
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_ADJUST)
e8:SetRange(LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_HAND+LOCATION_EXTRA)
e8:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE)
e8:SetCondition(cm.backon)
e8:SetOperation(cm.backop)
c:RegisterEffect(e8)
end
cm.is_named_with_Commander=1
function cm.IsCommander(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Commander
end
function cm.backon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c.dfc_front_side and c:GetOriginalCode()==c.dfc_back_side
end
function cm.backop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tcode=c.dfc_front_side
c:SetEntityCode(tcode)
Duel.ConfirmCards(tp,Group.FromCards(c))
Duel.ConfirmCards(1-tp,Group.FromCards(c))
c:ReplaceEffect(tcode,0,0)
end
function cm.tfcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsFaceup()
end
function cm.tftg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
end
function cm.tfop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
local token=Duel.CreateToken(tp,17111013)
Duel.MoveToField(token,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e1:SetReset(RESET_EVENT+0x1fc0000)
token:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetRange(LOCATION_SZONE)
e2:SetCondition(cm.atkcon)
e2:SetOperation(cm.atkop)
token:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
token:RegisterEffect(e3)
end
function cm.cfilter(c,tp)
return c:IsFaceup() and c:GetSummonPlayer()==tp
end
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil,tp)
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=eg:Filter(cm.cfilter,nil,tp):Filter(Card.IsFaceup,nil)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(1200)
e1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,9))
e3:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetOperation(cm.atkbop)
tc:RegisterEffect(e3)
tc=g:GetNext()
end
end
function cm.atkbop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetValue(cm.efilter)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_DAMAGE)
e:GetHandler():RegisterEffect(e1)
end
function cm.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE+LOCATION_SZONE) and c:IsFaceup()
end
function cm.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(12,0,aux.Stringid(m,5))
end
function cm.atksuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(12,0,aux.Stringid(m,6))
end
function cm.dessuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(12,0,aux.Stringid(m,7))
end
\ No newline at end of file
...@@ -6,7 +6,7 @@ function c22250001.initial_effect(c) ...@@ -6,7 +6,7 @@ function c22250001.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCountLimit(1,222500011) e1:SetCountLimit(1,222500011)
e1:SetCondition(c22250001.spcon) e1:SetCondition(c22250001.spcon)
e1:SetTarget(c22250001.sptg) e1:SetTarget(c22250001.sptg)
...@@ -17,11 +17,11 @@ function c22250001.initial_effect(c) ...@@ -17,11 +17,11 @@ function c22250001.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(22250001,1)) e3:SetDescription(aux.Stringid(22250001,1))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_QUICK_O) e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCountLimit(1,222500012)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_HAND) e3:SetRange(LOCATION_HAND)
e3:SetCountLimit(1,222500012)
e3:SetCondition(c22250001.cecon) e3:SetCondition(c22250001.cecon)
e3:SetTarget(c22250001.cetg) e3:SetTarget(c22250001.cetg)
e3:SetOperation(c22250001.ceop) e3:SetOperation(c22250001.ceop)
...@@ -65,7 +65,7 @@ function c22250001.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -65,7 +65,7 @@ function c22250001.spop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c22250001.xfilter(c,tp) function c22250001.xfilter(c,tp)
return c:IsLocation(LOCATION_MZONE) and c:IsFaceup() and c22250001.IsRiviera(c) and c:IsControler(tp) return c:IsLocation(LOCATION_ONFIELD) and c:IsFaceup() and c22250001.IsRiviera(c) and c:IsControler(tp)
end end
function c22250001.cecon(e,tp,eg,ep,ev,re,r,rp) function c22250001.cecon(e,tp,eg,ep,ev,re,r,rp)
if e==re or not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end if e==re or not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
...@@ -80,8 +80,8 @@ end ...@@ -80,8 +80,8 @@ end
function c22250001.cetg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c22250001.cetg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local tf=re:GetTarget() local tf=re:GetTarget()
local res,ceg,cep,cev,cre,cr,crp=Duel.CheckEvent(re:GetCode(),true) local res,ceg,cep,cev,cre,cr,crp=Duel.CheckEvent(re:GetCode(),true)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c22250001.cefilter(chkc,re,rp,tf,ceg,cep,cev,cre,cr,crp) end if chkc then return chkc:IsLocation(LOCATION_ONFIELD) and chkc:IsControler(tp) and c22250001.cefilter(chkc,re,rp,tf,ceg,cep,cev,cre,cr,crp) end
if chk==0 then return Duel.IsExistingTarget(c22250001.cefilter,tp,LOCATION_MZONE,0,1,nil,re,rp,tf,ceg,cep,cev,cre,cr,crp,e:GetHandler()) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 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 c22250001.ceop(e,tp,eg,ep,ev,re,r,rp) function c22250001.ceop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -17,7 +17,6 @@ function c22250002.initial_effect(c) ...@@ -17,7 +17,6 @@ function c22250002.initial_effect(c)
e1:SetCategory(CATEGORY_DISABLE) e1:SetCategory(CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_BATTLE_START) e1:SetCode(EVENT_BATTLE_START)
e1:SetCondition(c22250002.descon)
e1:SetTarget(c22250002.destg) e1:SetTarget(c22250002.destg)
e1:SetOperation(c22250002.desop) e1:SetOperation(c22250002.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -65,14 +64,6 @@ function c22250002.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -65,14 +64,6 @@ function c22250002.operation(e,tp,eg,ep,ev,re,r,rp)
end end
end end
end end
function c22250002.cfilter(c)
return c:IsFaceup() and c22250002.IsRiviera(c)
end
function c22250002.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=c:GetBattleTarget()
return Duel.IsExistingMatchingCard(c22250002.cfilter,tp,LOCATION_MZONE,0,1,e:GetHandler()) and tc
end
function c22250002.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c22250002.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
local tc=c:GetBattleTarget() local tc=c:GetBattleTarget()
......
...@@ -44,18 +44,11 @@ function c22250003.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,18 +44,11 @@ function c22250003.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0xfe0000)
e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_IMMUNE_EFFECT) e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetTargetRange(LOCATION_ONFIELD,0)
e2:SetReset(RESET_EVENT+0xfe0000) e2:SetReset(RESET_EVENT+0xfe0000)
e2:SetTarget(c22250003.etarget) e2:SetTarget(c22250003.etarget)
e2:SetValue(c22250003.efilter) e2:SetValue(c22250003.efilter)
...@@ -97,6 +90,7 @@ function c22250003.setop(e,tp,eg,ep,ev,re,r,rp) ...@@ -97,6 +90,7 @@ function c22250003.setop(e,tp,eg,ep,ev,re,r,rp)
if lct<sct then sct=lct end if lct<sct then sct=lct end
if not c:IsRelateToEffect(e) or not c:IsAbleToGrave() then return end if not c:IsRelateToEffect(e) or not c:IsAbleToGrave() then return end
if Duel.SendtoGrave(c,REASON_EFFECT)>0 and sct>0 then if Duel.SendtoGrave(c,REASON_EFFECT)>0 and sct>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local sg=Duel.SelectMatchingCard(tp,c22250003.setfilter,tp,LOCATION_DECK,0,1,sct,nil,false) local sg=Duel.SelectMatchingCard(tp,c22250003.setfilter,tp,LOCATION_DECK,0,1,sct,nil,false)
if sg:GetCount()>0 then if sg:GetCount()>0 then
Duel.SSet(tp,sg) Duel.SSet(tp,sg)
......
...@@ -41,7 +41,7 @@ function c22250004.spfilter(c,code,e,tp) ...@@ -41,7 +41,7 @@ function c22250004.spfilter(c,code,e,tp)
end end
function c22250004.filter(c,e,tp) function c22250004.filter(c,e,tp)
local code=c:GetCode() local code=c:GetCode()
return c:IsFaceup() and c22250004.IsRiviera(c) and c:GetBattledGroupCount()>0 and Duel.IsExistingMatchingCard(c22250004.spfilter,tp,LOCATION_DECK,0,1,nil,code,e,tp) return c:IsFaceup() and c22250004.IsRiviera(c) and Duel.IsExistingMatchingCard(c22250004.spfilter,tp,LOCATION_DECK,0,1,nil,code,e,tp)
end end
function c22250004.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c22250004.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c22250004.filter(chkc,e,tp) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c22250004.filter(chkc,e,tp) end
......
...@@ -93,7 +93,7 @@ end ...@@ -93,7 +93,7 @@ end
function c22250005.negtg(e,tp,eg,ep,ev,re,r,rp,chk) function c22250005.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,1,1,nil) local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
end end
...@@ -106,13 +106,13 @@ function c22250005.negop(e,tp,eg,ep,ev,re,r,rp) ...@@ -106,13 +106,13 @@ function c22250005.negop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(-300) e1:SetValue(-500)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_DEFENSE) e1:SetCode(EFFECT_UPDATE_DEFENSE)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(-300) e1:SetValue(-500)
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)
......
--Riviera 罗莎 --Riviera 罗莎
function c22250006.initial_effect(c) function c22250006.initial_effect(c)
c:EnableReviveLimit()
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(22250006,0)) e1:SetDescription(aux.Stringid(22250006,0))
...@@ -37,13 +36,13 @@ function c22250006.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -37,13 +36,13 @@ function c22250006.spcon(e,tp,eg,ep,ev,re,r,rp)
end end
function c22250006.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c22250006.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,true) end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c22250006.spop(e,tp,eg,ep,ev,re,r,rp) function c22250006.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
if c:IsPreviousLocation(LOCATION_GRAVE) then if c:IsPreviousLocation(LOCATION_GRAVE) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -52,7 +51,6 @@ function c22250006.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -52,7 +51,6 @@ function c22250006.spop(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(LOCATION_REMOVED) e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1) c:RegisterEffect(e1)
c:CompleteProcedure()
end end
end end
function c22250006.efcon(e,tp,eg,ep,ev,re,r,rp) function c22250006.efcon(e,tp,eg,ep,ev,re,r,rp)
...@@ -63,7 +61,7 @@ function c22250006.efop(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,7 +61,7 @@ function c22250006.efop(e,tp,eg,ep,ev,re,r,rp)
local rc=c:GetReasonCard() local rc=c:GetReasonCard()
local e2=Effect.CreateEffect(rc) local e2=Effect.CreateEffect(rc)
e2:SetDescription(aux.Stringid(22250006,1)) e2:SetDescription(aux.Stringid(22250006,1))
e2:SetCategory(CATEGORY_DESTROY) e2:SetCategory(CATEGORY_TOHAND+CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_NO_TURN_RESET+EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_NO_TURN_RESET+EFFECT_FLAG_CARD_TARGET)
...@@ -82,23 +80,31 @@ function c22250006.efop(e,tp,eg,ep,ev,re,r,rp) ...@@ -82,23 +80,31 @@ function c22250006.efop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c22250006.filter2(c) function c22250006.filter2(c)
return bit.band(c:GetReason(),0x40008)==0x40008 and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and c:IsAbleToDeck() return bit.band(c:GetReason(),0x40008)==0x40008 and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and c:IsAbleToRemove()
end end
function c22250006.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c22250006.target(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(c22250006.filter2,tp,LOCATION_GRAVE,0,2,nil) end if chk==0 then return Duel.IsExistingTarget(c22250006.filter2,tp,LOCATION_GRAVE,0,2,nil) end
local g=Duel.SelectTarget(tp,c22250006.filter2,tp,LOCATION_GRAVE,0,2,2,nil) local g=Duel.SelectTarget(tp,c22250006.filter2,tp,LOCATION_GRAVE,0,2,2,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,0,0)
end end
function c22250006.activate(e,tp,eg,ep,ev,re,r,rp) function c22250006.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local sg=g:Filter(Card.IsRelateToEffect,nil,e) local sg=g:Filter(Card.IsRelateToEffect,nil,e)
if sg:GetCount()==2 then if sg:GetCount()==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tc=sg:Select(tp,1,1,nil):GetFirst() local tc=sg:Select(tp,1,1,nil):GetFirst()
Duel.SendtoHand(tc,nil,REASON_EFFECT) Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc) Duel.ConfirmCards(1-tp,tc)
sg:RemoveCard(tc) sg:RemoveCard(tc)
Duel.SendtoDeck(sg,nil,1,REASON_EFFECT) Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)
if Duel.IsExistingMatchingCard(c22250006.filterx,tp,LOCATION_DECK,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(22250006,2)) then
local g=Duel.GetMatchingGroup(c22250006.filterx,tp,LOCATION_DECK,0,1,nil)
Duel.SendtoHand(g:GetFirst(),nil,REASON_EFFECT)
end end
end
end
function c22250006.filterx(c)
return c:IsCode(22250001) and c:IsAbleToHand()
end end
\ No newline at end of file
...@@ -95,7 +95,7 @@ function c22250101.destg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -95,7 +95,7 @@ function c22250101.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
local d=c:GetBattleTarget() local d=c:GetBattleTarget()
local ct=c:GetMaterial():FilterCount(c22250101.atkfilter,nil) local ct=c:GetMaterial():FilterCount(c22250101.atkfilter,nil)
if chk==0 then return ct>0 and d:IsRelateToBattle() and c:IsRelateToBattle() and c:IsAttackable() end if chk==0 then return ct>0 and d:IsRelateToBattle() and c:IsRelateToBattle() and c:GetSummonType()==SUMMON_TYPE_FUSION end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_REMOVE,e:GetHandler(),1,0,0)
end end
function c22250101.desop(e,tp,eg,ep,ev,re,r,rp) function c22250101.desop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -5,7 +5,8 @@ function c22250102.initial_effect(c) ...@@ -5,7 +5,8 @@ function c22250102.initial_effect(c)
aux.AddFusionProcFun2(c,c22250102.ffilter,aux.FilterBoolFunction(Card.IsRace,RACE_FAIRY),true) aux.AddFusionProcFun2(c,c22250102.ffilter,aux.FilterBoolFunction(Card.IsRace,RACE_FAIRY),true)
--exchange atk --exchange atk
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_TRIGGER_F+EFFECT_TYPE_FIELD) e5:SetCategory(CATEGORY_ATKCHANGE)
e5:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_FIELD)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e5:SetRange(LOCATION_MZONE) e5:SetRange(LOCATION_MZONE)
e5:SetCode(EVENT_BATTLE_START) e5:SetCode(EVENT_BATTLE_START)
...@@ -68,28 +69,17 @@ end ...@@ -68,28 +69,17 @@ end
function c22250102.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c22250102.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) and c22250102.filter(chkc,e,tp) end if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) and c22250102.filter(chkc,e,tp) end
if chk==0 then return Duel.IsExistingTarget(c22250102.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp) and c:IsAbleToRemove() and (c:GetSequence()<5 or Duel.GetLocationCount(tp,LOCATION_MZONE)>0) end if chk==0 then return Duel.IsExistingTarget(c22250102.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c22250102.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil,e,tp) local g=Duel.SelectTarget(tp,c22250102.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,LOCATION_GRAVE+LOCATION_REMOVED) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,LOCATION_GRAVE+LOCATION_REMOVED)
end end
function c22250102.operation(e,tp,eg,ep,ev,re,r,rp) function c22250102.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsAbleToRemove() then return end
if c:IsRelateToEffect(e) and Duel.Remove(c,POS_FACEUP,REASON_EFFECT+REASON_TEMPORARY)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetLabelObject(c)
e1:SetCountLimit(1)
e1:SetOperation(c22250102.retop)
Duel.RegisterEffect(e1,tp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then if tc:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end end
end
end end
function c22250102.retop(e,tp,eg,ep,ev,re,r,rp) function c22250102.retop(e,tp,eg,ep,ev,re,r,rp)
Duel.ReturnToField(e:GetLabelObject()) Duel.ReturnToField(e:GetLabelObject())
......
--利维艾拉 乌尔斯拉
function c22250161.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2,2)
c:EnableReviveLimit()
--summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(22250161,0))
e1:SetCategory(CATEGORY_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(c22250161.stg)
e1:SetOperation(c22250161.sop)
c:RegisterEffect(e1)
--spsummon
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_BE_MATERIAL)
e4:SetOperation(c22250161.tgop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(22250161,1))
e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e5:SetRange(LOCATION_GRAVE)
e5:SetCountLimit(1)
e5:SetCode(EVENT_PHASE+PHASE_END)
e5:SetCondition(c22250161.spcon)
e5:SetTarget(c22250161.sptg)
e5:SetOperation(c22250161.spop)
c:RegisterEffect(e5)
end
c22250161.named_with_Riviera=1
function c22250161.IsRiviera(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Riviera
end
function c22250161.filter(c,e,zone)
return c22250161.IsRiviera(c) and c:IsType(TYPE_MONSTER) and c:IsSummonable(true,e,0,zone)
end
function c22250161.stg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local zone=e:GetHandler():GetLinkedZone()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and zone~=0 and Duel.IsExistingMatchingCard(c22250161.filter,tp,LOCATION_HAND,0,1,nil,e,0,zone) end
Duel.SetOperationInfo(0,CATEGORY_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c22250161.sop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local zone=e:GetHandler():GetLinkedZone()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 or zone==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON)
local g=Duel.SelectMatchingCard(tp,c22250161.filter,tp,LOCATION_HAND,0,1,1,nil,e,0,zone)
local tc=g:GetFirst()
if tc then
Duel.Summon(tp,tc,true,nil,0,zone)
if c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,2)
e1:SetValue(tc:GetAttack())
c:RegisterEffect(e1)
end
end
end
function c22250161.tgop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not (c:IsLocation(LOCATION_GRAVE) and r==REASON_FUSION) then return end
if Duel.GetCurrentPhase()<=PHASE_END then
c:RegisterFlagEffect(22250161,RESET_EVENT+0x1ff0000+RESET_PHASE+PHASE_END,0,2)
else
c:RegisterFlagEffect(22250161,RESET_EVENT+0x1ff0000+RESET_PHASE+PHASE_END,0,1)
end
end
function c22250161.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:GetTurnID()~=Duel.GetTurnCount() and c:GetFlagEffect(22250161)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c22250161.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c22250161.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(800)
e1:SetReset(RESET_EVENT+0xfe0000)
c:RegisterEffect(e1)
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
...@@ -6,7 +6,6 @@ function c22251001.initial_effect(c) ...@@ -6,7 +6,6 @@ function c22251001.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,22251001+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c22251001.target) e1:SetTarget(c22251001.target)
e1:SetOperation(c22251001.activate) e1:SetOperation(c22251001.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -33,7 +32,6 @@ function c22251001.initial_effect(c) ...@@ -33,7 +32,6 @@ function c22251001.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1)
e2:SetCost(c22251001.cost) e2:SetCost(c22251001.cost)
e2:SetCondition(c22251001.con) e2:SetCondition(c22251001.con)
e2:SetTarget(c22251001.tg) e2:SetTarget(c22251001.tg)
...@@ -164,15 +162,18 @@ function c22251001.op(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -164,15 +162,18 @@ function c22251001.op(e,tp,eg,ep,ev,re,r,rp,chk)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-500*e:GetLabel()) e1:SetValue(-400*e:GetLabel())
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_DEFENSE) e1:SetCode(EFFECT_UPDATE_DEFENSE)
e1:SetValue(-500*e:GetLabel()) e1:SetValue(-400*e:GetLabel())
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
if tc:GetAttack()*tc:GetDefense()==0 then
Duel.Destroy(tc,REASON_EFFECT)
end
tc=g:GetNext() tc=g:GetNext()
end end
end end
......
...@@ -3,7 +3,6 @@ function c22251002.initial_effect(c) ...@@ -3,7 +3,6 @@ function c22251002.initial_effect(c)
--draw --draw
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(22251002,0)) e1:SetDescription(aux.Stringid(22251002,0))
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
...@@ -95,13 +94,10 @@ function c22251002.tdfilter(c) ...@@ -95,13 +94,10 @@ function c22251002.tdfilter(c)
return c:IsCode(22251002) and c:IsAbleToDeck() return c:IsCode(22251002) and c:IsAbleToDeck()
end end
function c22251002.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c22251002.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.GetMatchingGroup(c22251002.tdfilter,tp,LOCATION_GRAVE,0,nil) if chk==0 then return e:GetHandler():IsAbleToDeck() end
if chk==0 then return g:GetCount()>0 end Duel.SetOperationInfo(0,CATEGORY_TODECK,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
end end
function c22251002.op(e,tp,eg,ep,ev,re,r,rp) function c22251002.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c22251002.tdfilter,tp,LOCATION_GRAVE,0,nil) if not e:GetHandler():IsRelateToEffect(e) then return end
if g:GetCount()>0 then Duel.SendtoDeck(e:GetHandler(),nil,1,REASON_EFFECT)
Duel.SendtoDeck(g,nil,1,REASON_EFFECT)
end
end end
...@@ -62,7 +62,7 @@ function c22251101.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -62,7 +62,7 @@ function c22251101.activate(e,tp,eg,ep,ev,re,r,rp)
end end
function c22251101.droperation(e,tp,eg,ep,ev,re,r,rp) function c22251101.droperation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,22251101) Duel.Hint(HINT_CARD,0,22251101)
Duel.Draw(tp,c22251101[tp],REASON_EFFECT) Duel.Draw(tp,c22251101[tp]*2,REASON_EFFECT)
end end
function c22251101.costfilter(c) function c22251101.costfilter(c)
return c:IsCode(22251101) and c:IsAbleToDeckAsCost() return c:IsCode(22251101) and c:IsAbleToDeckAsCost()
...@@ -80,6 +80,7 @@ function c22251101.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -80,6 +80,7 @@ function c22251101.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c22251101.setfilter,tp,LOCATION_DECK,0,1,nil,false) end if chk==0 then return Duel.IsExistingMatchingCard(c22251101.setfilter,tp,LOCATION_DECK,0,1,nil,false) end
end end
function c22251101.op(e,tp,eg,ep,ev,re,r,rp) function c22251101.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c22251101.setfilter,tp,LOCATION_DECK,0,1,1,nil,false) local g=Duel.SelectMatchingCard(tp,c22251101.setfilter,tp,LOCATION_DECK,0,1,1,nil,false)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SSet(tp,g:GetFirst()) Duel.SSet(tp,g:GetFirst())
......
--惊喜还是惊吓?
function c22251102.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(22251102,0))
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(2,22251102+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c22251102.cost)
e1:SetTarget(c22251102.target)
e1:SetOperation(c22251102.activate)
c:RegisterEffect(e1)
--ind
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(22251102,1))
e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(c22251102.cost2)
e2:SetTarget(c22251102.tg)
e2:SetOperation(c22251102.op)
c:RegisterEffect(e2)
end
c22251102.named_with_Riviera=1
function c22251102.IsRiviera(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Riviera
end
function c22251102.filter(c)
return c22251102.IsRiviera(c) and c:IsAbleToGrave()
end
function c22251102.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c22251102.filter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,e:GetHandler()) end
local g=Duel.SelectMatchingCard(tp,c22251102.filter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,e:GetHandler())
Duel.SendtoGrave(g,REASON_COST)
Duel.RegisterFlagEffect(tp,22251102,0,0,0)
local flag=Duel.GetFlagEffect(tp,22251102)
if flag%3~=0 then
e:SetLabel(0)
else
e:SetLabel(1)
end
end
function c22251102.target(e,tp,eg,ep,ev,re,r,rp,chk)
local flag=Duel.GetFlagEffect(tp,22251102)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end
if e:GetLabel()==0 then e:SetProperty(EFFECT_FLAG_PLAYER_TARGET) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(2)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
end
function c22251102.activate(e,tp,eg,ep,ev,re,r,rp)
if e:GetLabel()==0 then
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
elseif e:GetLabel()==1 then
while Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)>2 do
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT,nil)
end
end
end
function c22251102.costfilter(c)
return c:IsCode(22251102) and c:IsAbleToDeckAsCost()
end
function c22251102.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(c22251102.costfilter,tp,LOCATION_GRAVE,0,nil)
if chk==0 then return g:GetCount()>1 end
local rg=g:RandomSelect(tp,2)
Duel.SendtoDeck(rg,nil,1,REASON_COST)
end
function c22251102.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c22251102.op(e,tp,eg,ep,ev,re,r,rp)
if Duel.Draw(tp,1,REASON_EFFECT)>0 then
local tc=Duel.GetOperatedGroup():GetFirst()
if c22251102.IsRiviera(tc) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and tc:IsSummonable(true,e,0) then
if Duel.SelectYesNo(tp,aux.Stringid(22251102,2)) then
Duel.Summon(tp,tc,true,nil,0)
else
Duel.ConfirmCards(1-tp,tc)
Duel.ShuffleHand(tp)
end
elseif not (c22251102.IsRiviera(tc) and tc:IsType(TYPE_MONSTER)) then
Duel.SendtoGrave(tc,REASON_EFFECT)
end
end
end
\ No newline at end of file
--壮绝圣战
function c22251201.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,22251201+EFFECT_COUNT_CODE_OATH)
e1:SetOperation(c22251201.activate)
c:RegisterEffect(e1)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_SZONE)
e1:SetCountLimit(1)
e1:SetCost(c22251201.cost)
e1:SetTarget(c22251201.target)
e1:SetOperation(c22251201.operation)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_TO_DECK)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,22251201)
e2:SetCondition(c22251201.con)
e2:SetCost(c22251201.cost2)
e2:SetTarget(c22251201.tg)
e2:SetOperation(c22251201.op)
c:RegisterEffect(e2)
end
c22251201.named_with_Riviera=1
function c22251201.IsRiviera(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Riviera
end
function c22251201.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
c22251201.announce_filter2={22250001,OPCODE_ISCODE,22250002,OPCODE_ISCODE,22250003,OPCODE_ISCODE,22250004,OPCODE_ISCODE,22250005,OPCODE_ISCODE,22250006,OPCODE_ISCODE,22250101,OPCODE_ISCODE,22250102,OPCODE_ISCODE,OPCODE_OR,OPCODE_OR,OPCODE_OR,OPCODE_OR,OPCODE_OR,OPCODE_OR,OPCODE_OR,OPCODE_OR}
local ac=Duel.AnnounceCardFilter(tp,table.unpack(c22251201.announce_filter2))
c:SetHint(CHINT_CARD,ac)
--tograve
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetRange(LOCATION_SZONE)
e1:SetCondition(c22251201.tgcon)
e1:SetTarget(c22251201.tgtg)
e1:SetOperation(c22251201.tgop)
e1:SetLabel(ac)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=e1:Clone()
end
function c22251201.filter(c,code)
return c:IsFaceup() and c:IsCode(code)
end
function c22251201.tgcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c22251201.filter,1,nil,e:GetLabel()) and rp==tp
end
function c22251201.tgfilter(c,code)
return c22251201.IsRiviera(c) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToGrave()
end
function c22251201.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c22251201.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,0,0,0,0)
end
function c22251201.tgop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c22251201.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
function c22251201.costfilter(c)
return c22251201.IsRiviera(c) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToDeckAsCost() and Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,c,c:GetCode())
end
function c22251201.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c22251201.costfilter,tp,LOCATION_GRAVE,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c22251201.costfilter,tp,LOCATION_GRAVE,0,1,1,nil)
g:Merge(Duel.GetFieldGroup(tp,LOCATION_GRAVE,0):Filter(Card.IsCode,nil,g:GetFirst():GetCode()):Select(tp,1,1,g:GetFirst()))
Duel.SendtoDeck(g,nil,1,REASON_COST)
end
function c22251201.spfilter(c,e,tp)
return c22251201.IsRiviera(c) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsType(TYPE_MONSTER)
end
function c22251201.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c22251201.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,0)
end
function c22251201.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 or not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c22251201.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g then Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) end
end
function c22251201.tdcfilter(c)
return c22251201.IsRiviera(c) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsPreviousLocation(LOCATION_GRAVE)
end
function c22251201.con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c22251201.tdcfilter,1,nil)
end
function c22251201.cfilter(c)
return c:IsCode(22251201) and c:IsAbleToDeckAsCost()
end
function c22251201.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c22251201.cfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end
local g=Duel.GetMatchingGroup(c22251201.cfilter,tp,LOCATION_GRAVE,0,e:GetHandler())
Duel.SendtoDeck(g,nil,1,REASON_COST)
end
function c22251201.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsSSetable() end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
function c22251201.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsSSetable() then
Duel.SSet(tp,c)
Duel.ConfirmCards(1-tp,c)
end
end
--降临之地 利维艾拉
local m=22251501
local cm=_G["c"..m]
cm.dfc_front_side=m
cm.dfc_back_side=m+1
function c22251501.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--SpecialSummon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(22251501,1))
e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_DRAW)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_NO_TURN_RESET)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1,22251501+EFFECT_COUNT_CODE_OATH)
e2:SetTarget(c22251501.tgtg)
e2:SetOperation(c22251501.tgop)
c:RegisterEffect(e2)
--SpecialSummon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(22251501,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_FZONE)
e2:SetProperty(EFFECT_FLAG_NO_TURN_RESET)
e2:SetCountLimit(1)
e2:SetCondition(c22251501.sccon)
e2:SetTarget(c22251501.sctg)
e2:SetOperation(c22251501.scop)
c:RegisterEffect(e2)
--turn back side
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EVENT_ADJUST)
e3:SetRange(LOCATION_FZONE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE)
e3:SetCondition(c22251501.con)
e3:SetOperation(c22251501.op)
c:RegisterEffect(e3)
end
c22251501.named_with_Riviera=1
function c22251501.IsRiviera(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Riviera
end
function c22251501.filter(c)
return c22251501.IsRiviera(c) and c:IsFaceup()
end
function c22251501.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c22251501.filter,tp,LOCATION_MZONE,0,1,nil)
end
function c22251501.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tcode=c.dfc_back_side
c:SetEntityCode(tcode,true)
c:ReplaceEffect(tcode,0,0)
end
function c22251501.sccon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0
end
function c22251501.sfilter(c,e,tp)
return c22251501.IsRiviera(c) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsRace(RACE_FAIRY)
end
function c22251501.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c22251501.sfilter,tp,LOCATION_DECK,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,0,1,0,0)
end
function c22251501.scop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c22251501.sfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,fale,false,POS_FACEUP)
end
end
function c22251501.tgfilter(c)
return c:IsAbleToGrave() and c22251501.IsRiviera(c) and c:IsFaceup()
end
function c22251501.tgtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and c22251501.tgfilter(chkc) and chkc~=e:GetHandler() end
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) and Duel.IsExistingTarget(c22251501.tgfilter,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectTarget(tp,c22251501.tgfilter,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,0,1,tp,0)
end
function c22251501.tgop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not c:IsRelateToEffect(e) then return end
if Duel.Draw(tp,1,REASON_EFFECT)>0 and tc:IsRelateToEffect(e) then
Duel.SendtoGrave(tc,REASON_EFFECT)
end
end
\ No newline at end of file
--约束之地 利维艾拉
local m=22251502
local cm=_G["c"..m]
cm.dfc_front_side=m-1
cm.dfc_back_side=m
function c22251502.initial_effect(c)
--tohand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(22251502,0))
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_NO_TURN_RESET)
e1:SetRange(LOCATION_FZONE)
e1:SetCountLimit(1)
e1:SetTarget(c22251502.thtg)
e1:SetOperation(c22251502.thop)
c:RegisterEffect(e1)
--Activate(effect)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(22251502,1))
e4:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e4:SetProperty(EFFECT_FLAG_NO_TURN_RESET)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_CHAINING)
e4:SetRange(LOCATION_FZONE)
e4:SetCountLimit(1)
e4:SetCondition(c22251502.condition2)
e4:SetTarget(c22251502.target2)
e4:SetOperation(c22251502.activate2)
c:RegisterEffect(e4)
--turn back1
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EVENT_ADJUST)
e3:SetRange(LOCATION_FZONE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE)
e3:SetCondition(c22251502.con)
e3:SetOperation(c22251502.op)
c:RegisterEffect(e3)
--back2
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_ADJUST)
e8:SetRange(LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_HAND+LOCATION_EXTRA)
e8:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE)
e8:SetCountLimit(1)
e8:SetCondition(c22251502.backon)
e8:SetOperation(c22251502.backop)
c:RegisterEffect(e8)
end
c22251502.named_with_Riviera=1
function c22251502.IsRiviera(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Riviera
end
function c22251502.thfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c22251502.thtg(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 c22251502.thfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c22251502.thfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=Duel.SelectTarget(tp,c22251502.thfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,sg,sg:GetCount(),0,0)
end
function c22251502.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) and c:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
function c22251502.ncfilter(c)
return c22251502.IsRiviera(c) and c:IsFaceup()
end
function c22251502.condition2(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.IsChainNegatable(ev) and Duel.GetMatchingGroupCount(c22251502.ncfilter,tp,LOCATION_MZONE,0,nil)==Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)
end
function c22251502.target2(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 c22251502.activate2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
end
end
function c22251502.filter(c)
return c22251502.IsRiviera(c) and c:IsFaceup()
end
function c22251502.con(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c22251502.filter,tp,LOCATION_MZONE,0,1,nil)
end
function c22251502.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tcode=c.dfc_front_side
c:SetEntityCode(tcode,true)
c:ReplaceEffect(tcode,0,0)
end
function c22251502.backon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c.dfc_front_side and c:GetOriginalCode()==c.dfc_back_side
end
function c22251502.backop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tcode=c.dfc_front_side
c:SetEntityCode(tcode)
Duel.ConfirmCards(tp,Group.FromCards(c))
Duel.ConfirmCards(1-tp,Group.FromCards(c))
c:ReplaceEffect(tcode,0,0)
end
\ No newline at end of file
...@@ -13,7 +13,6 @@ function c22252001.initial_effect(c) ...@@ -13,7 +13,6 @@ function c22252001.initial_effect(c)
--ind --ind
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(22252001,1)) e2:SetDescription(aux.Stringid(22252001,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
...@@ -52,7 +51,7 @@ function c22252001.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -52,7 +51,7 @@ function c22252001.activate(e,tp,eg,ep,ev,re,r,rp)
sg=sg:Select(tp,ft,ft,nil) sg=sg:Select(tp,ft,ft,nil)
end end
local ct=Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP) local ct=Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
if ct>0 and sg:FilterCount(Card.IsRace,nil,RACE_FAIRY)<2 and Duel.SelectYesNo(tp,aux.Stringid(22252001,2)) then if ct>0 and sg:FilterCount(Card.IsRace,nil,RACE_FAIRY)<sg:GetCount() and Duel.SelectYesNo(tp,aux.Stringid(22252001,2)) then
local tc=sg:GetFirst() local tc=sg:GetFirst()
while tc do while tc do
if not tc:IsRace(RACE_FAIRY) then if not tc:IsRace(RACE_FAIRY) then
...@@ -81,7 +80,7 @@ function c22252001.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -81,7 +80,7 @@ function c22252001.op(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_IMMUNE_EFFECT) e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetTarget(aux.TargetBoolFunction(Card.IsRace,RACE_FAIRY)) e1:SetTarget(aux.TargetBoolFunction(c22252001.eefilter))
e1:SetTargetRange(LOCATION_MZONE,0) e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetValue(c22252001.efilter) e1:SetValue(c22252001.efilter)
...@@ -90,3 +89,6 @@ end ...@@ -90,3 +89,6 @@ end
function c22252001.efilter(e,re) function c22252001.efilter(e,re)
return e:GetHandlerPlayer()~=re:GetHandlerPlayer() and re:IsActiveType(TYPE_MONSTER) return e:GetHandlerPlayer()~=re:GetHandlerPlayer() and re:IsActiveType(TYPE_MONSTER)
end end
function c22252001.eefilter(c)
return c22252001.IsRiviera(c) and c:IsFaceup()
end
...@@ -106,6 +106,7 @@ function c22252101.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -106,6 +106,7 @@ function c22252101.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end end
function c22252101.op(e,tp,eg,ep,ev,re,r,rp) function c22252101.op(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 or not Duel.IsExistingMatchingCard(c22252101.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 or not Duel.IsExistingMatchingCard(c22252101.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c22252101.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c22252101.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g then Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) end if g then Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) end
end end
\ No newline at end of file
--对碑文的解读
function c22252201.initial_effect(c)
c:SetUniqueOnField(1,0,22252201)
--activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c22252201.activate)
c:RegisterEffect(e1)
--ANNOUNCE_CARD
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_PHASE+PHASE_STANDBY)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetTarget(c22252201.target)
e2:SetOperation(c22252201.operation)
c:RegisterEffect(e2)
--activate in set turn
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN)
e3:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_SZONE,0)
e3:SetTarget(aux.TargetBoolFunction(c22252201.eefilter))
c:RegisterEffect(e3)
end
c22252201.named_with_Riviera=1
function c22252201.IsRiviera(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Riviera
end
function c22252201.thfilter(c)
return c22252201.IsRiviera(c) and c:IsAbleToHand()
end
function c22252201.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.IsExistingMatchingCard(c22252201.thfilter,tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(22252201,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c22252201.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
end
function c22252201.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end
end
function c22252201.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
c22252201.announce_filter2={22251001,OPCODE_ISCODE,22251002,OPCODE_ISCODE,22251101,OPCODE_ISCODE,22251201,OPCODE_ISCODE,22251501,OPCODE_ISCODE,22252001,OPCODE_ISCODE,22252101,OPCODE_ISCODE,22252201,OPCODE_ISCODE,OPCODE_OR,OPCODE_OR,OPCODE_OR,OPCODE_OR,OPCODE_OR,OPCODE_OR,OPCODE_OR,OPCODE_OR}
local ac=Duel.AnnounceCardFilter(tp,table.unpack(c22252201.announce_filter2))
c:SetHint(CHINT_CARD,ac)
--tohand
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_SZONE)
e1:SetCountLimit(1)
e1:SetCondition(c22252201.spcon)
e1:SetTarget(c22252201.sptg)
e1:SetOperation(c22252201.spop)
e1:SetLabel(ac)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
function c22252201.spcon(e,tp,eg,ep,ev,re,r,rp)
return ep==tp and re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetHandler():IsCode(e:GetLabel())
end
function c22252201.tehfilter(c)
return c:IsFaceup() and c:IsAbleToHand()
end
function c22252201.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c22252201.tehfilter,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,0)
end
function c22252201.spop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c22252201.tehfilter,tp,0,LOCATION_ONFIELD,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
function c22252201.eefilter(c)
return c22252201.IsRiviera(c)
end
\ No newline at end of file
--ダイナミスト・ハウリング
function c500001.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:SetTarget(c500001.target)
e1:SetOperation(c500001.activate)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(500001,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1,500001)
e2:SetCost(c500001.cost)
e2:SetOperation(c500001.operation)
c:RegisterEffect(e2)
end
function c500001.costfilter(c)
return ((c:IsRace(RACE_FAIRY) and c:IsAttribute(ATTRIBUTE_LIGHT)) or (c:IsType(TYPE_TRAP) and c:IsType(TYPE_CONTINUOUS))) and c:IsReleasable()
end
function c500001.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c500001.costfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c500001.costfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,99,nil)
local ct=Duel.Release(g,REASON_COST)
e:SetLabel(ct)
end
function c500001.operation(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetOperation(c500001.setop)
e1:SetLabel(e:GetLabel())
Duel.RegisterEffect(e1,tp)
end
function c500001.setop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c500001.setfilter,tp,LOCATION_DECK,0,nil)
local ft,ct=Duel.GetLocationCount(tp,LOCATION_SZONE),e:GetLabel()
local ct2=math.min(ft,ct)
Duel.Hint(HINT_CARD,0,500001)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local sg=g:Select(tp,1,ct2,nil)
if sg:GetCount()>0 then
Duel.SSet(tp,sg,tp)
Duel.ConfirmCards(1-tp,sg)
end
end
function c500001.setfilter(c)
return (c:IsSetCard(0xffac) or c:IsSetCard(0xffad)) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSSetable()
end
function c500001.rfilter(c)
return c:IsRace(RACE_SPELLCASTER) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsReleasable()
end
function c500001.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c500001.rfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_DECK)
end
function c500001.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(c500001.rfilter,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoGrave(sg,REASON_EFFECT+REASON_RELEASE)
end
end
\ No newline at end of file
--甘兔庵
function c500002.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:SetTarget(c500002.target)
e1:SetOperation(c500002.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_QUICK_F)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e2:SetRange(LOCATION_FZONE)
e2:SetCondition(c500002.negcon)
e2:SetOperation(c500002.negop)
c:RegisterEffect(e2)
end
function c500002.cfilter(c,tp)
return c:IsOnField() and c:IsControler(tp) and c:IsType(TYPE_SPELL+TYPE_TRAP)
end
function c500002.negcon(e,tp,eg,ep,ev,re,r,rp)
local ex,tg,tc=Duel.GetOperationInfo(ev,CATEGORY_DESTROY)
return ex and tg~=nil and tc+tg:FilterCount(c500002.cfilter,nil,tp)-tg:GetCount()>0 and e:GetHandler():IsFacedown() and e:GetHandler():GetActivateEffect():IsActivatable(tp)
end
function c500002.negop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.NegateActivation(ev) then
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetHandler():IsRelateToEffect(re) then
Duel.SendtoGrave(eg,REASON_EFFECT)
end
if not c:GetActivateEffect():IsActivatable(tp) then return end
Duel.ChangePosition(c,POS_FACEUP)
local te=c:GetActivateEffect()
local tep=c:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
Duel.RaiseEvent(c,500002,te,0,tp,tp,Duel.GetCurrentChain())
end
end
function c500002.rfilter(c)
return c:IsRace(RACE_SPELLCASTER) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsReleasable()
end
function c500002.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c500002.rfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_DECK)
end
function c500002.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(c500002.rfilter,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoGrave(sg,REASON_EFFECT+REASON_RELEASE)
end
end
\ No newline at end of file
--大小姐女仆 纱路
function c500003.initial_effect(c)
--race
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_ADD_RACE)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetValue(RACE_FAIRY)
c:RegisterEffect(e1)
--activate from hand
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e2:SetRange(LOCATION_MZONE)
e2:SetTarget(c500003.tg)
e2:SetTargetRange(LOCATION_HAND,0)
c:RegisterEffect(e2)
--yyyy
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(500003,0))
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e4:SetCode(EVENT_TO_GRAVE)
e4:SetTarget(c500003.target)
e4:SetOperation(c500003.operation)
c:RegisterEffect(e4)
end
function c500003.filter1(c)
return (c:IsSetCard(0xffac) or c:IsSetCard(0xffad)) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSSetable()
end
function c500003.filter2(c)
return c:IsReleasable() and c:IsAttribute(ATTRIBUTE_LIGHT) and not c:IsCode(500003)
end
function c500003.target(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(c500003.filter1,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c500003.filter2,tp,LOCATION_DECK,0,1,nil)
if chk==0 then return b1 or b2 end
local op=0
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(500003,1),aux.Stringid(500003,2))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(500003,1))
else op=Duel.SelectOption(tp,aux.Stringid(500003,2))+1 end
e:SetLabel(op)
if op~=0 then
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,0,LOCATION_DECK)
end
end
function c500003.operation(e,tp,eg,ep,ev,re,r,rp)
if e:GetLabel()==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local tc=Duel.SelectMatchingCard(tp,c500003.filter1,tp,LOCATION_DECK,0,1,1,nil):GetFirst()
if tc then
Duel.SSet(tp,tc)
Duel.ConfirmCards(1-tp,tc)
end
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c500003.filter2,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT+REASON_RELEASE)
end
end
end
function c500003.tg(e,c)
return c:IsSetCard(0xffac) or c:IsSetCard(0xffad)
end
\ No newline at end of file
--千金女佣 千夜
function c500004.initial_effect(c)
--race
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_ADD_RACE)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetValue(RACE_FAIRY)
c:RegisterEffect(e1)
--Trap activate in set turn
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e2:SetRange(LOCATION_MZONE)
e2:SetTarget(c500004.tg)
e2:SetTargetRange(LOCATION_SZONE,0)
c:RegisterEffect(e2)
--To Hand
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_SUMMON)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e4:SetCode(EVENT_RELEASE)
e4:SetRange(LOCATION_GRAVE+LOCATION_REMOVED)
e4:SetCountLimit(1,500004)
e4:SetCost(c500004.cost)
e4:SetTarget(c500004.target)
e4:SetOperation(c500004.operation)
c:RegisterEffect(e4)
end
function c500004.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHandAsCost() end
Duel.SendtoHand(e:GetHandler(),nil,REASON_COST)
end
function c500004.filter1(c)
return c:IsRace(RACE_FAIRY) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsSummonable(true,nil)
end
function c500004.filter2(c)
return c:IsReason(REASON_RELEASE) and c:IsType(TYPE_TRAP) and c:IsSSetable()
end
function c500004.target(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(c500004.filter1,tp,LOCATION_HAND,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c500004.filter2,tp,LOCATION_GRAVE,0,1,nil)
if chk==0 then return b1 or b2 end
local op=0
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(500004,1),aux.Stringid(500004,2))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(500004,1))
else op=Duel.SelectOption(tp,aux.Stringid(500004,2))+1 end
e:SetLabel(op)
if op==0 then
Duel.SetOperationInfo(0,CATEGORY_SUMMON,nil,1,0,0)
end
end
function c500004.operation(e,tp,eg,ep,ev,re,r,rp)
if e:GetLabel()==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON)
local g=Duel.SelectMatchingCard(tp,c500004.filter1,tp,LOCATION_HAND,0,1,1,nil)
if g:GetCount()>0 then
Duel.Summon(tp,g:GetFirst(),true,nil)
end
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c500004.filter2,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SSet(tp,g:GetFirst())
Duel.ConfirmCards(1-tp,g)
end
end
end
function c500004.tg(e,c)
return c:IsSetCard(0xffac) or c:IsSetCard(0xffad)
end
\ No newline at end of file
--Foodie De Lapin
function c500005.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c500005.tg)
e1:SetOperation(c500005.activate)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(500005,1))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetHintTiming(0,TIMING_END_PHASE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,500005)
e2:SetRange(LOCATION_SZONE)
e2:SetCost(c500005.scost)
e2:SetTarget(c500005.stg)
e2:SetOperation(c500005.sop)
c:RegisterEffect(e2)
--set2
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(500005,1))
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetHintTiming(0,TIMING_END_PHASE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1,500105)
e3:SetRange(LOCATION_GRAVE+LOCATION_REMOVED)
e3:SetCost(c500005.scost2)
e3:SetTarget(c500005.stg2)
e3:SetOperation(c500005.sop2)
c:RegisterEffect(e3)
Duel.AddCustomActivityCounter(500005,ACTIVITY_CHAIN,c500005.chainfilter)
end
function c500005.costfilter(c,tp)
return c:IsType(TYPE_TRAP) and c:IsType(TYPE_CONTINUOUS) and c:IsReleasableByEffect() and (c:IsOnField() or Duel.GetLocationCount(tp,LOCATION_SZONE)>0)
end
function c500005.setfilter(c,tp)
return c:IsType(TYPE_TRAP) and c:IsType(TYPE_CONTINUOUS) and(c:IsSSetable() or c:GetActivateEffect():IsActivatable(tp))
end
function c500005.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()==100 then return
Duel.IsExistingMatchingCard(c500005.setfilter,tp,LOCATION_GRAVE,0,1,nil,tp) and Duel.IsExistingMatchingCard(c500005.costfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil,tp)
else
return true
end
end
end
function c500005.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(c500005.setfilter,tp,LOCATION_GRAVE,0,nil,tp)
if g:GetCount()>0 and Duel.IsExistingMatchingCard(c500005.costfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil,tp) and Duel.GetCustomActivityCount(500005,tp,ACTIVITY_CHAIN)==0 and (e:GetLabel()==100 or (Duel.GetFlagEffect(tp,500005)==0 and Duel.SelectYesNo(tp,aux.Stringid(500005,0)))) then
if e:GetLabel()~=100 then
Duel.RegisterFlagEffect(tp,500005,RESET_PHASE+PHASE_END,0,1)
end
local rg=Duel.SelectMatchingCard(tp,c500005.costfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,nil,tp)
Duel.Release(rg,REASON_COST)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,0)
e1:SetValue(c500005.aclimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.GetMatchingGroup(c500005.setfilter,tp,LOCATION_GRAVE,0,nil,tp)
local tc=g:Select(tp,1,1,nil):GetFirst()
if not tc then return end
if tc:IsSSetable() and (not tc:GetActivateEffect():IsActivatable(tp) or not Duel.SelectYesNo(tp,aux.Stringid(500005,2)))
then
Duel.SSet(tp,tc)
Duel.ConfirmCards(1-tp,tc)
else
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local te=tc:GetActivateEffect()
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
end
end
end
function c500005.aclimit(e,re,tp)
return re:GetActivateLocation()==LOCATION_MZONE
end
function c500005.chainfilter(re,tp,cid)
return re:GetActivateLocation()~=LOCATION_MZONE
end
function c500005.setfilter3(c)
return c:IsType(TYPE_TRAP+TYPE_SPELL) and c:IsSSetable() and (c:IsSetCard(0xffac) or c:IsSetCard(0xffad))
end
function c500005.sop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c500005.setfilter3,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local tc=g:Select(tp,1,1,nil):GetFirst()
Duel.SSet(tp,tc)
Duel.ConfirmCards(1-tp,tc)
end
end
function c500005.stg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c500005.setfilter3,tp,LOCATION_DECK,0,1,nil,tp) and Duel.GetFlagEffect(tp,500005)==0 end
end
function c500005.scost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
end
function c500005.cfilter(c,tp,rc)
local g=Group.FromCards(c,rc)
return c:IsType(TYPE_TRAP+TYPE_SPELL) and (c:IsSetCard(0xffac) or c:IsSetCard(0xffad)) and c:IsAbleToDeckAsCost() and c:IsFaceup() and Duel.IsExistingMatchingCard(c500005.setfilter3,tp,LOCATION_GRAVE,0,1,g,tp)
end
function c500005.scost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToDeckAsCost() and Duel.IsExistingMatchingCard(c500005.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,e:GetHandler(),tp,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c500005.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,e:GetHandler(),tp,e:GetHandler())
g:AddCard(e:GetHandler())
Duel.SendtoDeck(g,nil,2,REASON_COST)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SKIP_BP)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
local ph=Duel.GetCurrentPhase()
if Duel.GetTurnPlayer()==tp then
e1:SetLabel(Duel.GetTurnCount())
e1:SetCondition(c500005.skipcon)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,2)
else
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,1)
end
Duel.RegisterEffect(e1,tp)
end
function c500005.skipcon(e)
return Duel.GetTurnCount()~=e:GetLabel()
end
function c500005.stg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c500005.setfilter3,tp,LOCATION_GRAVE,0,1,nil) end
end
function c500005.sop2(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c500005.setfilter3,tp,LOCATION_GRAVE,0,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local tc=g:Select(tp,1,1,nil):GetFirst()
Duel.SSet(tp,tc)
Duel.ConfirmCards(1-tp,tc)
end
end
--Fruitless de Lapin
function c500006.initial_effect(c)
--Activate1
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(500006,4))
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--Activate2
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(500006,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetHintTiming(0,TIMING_END_PHASE)
e0:SetCountLimit(1,500006)
e0:SetCode(EVENT_TO_HAND)
e0:SetCost(c500006.thcost)
e0:SetCondition(c500006.thcon)
e0:SetTarget(c500006.thtg)
e0:SetOperation(c500006.thop)
c:RegisterEffect(e0)
--sssss
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(500006,1))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetHintTiming(0,TIMING_END_PHASE)
e2:SetCode(EVENT_TO_HAND)
e2:SetCountLimit(1,500006)
e2:SetRange(LOCATION_SZONE)
e2:SetCost(c500006.thcost)
e2:SetCondition(c500006.thcon)
e2:SetTarget(c500006.thtg)
e2:SetOperation(c500006.thop)
c:RegisterEffect(e2)
--set
local ex2=Effect.CreateEffect(c)
ex2:SetDescription(aux.Stringid(500005,1))
ex2:SetType(EFFECT_TYPE_QUICK_O)
ex2:SetHintTiming(0,TIMING_END_PHASE)
ex2:SetCode(EVENT_FREE_CHAIN)
ex2:SetCountLimit(1,500006)
ex2:SetRange(LOCATION_SZONE)
ex2:SetCost(c500006.scost)
ex2:SetTarget(c500006.stg)
ex2:SetOperation(c500006.sop)
c:RegisterEffect(ex2)
--sssss
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(500006,1))
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetHintTiming(0,TIMING_END_PHASE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1,500106)
e3:SetRange(LOCATION_GRAVE+LOCATION_REMOVED)
e3:SetCost(c500006.scost2)
e3:SetTarget(c500006.stg2)
e3:SetOperation(c500006.sop2)
c:RegisterEffect(e3)
Duel.AddCustomActivityCounter(500006,ACTIVITY_CHAIN,c500006.chainfilter)
c500006.noway=true
end
function c500006.confilter(c,tp)
return c:IsPreviousLocation(LOCATION_DECK+LOCATION_GRAVE) and c:IsReason(REASON_EFFECT) and c:GetReasonPlayer()==tp
end
function c500006.thcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c500006.confilter,1,nil,1-tp)
end
function c500006.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=eg:Filter(c500006.confilter,nil,1-tp):Filter(Card.IsAbleToDeck,nil)
if chk==0 then return g:GetCount()>0 end
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount()>0,1-tp,0)
end
function c500006.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g:GetCount()>0 then
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
end
function c500006.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(500006,tp,ACTIVITY_CHAIN)==0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,0)
e1:SetValue(c500006.aclimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c500006.aclimit(e,re,tp)
return re:GetActivateLocation()==LOCATION_MZONE
end
function c500006.sop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c500006.setfilter3,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local tc=g:Select(tp,1,1,nil):GetFirst()
Duel.SSet(tp,tc)
Duel.ConfirmCards(1-tp,tc)
end
end
function c500006.stg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c500006.setfilter3,tp,LOCATION_DECK,0,1,nil,tp) end
end
function c500006.scost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
end
function c500006.cfilter(c,tp,rc)
local g=Group.FromCards(c,rc)
return c:IsType(TYPE_TRAP+TYPE_SPELL) and (c:IsSetCard(0xffac) or c:IsSetCard(0xffad)) and c:IsAbleToDeckAsCost() and c:IsFaceup() and Duel.IsExistingMatchingCard(c500006.setfilter3,tp,LOCATION_GRAVE,0,1,g,tp)
end
function c500006.scost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToDeckAsCost() and Duel.IsExistingMatchingCard(c500006.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,e:GetHandler(),tp,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c500006.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,e:GetHandler(),tp,e:GetHandler())
g:AddCard(e:GetHandler())
Duel.SendtoDeck(g,nil,2,REASON_COST)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SKIP_BP)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
local ph=Duel.GetCurrentPhase()
if Duel.GetTurnPlayer()==tp then
e1:SetLabel(Duel.GetTurnCount())
e1:SetCondition(c500005.skipcon)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,2)
else
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,1)
end
Duel.RegisterEffect(e1,tp)
end
function c500006.skipcon(e)
return Duel.GetTurnCount()~=e:GetLabel()
end
function c500006.setfilter3(c)
return c:IsType(TYPE_TRAP+TYPE_SPELL) and c:IsSSetable() and (c:IsSetCard(0xffac) or c:IsSetCard(0xffad))
end
function c500006.stg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c500006.setfilter3,tp,LOCATION_GRAVE,0,1,nil) end
end
function c500006.sop2(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c500006.setfilter3,tp,LOCATION_GRAVE,0,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local tc=g:Select(tp,1,1,nil):GetFirst()
Duel.SSet(tp,tc)
Duel.ConfirmCards(1-tp,tc)
end
end
function c500006.chainfilter(re,tp,cid)
return re:GetActivateLocation()~=LOCATION_MZONE
end
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment