Commit 45278ba3 authored by nanahira's avatar nanahira

Merge branch 'master' of git.mycard.moe:alstroemeria-silentlove/ygopro-222DIY-cards

parents 74e7eaf0 6258c7c7
No preview for this file type
expansions/pics/26803002.jpg

55.2 KB | W: | H:

expansions/pics/26803002.jpg

72.9 KB | W: | H:

expansions/pics/26803002.jpg
expansions/pics/26803002.jpg
expansions/pics/26803002.jpg
expansions/pics/26803002.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/26824000.jpg

57 KB | W: | H:

expansions/pics/26824000.jpg

173 KB | W: | H:

expansions/pics/26824000.jpg
expansions/pics/26824000.jpg
expansions/pics/26824000.jpg
expansions/pics/26824000.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81004001.jpg

62.3 KB | W: | H:

expansions/pics/81004001.jpg

70.2 KB | W: | H:

expansions/pics/81004001.jpg
expansions/pics/81004001.jpg
expansions/pics/81004001.jpg
expansions/pics/81004001.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81012082.jpg

56.4 KB | W: | H:

expansions/pics/81012082.jpg

188 KB | W: | H:

expansions/pics/81012082.jpg
expansions/pics/81012082.jpg
expansions/pics/81012082.jpg
expansions/pics/81012082.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81048004.jpg

66.3 KB | W: | H:

expansions/pics/81048004.jpg

160 KB | W: | H:

expansions/pics/81048004.jpg
expansions/pics/81048004.jpg
expansions/pics/81048004.jpg
expansions/pics/81048004.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -23,7 +23,7 @@ function cm.filter(c,code) ...@@ -23,7 +23,7 @@ function cm.filter(c,code)
return srre.check_set_Duo(c) and c:IsCode(code) and c:IsAbleToHand() return srre.check_set_Duo(c) and c:IsCode(code) and c:IsAbleToHand()
end end
function cm.cffilter(c,tp) function cm.cffilter(c,tp)
return srre.check_set_Duo(c) and not c:IsPublic() and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,c:GetCode()) return srre.check_set_Duo(c) and not c:IsPublic() and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,c:GetOriginalCodeRule())
end end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cffilter,tp,LOCATION_HAND,0,1,nil,tp) end if chk==0 then return Duel.IsExistingMatchingCard(cm.cffilter,tp,LOCATION_HAND,0,1,nil,tp) end
...@@ -34,7 +34,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -34,7 +34,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local tt=Duel.SelectMatchingCard(tp,cm.cffilter,tp,LOCATION_HAND,0,1,1,nil,tp) local tt=Duel.SelectMatchingCard(tp,cm.cffilter,tp,LOCATION_HAND,0,1,1,nil,tp)
Duel.ConfirmCards(1-tp,tt) Duel.ConfirmCards(1-tp,tt)
local code=tt:GetFirst():GetOriginalCode() local code=tt:GetFirst():GetOriginalCodeRule()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local th=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,63,nil,code) local th=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,63,nil,code)
Duel.SendtoHand(th,nil,REASON_EFFECT) Duel.SendtoHand(th,nil,REASON_EFFECT)
......
...@@ -64,7 +64,7 @@ function c12026000.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,7 +64,7 @@ function c12026000.operation(e,tp,eg,ep,ev,re,r,rp)
e14:SetType(EFFECT_TYPE_FIELD) e14:SetType(EFFECT_TYPE_FIELD)
e14:SetCode(EFFECT_CANNOT_SUMMON) e14:SetCode(EFFECT_CANNOT_SUMMON)
e14:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e14:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e14:SetTargetRange(0,1) e14:SetTargetRange(1,0)
e14:SetTarget(c12026000.splimit1) e14:SetTarget(c12026000.splimit1)
Duel.RegisterEffect(e14,tp) Duel.RegisterEffect(e14,tp)
local e15=e14:Clone() local e15=e14:Clone()
...@@ -72,17 +72,17 @@ function c12026000.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,17 +72,17 @@ function c12026000.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e15,tp) Duel.RegisterEffect(e15,tp)
end end
function c12026000.scon1(e,tp) function c12026000.scon1(e,tp)
return not Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_MZONE,0,1,nil,TYPE_MONSTER) local tp=e:GetOwnerPlayer()
return Duel.GetCustomActivityCount(12026000,tp,ACTIVITY_SUMMON)>1
end end
function c12026000.splimit1(e,c) function c12026000.splimit1(e,c)
local tp=e:GetHandler()
return not (c:IsLevelBelow(4) or Duel.IsExistingMatchingCard(Card.IsType,tp,0,LOCATION_MZONE,1,nil,TYPE_MONSTER) ) return not (c:IsLevelBelow(4) or Duel.IsExistingMatchingCard(Card.IsType,tp,0,LOCATION_MZONE,1,nil,TYPE_MONSTER) )
end end
function c12026000.splimit(e,c,sump,sumtype,sumpos,targetp,se) function c12026000.splimit(e,c,sump,sumtype,sumpos,targetp,se)
if c:IsType(TYPE_FUSION) then return not c:IsLocation(LOCATION_EXTRA) or not se:GetHandler():IsType(TYPE_SPELL) end if c:IsType(TYPE_FUSION) then return c:IsLocation(LOCATION_EXTRA) or not se:GetHandler():IsType(TYPE_SPELL) end
if c:IsType(TYPE_SYNCHRO) then return not c:IsLocation(LOCATION_EXTRA) or sumtype&SUMMON_TYPE_SYNCHRO ~=SUMMON_TYPE_SYNCHRO end if c:IsType(TYPE_SYNCHRO) then return c:IsLocation(LOCATION_EXTRA) and sumtype&SUMMON_TYPE_SYNCHRO ~=SUMMON_TYPE_SYNCHRO end
if c:IsType(TYPE_PENDULUM) then return not c:IsLocation(LOCATION_EXTRA) or sumtype&SUMMON_TYPE_PENDULUM ~=SUMMON_TYPE_PENDULUM end if c:IsType(TYPE_PENDULUM) then return c:IsLocation(LOCATION_EXTRA) and sumtype&SUMMON_TYPE_PENDULUM ~=SUMMON_TYPE_PENDULUM end
if c:IsType(TYPE_LINK) then return not c:IsLocation(LOCATION_EXTRA) or sumtype&SUMMON_TYPE_LINK ~=SUMMON_TYPE_LINK end if c:IsType(TYPE_LINK) then return c:IsLocation(LOCATION_EXTRA) and sumtype&SUMMON_TYPE_LINK ~=SUMMON_TYPE_LINK end
if c:IsType(TYPE_XYZ) then return not c:IsLocation(LOCATION_EXTRA) or sumtype&SUMMON_TYPE_XYZ ~=SUMMON_TYPE_XYZ end if c:IsType(TYPE_XYZ) then return c:IsLocation(LOCATION_EXTRA) and sumtype&SUMMON_TYPE_XYZ ~=SUMMON_TYPE_XYZ end
return false return false
end end
local m=12026024
local cm=_G["c"..m]
--化作机械的暗影 拉结尔 --化作机械的暗影 拉结尔
function c12026024.initial_effect(c) function c12026024.initial_effect(c)
--to hand --to hand
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(12026024,0)) e3:SetDescription(aux.Stringid(m,0))
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET) e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
...@@ -86,19 +88,19 @@ function c12026024.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -86,19 +88,19 @@ function c12026024.activate(e,tp,eg,ep,ev,re,r,rp)
if op then op(e,tp,eg,ep,ev,re,r,rp) end if op then op(e,tp,eg,ep,ev,re,r,rp) end
Duel.SendtoGrave(c+eg,REASON_EFFECT) Duel.SendtoGrave(c+eg,REASON_EFFECT)
end end
function c12026024.thfilter(c) function cm.thfilter(c)
return c:IsRace(RACE_MACHINE) return c:IsRace(RACE_MACHINE)
end end
function c12026024.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and cm.thfilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and cm.thfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c12026024.thfilter,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(cm.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,5)) Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,5))
local g=Duel.SelectTarget(tp,c12026024.thfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectTarget(tp,cm.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
end end
function c12026024.thop(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsFaceup() then if c:IsFaceup() then
c:CopyEffect(tc:GetOriginalCode(),RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,1) c:CopyEffect(tc:GetOriginalCode(),RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,1)
end end
end end
\ No newline at end of file
...@@ -37,7 +37,7 @@ function cm.initial_effect(c) ...@@ -37,7 +37,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--cannot be target/battle indestructable --cannot be target/battle indestructable
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetOperation(cm.actop) e1:SetOperation(cm.actop)
......
...@@ -23,14 +23,9 @@ function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -23,14 +23,9 @@ function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
return b2 and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0 return b2 and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0
end end
end end
if c:IsLocation(LOCATION_HAND) then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND) local g=Duel.SelectTarget(tp,cm.thfilter,tp,LOCATION_MZONE,0,1,1,nil)
local g=Duel.SelectTarget(tp,Senya.PrismSpsummonFilter,tp,LOCATION_MZONE,0,1,1,nil,tp) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
elseif c:IsLocation(LOCATION_MZONE) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,cm.thfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
end end
function cm.thop(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)==0 then return end if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)==0 then return end
......
...@@ -48,6 +48,17 @@ function cm.initial_effect(c) ...@@ -48,6 +48,17 @@ function cm.initial_effect(c)
e3:SetTarget(cm.settg) e3:SetTarget(cm.settg)
e3:SetOperation(cm.setop) e3:SetOperation(cm.setop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--Damage
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,2))
e3:SetCategory(CATEGORY_DAMAGE)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetTarget(cm.settg)
e3:SetOperation(cm.setop)
c:RegisterEffect(e3)
end end
function cm.spcost(e,c,tp) function cm.spcost(e,c,tp)
return Duel.GetFlagEffect(tp,m)==0 or not c:IsLocation(LOCATION_DECK) return Duel.GetFlagEffect(tp,m)==0 or not c:IsLocation(LOCATION_DECK)
...@@ -80,7 +91,6 @@ function cm.spcon(e,c) ...@@ -80,7 +91,6 @@ function cm.spcon(e,c)
end end
function cm.settg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,0,nil)
end end
function cm.setop(e,tp,eg,ep,ev,re,r,rp) function cm.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -105,18 +115,4 @@ function cm.setop(e,tp,eg,ep,ev,re,r,rp) ...@@ -105,18 +115,4 @@ function cm.setop(e,tp,eg,ep,ev,re,r,rp)
Duel.HintSelection(dg) Duel.HintSelection(dg)
Duel.CalculateDamage(dg:GetFirst(),c,true) Duel.CalculateDamage(dg:GetFirst(),c,true)
end end
Duel.BreakEffect()
local tg=Duel.GetFieldGroup(tp,LOCATION_DECK,LOCATION_DECK)
local seed=tg:RandomSelect(tp,1)
local code=seed:GetFirst():GetOriginalCode()
local ct=code%cc+1
if ct==1 then
Duel.Damage(tp,atk,REASON_EFFECT)
elseif ct==2 then
Duel.Damage(1-tp,atk,REASON_EFFECT)
else
local dg=g:RandomSelect(1-tp,1)
Duel.HintSelection(dg)
Duel.CalculateDamage(dg:GetFirst(),c,true)
end
end end
\ No newline at end of file
...@@ -2,20 +2,54 @@ ...@@ -2,20 +2,54 @@
local m=33330001 local m=33330001
local cm=_G["c"..m] local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--indes --Indes
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetValue(1) e1:SetValue(1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e5=e1:Clone() local e2=e1:Clone()
e5:SetCode(EFFECT_AVOID_BATTLE_DAMAGE) e2:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
c:RegisterEffect(e5)
--direct atk
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DIRECT_ATTACK)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Direct Attack
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DIRECT_ATTACK)
c:RegisterEffect(e3)
--search
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330001,0))
e4:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_SUMMON_SUCCESS)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCountLimit(1,m)
e4:SetCost(c33330001.thcost)
e4:SetTarget(c33330001.thtg)
e4:SetOperation(c33330001.thop)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e5)
end
function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function cm.filter2(c)
return c:IsSetCard(0x556) and c:IsType(TYPE_FIELD) and c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.filter2,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
\ No newline at end of file
--深界探窟者 雷古 --深界探窟者 雷古
function c33330002.initial_effect(c) local m=33330002
--th2 local cm=_G["c"..m]
cm.search={33330026,33330015} --检 索 的 卡
function cm.initial_effect(c)
--To Hand 1
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330002,1)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,33330102) e1:SetCountLimit(1,m)
e1:SetCost(c33330002.cost) e1:SetCost(cm.thcost1)
e1:SetTarget(c33330002.target) e1:SetTarget(cm.thtg1)
e1:SetOperation(c33330002.activate) e1:SetOperation(cm.thop1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--tohand --To Hand 2
local e4=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330002,0)) e2:SetDescription(aux.Stringid(m,1))
e4:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e4:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,33330002) e2:SetCountLimit(1,m+100)
e4:SetCost(c33330002.thcost) e2:SetCost(cm.thcost2)
e4:SetTarget(c33330002.thtg) e2:SetTarget(cm.thtg2)
e4:SetOperation(c33330002.thop) e2:SetOperation(cm.thop2)
c:RegisterEffect(e4) c:RegisterEffect(e2)
end end
function c33330002.cost(e,tp,eg,ep,ev,re,r,rp,chk) cm.card_code_list=cm.search
--To Hand 1
function cm.thfilter1(c)
return c:IsType(TYPE_EQUIP) and c:IsSetCard(0x556) and c:IsAbleToHand()
end
function cm.thcost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST)
end
function cm.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter1,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter1,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
end
--To Hand 2
function cm.thfilter2(c,code)
return c:IsCode(code) and c:IsAbleToHand()
end
function cm.thcost2(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetFieldGroup(tp,LOCATION_HAND,0) local g=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
local ct=g:GetCount() local ct=g:GetCount()
if chk==0 then return e:GetHandler():IsReleasable() and ct>0 and g:FilterCount(Card.IsAbleToRemove,nil)==ct end if chk==0 then return e:GetHandler():IsReleasable() and ct>0 and g:FilterCount(Card.IsAbleToRemove,nil)==ct end
Duel.Release(e:GetHandler(),REASON_COST) Duel.Release(e:GetHandler(),REASON_COST)
Duel.Remove(g,POS_FACEUP,REASON_COST) Duel.Remove(g,POS_FACEUP,REASON_COST)
end end
function c33330002.filter1(c) function cm.thtg2(e,tp,eg,ep,ev,re,r,rp,chk)
return c:IsCode(33330026) and c:IsAbleToHand() if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,cm.search[1])
and Duel.IsExistingMatchingCard(cm.thfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,cm.search[2]) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c33330002.filter2(c) function cm.thop2(e,tp,eg,ep,ev,re,r,rp)
return c:IsCode(33330015) and c:IsAbleToHand() local g1=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.thfilter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,nil,cm.search[1])
end local g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.thfilter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,nil,cm.search[2])
function c33330002.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330002.filter1,tp,LOCATION_DECK,0,1,nil)
and Duel.IsExistingMatchingCard(c33330002.filter2,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,tp,LOCATION_DECK)
end
function c33330002.activate(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(c33330002.filter1,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(c33330002.filter2,tp,LOCATION_DECK,0,nil)
if g1:GetCount()>0 and g2:GetCount()>0 then if g1:GetCount()>0 and g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg1=g1:Select(tp,1,1,nil) local sg1=g1:Select(tp,1,1,nil)
...@@ -54,23 +75,3 @@ function c33330002.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -54,23 +75,3 @@ function c33330002.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,sg1) Duel.ConfirmCards(1-tp,sg1)
end end
end end
function c33330002.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsAbleToGraveAsCost,1,1,REASON_COST)
end
function c33330002.thfilter(c)
return c:IsType(TYPE_EQUIP) and c:IsSetCard(0x556) and c:IsAbleToHand()
end
function c33330002.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330002.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c33330002.thop(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,c33330002.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
--深界探窟者 娜娜奇 --深界探窟者 娜娜奇
function c33330003.initial_effect(c) local m=33330003
--search local cm=_G["c"..m]
function cm.initial_effect(c)
--Special Summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330003,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_TO_GRAVE) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCountLimit(1,33330003) e1:SetCountLimit(1,m)
e1:SetTarget(c33330003.thtg1) e1:SetTarget(cm.sptg)
e1:SetOperation(c33330003.tgop1) e1:SetOperation(cm.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--special summon local e2=e1:Clone()
local e2=Effect.CreateEffect(c) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetDescription(aux.Stringid(33330003,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,33330103)
e2:SetTarget(c33330003.sptg1)
e2:SetOperation(c33330003.spop1)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone() --Search
e3:SetCode(EVENT_SPSUMMON_SUCCESS) local e3=Effect.CreateEffect(c)
c:RegisterEffect(e3) e3:SetDescription(aux.Stringid(m,1))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCountLimit(1,m+100)
e3:SetTarget(cm.thtg)
e3:SetOperation(cm.thop)
c:RegisterEffect(e3)
end end
function c33330003.spfilter1(c,e,tp) --Special Summon
return c:IsSetCard(0x557) and c:GetLevel()<=4 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) function cm.spfilter(c,e,tp)
return c:IsSetCard(0x557) and c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c33330003.sptg1(e,tp,eg,ep,ev,re,r,rp,chk) function cm.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.GetMZoneCount(tp)>0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
and Duel.IsExistingMatchingCard(c33330003.spfilter1,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end end
function c33330003.spop1(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetMZoneCount(tp)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330003.spfilter1),tp,LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function c33330003.thfilter1(c) --Search
function cm.thfilter(c)
return c:IsSetCard(0x557) and c:IsAbleToHand() return c:IsSetCard(0x557) and c:IsAbleToHand()
end end
function c33330003.thtg1(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c50720316.thfilter1,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c33330003.tgop1(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c33330003.thfilter1,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
\ No newline at end of file
--深界探窟者 马璐璐库 --深界探窟者 马璐璐库
function c33330004.initial_effect(c) local m=33330004
--spsummon local cm=_G["c"..m]
function cm.initial_effect(c)
--Special Summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330004,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,33330004) e1:SetCountLimit(1,m)
e1:SetCost(c33330004.cost) e1:SetCost(cm.spcost)
e1:SetTarget(c33330004.target) e1:SetTarget(cm.sptg)
e1:SetOperation(c33330004.operation) e1:SetOperation(cm.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--tog --Return Grave
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330004,1)) e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_TOGRAVE) e2:SetCategory(CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_TO_GRAVE) e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetTarget(c33330004.tgtg1) e2:SetTarget(cm.tgtg)
e2:SetOperation(c33330004.tgop1) e2:SetOperation(cm.tgop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c33330004.tgtg1(e,tp,eg,ep,ev,re,r,rp,chk) --Special Summon
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) end function cm.costfilter(c,tp)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,0,LOCATION_REMOVED) return c:IsFaceup() and c:IsSetCard(0x556) and Duel.GetMZoneCount(tp,c)>0
end end
function c33330004.tgop1(e,tp,eg,ep,ev,re,r,rp) function cm.spfilter(c,e,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) return c:IsSetCard(0x5556) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT+REASON_RETURN)
end
end end
function c33330004.costfilter(c,ft,tp) function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
return c:IsFaceup() and c:IsSetCard(0x556) if chk==0 then return Duel.CheckReleaseGroup(tp,cm.costfilter,1,nil,ft,tp) end
and (ft>0 or (c:IsControler(tp) and c:GetSequence()<5)) local g=Duel.SelectReleaseGroup(tp,cm.costfilter,1,1,nil,ft,tp)
end
function c33330004.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(tp,c33330004.costfilter,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(tp,c33330004.costfilter,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
end end
function c33330004.filter(c,e,tp) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
return c:IsSetCard(0x5556) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) if chk==0 then return Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
end
function c33330004.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330004.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK)
end end
function c33330004.operation(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetMZoneCount(tp)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c33330004.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
--Return Grave
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,0,LOCATION_REMOVED)
end
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT+REASON_RETURN)
end
end
--深界生骸 米蒂 --深界生骸 米蒂
function c33330005.initial_effect(c) local m=33330005
--search local cm=_G["c"..m]
function cm.initial_effect(c)
--Special Summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330005,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_TO_GRAVE) e1:SetCode(EVENT_TO_GRAVE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCountLimit(1,33330003+EFFECT_COUNT_CODE_DUEL) e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_DUEL)
e1:SetCost(c33330005.spcost) e1:SetCondition(cm.spcon)
e1:SetTarget(c33330005.target) e1:SetCost(cm.spcost)
e1:SetOperation(c33330005.operation) e1:SetTarget(cm.sptg)
c:RegisterEffect(e1) e1:SetOperation(cm.spop)
Duel.AddCustomActivityCounter(33330005,ACTIVITY_SPSUMMON,c33330005.counterfilter) c:RegisterEffect(e1)
--Cost
Duel.AddCustomActivityCounter(m,ACTIVITY_SPSUMMON,cm.counterfilter)
end end
function c33330005.counterfilter(c) --Cost
function cm.counterfilter(c)
return c:IsSetCard(0x556) return c:IsSetCard(0x556)
end end
function c33330005.splimit(e,c,sump,sumtype,sumpos,targetp,se) function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not c:IsSetCard(0x556) return not c:IsSetCard(0x556)
end end
function c33330005.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(33330005,tp,ACTIVITY_SPSUMMON)==0 end if chk==0 then return Duel.GetCustomActivityCount(m,tp,ACTIVITY_SPSUMMON)==0 end
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetLabelObject(e) e1:SetTarget(cm.splimit)
e1:SetTarget(c33330005.splimit) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c33330005.filter(c,e,tp) --Special Summon
return c:IsCode(33330005) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) function cm.spfilter(c,e,tp)
return c:IsCode(m) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end end
function c33330005.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.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.GetMZoneCount(tp)>0
and Duel.IsExistingMatchingCard(c33330005.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c33330005.operation(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetMZoneCount(tp)
if ft<=0 then return end if ft<1 then return end
if ft>2 then ft=2 end if ft>2 then ft=2 end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330005.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,ft,nil,e,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,ft,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
......
--深界生物 血口之绳 --深界生物 血口之绳
function c33330006.initial_effect(c) local m=33330006
--special summon local cm=_G["c"..m]
cm.counter=0x1556 --指 示 物
cm.atk=500 --攻 击 力
function cm.initial_effect(c)
--Hand Special Summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCondition(c33330006.spcon) e1:SetCondition(cm.hspcon)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--special summon --Counter
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330006,0)) e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_COUNTER) e2:SetCategory(CATEGORY_COUNTER)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e2:SetTarget(c33330006.ctg1) e2:SetTarget(cm.cttg)
e2:SetOperation(c33330006.cop1) e2:SetOperation(cm.ctop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
-- --Xyz Material
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BE_MATERIAL) e3:SetCode(EVENT_BE_MATERIAL)
e3:SetCondition(c33330006.atkcon) e3:SetCondition(cm.atkcon)
e3:SetOperation(c33330006.atkop) e3:SetOperation(cm.atkop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c33330006.atkcon(e,tp,eg,ep,ev,re,r,rp) --Hand Special Summon
return r==REASON_XYZ function cm.hspfilter(c)
return c:IsFaceup() and c:IsSetCard(0x556)
end end
function c33330006.atkop(e,tp,eg,ep,ev,re,r,rp) function cm.hspcon(e,c)
local c=e:GetHandler() if c==nil then return true end
local rc=c:GetReasonCard() local tp=c:GetControler()
local e1=Effect.CreateEffect(c) return Duel.GetMZoneCount(tp)>0 and Duel.IsExistingMatchingCard(cm.hspfilter,tp,LOCATION_FZONE,0,1,nil)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(500)
e1:SetReset(RESET_EVENT+0x1fe0000)
rc:RegisterEffect(e1)
end end
function c33330006.ctg1(e,tp,eg,ep,ev,re,r,rp,chk) --Counter
if chk==0 then return true end function cm.cttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldCard(tp,LOCATION_SZONE,5)~=nil end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0)
end end
function c33330006.cop1(e,tp,eg,ep,ev,re,r,rp) function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if tc and tc:IsFaceup() and tc:IsCanAddCounter(0x1009,1) then if tc and tc:IsFaceup() and tc:IsCanAddCounter(cm.counter,1) then
tc:AddCounter(0x1019,1) tc:AddCounter(cm.counter,1)
end end
end end
function c33330006.filter(c) --Xyz Material
return c:IsFaceup() and c:IsSetCard(0x556) function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_XYZ
end end
function c33330006.spcon(e,c) function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
if c==nil then return true end local c=e:GetHandler()
return Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0 and local rc=c:GetReasonCard()
Duel.IsExistingMatchingCard(c33330006.filter,c:GetControler(),LOCATION_FZONE,0,1,nil) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(cm.atk)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1)
end end
\ No newline at end of file
--通往深界的升降机 --通往深界的升降机
function c33330007.initial_effect(c) local m=33330007
--special summon local cm=_G["c"..m]
local e2=Effect.CreateEffect(c) function cm.initial_effect(c)
e2:SetDescription(aux.Stringid(33330007,0)) --Destroy & Draw
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_DRAW) local e1=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetDescription(aux.Stringid(m,0))
e2:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_DRAW)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetTarget(c33330007.destg1) e1:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetOperation(c33330007.desop1) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
c:RegisterEffect(e2) e1:SetTarget(cm.destg)
local e3=e2:Clone() e1:SetOperation(cm.desop)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) c:RegisterEffect(e1)
c:RegisterEffect(e3) local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
end end
function c33330007.destg1(e,tp,eg,ep,ev,re,r,rp,chk) --Destroy & Draw
local g=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_ONFIELD,0,nil,TYPE_SPELL+TYPE_TRAP) function cm.desfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsDestructable()
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(cm.desfilter,tp,LOCATION_ONFIELD,0,nil)
if chk==0 then return g:GetCount()>0 and Duel.IsPlayerCanDraw(tp,g:GetCount()) end if chk==0 then return g:GetCount()>0 and Duel.IsPlayerCanDraw(tp,g:GetCount()) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,g:GetCount()) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,g:GetCount())
end end
function c33330007.desop1(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_ONFIELD,0,nil,TYPE_SPELL+TYPE_TRAP) local g=Duel.GetMatchingGroup(cm.desfilter,tp,LOCATION_ONFIELD,0,nil)
local ct=Duel.Destroy(g,REASON_EFFECT) local ct=Duel.Destroy(g,REASON_EFFECT)
if ct>0 then if ct>0 then
Duel.Draw(tp,ct,REASON_EFFECT) Duel.Draw(tp,ct,REASON_EFFECT)
......
--深界生物 泣尸鸟 --深界生物 泣尸鸟
function c33330008.initial_effect(c) local m=33330008
--d a local cm=_G["c"..m]
local e4=Effect.CreateEffect(c) cm.counter=0x1556 --指 示 物
e4:SetDescription(aux.Stringid(33330008,0)) cm.atk=-1000 --攻 击 力
e4:SetCategory(CATEGORY_DESTROY) function cm.initial_effect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) --Atk Down
e4:SetCode(EVENT_DAMAGE_STEP_END) local e1=Effect.CreateEffect(c)
e4:SetCost(c33330008.cost) e1:SetType(EFFECT_TYPE_FIELD)
e4:SetCondition(c33330008.condition) e1:SetCode(EFFECT_UPDATE_ATTACK)
e4:SetOperation(c33330008.operation) e1:SetRange(LOCATION_MZONE)
c:RegisterEffect(e4) e1:SetTargetRange(0,LOCATION_MZONE)
--rec e1:SetTarget(cm.atktg)
local e3=Effect.CreateEffect(c) e1:SetValue(cm.atkval)
e3:SetDescription(aux.Stringid(33330008,1)) c:RegisterEffect(e1)
e3:SetCategory(CATEGORY_RECOVER) --Atk Up
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) local e2=Effect.CreateEffect(c)
e3:SetCode(EVENT_BATTLE_DESTROYING) e2:SetDescription(aux.Stringid(m,0))
e3:SetCondition(aux.bdocon) e2:SetCategory(CATEGORY_ATKCHANGE)
e3:SetTarget(c33330008.attg) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetOperation(c33330008.atop) e2:SetCode(EVENT_BATTLE_DESTROYING)
c:RegisterEffect(e3) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCondition(aux.bdocon)
e2:SetOperation(cm.atop)
c:RegisterEffect(e2)
end end
function c33330008.attg(e,tp,eg,ep,ev,re,r,rp,chk) --Atk Down
if chk==0 then return Duel.GetCounter(tp,LOCATION_ONFIELD,0,0x1019)>0 end function cm.atktg(e,tc)
Duel.SetTargetPlayer(tp) local c=e:GetHandler()
local ct=Duel.GetCounter(tp,LOCATION_ONFIELD,0,0x1019) local ph=Duel.GetCurrentPhase()
Duel.SetTargetParam(ct*100) return (ph==PHASE_DAMAGE or ph==PHASE_DAMAGE_CAL) and c:IsRelateToBattle() and tc:IsFaceup() and c:GetBattleTarget()==tc
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,ct*100)
end
function c33330008.atop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT)
end end
function c33330008.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.atkval(e,c)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) return Duel.GetCounter(e:GetHandlerPlayer(),LOCATION_ONFIELD,0,cm.counter)*cm.atk
if chk==0 then return tc and tc:IsCode(33330019) and tc:IsFaceup() and tc:IsCanAddCounter(0x1009,1) end
tc:AddCounter(0x1019,1)
end end
function c33330008.condition(e,tp,eg,ep,ev,re,r,rp) --Atk Up
function cm.atop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsChainAttackable() and not c:IsStatus(STATUS_BATTLE_DESTROYED) local tc=c:GetBattleTarget()
end if c:IsFaceup() and c:IsRelateToEffect(e) then
function c33330008.operation(e,tp,eg,ep,ev,re,r,rp) local e1=Effect.CreateEffect(c)
Duel.ChainAttack() e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(tc:GetBaseAttack())
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
if Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_EXTRA_ATTACK)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetValue(1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e2)
end
end
end end
\ No newline at end of file
--深界生物 龙鬃螺鸠 --深界生物 龙鬃螺鸠
function c33330009.initial_effect(c) local m=33330009
--xyz summon local cm=_G["c"..m]
aux.AddXyzProcedure(c,nil,6,2) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--negate activate --Xyz Summon
aux.AddXyzProcedure(c,nil,6,2)
--Negate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330009,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_NEGATE) e1:SetCategory(CATEGORY_NEGATE)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetCondition(c33330009.condition) e1:SetCondition(cm.ngcon)
e1:SetCost(c33330009.cost) e1:SetCost(cm.ngcost)
e1:SetTarget(c33330009.target) e1:SetTarget(cm.ngtg)
e1:SetOperation(c33330009.operation) e1:SetOperation(cm.ngop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--destroy replace --Destroy Replace
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EFFECT_DESTROY_REPLACE) e2:SetCode(EFFECT_DESTROY_REPLACE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetTarget(c33330009.reptg) e2:SetTarget(cm.reptg)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c33330009.reptg(e,tp,eg,ep,ev,re,r,rp,chk) --Negate
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_EFFECT) end function cm.ngcon(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.SelectEffectYesNo(tp,e:GetHandler(),96) then return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and rp~=tp and re:IsActiveType(TYPE_MONSTER)
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_EFFECT) and Duel.IsChainDisablable(ev) and re:GetHandler():IsAbleToChangeControler()
return true and not re:GetHandler():IsType(TYPE_TOKEN)
else return false end
end end
function c33330009.condition(e,tp,eg,ep,ev,re,r,rp,chk) function cm.ngcost(e,tp,eg,ep,ev,re,r,rp,chk)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and rp~=tp and re:IsActiveType(TYPE_MONSTER) and Duel.IsChainDisablable(ev) and re:GetHandler():IsAbleToChangeControler() and not re:GetHandler():IsType(TYPE_TOKEN)
end
function c33330009.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local og=e:GetHandler():GetOverlayGroup() local og=e:GetHandler():GetOverlayGroup()
if chk==0 then return og:GetCount()>0 and og:IsExists(Card.IsSetCard,1,nil,0x556) end if chk==0 then return og:GetCount()>0 and og:IsExists(Card.IsSetCard,1,nil,0x556) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
local g=og:FilterSelect(tp,Card.IsSetCard,1,1,nil,0x556) local g=og:FilterSelect(tp,Card.IsSetCard,1,1,nil,0x556)
Duel.SendtoGrave(g,REASON_COST) Duel.SendtoGrave(g,REASON_COST)
end end
function c33330009.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.ngtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsType(TYPE_XYZ) end if chk==0 then return e:GetHandler():IsType(TYPE_XYZ) end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0) 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 end
function c33330009.operation(e,tp,eg,ep,ev,re,r,rp) function cm.ngop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler() local rc=re:GetHandler()
local c=e:GetHandler() local c=e:GetHandler()
if Duel.NegateActivation(ev) and rc:IsRelateToEffect(re) and not rc:IsType(TYPE_TOKEN) and c:IsType(TYPE_XYZ) and c:IsRelateToEffect(e) and c:IsFaceup() then if Duel.NegateActivation(ev) and rc:IsRelateToEffect(re) and not rc:IsType(TYPE_TOKEN) and c:IsType(TYPE_XYZ) and c:IsRelateToEffect(e) and c:IsFaceup() then
...@@ -60,4 +55,13 @@ function c33330009.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -60,4 +55,13 @@ function c33330009.operation(e,tp,eg,ep,ev,re,r,rp)
end end
Duel.Overlay(c,Group.FromCards(rc)) Duel.Overlay(c,Group.FromCards(rc))
end end
end
--Destroy Replace
function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not c:IsReason(REASON_REPLACE) and c:IsReason(REASON_EFFECT)
and e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_EFFECT) end
if Duel.SelectEffectYesNo(tp,e:GetHandler(),96) then
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_EFFECT)
return true
else return false end
end end
\ No newline at end of file
--深界生物 宿鼠 --深界生物 宿鼠
function c33330010.initial_effect(c) local m=33330010
--link summon local cm=_G["c"..m]
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2,2) cm.counter=0x1556 --指 示 物
cm.rec1=1000 --特 召 回 血 量
cm.rec2=500 --指 示 物 回 血
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--seq --Link Summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2,2)
--Destroy & Recover
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330010,1)) e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_RECOVER)
e1:SetRange(LOCATION_MZONE) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCountLimit(1) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c33330010.target) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetOperation(c33330010.activate) e1:SetCountLimit(1,m)
e1:SetTarget(cm.destg)
e1:SetOperation(cm.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--d r --Move
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330010,0)) e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_RECOVER) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCountLimit(1)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetTarget(cm.mvtg)
e2:SetCountLimit(1,33330010) e2:SetOperation(cm.mvop)
e2:SetTarget(c33330010.destg)
e2:SetOperation(c33330010.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--rec X --Indes
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33330010,2)) e3:SetDescription(aux.Stringid(m,2))
e3:SetCategory(CATEGORY_DESTROY+CATEGORY_RECOVER) e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCode(EVENT_ADD_COUNTER+0x1019)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_PLAYER_TARGET) e3:SetCountLimit(1)
e3:SetTarget(c33330010.rtg) e3:SetCost(cm.indcost)
e3:SetOperation(c33330010.rop) e3:SetOperation(cm.indop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c33330010.rtg(e,tp,eg,ep,ev,re,r,rp,chk) --Destroy & Recover
if chk==0 then return true end function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetTargetPlayer(tp) local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
Duel.SetTargetParam(100) if chk==0 then return tc~=nil end
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,100) Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,tp,LOCATION_FZONE)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,cm.rec1)
end end
function c33330010.rop(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
Duel.Recover(p,d,REASON_EFFECT) if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 then
Duel.Recover(tp,cm.rec1,REASON_EFFECT)
end
end end
function c33330010.target(e,tp,eg,ep,ev,re,r,rp,chk) --Move
function cm.mvtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end
end end
function c33330010.activate(e,tp,eg,ep,ev,re,r,rp) function cm.mvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
...@@ -56,16 +64,32 @@ function c33330010.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,16 +64,32 @@ function c33330010.activate(e,tp,eg,ep,ev,re,r,rp)
local nseq=math.log(s,2) local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq) Duel.MoveSequence(c,nseq)
end end
function c33330010.destg(e,tp,eg,ep,ev,re,r,rp,chk) --Indes
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) function cm.indfilter(c,tp)
if chk==0 then return tc end return c:IsFaceup() and c:IsCanRemoveCounter(tp,cm.counter,1,REASON_COST)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,tp,LOCATION_FZONE)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,500)
end end
function c33330010.desop(e,tp,eg,ep,ev,re,r,rp) function cm.indcost(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) if chk==0 then return Duel.IsExistingMatchingCard(cm.indfilter,tp,LOCATION_ONFIELD,0,1,nil,tp) end
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.Recover(tp,500,REASON_EFFECT) local g=Duel.SelectMatchingCard(tp,cm.indfilter,tp,LOCATION_ONFIELD,0,1,1,nil,tp)
local tc=g:GetFirst()
tc:RemoveCounter(tp,cm.counter,1,REASON_COST)
Duel.SetTargetCard(tc)
end
function cm.indop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(m,3))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CLIENT_HINT)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.efilter)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
end end
end end
function cm.efilter(e,te)
return te:GetHandlerPlayer()~=e:GetHandlerPlayer()
end
\ No newline at end of file
--深界生物 毯毯鼠 --深界生物 毯毯鼠
function c33330011.initial_effect(c) local m=33330011
--link summon local cm=_G["c"..m]
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),1,1) cm.counter=0x1556 --指 示 物
c:EnableReviveLimit() cm.count=1 --放 置 数 量
--d r function cm.initial_effect(c)
local e2=Effect.CreateEffect(c) c:EnableReviveLimit()
e2:SetDescription(aux.Stringid(33330011,0)) c:EnableCounterPermit(cm.counter)
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_RECOVER) --Link Summon
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) aux.AddLinkProcedure(c,cm.mfilter,1,1)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) --Destroy & Counter
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetTarget(c33330011.destg)
e2:SetOperation(c33330011.desop)
c:RegisterEffect(e2)
--disable attack
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330011,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_COUNTER)
e1:SetRange(LOCATION_MZONE) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_ATTACK_ANNOUNCE) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,33330011) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCost(c33330011.atkcost) e1:SetTarget(cm.destg)
e1:SetCondition(c33330011.atkcon) e1:SetOperation(cm.desop)
e1:SetOperation(c33330011.atkop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Negate Attack
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m)
e2:SetCost(cm.atkcost)
e2:SetCondition(cm.atkcon)
e2:SetOperation(cm.atkop)
c:RegisterEffect(e2)
end end
function c33330011.atkcost(e,tp,eg,ep,ev,re,r,rp,chk) --Link Summon
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x1019,1,REASON_COST) end function cm.mfilter(c)
e:GetHandler():RemoveCounter(tp,0x1019,1,REASON_COST) return not c:IsCode(m) and c:IsLinkSetCard(0x556)
end
function c33330011.atkop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateAttack()
end
function c33330011.atkcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp
end end
function c33330011.destg(e,tp,eg,ep,ev,re,r,rp,chk) --Destroy & Counter
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if chk==0 then return tc and e:GetHandler():IsCanAddCounter(0x1019,1) end if chk==0 then return tc and e:GetHandler():IsCanAddCounter(cm.counter,1) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,tp,LOCATION_FZONE) Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_COUNTER,e:GetHandler(),1,0,0)
end end
function c33330011.desop(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 and e:GetHandler():IsRelateToEffect(e) and e:GetHandler():IsFaceup() then if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 and e:GetHandler():IsRelateToEffect(e) and e:GetHandler():IsFaceup() then
e:GetHandler():AddCounter(0x1019,1) e:GetHandler():AddCounter(cm.counter,1)
end end
end end
--Negate Attack
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
return eg:GetFirst():IsControler(1-tp)
end
function cm.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,cm.counter,1,REASON_COST) end
e:GetHandler():RemoveCounter(tp,cm.counter,1,REASON_COST)
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateAttack()
end
\ No newline at end of file
--生骸公主 ファプタ --生骸公主 ファプタ
function c33330012.initial_effect(c) local m=33330012
local cm=_G["c"..m]
function cm.initial_effect(c)
c:EnableReviveLimit()
--link summon --link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2,2) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2,2)
c:EnableReviveLimit() --Destroy & Draw
--seq
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330012,1)) e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_DRAW)
e1:SetRange(LOCATION_MZONE) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCountLimit(1) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c33330012.target) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetOperation(c33330012.activate) e1:SetCountLimit(1,m)
e1:SetTarget(cm.destg)
e1:SetOperation(cm.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--d r --Move
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330012,0)) e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_DRAW) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCountLimit(1)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetTarget(cm.mvtg)
e2:SetCountLimit(1,33330012) e2:SetOperation(cm.mvop)
e2:SetTarget(c33330012.destg) c:RegisterEffect(e2)
e2:SetOperation(c33330012.desop)
c:RegisterEffect(e2)
--Special Summon --Special Summon
local e4=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330012,2)) e3:SetDescription(aux.Stringid(m,2))
e4:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e4:SetCode(EVENT_LEAVE_FIELD) e3:SetCode(EVENT_LEAVE_FIELD)
e4:SetCondition(c33330012.sumcon) e3:SetTarget(cm.sptg)
e4:SetTarget(c33330012.sumtg) e3:SetOperation(cm.spop)
e4:SetOperation(c33330012.sumop) c:RegisterEffect(e3)
c:RegisterEffect(e4)
end
function c33330012.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousPosition(POS_FACEUP)
end
function c33330012.filter(c,e,tp)
return c:IsSetCard(0x556) and c:IsRankBelow(4) and c:IsType(TYPE_XYZ) and c:IsCanBeSpecialSummoned(e,0,tp,false,true)
end end
function c33330012.sumtg(e,tp,eg,ep,ev,re,r,rp,chk) --Destroy & Draw
if chk==0 then return Duel.GetLocationCountFromEx(tp)>0 function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
and Duel.IsExistingMatchingCard(c33330012.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
Duel.SetTargetCard(e:GetHandler()) if chk==0 then return tc and Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end end
function c33330012.sumop(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if Duel.GetLocationCountFromEx(tp)<=0 then return end if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Draw(tp,1,REASON_EFFECT)
local g=Duel.SelectMatchingCard(tp,c33330012.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 and c:IsRelateToEffect(e) then
Duel.Overlay(tc,Group.FromCards(c))
end end
end end
function c33330012.target(e,tp,eg,ep,ev,re,r,rp,chk) --Move
function cm.mvtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end
end end
function c33330012.activate(e,tp,eg,ep,ev,re,r,rp) function cm.mvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
...@@ -68,16 +61,20 @@ function c33330012.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,16 +61,20 @@ function c33330012.activate(e,tp,eg,ep,ev,re,r,rp)
local nseq=math.log(s,2) local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq) Duel.MoveSequence(c,nseq)
end end
function c33330012.destg(e,tp,eg,ep,ev,re,r,rp,chk) --Special Summon
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) function cm.spfilter(c,e,tp)
if chk==0 then return tc and Duel.IsPlayerCanDraw(tp,1) end return c:IsSetCard(0x556) and c:IsRankBelow(4) and c:IsType(TYPE_XYZ) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,tp,LOCATION_FZONE)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end end
function c33330012.desop(e,tp,eg,ep,ev,re,r,rp) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) if chk==0 then return Duel.GetLocationCountFromEx(tp)>0
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 then and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.Draw(tp,1,REASON_EFFECT) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
end end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCountFromEx(tp)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 and e:GetHandler():IsRelateToEffect(e) then
Duel.Overlay(g:GetFirst(),e:GetHandler())
end
end
\ No newline at end of file
--破晓之花 プルシュカ --破晓之花 プルシュカ
function c33330013.initial_effect(c) local m=33330013
--link summon local cm=_G["c"..m]
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2,2) cm.atk=500 --攻 击 上 升
cm.search={33330034} --检 索 的 卡
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--seq --Link Summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2,2)
--Destroy & Search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330013,1)) e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetRange(LOCATION_MZONE) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCountLimit(1) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c33330013.target) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetOperation(c33330013.activate) e1:SetCountLimit(1,m)
c:RegisterEffect(e1) e1:SetTarget(cm.destg)
--d r e1:SetOperation(cm.desop)
c:RegisterEffect(e1)
--Move
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330013,0)) e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_SEARCH+CATEGORY_TOHAND) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCountLimit(1)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetTarget(cm.mvtg)
e2:SetCountLimit(1,33330013) e2:SetOperation(cm.mvop)
e2:SetTarget(c33330013.destg) c:RegisterEffect(e2)
e2:SetOperation(c33330013.desop) --Atk Up
c:RegisterEffect(e2)
--atk/def
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_UPDATE_ATTACK) e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_MZONE,0) e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(c33330013.atktg) e3:SetTarget(cm.atktg)
e3:SetValue(500) e3:SetValue(cm.atk)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c33330013.atktg(e,c) cm.card_code_list=cm.search
return c:GetMutualLinkedGroupCount()>0 and c:IsSetCard(0x556) --Destroy & Search
function cm.thfilter(c)
return c:IsAbleToHand() and c:IsCode(cm.search[1])
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if chk==0 then return tc and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,tc,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0
and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end end
function c33330013.target(e,tp,eg,ep,ev,re,r,rp,chk) --Move
function cm.mvtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end
end end
function c33330013.activate(e,tp,eg,ep,ev,re,r,rp) function cm.mvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
...@@ -47,24 +70,7 @@ function c33330013.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,24 +70,7 @@ function c33330013.activate(e,tp,eg,ep,ev,re,r,rp)
local nseq=math.log(s,2) local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq) Duel.MoveSequence(c,nseq)
end end
function c33330013.destg(e,tp,eg,ep,ev,re,r,rp,chk) --Atk Up
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) function cm.atktg(e,c)
if chk==0 then return tc and Duel.IsExistingMatchingCard(c33330013.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end return c:GetMutualLinkedGroupCount()>0 and c:IsSetCard(0x556)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,tp,LOCATION_FZONE) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,tc,1,tp,LOCATION_DECK+LOCATION_GRAVE) \ No newline at end of file
end
function c33330013.thfilter(c)
return c:IsAbleToHand() and c:IsCode(33330034)
end
function c33330013.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(c33330013.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330013.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
Duel.SendtoHand(tg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tg)
end
end
--深界的至宝 雷古 --深界的至宝 雷古
function c33330014.initial_effect(c) local m=33330014
--link summon local cm=_G["c"..m]
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),1) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--seq --Link Summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2)
--Destroy & Search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330014,1)) e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetCategory(CATEGORY_DESTROY)
e1:SetRange(LOCATION_MZONE) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCountLimit(1) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c33330014.target) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetOperation(c33330014.activate) e1:SetCountLimit(1,m)
c:RegisterEffect(e1) e1:SetTarget(cm.destg)
--d r e1:SetOperation(cm.desop)
c:RegisterEffect(e1)
--Move
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330014,0)) e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_SEARCH+CATEGORY_TOHAND) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCountLimit(1)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetTarget(cm.mvtg)
e2:SetCountLimit(1,33330014) e2:SetOperation(cm.mvop)
e2:SetTarget(c33330014.destg) c:RegisterEffect(e2)
e2:SetOperation(c33330014.desop) --Special Summon
c:RegisterEffect(e2)
--special summon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33330014,2)) e3:SetDescription(aux.Stringid(m,2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1) e3:SetCountLimit(1)
e3:SetTarget(c33330014.sptg) e3:SetTarget(cm.sptg)
e3:SetOperation(c33330014.spop) e3:SetOperation(cm.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c33330014.filter(c,e,tp,zone) --Destroy & Search
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if chk==0 then return tc or Duel.IsExistingMatchingCard(Card.IsType,tp,0,LOCATION_ONFIELD,1,nil,TYPE_SPELL+TYPE_TRAP) end
local g=Duel.GetMatchingGroup(Card.IsType,tp,0,LOCATION_ONFIELD,nil,TYPE_SPELL+TYPE_TRAP)
if tc then g:AddCard(tc) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,LOCATION_ONFIELD)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
local g=Duel.GetMatchingGroup(Card.IsType,tp,0,LOCATION_ONFIELD,nil,TYPE_SPELL+TYPE_TRAP)
if tc then g:AddCard(tc) end
Duel.Destroy(g,REASON_EFFECT)
end
--Move
function cm.mvtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end
end
function cm.mvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq)
end
--Special Summon
function cm.spfilter(c,e,tp,zone)
return c:IsSetCard(0x556) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone) return c:IsSetCard(0x556) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone)
end end
function c33330014.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local zone=e:GetHandler():GetLinkedZone(tp) local zone=e:GetHandler():GetLinkedZone(tp)
return zone~=0 and Duel.IsExistingMatchingCard(c33330014.filter,tp,LOCATION_HAND,0,1,nil,e,tp,zone) return zone~=0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp,zone)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
function c33330014.spop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local zone=e:GetHandler():GetLinkedZone(tp) local zone=e:GetHandler():GetLinkedZone(tp)
if zone==0 then return end if zone==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c33330014.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp,zone) local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp,zone)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP,zone) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP,zone)
end end
end
function c33330014.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end
end
function c33330014.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq)
end
function c33330014.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if chk==0 then return tc and Duel.IsExistingMatchingCard(Card.IsType,tp,0,LOCATION_ONFIELD,1,nil,TYPE_SPELL+TYPE_TRAP) end
local g=Duel.GetMatchingGroup(Card.IsType,tp,0,LOCATION_ONFIELD,nil,TYPE_SPELL+TYPE_TRAP)
g:AddCard(tc)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,LOCATION_ONFIELD)
end
function c33330014.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
local g=Duel.GetMatchingGroup(Card.IsType,tp,0,LOCATION_ONFIELD,nil,TYPE_SPELL+TYPE_TRAP)
if tc then g:AddCard(tc) end
Duel.Destroy(g,REASON_EFFECT)
end end
\ No newline at end of file
--深界的黑暗面 雷古 --深界的黑暗面 雷古
function c33330015.initial_effect(c) local m=33330015
local cm=_G["c"..m]
cm.atk=1500 --攻 击 上 升
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--spsummon condition --Special Summon Limit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION) e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.ritlimit) e1:SetValue(aux.ritlimit)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--r d --Destroy & Remove
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330015,0)) e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_REMOVE) e2:SetCategory(CATEGORY_DESTROY+CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetTarget(c33330015.destg) e2:SetTarget(cm.destg)
e2:SetOperation(c33330015.desop) e2:SetOperation(cm.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--reflect battle dam --Reflect
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_REFLECT_BATTLE_DAMAGE) e3:SetCode(EFFECT_REFLECT_BATTLE_DAMAGE)
e3:SetValue(1) e3:SetValue(1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--atk up --Atk Up
local e6=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e6:SetCategory(CATEGORY_ATKCHANGE) e4:SetDescription(aux.Stringid(m,1))
e6:SetType(EFFECT_TYPE_QUICK_O) e4:SetCategory(CATEGORY_ATKCHANGE)
e6:SetRange(LOCATION_MZONE) e4:SetType(EFFECT_TYPE_QUICK_O)
e6:SetCode(EVENT_PRE_DAMAGE_CALCULATE) e4:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e6:SetCondition(c33330015.atkcon) e4:SetRange(LOCATION_MZONE)
e6:SetTarget(c33330015.atktg) e4:SetCondition(cm.atkcon)
e6:SetOperation(c33330015.atkop) e4:SetTarget(cm.atktg)
c:RegisterEffect(e6) e4:SetOperation(cm.atkop)
c:RegisterEffect(e4)
end end
function c33330015.atkcon(e,tp,eg,ep,ev,re,r,rp) --Destroy & Remove
local c=e:GetHandler() function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
return c==Duel.GetAttacker() or c==Duel.GetAttackTarget()
end
function c33330015.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then
local ct=Duel.GetMatchingGroupCount(Card.IsType,tp,LOCATION_GRAVE,0,nil,TYPE_FIELD)
return ct>0 and c:GetFlagEffect(33330015)==0
end
c:RegisterFlagEffect(33330015,RESET_CHAIN,0,1)
end
function c33330015.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=Duel.GetMatchingGroupCount(Card.IsType,tp,LOCATION_GRAVE,0,nil,TYPE_FIELD)
if c:IsRelateToEffect(e) and c:IsFaceup() and ct>0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESET_CHAIN)
e1:SetValue(ct*1500)
c:RegisterEffect(e1)
end
end
function c33330015.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if chk==0 then return tc and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_MZONE,1,nil) end if chk==0 then return tc and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_MZONE,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,tp,LOCATION_FZONE) Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,g:GetCount(),1-tp,LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,g:GetCount(),1-tp,LOCATION_MZONE)
end end
function c33330015.desop(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 then if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 then
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_MZONE,nil)
if g:GetCount()<=0 then return end if g:GetCount()<1 then return end
if Duel.Remove(g,0,REASON_EFFECT+REASON_TEMPORARY)~=0 then if Duel.Remove(g,0,REASON_EFFECT+REASON_TEMPORARY)~=0 then
local fid=c:GetFieldID() local fid=c:GetFieldID()
local rct=1 local rct=1
local og=Duel.GetOperatedGroup() local og=Duel.GetOperatedGroup()
local oc=og:GetFirst() local oc=og:GetFirst()
while oc do while oc do
oc:RegisterFlagEffect(33330015,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1,fid) oc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1,fid)
oc=og:GetNext() oc=og:GetNext()
end end
og:KeepAlive() og:KeepAlive()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_PHASE+PHASE_END) e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetLabel(fid) e1:SetLabel(fid)
e1:SetLabelObject(og) e1:SetLabelObject(og)
e1:SetCondition(c33330015.retcon) e1:SetCondition(cm.retcon)
e1:SetOperation(c33330015.retop) e1:SetOperation(cm.retop)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetValue(Duel.GetTurnCount()) e1:SetValue(Duel.GetTurnCount())
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
end end
end end
function c33330015.retfilter(c,fid) function cm.retfilter(c,fid)
return c:GetFlagEffectLabel(33330015)==fid return c:GetFlagEffectLabel(m)==fid
end end
function c33330015.retcon(e,tp,eg,ep,ev,re,r,rp) function cm.retcon(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetTurnCount()==e:GetValue() then return false end if Duel.GetTurnCount()==e:GetValue() then return false end
local g=e:GetLabelObject() local g=e:GetLabelObject()
if not g:IsExists(c33330015.retfilter,1,nil,e:GetLabel()) then if not g:IsExists(cm.retfilter,1,nil,e:GetLabel()) then
g:DeleteGroup() g:DeleteGroup()
e:Reset() e:Reset()
return false return false
else return true end else return true end
end end
function c33330015.retop(e,tp,eg,ep,ev,re,r,rp) function cm.retop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject() local g=e:GetLabelObject()
local sg=g:Filter(c33330015.retfilter,nil,e:GetLabel()) local sg=g:Filter(cm.retfilter,nil,e:GetLabel())
g:DeleteGroup() g:DeleteGroup()
local ct,tg=Duel.GetLocationCount(tp,LOCATION_MZONE),Group.CreateGroup() local ct,rg=Duel.GetLocationCount(tp,LOCATION_MZONE)
if sg:GetCount()>ct and ct>0 then if sg:GetCount()>ct and ct>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
tg=sg:Select(tp,ct1,ct1,nil) rg=sg:Select(tp,ct,ct,nil)
else
rg=sg
end end
sg:Sub(tg) local tc=rg:GetFirst()
local tc=tg:GetFirst()
while tc do while tc do
Duel.ReturnToField(tc) Duel.ReturnToField(tc)
tc=tg:GetNext() tc=rg:GetNext()
end end
sg:Sub(rg)
tc=sg:GetFirst() tc=sg:GetFirst()
while tc do while tc do
Duel.ReturnToField(tc) Duel.ReturnToField(tc)
tc=sg:GetNext() tc=sg:GetNext()
end end
end end
--Atk Up
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c==Duel.GetAttacker() or c==Duel.GetAttackTarget()
end
function cm.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then
local ct=Duel.GetMatchingGroupCount(Card.IsType,tp,LOCATION_GRAVE,0,nil,TYPE_FIELD)
return ct>0 and c:GetFlagEffect(m)==0
end
c:RegisterFlagEffect(m,RESET_CHAIN,0,1)
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=Duel.GetMatchingGroupCount(Card.IsType,tp,LOCATION_GRAVE,0,nil,TYPE_FIELD)
if c:IsRelateToEffect(e) and c:IsFaceup() and ct>0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(ct*cm.atk)
e1:SetReset(RESET_EVENT+RESET_CHAIN)
c:RegisterEffect(e1)
end
end
--白笛 歼灭之莱莎 --白笛 歼灭之莱莎
function c33330016.initial_effect(c) local m=33330016
--link summon local cm=_G["c"..m]
cm.atk=500 --攻 击 上 升
function cm.initial_effect(c)
c:EnableReviveLimit()
--Link Summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2)
c:EnableReviveLimit() --Destroy & Search
--seq
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330016,1)) e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetCategory(CATEGORY_DESTROY)
e1:SetRange(LOCATION_MZONE) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCountLimit(1) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c33330016.target) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetOperation(c33330016.activate) e1:SetCountLimit(1,m)
c:RegisterEffect(e1) e1:SetTarget(cm.destg)
--d r e1:SetOperation(cm.desop)
c:RegisterEffect(e1)
--Move
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330016,0)) e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_SEARCH+CATEGORY_TOHAND) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCountLimit(1)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetTarget(cm.mvtg)
e2:SetCountLimit(1,33330016) e2:SetOperation(cm.mvop)
e2:SetTarget(c33330016.destg)
e2:SetOperation(c33330016.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--atk --Atk Up
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_UPDATE_ATTACK) e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(c33330016.indtg) e3:SetTarget(cm.bufftg)
e3:SetValue(500) e3:SetValue(cm.atk)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c) --Indes
e4:SetType(EFFECT_TYPE_FIELD) local e4=e3:Clone()
e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e4:SetProperty(EFFECT_FLAG_SET_AVAILABLE) e4:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e4:SetRange(LOCATION_MZONE)
e4:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e4:SetTarget(c33330016.indtg)
e4:SetValue(1) e4:SetValue(1)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c33330016.indtg(e,c) --Destroy & Search
return e:GetHandler():GetLinkedGroup():IsContains(c) function cm.thfilter(c)
return c:IsAbleToHand() and c:IsCode(cm.search[1])
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if chk==0 then return tc and Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_ONFIELD)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.HintSelection(g)
Duel.Destroy(g,REASON_EFFECT)
end
end end
function c33330016.target(e,tp,eg,ep,ev,re,r,rp,chk) --Move
function cm.mvtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end
end end
function c33330016.activate(e,tp,eg,ep,ev,re,r,rp) function cm.mvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
...@@ -56,20 +74,7 @@ function c33330016.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,20 +74,7 @@ function c33330016.activate(e,tp,eg,ep,ev,re,r,rp)
local nseq=math.log(s,2) local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq) Duel.MoveSequence(c,nseq)
end end
function c33330016.destg(e,tp,eg,ep,ev,re,r,rp,chk) --Atk Up
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) function cm.bufftg(e,c)
if chk==0 then return tc and Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end return e:GetHandler():GetLinkedGroup():IsContains(c)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,2,0,LOCATION_ONFIELD) end
end \ No newline at end of file
function c33330016.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local tg=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.HintSelection(tg)
Duel.Destroy(tg,REASON_EFFECT)
end
end
--白笛 不动如山之奥森 --白笛 不动如山之奥森
function c33330017.initial_effect(c) local m=33330017
--xyz summon local cm=_G["c"..m]
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x556),4,3) cm.mat={33330004} --素 材 要 求
cm.counter=0x1556 --指 示 物
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
-- --Xyz Summon
local e4=Effect.CreateEffect(c) aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x556),4,2)
e4:SetType(EFFECT_TYPE_SINGLE) --Remove
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e4:SetValue(c33330017.indesval)
e4:SetCondition(c33330017.con)
c:RegisterEffect(e4)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EFFECT_EXTRA_ATTACK) e1:SetCode(EVENT_DAMAGE_STEP_END)
e1:SetCondition(c33330017.con) e1:SetCondition(cm.rmcon)
e1:SetValue(c33330017.atkval) e1:SetOperation(cm.rmop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--to grave --Destroy Replace
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(13893596,0)) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_COUNTER) e2:SetCode(EFFECT_DESTROY_REPLACE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetCountLimit(2)
e2:SetTarget(c33330017.ctg) e2:SetTarget(cm.reptg)
e2:SetOperation(c33330017.cop) e2:SetOperation(cm.repop)
e2:SetValue(cm.repval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--des
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_DAMAGE_STEP_END)
e5:SetOperation(c33330017.desop)
c:RegisterEffect(e5)
end end
function c33330017.desop(e,tp,eg,ep,ev,re,r,rp) cm.card_code_list=cm.mat
if e:GetHandler():GetCounter(0x1009)>=3 then --Remove
Duel.Hint(HINT_CARD,0,33330017) function cm.rmcon(e)
Duel.Destroy(e:GetHandler(),REASON_EFFECT) return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,cm.mat[1]) and aux.bdocon(e)
end
end end
function c33330017.ctg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.rmop(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x1019,1) end local tc=Duel.GetAttacker()
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0) if tc==e:GetHandler() then tc=Duel.GetAttackTarget() end
if tc then Duel.Remove(tc,POS_FACEUP,REASON_RULE) end
end end
function c33330017.cop(e,tp,eg,ep,ev,re,r,rp) --Destroy Replace
local c=e:GetHandler() function cm.repfilter(c,tp)
if c and c:IsFaceup() and c:IsRelateToEffect(e) and c:IsCanAddCounter(0x1009,1) then return c:IsFaceup() and c:IsSetCard(0x556) and c:IsControler(tp)
c:AddCounter(0x1019,1) and c:IsReason(REASON_EFFECT+REASON_BATTLE) and not c:IsReason(REASON_REPLACE)
local g=Duel.GetMatchingGroup(c33330017.adfilter,tp,0,LOCATION_MZONE,nil)
if g:GetCount()>0 then
for tc in aux.Next(g) do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(-300)
tc:RegisterEffect(e1)
end
end
end
end end
function c33330017.adfilter(c) function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
return c:IsFaceup() and c:IsSummonType(SUMMON_TYPE_SPECIAL) if chk==0 then return eg:IsExists(cm.repfilter,1,nil,tp) and Duel.IsCanRemoveCounter(tp,1,0,cm.counter,1,REASON_COST) end
return Duel.SelectEffectYesNo(tp,e:GetHandler(),96)
end end
function c33330017.atkval(e) function cm.repop(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayCount()-1 Duel.RemoveCounter(tp,1,0,cm.counter,1,REASON_COST)
end end
function c33330017.indesval(e,re,rp) function cm.repval(e,c)
return re:GetHandler()~=e:GetHandler() return cm.repfilter(c,e:GetHandlerPlayer())
end
function c33330017.con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,33330004)
end end
\ No newline at end of file
--白笛 崭新之波多尔多 --白笛 崭新之波多尔多
function c33330018.initial_effect(c) local m=33330018
--xyz summon local cm=_G["c"..m]
aux.AddXyzProcedure(c,nil,8,2) cm.token={33330035} --衍 生 物
cm.counter=0x1556 --指 示 物
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--direct --Xyz Summon
aux.AddXyzProcedure(c,nil,8,2)
--Activate Limit
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(0,1)
e1:SetCondition(cm.actcon)
e1:SetValue(cm.aclimit)
c:RegisterEffect(e1)
--Token
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330018,0)) e2:SetDescription(aux.Stringid(m,0))
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetRange(LOCATION_MZONE) e2:SetCode(EVENT_DAMAGE_STEP_END)
e2:SetCondition(c33330018.condition) e2:SetCondition(aux.bdcon)
e2:SetCost(c33330018.cost) e2:SetCost(cm.tkcost)
e2:SetOperation(c33330018.operation) e2:SetTarget(cm.tktg)
c:RegisterEffect(e2) e2:SetOperation(cm.tkop)
--actlimit c:RegisterEffect(e2)
--Direct Attack
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetDescription(aux.Stringid(m,0))
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCode(EFFECT_CANNOT_ACTIVATE)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(0,1) e3:SetCondition(cm.drcon)
e3:SetValue(c33330018.aclimit) e3:SetCost(cm.drcost)
e3:SetCondition(c33330018.actcon) e3:SetOperation(cm.drop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--token end
local e5=Effect.CreateEffect(c) --Activate Limit
e5:SetDescription(aux.Stringid(33330018,1)) function cm.actcon(e)
e5:SetCategory(CATEGORY_TOKEN+CATEGORY_SPECIAL_SUMMON) return Duel.GetAttacker()==e:GetHandler()
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) end
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) function cm.aclimit(e,re,tp)
e5:SetCode(EVENT_DAMAGE_STEP_END) return not re:GetHandler():IsImmuneToEffect(e)
e5:SetCost(c33330018.rcost) end
e5:SetCondition(c33330018.actcon) --Token
e5:SetTarget(c33330018.tktg) function cm.tkfilter(c,tp)
e5:SetOperation(c33330018.tkop) return Duel.GetMZoneCount(tp,c)>0
c:RegisterEffect(e5) end
--search function cm.tkcost(e,tp,eg,ep,ev,re,r,rp,chk)
local e1=Effect.CreateEffect(c) if chk==0 then return Duel.CheckReleaseGroup(tp,cm.tkfilter,1,nil,tp) end
e1:SetDescription(aux.Stringid(33330018,2)) local g=Duel.SelectReleaseGroup(tp,cm.tkfilter,1,1,nil,tp)
e1:SetCategory(CATEGORY_RECOVER) Duel.Release(g,REASON_COST)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) end
e1:SetCode(EVENT_TO_GRAVE) function cm.tktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_PLAYER_TARGET) if chk==0 then return Duel.IsPlayerCanSpecialSummonMonster(tp,cm.token[1],0,0x4011,2000,2000,8,RACE_ZOMBIE,ATTRIBUTE_DARK) end
e1:SetCost(c33330018.recost) Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
e1:SetTarget(c33330018.retg) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
e1:SetOperation(c33330018.reop) end
c:RegisterEffect(e1) function cm.tkop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetMZoneCount(tp)<1 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,cm.token[1],0,0x4011,2000,2000,8,RACE_ZOMBIE,ATTRIBUTE_DARK) then
local token=Duel.CreateToken(tp,cm.token[1])
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(m,2))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCost(cm.descost)
e1:SetTarget(cm.destg)
e1:SetOperation(cm.desop)
token:RegisterEffect(e1)
end
end end
function c33330018.recost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,0,0x1019,1,REASON_COST) end if chk==0 then return Duel.IsCanRemoveCounter(tp,1,0,cm.counter,1,REASON_COST) end
local ct=Duel.GetCounter(tp,1,0,0x1019) Duel.RemoveCounter(tp,1,0,cm.counter,1,REASON_COST)
Duel.RemoveCounter(tp,1,0,0x1019,ct,REASON_COST)
e:SetLabel(ct)
end end
function c33330018.retg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=e:GetLabel() if chk==0 then return e:GetHandler():IsDestructable() end
if chk==0 then return true end Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler(),1,0,0)
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(ct*300)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,ct*300)
end end
function c33330018.reop(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) if e:GetHandler():IsRelateToEffect(e) then
Duel.Recover(p,d,REASON_EFFECT) Duel.Destroy(e:GetHandler(),REASON_EFFECT)
end
end end
function c33330018.condition(e,tp,eg,ep,ev,re,r,rp) --Direct Attack
function cm.drcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsAbleToEnterBP() and not e:GetHandler():IsHasEffect(EFFECT_DIRECT_ATTACK) return Duel.IsAbleToEnterBP() and not e:GetHandler():IsHasEffect(EFFECT_DIRECT_ATTACK)
end end
function c33330018.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.drcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end end
function c33330018.operation(e,tp,eg,ep,ev,re,r,rp) function cm.drop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then if c:IsFaceup() and c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DIRECT_ATTACK) e1:SetCode(EFFECT_DIRECT_ATTACK)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
function c33330018.costfilter(c,ft,tp) \ No newline at end of file
return (ft>0 or (c:IsControler(tp) and c:GetSequence()<5))
end
function c33330018.rcost(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(tp,c33330018.costfilter,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(tp,c33330018.costfilter,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST)
end
function c33330018.tktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,33330035,0,0x4011,2000,2000,8,RACE_ZOMBIE,ATTRIBUTE_DARK) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function c33330018.tkop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,33330035,0,0x4011,2000,2000,8,RACE_ZOMBIE,ATTRIBUTE_DARK) then
local token=Duel.CreateToken(tp,33330035)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
end
end
function c33330018.aclimit(e,re,tp)
return not re:GetHandler():IsImmuneToEffect(e)
end
function c33330018.actcon(e)
return Duel.GetAttacker()==e:GetHandler()
end
--深界一层-阿比斯之渊 --深界一层-阿比斯之渊
function c33330019.initial_effect(c) local m=33330019
local cm=_G["c"..m]
cm.search={33330002,33330038,33330020} --检 索 对 象
cm.counter=0x1556 --指 示 物
cm.damage=100 --伤 害 倍 数
function cm.initial_effect(c)
c:EnableCounterPermit(cm.counter)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--indestructable --Search
local e21=Effect.CreateEffect(c)
e21:SetType(EFFECT_TYPE_FIELD)
e21:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e21:SetRange(LOCATION_SZONE)
e21:SetTargetRange(LOCATION_MZONE,0)
e21:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556))
e21:SetValue(1)
c:RegisterEffect(e21)
--Pos Change
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetDescription(aux.Stringid(m,0))
e2:SetCode(EFFECT_SET_POSITION) e2:SetCategory(CATEGORY_HANDES+CATEGORY_COUNTER+CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetRange(LOCATION_SZONE) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e2:SetRange(LOCATION_FZONE)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_RANGE) e2:SetCountLimit(1)
e2:SetValue(POS_FACEUP_ATTACK) e2:SetTarget(cm.thtg)
c:RegisterEffect(e2) e2:SetOperation(cm.thop)
--damage reduce c:RegisterEffect(e2)
local e4=Effect.CreateEffect(c) --Change Field
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CHANGE_DAMAGE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetRange(LOCATION_SZONE)
e4:SetTargetRange(1,0)
e4:SetValue(c33330019.damval)
c:RegisterEffect(e4)
local e6=e4:Clone()
e6:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
c:RegisterEffect(e6)
--search
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
e5:SetDescription(aux.Stringid(33330019,0))
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_SZONE)
e5:SetCountLimit(1)
e5:SetCost(c33330019.cost)
e5:SetTarget(c33330019.tg)
e5:SetOperation(c33330019.op)
c:RegisterEffect(e5)
--xxxx
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33330019,1)) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE) e3:SetCode(EVENT_LEAVE_FIELD_P)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EVENT_DESTROY) e3:SetOperation(cm.ctop)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetCondition(c33330019.con2)
e3:SetTarget(c33330019.tg2)
e3:SetOperation(c33330019.op2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--count local e4=Effect.CreateEffect(c)
local e7=Effect.CreateEffect(c) e4:SetDescription(aux.Stringid(m,1))
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e7:SetCode(EVENT_LEAVE_FIELD_P) e4:SetCode(EVENT_LEAVE_FIELD)
e7:SetOperation(c33330019.contop) e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
c:RegisterEffect(e7) e4:SetLabelObject(e3)
e3:SetLabelObject(e7) e4:SetCondition(cm.fdcon)
e4:SetTarget(cm.fdtg)
e4:SetOperation(cm.fdop)
c:RegisterEffect(e4)
end end
function c33330019.contop(e,tp,eg,ep,ev,re,r,rp) cm.card_code_list=cm.search
e:SetLabel(e:GetHandler():GetCounter(0x1019)) --Activate
function cm.filter(c)
return c:IsSetCard(0x3556) and c:IsAbleToHand()
end end
function c33330019.con2(e,tp,eg,ep,ev,re,r,rp) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil) end
return c:IsReason(REASON_EFFECT) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c33330019.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return true end if not e:GetHandler():IsRelateToEffect(e) then return end
local ct=e:GetLabelObject():GetLabel()
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,ct*1000)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c33330019.op2(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330019.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
Duel.Damage(tp,ct*1000,REASON_EFFECT)
end end
end end
function c33330019.filter(c) --Search
return c:IsCode(33330019) and c:IsAbleToHand() function cm.thfilter(c)
return c:IsCode(cm.search[1]) and c:IsAbleToHand()
end end
function c33330019.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x1019,3,REASON_COST) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil)
e:GetHandler():RemoveCounter(tp,0x1019,3,REASON_COST) and e:GetHandler():IsCanAddCounter(cm.counter,1)
and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c33330019.filter2(c) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
return IsCode(33330020) and c:IsAbleToHand() if not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT+REASON_DISCARD)~=0
and e:GetHandler():AddCounter(cm.counter,1) then
local tc=Duel.GetFirstMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,nil)
if tc then
Duel.BreakEffect()
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
end
end end
function c33330019.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) --Change Field
if chk==0 then return Duel.IsExistingMatchingCard(c33330019.filter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,500) e:SetLabel(e:GetHandler():GetCounter(cm.counter))
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c33330019.op(e,tp,eg,ep,ev,re,r,rp) function cm.fdfilter1(c)
if not e:GetHandler():IsRelateToEffect(e) or Duel.Damage(tp,500,REASON_EFFECT)<=0 then return end return c:IsCode(cm.search[2]) and c:IsAbleToHand()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) end
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330019.filter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil) function cm.fdfilter2(c,tp)
if g:GetCount()>0 then return c:IsCode(cm.search[3]) and c:GetActivateEffect():IsActivatable(tp)
Duel.SendtoHand(g,nil,REASON_EFFECT) end
Duel.ConfirmCards(1-tp,g) function cm.fdcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousPosition(POS_FACEUP)
end
function cm.fdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local ct=e:GetLabelObject():GetLabel()
local sel=0
if Duel.IsExistingMatchingCard(cm.fdfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) then
sel=Duel.SelectOption(tp,aux.Stringid(m,2),aux.Stringid(m,3))+1
else
Duel.SelectOption(tp,aux.Stringid(m,2))
sel=1
e:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,1,tp,ct*cm.damage)
end end
e:SetLabel(sel)
end end
function c33330019.damval(e,re,val,r,rp,rc) function cm.fdop(e,tp,eg,ep,ev,re,r,rp)
if bit.band(r,REASON_BATTLE)~=0 then local sel=e:GetLabel()
e:GetHandler():AddCounter(0x1019,1) local ct=e:GetLabelObject():GetLabel()
return 0 e:GetLabelObject():SetLabel(0)
if sel==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter1),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
Duel.Damage(tp,ct*cm.damage,REASON_EFFECT)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_FZONE,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
if ct>0 then tc:AddCounter(cm.counter,ct) end
end end
return val
end end
\ No newline at end of file
--深界二层-诱惑之森 --深界二层-诱惑之森
function c33330020.initial_effect(c) local m=33330020
local cm=_G["c"..m]
cm.search={33330004,33330038,33330021} --检 索 对 象
cm.counter=0x1556 --指 示 物
cm.damage=200 --伤 害 倍 数
function cm.initial_effect(c)
c:EnableCounterPermit(cm.counter)
--Activate --Activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33330020,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330020,1)) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_IGNITION) c:RegisterEffect(e1)
e1:SetRange(LOCATION_HAND) --Search
e1:SetCost(c33330020.tcost)
e1:SetTarget(c33330020.ttg)
e1:SetOperation(c33330020.top)
c:RegisterEffect(e1)
--search
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_COUNTER)
e5:SetDescription(aux.Stringid(33330020,3))
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_FZONE)
e5:SetCountLimit(1)
e5:SetTarget(c33330020.tg)
e5:SetOperation(c33330020.op)
c:RegisterEffect(e5)
--xxxx
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33330020,4))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetCondition(c33330020.con2)
e3:SetTarget(c33330020.tg2)
e3:SetOperation(c33330020.op2)
c:RegisterEffect(e3)
--count
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e7:SetCode(EVENT_LEAVE_FIELD_P)
e7:SetOperation(c33330020.contop)
c:RegisterEffect(e7)
e3:SetLabelObject(e7)
--atk change
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330020,2)) e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_COUNTER) e2:SetCategory(CATEGORY_COUNTER+CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetCondition(c33330020.atkcon) e2:SetCountLimit(1)
e2:SetTarget(c33330020.atktg2) e2:SetTarget(cm.thtg)
e2:SetOperation(c33330020.atkop) e2:SetOperation(cm.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Change Field
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_LEAVE_FIELD_P)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetOperation(cm.ctop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,1))
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e4:SetLabelObject(e3)
e4:SetCondition(cm.fdcon)
e4:SetTarget(cm.fdtg)
e4:SetOperation(cm.fdop)
c:RegisterEffect(e4)
end end
function c33330020.atkcon(e,tp,eg,ep,ev,re,r,rp) cm.card_code_list=cm.search
return tp==Duel.GetTurnPlayer() and Duel.GetAttacker():IsSetCard(0x556) --Search
end function cm.thfilter(c)
function c33330020.atktg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) return c:IsCode(cm.search[1]) and c:IsAbleToHand()
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x1019,1,REASON_EFFECT) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,0,tp,1)
end
function c33330020.atkop(e,tp,eg,ep,ev,re,r,rp)
if not c:IsRelateToEffect(e) or c:IsFacedown() or not e:GetHandler():IsCanRemoveCounter(tp,0x1019,1,REASON_EFFECT) then return end
e:GetHandler():RemoveCounter(tp,0x1019,1,REASON_EFFECT)
end
function c33330020.contop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(e:GetHandler():GetCounter(0x1019))
end
function c33330020.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsReason(REASON_EFFECT) and c:IsPreviousPosition(POS_FACEUP)
end end
function c33330020.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return e:GetHandler():IsCanAddCounter(cm.counter,1)
local ct=e:GetLabelObject():GetLabel() and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,ct*500) Duel.SetOperationInfo(0,CATEGORY_COUNTER,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c33330020.op2(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel() if not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.Damage(tp,ct*500,REASON_EFFECT)<=0 then return end if e:GetHandler():AddCounter(cm.counter,1) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330019.filter3),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.ConfirmCards(1-tp,g)
Duel.ConfirmCards(1-tp,g) end
end end
end end
function c33330020.filter3(c) --Change Field
return c:IsCode(33330021) and c:IsAbleToHand() function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
end e:SetLabel(e:GetHandler():GetCounter(cm.counter))
function c33330020.filter2(c)
return c:IsCode(33330004) and c:IsAbleToHand()
end end
function c33330020.tg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdfilter1(c)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x1019,1) and Duel.IsExistingMatchingCard(c33330020.filter2,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end return c:IsCode(cm.search[2]) and c:IsAbleToHand()
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,tp,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_DECK)
end
function c33330020.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
c:AddCounter(0x1019,1)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330020.filter2),tp,LOCATION_GRAVE+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 c33330020.tcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdfilter2(c,tp)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end return c:IsCode(cm.search[3]) and c:GetActivateEffect():IsActivatable(tp)
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function c33330020.filter(c) function cm.fdcon(e,tp,eg,ep,ev,re,r,rp)
return c:IsCode(33330019) and c:IsAbleToHand() return e:GetHandler():IsPreviousPosition(POS_FACEUP)
end end
function c33330020.ttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330020.filter,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_DECK) local ct=e:GetLabelObject():GetLabel()
local sel=0
if Duel.IsExistingMatchingCard(cm.fdfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) then
sel=Duel.SelectOption(tp,aux.Stringid(m,2),aux.Stringid(m,3))+1
else
Duel.SelectOption(tp,aux.Stringid(m,2))
sel=1
e:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,1,tp,ct*cm.damage)
end
e:SetLabel(sel)
end end
function c33330020.top(e,tp,eg,ep,ev,re,r,rp) function cm.fdop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) local sel=e:GetLabel()
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330020.filter),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil) local ct=e:GetLabelObject():GetLabel()
if g:GetCount()>0 then e:GetLabelObject():SetLabel(0)
Duel.SendtoHand(g,nil,REASON_EFFECT) if sel==1 then
Duel.ConfirmCards(1-tp,g) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter1),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
Duel.Damage(tp,ct*cm.damage,REASON_EFFECT)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_FZONE,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
if ct>0 then tc:AddCounter(cm.counter,ct) end
end end
end end
\ No newline at end of file
--深界三层-大断层 --深界三层-大断层
function c33330021.initial_effect(c) local m=33330021
local cm=_G["c"..m]
cm.search={33330006,33330038,33330022} --检 索 对 象
cm.counter=0x1556 --指 示 物
cm.damage=300 --伤 害 倍 数
function cm.initial_effect(c)
c:EnableCounterPermit(cm.counter)
--Activate --Activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33330021,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330021,1)) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_IGNITION) c:RegisterEffect(e1)
e1:SetRange(LOCATION_HAND) --Search
e1:SetCost(c33330021.tcost)
e1:SetTarget(c33330021.ttg)
e1:SetOperation(c33330021.top)
c:RegisterEffect(e1)
--cannot be target
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetDescription(aux.Stringid(m,0))
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e2:SetCategory(CATEGORY_COUNTER+CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetCountLimit(1)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556)) e2:SetTarget(cm.thtg)
e2:SetValue(c33330021.indesval) e2:SetOperation(cm.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--s c --Change Field
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330021,2))
e4:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_COUNTER)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_FZONE)
e4:SetCountLimit(1)
e4:SetTarget(c33330021.stg)
e4:SetOperation(c33330021.sop)
c:RegisterEffect(e4)
--xxxx
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33330021,3)) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE) e3:SetCode(EVENT_LEAVE_FIELD_P)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EVENT_LEAVE_FIELD) e3:SetOperation(cm.ctop)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetCondition(c33330021.con2)
e3:SetTarget(c33330021.tg2)
e3:SetOperation(c33330021.op2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--count local e4=Effect.CreateEffect(c)
local e7=Effect.CreateEffect(c) e4:SetDescription(aux.Stringid(m,1))
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e7:SetCode(EVENT_LEAVE_FIELD_P) e4:SetCode(EVENT_LEAVE_FIELD)
e7:SetOperation(c33330021.contop) e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
c:RegisterEffect(e7) e4:SetLabelObject(e3)
e3:SetLabelObject(e7) e4:SetCondition(cm.fdcon)
end e4:SetTarget(cm.fdtg)
function c33330021.contop(e,tp,eg,ep,ev,re,r,rp) e4:SetOperation(cm.fdop)
e:SetLabel(e:GetHandler():GetCounter(0x1019)) c:RegisterEffect(e4)
end
function c33330021.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousPosition(POS_FACEUP)
end
function c33330021.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end
local ct=e:GetLabelObject():GetLabel()
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,ct*500)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c33330021.op2(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
if Duel.Damage(tp,ct*500,REASON_EFFECT)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330021.filter3),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c33330021.filter3(c)
return c:IsCode(33330022) and c:IsAbleToHand()
end end
function c33330021.sfilter(c) cm.card_code_list=cm.search
return c:IsAbleToHand() and c:IsCode(33330006) --Search
function cm.thfilter(c)
return c:IsCode(cm.search[1]) and c:IsAbleToHand()
end end
function c33330021.stg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x1019,1) and Duel.IsExistingMatchingCard(c33330021.sfilter,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end if chk==0 then return e:GetHandler():IsCanAddCounter(cm.counter,1)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,tp,0) Duel.SetOperationInfo(0,CATEGORY_COUNTER,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c33330021.sop(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() if not e:GetHandler():IsRelateToEffect(e) then return end
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end if e:GetHandler():AddCounter(cm.counter,1) then
c:AddCounter(0x1019,1) local tc=Duel.GetFirstMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) if tc and Duel.SendtoHand(tc,nil,REASON_EFFECT)~=0 then
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330021.sfilter),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil) Duel.ConfirmCards(1-tp,tc)
if g:GetCount()>0 then end
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end end
end end
function c33330021.indesval(e,re,rp) --Change Field
return re:IsActiveType(TYPE_MONSTER) function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(e:GetHandler():GetCounter(cm.counter))
end end
function c33330021.tcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdfilter1(c)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end return c:IsCode(cm.search[2]) and c:IsAbleToHand()
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function c33330021.filter(c) function cm.fdfilter2(c,tp)
return c:IsCode(33330019) and c:IsAbleToHand() return c:IsCode(cm.search[3]) and c:GetActivateEffect():IsActivatable(tp)
end end
function c33330021.ttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdcon(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return Duel.IsExistingMatchingCard(c33330021.filter,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end return e:GetHandler():IsPreviousPosition(POS_FACEUP)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_DECK)
end end
function c33330021.top(e,tp,eg,ep,ev,re,r,rp) function cm.fdtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) if chk==0 then return true end
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330021.filter),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil) local ct=e:GetLabelObject():GetLabel()
if g:GetCount()>0 then local sel=0
Duel.SendtoHand(g,nil,REASON_EFFECT) if Duel.IsExistingMatchingCard(cm.fdfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) then
Duel.ConfirmCards(1-tp,g) sel=Duel.SelectOption(tp,aux.Stringid(m,2),aux.Stringid(m,3))+1
else
Duel.SelectOption(tp,aux.Stringid(m,2))
sel=1
e:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,1,tp,ct*cm.damage)
end end
e:SetLabel(sel)
end end
function cm.fdop(e,tp,eg,ep,ev,re,r,rp)
local sel=e:GetLabel()
local ct=e:GetLabelObject():GetLabel()
e:GetLabelObject():SetLabel(0)
if sel==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter1),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
Duel.Damage(tp,ct*cm.damage,REASON_EFFECT)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_FZONE,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
if ct>0 then tc:AddCounter(cm.counter,ct) end
end
end
\ No newline at end of file
--深界三层-大断层 --深界三层-大断层
function c33330022.initial_effect(c) local m=33330022
local cm=_G["c"..m]
cm.search={33330038,33330023} --检 索 对 象
cm.counter=0x1556 --指 示 物
cm.damage=500 --伤 害 倍 数
function cm.initial_effect(c)
c:EnableCounterPermit(cm.counter)
--Activate --Activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33330022,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330022,1)) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_IGNITION) c:RegisterEffect(e1)
e1:SetRange(LOCATION_HAND) --Special Summon
e1:SetCost(c33330022.tcost)
e1:SetTarget(c33330022.ttg)
e1:SetOperation(c33330022.top)
c:RegisterEffect(e1)
--cannot be target
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetDescription(aux.Stringid(m,0))
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_COUNTER)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetCountLimit(2)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556)) e2:SetTarget(cm.sptg)
e2:SetValue(c33330022.indesval) e2:SetOperation(cm.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--s c --Change Field
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330022,2))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_COUNTER)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_FZONE)
e4:SetCountLimit(2)
e4:SetTarget(c33330022.stg)
e4:SetOperation(c33330022.sop)
c:RegisterEffect(e4)
--xxxx
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33330022,3)) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE) e3:SetCode(EVENT_LEAVE_FIELD_P)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EVENT_LEAVE_FIELD) e3:SetOperation(cm.ctop)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetCondition(c33330022.con2)
e3:SetTarget(c33330022.tg2)
e3:SetOperation(c33330022.op2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--count local e4=Effect.CreateEffect(c)
local e7=Effect.CreateEffect(c) e4:SetDescription(aux.Stringid(m,1))
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e7:SetCode(EVENT_LEAVE_FIELD_P) e4:SetCode(EVENT_LEAVE_FIELD)
e7:SetOperation(c33330022.contop) e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
c:RegisterEffect(e7) e4:SetLabelObject(e3)
e3:SetLabelObject(e7) e4:SetCondition(cm.fdcon)
end e4:SetTarget(cm.fdtg)
function c33330022.contop(e,tp,eg,ep,ev,re,r,rp) e4:SetOperation(cm.fdop)
e:SetLabel(e:GetHandler():GetCounter(0x1019)) c:RegisterEffect(e4)
end
function c33330022.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousPosition(POS_FACEUP)
end
function c33330022.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end
local ct=e:GetLabelObject():GetLabel()
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,ct*500)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c33330022.op2(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
if Duel.Damage(tp,ct*500,REASON_EFFECT)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330022.filter3),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c33330022.filter3(c)
return c:IsCode(33330023) and c:IsAbleToHand()
end end
function c33330022.sfilter(c,e,tp) cm.card_code_list=cm.search
return c:IsSetCard(0x556) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) --Special Summon
function cm.spfilter(c,e,tp)
return c:IsSetCard(0x556) and c:IsType(TYPE_MONSTER)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c33330022.stg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x1019,1) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetMZoneCount(tp)>0 and e:GetHandler():IsCanAddCounter(cm.counter,1)
and Duel.IsExistingMatchingCard(c33330022.sfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end 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) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,tp,0) Duel.SetOperationInfo(0,CATEGORY_COUNTER,e:GetHandler(),1,0,0)
end end
function c33330022.sop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() if Duel.GetMZoneCount(tp)<1 then return end
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
c:AddCounter(0x1019,1)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c33330022.sfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 then if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 then
g:GetFirst():AddCounter(0x1019,1) e:GetHandler():AddCounter(cm.counter,1)
g:GetFirst():AddCounter(cm.counter,1)
end end
end end
function c33330022.indesval(e,re,rp) --Change Field
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(e:GetHandler():GetCounter(cm.counter))
end end
function c33330022.tcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdfilter1(c)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end return c:IsCode(cm.search[1]) and c:IsAbleToHand()
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function c33330022.filter(c) function cm.fdfilter2(c,tp)
return c:IsCode(33330019) and c:IsAbleToHand() return c:IsCode(cm.search[2]) and c:GetActivateEffect():IsActivatable(tp)
end end
function c33330022.ttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdcon(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return Duel.IsExistingMatchingCard(c33330022.filter,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end return e:GetHandler():IsPreviousPosition(POS_FACEUP)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_DECK)
end end
function c33330022.top(e,tp,eg,ep,ev,re,r,rp) function cm.fdtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) if chk==0 then return true end
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330022.filter),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil) local ct=e:GetLabelObject():GetLabel()
if g:GetCount()>0 then local sel=0
Duel.SendtoHand(g,nil,REASON_EFFECT) if Duel.IsExistingMatchingCard(cm.fdfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) then
Duel.ConfirmCards(1-tp,g) sel=Duel.SelectOption(tp,aux.Stringid(m,2),aux.Stringid(m,3))+1
else
Duel.SelectOption(tp,aux.Stringid(m,2))
sel=1
e:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,1,tp,ct*cm.damage)
end end
e:SetLabel(sel)
end end
function cm.fdop(e,tp,eg,ep,ev,re,r,rp)
local sel=e:GetLabel()
local ct=e:GetLabelObject():GetLabel()
e:GetLabelObject():SetLabel(0)
if sel==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter1),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
Duel.Damage(tp,ct*cm.damage,REASON_EFFECT)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_FZONE,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
if ct>0 then tc:AddCounter(cm.counter,ct) end
end
end
\ No newline at end of file
--深界三层-大断层 --深界三层-大断层
function c33330023.initial_effect(c) local m=33330023
local cm=_G["c"..m]
cm.search={33330038,33330000} --检 索 对 象
cm.counter=0x1556 --指 示 物
cm.damage=1250 --伤 害 倍 数
function cm.initial_effect(c)
c:EnableCounterPermit(cm.counter)
--Activate --Activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33330023,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330023,1)) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_IGNITION) c:RegisterEffect(e1)
e1:SetRange(LOCATION_HAND) --Special Summon
e1:SetCost(c33330023.tcost)
e1:SetTarget(c33330023.ttg)
e1:SetOperation(c33330023.top)
c:RegisterEffect(e1)
--cannot be target
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetDescription(aux.Stringid(m,0))
e2:SetCode(EFFECT_CANNOT_REMOVE) e2:SetCategory(CATEGORY_COUNTER+CATEGORY_SPECIAL_SUMMON+CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetCountLimit(1)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556)) e2:SetTarget(cm.sptg)
e2:SetValue(1) e2:SetOperation(cm.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--s c --Change Field
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330023,2))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_COUNTER)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_FZONE)
e4:SetCountLimit(1)
e4:SetTarget(c33330023.stg)
e4:SetOperation(c33330023.sop)
c:RegisterEffect(e4)
--xxxx
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33330023,3)) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE) e3:SetCode(EVENT_LEAVE_FIELD_P)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EVENT_LEAVE_FIELD) e3:SetOperation(cm.ctop)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetCondition(c33330023.con2)
e3:SetTarget(c33330023.tg2)
e3:SetOperation(c33330023.op2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--count local e4=Effect.CreateEffect(c)
local e7=Effect.CreateEffect(c) e4:SetDescription(aux.Stringid(m,1))
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e7:SetCode(EVENT_LEAVE_FIELD_P) e4:SetCode(EVENT_LEAVE_FIELD)
e7:SetOperation(c33330023.contop) e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
c:RegisterEffect(e7) e4:SetLabelObject(e3)
e3:SetLabelObject(e7) e4:SetCondition(cm.fdcon)
end e4:SetTarget(cm.fdtg)
function c33330023.contop(e,tp,eg,ep,ev,re,r,rp) e4:SetOperation(cm.fdop)
e:SetLabel(e:GetHandler():GetCounter(0x1019)) c:RegisterEffect(e4)
end
function c33330023.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousPosition(POS_FACEUP)
end
function c33330023.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end
local ct=e:GetLabelObject():GetLabel()
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,ct*2000)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c33330023.op2(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
if Duel.Damage(tp,ct*2000,REASON_EFFECT)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330023.filter3),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c33330023.filter3(c)
return c:IsCode(33330024) and c:IsAbleToHand()
end end
function c33330023.sfilter(c,e,tp) cm.card_code_list=cm.search
return c:IsSetCard(0x556) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) --Special Summon
function cm.spfilter(c,e,tp)
return c:IsSetCard(0x556) and c:IsType(TYPE_MONSTER)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c33330023.stg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x1019,1) and Duel.GetLocationCountFromEx(tp)>0 if chk==0 then return Duel.GetLocationCountFromEx(tp)>0 and e:GetHandler():IsCanAddCounter(cm.counter,1)
and Duel.IsExistingMatchingCard(c33330023.sfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,tp,0) Duel.SetOperationInfo(0,CATEGORY_COUNTER,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,0)
end end
function c33330023.sop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() if Duel.GetLocationCountFromEx(tp)>0 and e:GetHandler():AddCounter(cm.counter,1) then
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
c:AddCounter(0x1019,1) local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
if Duel.GetLocationCountFromEx(tp)<=0 then return end if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Damage(tp,g:GetFirst():GetBaseAttack(),REASON_EFFECT)
local g=Duel.SelectMatchingCard(tp,c33330023.sfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp) end
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 then
g:GetFirst():AddCounter(0x1019,1)
end end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function cm.splimit(e,c)
return not c:IsSetCard(0x556)
end end
function c33330023.indesval(e,re,rp) --Change Field
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(e:GetHandler():GetCounter(cm.counter))
end end
function c33330023.tcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdfilter1(c)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end return c:IsCode(cm.search[1]) and c:IsAbleToHand()
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function c33330023.filter(c) function cm.fdfilter2(c,tp)
return c:IsCode(33330019) and c:IsAbleToHand() return c:IsCode(cm.search[2]) and c:GetActivateEffect():IsActivatable(tp)
end end
function c33330023.ttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdcon(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return Duel.IsExistingMatchingCard(c33330023.filter,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end return e:GetHandler():IsPreviousPosition(POS_FACEUP)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_DECK)
end end
function c33330023.top(e,tp,eg,ep,ev,re,r,rp) function cm.fdtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) if chk==0 then return true end
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330023.filter),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil) local ct=e:GetLabelObject():GetLabel()
if g:GetCount()>0 then local sel=0
Duel.SendtoHand(g,nil,REASON_EFFECT) if Duel.IsExistingMatchingCard(cm.fdfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) then
Duel.ConfirmCards(1-tp,g) sel=Duel.SelectOption(tp,aux.Stringid(m,2),aux.Stringid(m,3))+1
else
Duel.SelectOption(tp,aux.Stringid(m,2))
sel=1
e:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,1,tp,ct*cm.damage)
end end
e:SetLabel(sel)
end end
function cm.fdop(e,tp,eg,ep,ev,re,r,rp)
local sel=e:GetLabel()
local ct=e:GetLabelObject():GetLabel()
e:GetLabelObject():SetLabel(0)
if sel==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter1),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
Duel.Damage(tp,ct*cm.damage,REASON_EFFECT)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_FZONE,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
if ct>0 then tc:AddCounter(cm.counter,ct) end
end
end
\ No newline at end of file
--深界三层-大断层 --深界三层-大断层
function c33330024.initial_effect(c) local m=33330024
local cm=_G["c"..m]
cm.search={33330038,33330025} --检 索 对 象
cm.counter=0x1556 --指 示 物
cm.atk=500 --攻 击 上 升
cm.damage=1000 --伤 害 倍 数
function cm.initial_effect(c)
c:EnableCounterPermit(cm.counter)
--Activate --Activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33330024,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330024,1)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND) c:RegisterEffect(e1)
e1:SetCost(c33330024.tcost) --Search
e1:SetTarget(c33330024.ttg)
e1:SetOperation(c33330024.top)
c:RegisterEffect(e1)
--Atk
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetDescription(aux.Stringid(m,1))
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetRange(LOCATION_FZONE) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetRange(LOCATION_HAND)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556)) e2:SetCost(cm.thcost)
e2:SetValue(500) e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--s c --Atk Up
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_FZONE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556))
e3:SetValue(cm.atk)
c:RegisterEffect(e3)
--Draw
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330024,2)) e4:SetDescription(aux.Stringid(m,2))
e4:SetCategory(CATEGORY_TOGRAVE+CATEGORY_COUNTER+CATEGORY_DRAW) e4:SetCategory(CATEGORY_TOGRAVE+CATEGORY_COUNTER+CATEGORY_DRAW)
e4:SetType(EFFECT_TYPE_IGNITION) e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_FZONE) e4:SetRange(LOCATION_FZONE)
e4:SetCountLimit(1) e4:SetCountLimit(1)
e4:SetTarget(c33330024.stg) e4:SetTarget(cm.drtg)
e4:SetOperation(c33330024.sop) e4:SetOperation(cm.drop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--xxxx --Count
local e3=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33330024,3)) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE) e5:SetCode(EVENT_LEAVE_FIELD_P)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e5:SetOperation(cm.ctop)
e3:SetCode(EVENT_LEAVE_FIELD) c:RegisterEffect(e5)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP) --To Hand
e3:SetCondition(c33330024.con2) local e6=Effect.CreateEffect(c)
e3:SetTarget(c33330024.tg2) e6:SetDescription(aux.Stringid(m,3))
e3:SetOperation(c33330024.op2) e6:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
c:RegisterEffect(e3) e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
--count e6:SetCode(EVENT_LEAVE_FIELD)
local e7=Effect.CreateEffect(c) e6:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e6:SetLabelObject(e5)
e7:SetCode(EVENT_LEAVE_FIELD_P) e6:SetCondition(cm.sccon)
e7:SetOperation(c33330024.contop) e6:SetTarget(cm.sctg)
c:RegisterEffect(e7) e6:SetOperation(cm.scop)
e3:SetLabelObject(e7) c:RegisterEffect(e6)
end end
function c33330024.contop(e,tp,eg,ep,ev,re,r,rp) cm.card_code_list=cm.search
e:SetLabel(e:GetHandler():GetCounter(0x1019)) --Search
function cm.thfilter(c)
return c:IsCode(cm.search[1]) and c:IsAbleToHand()
end end
function c33330024.con2(e,tp,eg,ep,ev,re,r,rp) function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
return c:IsPreviousPosition(POS_FACEUP) Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function c33330024.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
local ct=e:GetLabelObject():GetLabel()
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,ct*1000)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c33330024.op2(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
if Duel.Damage(tp,ct*1000,REASON_EFFECT)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330024.filter3),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
function c33330024.filter3(c) --Draw
return c:IsCode(33330025) and c:IsAbleToHand() function cm.drfilter(c)
end
function c33330024.sfilter(c)
return c:IsSetCard(0x556) and c:IsAbleToGrave() return c:IsSetCard(0x556) and c:IsAbleToGrave()
end end
function c33330024.stg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x1019,1) and Duel.IsPlayerCanDraw(tp,1) and Duel.IsExistingMatchingCard(c33330024.sfilter,tp,LOCATION_EXTRA,0,1,nil) end if chk==0 then return e:GetHandler():IsCanAddCounter(cm.counter,1)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_EXTRA) and Duel.IsExistingMatchingCard(cm.drfilter,tp,LOCATION_EXTRA,0,1,nil) and Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,tp,0) Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,tp,0)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end end
function c33330024.sop(e,tp,eg,ep,ev,re,r,rp) function cm.drop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end if not c:IsRelateToEffect(e) or c:IsFacedown() or not c:AddCounter(cm.counter,1) then return end
c:AddCounter(0x1019,1) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) local g=Duel.SelectMatchingCard(tp,cm.drfilter,tp,LOCATION_EXTRA,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,c33330024.sfilter,tp,LOCATION_EXTRA,0,1,1,nil) if g:GetCount()>0 and Duel.SendtoGrave(g,REASON_EFFECT)~=0 then
if g:GetCount()>0 and Duel.SendtoGrave(g,REASON_EFFECT) then Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
end end
end end
function c33330024.indesval(e,re,rp) --Count
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(e:GetHandler():GetCounter(cm.counter))
end end
function c33330024.tcost(e,tp,eg,ep,ev,re,r,rp,chk) --To Hand
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end function cm.scfilter(c)
Duel.SendtoGrave(e:GetHandler(),REASON_COST) return c:IsCode(cm.search[2]) and c:IsAbleToHand()
end end
function c33330024.filter(c) function cm.sccon(e,tp,eg,ep,ev,re,r,rp)
return c:IsCode(33330036) and c:IsAbleToHand() return e:GetHandler():IsPreviousPosition(POS_FACEUP)
end end
function c33330024.ttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sctg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c33330024.filter,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_DECK) local ct=e:GetLabelObject():GetLabel()
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,ct*cm.damage)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c33330024.top(e,tp,eg,ep,ev,re,r,rp) function cm.scop(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
if Duel.Damage(tp,ct*cm.damage,REASON_EFFECT)==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330024.filter),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.scfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
\ No newline at end of file
--绝界行 --绝界行
function c33330025.initial_effect(c) local m=33330025
local cm=_G["c"..m]
function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--extra summon --Extra Summon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,0))
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_EXTRA_SUMMON_COUNT) e2:SetCode(EFFECT_EXTRA_SUMMON_COUNT)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_HAND+LOCATION_MZONE,0) e2:SetTargetRange(LOCATION_HAND+LOCATION_MZONE,0)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556)) e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556))
c:RegisterEffect(e2) c:RegisterEffect(e2)
--lock draw --Send Deck Top
local e7=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e7:SetDescription(aux.Stringid(33330025,0)) e3:SetDescription(aux.Stringid(m,1))
e7:SetCategory(CATEGORY_TODECK) e3:SetCategory(CATEGORY_TODECK)
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e7:SetProperty(EFFECT_FLAG_DELAY) e3:SetCode(EVENT_TO_GRAVE)
e7:SetCode(EVENT_TO_GRAVE) e3:SetCondition(cm.tdcon)
e7:SetCondition(c33330025.drcon) e3:SetTarget(cm.tdtg)
e7:SetTarget(c33330025.drtg) e3:SetOperation(cm.tdop)
e7:SetOperation(c33330025.drop) c:RegisterEffect(e3)
c:RegisterEffect(e7)
end end
function c33330025.drcon(e,tp,eg,ep,ev,re,r,rp) --Send Deck Top
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) function cm.tdfilter(c)
return c:IsSetCard(0x556) and c:IsType(TYPE_FIELD) and c:IsAbleToDeck()
end end
function c33330025.tdfilter(c) function cm.tdcon(e,tp,eg,ep,ev,re,r,rp)
return c:IsType(TYPE_FIELD) and c:IsSetCard(0x556) and c:IsAbleToDeck() return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end end
function c33330025.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330025.tdfilter,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.tdfilter,tp,LOCATION_GRAVE,0,1,nil) end
local g=Duel.GetMatchingGroup(c33330025.tdfilter,tp,LOCATION_GRAVE,0,nil) local g=Duel.GetMatchingGroup(cm.tdfilter,tp,LOCATION_GRAVE,0,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
end end
function c33330025.drop(e,tp,eg,ep,ev,re,r,rp) function cm.tdop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c33330025.tdfilter,tp,LOCATION_GRAVE,0,nil) local g=Duel.GetMatchingGroup(cm.tdfilter,tp,LOCATION_GRAVE,0,nil)
if g:GetCount()<=0 then return end if g:GetCount()>0 and Duel.SendtoDeck(g,1-tp,0,REASON_EFFECT)~=0 then
if Duel.SendtoDeck(g,1-tp,0,REASON_EFFECT)==0 then return end local sg=Duel.GetOperatedGroup()
local sg=Duel.GetOperatedGroup() local ct=0
for tc in aux.Next(sg) do for tc in aux.Next(sg) do
if tc:IsLocation(LOCATION_DECK) then if tc:IsLocation(LOCATION_DECK) then
tc:ReverseInDeck() tc:ReverseInDeck()
ct=ct+1
end
end end
Duel.SortDecktop(tp,1-tp,ct)
end end
end end
\ No newline at end of file
--深界的诅咒 --深界的诅咒
function c33330026.initial_effect(c) local m=33330026
local cm=_G["c"..m]
function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=aux.AddRitualProcGreater2(c,cm.ritual_filter,LOCATION_HAND+LOCATION_DECK)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetType(EFFECT_TYPE_ACTIVATE) --Destroy Replace
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c33330026.target)
e1:SetOperation(c33330026.activate)
c:RegisterEffect(e1)
--destroy replace
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EFFECT_DESTROY_REPLACE) e2:SetCode(EFFECT_DESTROY_REPLACE)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetTarget(c33330026.reptg) e2:SetTarget(cm.reptg)
e2:SetValue(c33330026.repval) e2:SetValue(cm.repval)
e2:SetOperation(c33330026.repop) e2:SetOperation(cm.repop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c33330026.fit_monster={33330015} --Activate
function c33330026.repfilter(c,tp) function cm.ritual_filter(c)
return c:IsFaceup() and c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:IsSetCard(0x556) return c:IsSetCard(0x556) and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_MONSTER)
and c:IsReason(REASON_EFFECT+REASON_BATTLE) end
end --Destroy Replace
function c33330026.reptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.repfilter(c,tp)
if chk==0 then return e:GetHandler():IsAbleToRemove() and eg:IsExists(c33330026.repfilter,1,nil,tp) end return c:IsFaceup() and c:IsSetCard(0x556) and c:IsLocation(LOCATION_MZONE)
and c:IsControler(tp) and c:IsReason(REASON_EFFECT+REASON_BATTLE) and not c:IsReason(REASON_REPLACE)
end
function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemove() and eg:IsExists(cm.repfilter,1,nil,tp) end
return Duel.SelectEffectYesNo(tp,e:GetHandler(),96) return Duel.SelectEffectYesNo(tp,e:GetHandler(),96)
end end
function c33330026.repval(e,c) function cm.repval(e,c)
return c33330026.repfilter(c,e:GetHandlerPlayer()) return cm.repfilter(c,e:GetHandlerPlayer())
end end
function c33330026.repop(e,tp,eg,ep,ev,re,r,rp) function cm.repop(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT) Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end end
function c33330026.filter(c,e,tp,m,ft) \ No newline at end of file
if not c:IsCode(33330015) or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
local mg=m:Filter(Card.IsCanBeRitualMaterial,c,c)
if ft>0 then
return mg:CheckWithSumGreater(Card.GetRitualLevel,10,c)
else
return mg:IsExists(c33330026.mfilterf,1,nil,tp,mg,c)
end
end
function c33330026.mfilterf(c,tp,mg,rc)
if c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:GetSequence()<5 then
Duel.SetSelectedCard(c)
return mg:CheckWithSumGreater(Card.GetRitualLevel,10,rc)
else return false end
end
function c33330026.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local mg=Duel.GetRitualMaterial(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return ft>-1 and Duel.IsExistingMatchingCard(c33330026.filter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp,mg,ft)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c33330026.activate(e,tp,eg,ep,ev,re,r,rp)
local mg=Duel.GetRitualMaterial(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,c33330026.filter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp,mg,ft)
local tc=tg:GetFirst()
if tc then
mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
local mat=nil
if ft>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
mat=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,12,tc)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
mat=mg:FilterSelect(tp,c33330026.mfilterf,1,1,nil,tp,mg,tc)
Duel.SetSelectedCard(mat)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local mat2=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,12,tc)
mat:Merge(mat2)
end
tc:SetMaterial(mat)
Duel.ReleaseRitualMaterial(mat)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
tc:CompleteProcedure()
end
end
--深界遗物-免除诅咒之笼 --深界遗物-免除诅咒之笼
function c33330027.initial_effect(c) local m=33330027
local cm=_G["c"..m]
cm.def=500 --守 备 力
function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_EQUIP) e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c33330027.target) e1:SetTarget(cm.target)
e1:SetOperation(c33330027.operation) e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Def up --Equip Limit
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_UPDATE_DEFENSE)
e4:SetValue(500)
c:RegisterEffect(e4)
--Untargetable
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_EQUIP) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e2:SetCode(EFFECT_EQUIP_LIMIT)
e2:SetValue(1) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetValue(cm.eqlimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Equip limit --Def Up
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_EQUIP_LIMIT) e3:SetCode(EFFECT_UPDATE_DEFENSE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e3:SetValue(cm.def)
e3:SetValue(c33330027.eqlimit) c:RegisterEffect(e3)
c:RegisterEffect(e3) --Indes
--search local e4=Effect.CreateEffect(c)
local e6=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_EQUIP)
e6:SetDescription(aux.Stringid(33330027,0)) e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e6:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e4:SetValue(1)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) c:RegisterEffect(e4)
e6:SetCode(EVENT_LEAVE_FIELD) --Search
e6:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) local e5=Effect.CreateEffect(c)
e6:SetCondition(c33330027.thcon) e5:SetDescription(aux.Stringid(m,0))
e6:SetTarget(c33330027.thtg) e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e6:SetOperation(c33330027.thop) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
c:RegisterEffect(e6) e5:SetCode(EVENT_LEAVE_FIELD)
end e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
function c33330027.thcon(e,tp,eg,ep,ev,re,r,rp) e5:SetCondition(cm.thcon)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) and e:GetHandler():IsPreviousPosition(POS_FACEUP) e5:SetTarget(cm.thtg)
end e5:SetOperation(cm.thop)
function c33330027.thfilter(c) c:RegisterEffect(e5)
return c:IsSetCard(0x3556) and c:IsAbleToHand()
end
function c33330027.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330027.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c33330027.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c33330027.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c33330027.eqlimit(e,c)
return c:IsSetCard(0x556)
end end
function c33330027.filter(c) --Activate
return c:IsFaceup() and c:IsSetCard(0x556) function cm.filter(c,e)
return c:IsFaceup() and cm.eqlimit(e,c)
end end
function c33330027.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:GetLocation()==LOCATION_MZONE and c33330027.filter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and cm.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c33330027.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,e) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c33330027.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) Duel.SelectTarget(tp,cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,e)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0)
end end
function c33330027.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if e:GetHandler():IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then if e:GetHandler():IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then
Duel.Equip(tp,e:GetHandler(),tc) Duel.Equip(tp,e:GetHandler(),tc)
end end
end end
--Equip Limit
function cm.eqlimit(e,c)
return c:IsSetCard(0x556)
end
--Search
function cm.thfilter(c)
return c:IsSetCard(0x3556) and c:IsAbleToHand()
end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
--深界遗物-免除诅咒之笼 --深界遗物-免除诅咒之笼
function c33330028.initial_effect(c) local m=33330028
local cm=_G["c"..m]
cm.atk=500 --攻 击 力
function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_EQUIP) e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c33330028.target) e1:SetTarget(cm.target)
e1:SetOperation(c33330028.operation) e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Def up --Equip Limit
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_UPDATE_ATTACK)
e4:SetValue(500)
c:RegisterEffect(e4)
--Untargetable
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_EQUIP) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_LEVEL) e2:SetCode(EFFECT_EQUIP_LIMIT)
e2:SetValue(4) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetValue(cm.eqlimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Equip limit --Atk Up
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_EQUIP_LIMIT) e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e3:SetValue(cm.atk)
e3:SetValue(c33330028.eqlimit) c:RegisterEffect(e3)
c:RegisterEffect(e3) --Level Up
--search local e4=Effect.CreateEffect(c)
local e6=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_EQUIP)
e6:SetDescription(aux.Stringid(33330028,0)) e4:SetCode(EFFECT_UPDATE_LEVEL)
e6:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e4:SetValue(4)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) c:RegisterEffect(e4)
e6:SetCode(EVENT_LEAVE_FIELD) --Search
e6:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) local e5=Effect.CreateEffect(c)
e6:SetCondition(c33330028.thcon) e5:SetDescription(aux.Stringid(m,0))
e6:SetTarget(c33330028.thtg) e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e6:SetOperation(c33330028.thop) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
c:RegisterEffect(e6) e5:SetCode(EVENT_LEAVE_FIELD)
end e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
function c33330028.thcon(e,tp,eg,ep,ev,re,r,rp) e5:SetCondition(cm.thcon)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) and e:GetHandler():IsPreviousPosition(POS_FACEUP) e5:SetTarget(cm.thtg)
end e5:SetOperation(cm.thop)
function c33330028.thfilter(c) c:RegisterEffect(e5)
return c:IsSetCard(0x3556) and c:IsAbleToHand()
end
function c33330028.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330028.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c33330028.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c33330028.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c33330028.eqlimit(e,c)
return c:IsSetCard(0x556)
end end
function c33330028.filter(c) --Activate
return c:IsFaceup() and c:IsSetCard(0x556) function cm.filter(c,e)
return c:IsFaceup() and cm.eqlimit(e,c)
end end
function c33330028.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:GetLocation()==LOCATION_MZONE and c33330028.filter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and cm.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c33330028.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,e) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c33330028.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) Duel.SelectTarget(tp,cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,e)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0)
end end
function c33330028.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if e:GetHandler():IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then if e:GetHandler():IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then
Duel.Equip(tp,e:GetHandler(),tc) Duel.Equip(tp,e:GetHandler(),tc)
end end
end end
--Equip Limit
function cm.eqlimit(e,c)
return c:IsSetCard(0x556)
end
--Search
function cm.thfilter(c)
return c:IsSetCard(0x3556) and c:IsAbleToHand()
end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
--深界遗物-免除诅咒之笼 --深界遗物-免除诅咒之笼
function c33330029.initial_effect(c) local m=33330029
local cm=_G["c"..m]
function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_EQUIP) e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c33330029.target) e1:SetTarget(cm.target)
e1:SetOperation(c33330029.operation) e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Def up --Equip Limit
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_UPDATE_ATTACK)
e4:SetValue(-500)
c:RegisterEffect(e4)
--atk
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330029,0)) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCategory(CATEGORY_ATKCHANGE) e2:SetCode(EFFECT_EQUIP_LIMIT)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetValue(cm.eqlimit)
e2:SetRange(LOCATION_SZONE)
e2:SetCondition(c33330029.ctcon)
e2:SetOperation(c33330029.ctop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Equip limit --To Hand
local e3=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e4:SetDescription(aux.Stringid(m,0))
e3:SetCode(EFFECT_EQUIP_LIMIT) e4:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetValue(c33330029.eqlimit) e4:SetCode(EVENT_BATTLE_DAMAGE)
c:RegisterEffect(e3) e4:SetProperty(EFFECT_FLAG_DELAY)
--search e4:SetRange(LOCATION_SZONE)
local e6=Effect.CreateEffect(c) e4:SetCondition(cm.sccon)
e6:SetDescription(aux.Stringid(33330029,1)) e4:SetTarget(cm.sctg)
e6:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e4:SetOperation(cm.scop)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) c:RegisterEffect(e4)
e6:SetCode(EVENT_LEAVE_FIELD) --Search
e6:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) local e5=Effect.CreateEffect(c)
e6:SetCondition(c33330029.thcon) e5:SetDescription(aux.Stringid(m,0))
e6:SetTarget(c33330029.thtg) e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e6:SetOperation(c33330029.thop) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
c:RegisterEffect(e6) e5:SetCode(EVENT_LEAVE_FIELD)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e5:SetCondition(cm.thcon)
e5:SetTarget(cm.thtg)
e5:SetOperation(cm.thop)
c:RegisterEffect(e5)
end
--Activate
function cm.filter(c,e)
return c:IsFaceup() and cm.eqlimit(e,c)
end end
function c33330029.ctcon(e,tp,eg,ep,ev,re,r,rp) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local tc=e:GetHandler():GetEquipTarget() if chkc then return chkc:IsLocation(LOCATION_MZONE) and cm.filter(chkc) end
return Duel.GetAttacker()==tc and tc:GetBattleTarget() and tc:GetBattleTarget():IsControler(1-tp) and tc:GetBattleTarget():IsAttackAbove(1) if chk==0 then return Duel.IsExistingTarget(cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,e) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,e)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0)
end end
function c33330029.ctop(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetEquipTarget() local tc=Duel.GetFirstTarget()
local bc=tc:GetBattleTarget() if e:GetHandler():IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then
if e:GetHandler():IsRelateToEffect(e) and bc:IsControler(1-tp) and bc:IsRelateToBattle() then Duel.Equip(tp,e:GetHandler(),tc)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(-200)
bc:RegisterEffect(e1)
end end
end end
function c33330029.thcon(e,tp,eg,ep,ev,re,r,rp) --Equip Limit
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) and e:GetHandler():IsPreviousPosition(POS_FACEUP) function cm.eqlimit(e,c)
return c:IsSetCard(0x556)
end end
function c33330029.thfilter(c) --To Hand
return c:IsSetCard(0x3556) and c:IsAbleToHand() function cm.scfilter(c)
return c:IsSetCard(0x556) and c:IsAbleToHand()
end
function cm.sccon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp and eg:GetFirst()==e:GetHandler():GetEquipTarget()
end end
function c33330029.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330029.thfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.scfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c33330029.thop(e,tp,eg,ep,ev,re,r,rp) function cm.scop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c33330029.thfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.scfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
function c33330029.eqlimit(e,c) --Search
return c:IsSetCard(0x556) function cm.thfilter(c)
return c:IsSetCard(0x3556) and c:IsAbleToHand()
end end
function c33330029.filter(c) function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return c:IsFaceup() and c:IsSetCard(0x556) return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end end
function c33330029.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return chkc:GetLocation()==LOCATION_MZONE and c33330029.filter(chkc) end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
if chk==0 then return Duel.IsExistingTarget(c33330029.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c33330029.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0)
end end
function c33330029.operation(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
if e:GetHandler():IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.Equip(tp,e:GetHandler(),tc) if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end end
end end
\ No newline at end of file
This diff is collapsed.
--深界之怒-火葬炮 --深界之怒-火葬炮
function c33330031.initial_effect(c) local m=33330031
local cm=_G["c"..m]
cm.check={33330028} --发 动 要 求
function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE) e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetHintTiming(0,TIMING_MAIN_END)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(c33330031.condition) e1:SetCondition(cm.condition)
e1:SetTarget(c33330031.target) e1:SetTarget(cm.target)
e1:SetOperation(c33330031.activate) e1:SetOperation(cm.activate)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--to grave --To Grave
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330031,0)) e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_TOGRAVE) e2:SetCategory(CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCost(aux.bfgcost) e2:SetCost(aux.bfgcost)
e2:SetTarget(c33330031.tgtg) e2:SetTarget(cm.tgtg)
e2:SetOperation(c33330031.tgop) e2:SetOperation(cm.tgop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c33330031.tgfilter(c) cm.card_code_list=cm.check
return c:IsSetCard(0x556) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave() --Activate
end function cm.cfilter(c)
function c33330031.tgtg(e,tp,eg,ep,ev,re,r,rp,chk) return c:IsCode(cm.check[1]) and c:IsFaceup()
if chk==0 then return Duel.IsExistingMatchingCard(c33330031.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function c33330031.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c33330031.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
function c33330031.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN2 and Duel.IsExistingMatchingCard(c33330031.cfilter,tp,LOCATION_ONFIELD,0,1,nil)
end end
function c33330031.cfilter(c) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return c:IsCode(33330028) and c:IsFaceup() return Duel.GetCurrentPhase()==PHASE_MAIN2 and Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_ONFIELD,0,1,nil)
end end
function c33330031.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 end if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 end
local g=Duel.GetFieldGroup(tp,0,LOCATION_MZONE) local g=Duel.GetFieldGroup(tp,0,LOCATION_MZONE)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,g:GetCount(),0,LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,g:GetCount(),0,LOCATION_MZONE)
end end
function c33330031.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,0,LOCATION_MZONE) local g=Duel.GetFieldGroup(tp,0,LOCATION_MZONE)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_RULE) Duel.SendtoGrave(g,REASON_RULE)
...@@ -56,10 +47,25 @@ function c33330031.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,10 +47,25 @@ function c33330031.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_CANNOT_ACTIVATE) e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1) e1:SetTargetRange(0,1)
e1:SetValue(c33330031.actlimit) e1:SetValue(cm.actlimit)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c33330031.actlimit(e,re,tp) function cm.actlimit(e,re,tp)
return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsImmuneToEffect(e) return re:IsActiveType(TYPE_MONSTER)
end end
--To Grave
function cm.tgfilter(c)
return c:IsSetCard(0x556) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
end
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
\ No newline at end of file
--深界庇护所 娜娜奇的小屋 --深界庇护所 娜娜奇的小屋
function c33330032.initial_effect(c) local m=33330032
--Activate(effect) local cm=_G["c"..m]
local e4=Effect.CreateEffect(c) cm.counter=0x1556 --指 示 物
e4:SetCategory(CATEGORY_RECOVER) cm.recover=500 --回 复 倍 数
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_PLAYER_TARGET) function cm.initial_effect(c)
e4:SetType(EFFECT_TYPE_ACTIVATE) --Activate
e4:SetCode(EVENT_CHAINING) local e1=Effect.CreateEffect(c)
e4:SetCondition(c33330032.condition) e1:SetCategory(CATEGORY_RECOVER)
e4:SetTarget(c33330032.target) e1:SetType(EFFECT_TYPE_ACTIVATE)
e4:SetOperation(c33330032.activate) e1:SetCode(EVENT_CHAINING)
c:RegisterEffect(e4) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_PLAYER_TARGET)
--tohand e1:SetCondition(cm.condition)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
--To Hand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330032,0)) e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_TOHAND) e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_TO_GRAVE) e2:SetCode(EVENT_TO_GRAVE)
e2:SetCondition(c33330032.thcon) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetTarget(c33330032.thtg) e2:SetCondition(cm.thcon)
e2:SetOperation(c33330032.thop) e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c33330032.thcon(e,tp,eg,ep,ev,re,r,rp) --Activate
return e:GetHandler():IsReason(REASON_EFFECT) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
end return re:IsHasCategory(CATEGORY_DESTROY)
function c33330032.thfilter(c)
return c:IsSetCard(0x556) and c:IsAbleToHand()
end end
function c33330032.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330032.thfilter,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.GetCounter(tp,1,0,cm.counter)>0 end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE) local ct=Duel.GetCounter(tp,1,0,cm.counter)
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(ct*cm.recover)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,ct*cm.recover)
end end
function c33330032.thop(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330032.thfilter),tp,LOCATION_DECK,0,1,1,nil) local ct=Duel.GetCounter(tp,1,0,cm.counter)
if g:GetCount()>0 then if ct>0 and Duel.Recover(tp,ct*cm.recover,REASON_EFFECT)~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,1)
e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end end
end end
function c33330032.condition(e,tp,eg,ep,ev,re,r,rp) --To Hand
return re:IsHasCategory(CATEGORY_DESTROY) function cm.thfilter(c)
return c:IsSetCard(0x556) and c:IsAbleToHand()
end end
function c33330032.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return Duel.GetCounter(tp,1,0,0x1019)>0 end return e:GetHandler():IsReason(REASON_EFFECT)
local ct=Duel.GetCounter(tp,1,0,0x1019)
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(ct*500)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,ct*500)
end end
function c33330032.activate(e,tp,eg,ep,ev,re,r,rp) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=Duel.GetCounter(tp,1,0,0x1019) if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
if ct>0 and Duel.Recover(tp,ct*500,REASON_EFFECT)~=0 then Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,1)
e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
end end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
--深界の生骸 米蒂 --深界の生骸 米蒂
function c33330033.initial_effect(c) local m=33330033
--xyz summon local cm=_G["c"..m]
aux.AddXyzProcedure(c,nil,4,2) cm.counter=0x1556 --指 示 物
cm.atk=700 --攻 击 力
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--remove --Xyz Summon
aux.AddXyzProcedure(c,nil,4,2)
--Destroy
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330033,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_COUNTER) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_COUNTER)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetTarget(c33330033.dtg) e1:SetTarget(cm.destg)
e1:SetOperation(c33330033.dop) e1:SetOperation(cm.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--attackup --Atk Up
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCondition(cm.atkcon)
e2:SetCondition(c33330033.acon) e2:SetValue(cm.atkval)
e2:SetValue(c33330033.attackup)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Special Summon --Special Summon
local e4=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330033,1)) e3:SetDescription(aux.Stringid(m,1))
e4:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCode(EVENT_LEAVE_FIELD)
e4:SetCode(EVENT_LEAVE_FIELD) e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e4:SetCondition(c33330033.sumcon) e3:SetCondition(cm.spcon)
e4:SetTarget(c33330033.sumtg) e3:SetTarget(cm.sptg)
e4:SetOperation(c33330033.sumop) e3:SetOperation(cm.spop)
c:RegisterEffect(e4) c:RegisterEffect(e3)
end end
function c33330033.sumcon(e,tp,eg,ep,ev,re,r,rp) --Destroy
return e:GetHandler():IsPreviousPosition(POS_FACEUP) function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
end local g=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_ONFIELD,0,nil,TYPE_SPELL+TYPE_TRAP)
function c33330033.filter(c,e,tp) if chk==0 then return g:GetCount()>0 and e:GetHandler():IsCanAddCounter(cm.counter,g:GetCount()) end
return c:IsSetCard(0x556) and c:IsRankBelow(6) and c:IsType(TYPE_XYZ) and c:IsCanBeSpecialSummoned(e,0,tp,false,true) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,g:GetCount(),tp,0)
function c33330033.sumtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCountFromEx(tp)>0
and Duel.IsExistingMatchingCard(c33330033.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetTargetCard(e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function c33330033.sumop(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local g=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_ONFIELD,0,nil,TYPE_SPELL+TYPE_TRAP)
if Duel.GetLocationCountFromEx(tp)<=0 then return end if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) local ct=Duel.Destroy(g,REASON_EFFECT)
local g=Duel.SelectMatchingCard(tp,c33330033.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp) local c=e:GetHandler()
local tc=g:GetFirst() if ct>0 and c:IsRelateToEffect(e) and c:IsFaceup() then
if tc and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 and c:IsRelateToEffect(e) then c:AddCounter(cm.counter,ct)
Duel.Overlay(tc,Group.FromCards(c)) end
end end
end end
function c33330033.acon(e,tp,eg,ep,ev,re,r,rp) --Atk Up
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayGroup():IsExists(Card.IsSetCard,1,nil,0x557) return e:GetHandler():GetOverlayGroup():IsExists(Card.IsSetCard,1,nil,0x557)
end end
function c33330033.attackup(e,c) function cm.atkval(e,c)
return c:GetCounter(0x1019)*700 return c:GetCounter(cm.counter)*cm.atk
end end
function c33330033.dtg(e,tp,eg,ep,ev,re,r,rp,chk) --Special Summon
local g=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_ONFIELD,0,nil,TYPE_SPELL+TYPE_TRAP) function cm.spfilter(c,e,tp)
if chk==0 then return g:GetCount()>0 and e:GetHandler():IsCanAddCounter(0x1019,g:GetCount()) end return c:IsSetCard(0x556) and c:IsRankBelow(6) and c:IsType(TYPE_XYZ) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,g:GetCount(),tp,0) function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousPosition(POS_FACEUP)
end end
function c33330033.dop(e,tp,eg,ep,ev,re,r,rp) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCountFromEx(tp)>0
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCountFromEx(tp)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_ONFIELD,0,nil,TYPE_SPELL+TYPE_TRAP) local tc=g:GetFirst()
if g:GetCount()>0 then if tc and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 and c:IsRelateToEffect(e) then
local ct=Duel.Destroy(g,REASON_EFFECT) Duel.Overlay(tc,c)
if ct>0 and c:IsRelateToEffect(e) and c:IsFaceup() then
c:AddCounter(0x1019,ct)
end
end end
end end
\ No newline at end of file
This diff is collapsed.
...@@ -76,11 +76,11 @@ end ...@@ -76,11 +76,11 @@ end
function cm.indtg(e,c) function cm.indtg(e,c)
return c:IsFaceup() and c:IsSetCard(0x556) return c:IsFaceup() and c:IsSetCard(0x556)
end end
function cm.indval1(e,re,rp) function cm.indval1(e,re)
return aux.indoval(e,re,rp) and re:IsActiveType(TYPE_SPELL) return aux.indoval(e,re) and re:IsActiveType(TYPE_SPELL)
end end
function cm.indval2(e,re,rp) function cm.indval2(e,re)
return aux.indoval(e,re,rp) and re:IsActiveType(TYPE_MONSTER) return aux.indoval(e,re) and re:IsActiveType(TYPE_MONSTER)
end end
function cm.efilter(e,te) function cm.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer() and te:IsActiveType(TYPE_TRAP) return te:GetOwnerPlayer()~=e:GetHandlerPlayer() and te:IsActiveType(TYPE_TRAP)
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment