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,41 +35,46 @@ function c1151201.IsLeisp(c) ...@@ -38,41 +35,46 @@ 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()
end Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end local e1_1=Effect.CreateEffect(e:GetHandler())
-- e1_1:SetType(EFFECT_TYPE_SINGLE)
function c1151201.con1(e,tp,eg,ep,ev,re,r,rp) e1_1:SetCode(EFFECT_CHANGE_TYPE)
return tp==Duel.GetTurnPlayer() 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
-- --
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() else
if Duel.GetFieldGroupCount(tp,0,LOCATION_DECK)==1 then if g:GetCount()>1 then
Duel.SortDecktop(tp,1-tp,1) local tg=g:RandomSelect(tp,1,1,nil)
else local tc=tg:GetFirst()
Duel.SortDecktop(tp,1-tp,2) Duel.SendtoHand(tc,nil,REASON_EFFECT)
end g:RemoveCard(tc)
end Duel.SendtoDeck(g,nil,0,REASON_EFFECT)
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
else
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 end
function c1151201.limit2_1(e,re)
return re:GetHandler():GetCode()==e:GetLabel()
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
...@@ -75,7 +74,7 @@ function c1152002.op1_1(e,tp,eg,ep,ev,re,r,rp) ...@@ -75,7 +74,7 @@ function c1152002.op1_1(e,tp,eg,ep,ev,re,r,rp)
if not c:IsHasEffect(EFFECT_NECRO_VALLEY) then if not c:IsHasEffect(EFFECT_NECRO_VALLEY) then
if Duel.SelectYesNo(tp,aux.Stringid(1152002,1)) then if Duel.SelectYesNo(tp,aux.Stringid(1152002,1)) then
Duel.SendtoHand(c,nil,REASON_EFFECT) Duel.SendtoHand(c,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,c) Duel.ConfirmCards(1-tp,c)
end end
end end
end 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,20 +118,21 @@ function c1152209.tg2(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -118,20 +118,21 @@ 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)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT) if Duel.SelectYesNo(tp,aux.Stringid(1152209,0)) then
local rc=e:GetLabelObject() Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
local e2_1=Effect.CreateEffect(rc) local rc=e:GetLabelObject()
e2_1:SetType(EFFECT_TYPE_SINGLE) local e2_1=Effect.CreateEffect(rc)
e2_1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2_1:SetType(EFFECT_TYPE_SINGLE)
e2_1:SetRange(LOCATION_MZONE) e2_1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2_1:SetCode(EFFECT_IMMUNE_EFFECT) e2_1:SetRange(LOCATION_MZONE)
e2_1:SetValue(c1152209.efilter2_1) e2_1:SetCode(EFFECT_IMMUNE_EFFECT)
e2_1:SetReset(RESET_EVENT+0x1fe0000+RESET_CHAIN) e2_1:SetValue(c1152209.efilter2_1)
rc:RegisterEffect(e2_1) e2_1:SetReset(RESET_EVENT+0x1fe0000+RESET_CHAIN)
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,18 +80,20 @@ end ...@@ -80,18 +80,20 @@ 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)
local tc=tg:GetFirst() if tg then
local i=0 local tc=tg:GetFirst()
while tc do local i=0
if tc==e:GetHandler() and e:GetHandler():IsFacedown() then while tc do
i=1 if tc==e:GetHandler() and e:GetHandler():IsFacedown() then
i=1
end
tc=tg:GetNext()
end
if i==1 then
return true
else
return false
end end
tc=tg:GetNext()
end
if i==1 then
return true
else
return false
end end
else else
return false return false
......
...@@ -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 end
function c22250006.filterx(c)
return c:IsCode(22250001) and c:IsAbleToHand()
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,27 +69,16 @@ end ...@@ -68,27 +69,16 @@ 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 local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and Duel.Remove(c,POS_FACEUP,REASON_EFFECT+REASON_TEMPORARY)~=0 then if tc:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
local e1=Effect.CreateEffect(c) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
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()
if tc:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
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)
......
--利维艾拉 乌尔斯拉
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
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
--库拉丽丝-牡丹
local m=57300027
local cm=_G["c"..m]
function cm.initial_effect(c)
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x570),2,2)
c:EnableReviveLimit()
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC_G)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m)
e2:SetCondition(cm.rmcon)
e2:SetOperation(cm.rmop)
c:RegisterEffect(e2)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(57300021)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(function(e,c)
return e:GetHandler():GetLinkedGroup():IsContains(c)
end)
e1:SetValue(1)
c:RegisterEffect(e1)
end
function cm.filter(c,e,tp)
return c:IsSetCard(0x570) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.rmcon(e,c,og)
local tp=e:GetHandlerPlayer()
local c=e:GetHandler()
return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,1,nil,e,tp) and c:IsFaceup() and not c:IsDisabled() and Duel.GetMZoneCount(tp)>0
end
function cm.rmop(e,tp,eg,ep,ev,re,r,rp,c,sg,og)
Duel.Hint(HINT_CARD,0,e:GetHandler():GetOriginalCode())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
sg:Merge(g)
end
\ No newline at end of file
--红血莲
function c580043.initial_effect(c)
--destroy
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_HAND)
e1:SetTarget(c580043.target)
e1:SetOperation(c580043.activate)
c:RegisterEffect(e1)
--destroy
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,580043)
e2:SetTarget(c580043.target1)
e2:SetOperation(c580043.activate1)
c:RegisterEffect(e2)
end
function c580043.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsOnField() and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil) and Duel.GetMZoneCount(tp)>-1 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c580043.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) and c:IsRelateToEffect(e) then
if Duel.Destroy(tc,REASON_EFFECT)==1 then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
end
function c580043.target1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsOnField() and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_SZONE,0,1,nil) and e:GetHandler():IsAbleToHand() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_SZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end
function c580043.activate1(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) and e:GetHandler():IsRelateToEffect(e) then
if Duel.Destroy(tc,REASON_EFFECT)==1 then
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
end
end
#222DIY #222DIY
#血迷 5 #鲶 5 0xfa0-0xfaf
!setname 0xffac Lapin
!setname 0xffad Doe
#芙兰 7 #芙兰 7
#is_named_with_WindWheel 风轮 #is_named_with_WindWheel 风轮
...@@ -15,6 +17,8 @@ ...@@ -15,6 +17,8 @@
#named_with_Ld 灵都 #named_with_Ld 灵都
#named_with_Dw 蝶舞 #named_with_Dw 蝶舞
#named_with_Fulan 芙兰 #named_with_Fulan 芙兰
#named_with_Leimi 蕾米
#named_with_Leisp ???
#Mizuhashi Parsee 12 0xfb0-0xfbf #Mizuhashi Parsee 12 0xfb0-0xfbf
!setname 0xfb0 六曜 !setname 0xfb0 六曜
...@@ -63,6 +67,7 @@ ...@@ -63,6 +67,7 @@
!setname 0x1233 纸上魔法使 !setname 0x1233 纸上魔法使
!setname 0x2233 纸上台本 !setname 0x2233 纸上台本
!setname 0x234 Island !setname 0x234 Island
!setname 0x235 星彩
#樱幕 111 #樱幕 111
......
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