Commit 7d98f991 authored by Nemo Ma's avatar Nemo Ma

250420 wd

parent 83a018a1
...@@ -88,6 +88,7 @@ ...@@ -88,6 +88,7 @@
7407235 0 7407235 0
7423643 0 7423643 0
7423753 0 7423753 0
7423755 0
7451999 0 7451999 0
7485071 0 7485071 0
7485073 0 7485073 0
...@@ -767,6 +768,11 @@ ...@@ -767,6 +768,11 @@
53796188 0 53796188 0
53796189 0 53796189 0
53796190 0 53796190 0
53797138 0
53797139 0
53797140 0
53797141 0
53797142 0
58510970 0 58510970 0
60000002 0 60000002 0
60000003 0 60000003 0
...@@ -1004,6 +1010,12 @@ ...@@ -1004,6 +1010,12 @@
70001023 0 70001023 0
70001024 0 70001024 0
70001025 0 70001025 0
70001035 0
70001037 0
70001038 0
70001040 0
70001041 0
70001042 0
70002010 0 70002010 0
70002012 0 70002012 0
70002024 0 70002024 0
...@@ -1162,22 +1174,6 @@ ...@@ -1162,22 +1174,6 @@
70052430 0 70052430 0
70052431 0 70052431 0
70052433 0 70052433 0
71000100 0
71000101 0
71000102 0
71000103 0
71000104 0
71000106 1
71000107 0
71000108 1
71000109 1
71000110 1
71000112 0
71000113 0
71000114 0
71000115 0
71000116 0
71000117 0
71500005 0 71500005 0
71500006 0 71500006 0
71500016 0 71500016 0
...@@ -1691,11 +1687,14 @@ ...@@ -1691,11 +1687,14 @@
90701013 0 90701013 0
90701015 0 90701015 0
90701016 0 90701016 0
90720630 0
90720631 0
91000101 0 91000101 0
91010080 0 91010080 0
91011010 0 91011010 0
91011012 0 91011012 0
91011014 0 91011014 0
91030028 0
91060009 0 91060009 0
91060011 0 91060011 0
91060013 0 91060013 0
...@@ -1871,6 +1870,13 @@ ...@@ -1871,6 +1870,13 @@
98920780 0 98920780 0
98920803 0 98920803 0
98920805 0 98920805 0
98920815 0
98920826 0
98920833 0
98920851 0
98920869 0
98920888 0
98920890 0
98933000 0 98933000 0
98933001 0 98933001 0
98933002 0 98933002 0
...@@ -1904,6 +1910,7 @@ ...@@ -1904,6 +1910,7 @@
98940043 0 98940043 0
98940045 0 98940045 0
98940046 0 98940046 0
98940047 0
98941000 0 98941000 0
98941043 0 98941043 0
98941044 0 98941044 0
...@@ -1921,7 +1928,14 @@ ...@@ -1921,7 +1928,14 @@
98941059 0 98941059 0
98941060 0 98941060 0
98941061 0 98941061 0
98942050 0
98942051 0
98942059 0 98942059 0
98942060 0
98942061 0
98942062 0
98942063 0
98942064 0
99550610 0 99550610 0
99700125 0 99700125 0
99700135 0 99700135 0
......
No preview for this file type
expansions/pics/98941044.jpg

150 KB | W: | H:

expansions/pics/98941044.jpg

28.4 KB | W: | H:

expansions/pics/98941044.jpg
expansions/pics/98941044.jpg
expansions/pics/98941044.jpg
expansions/pics/98941044.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/98941053.jpg

36.7 KB | W: | H:

expansions/pics/98941053.jpg

103 KB | W: | H:

expansions/pics/98941053.jpg
expansions/pics/98941053.jpg
expansions/pics/98941053.jpg
expansions/pics/98941053.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -10,6 +10,7 @@ function s.initial_effect(c) ...@@ -10,6 +10,7 @@ function s.initial_effect(c)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(2,id) e1:SetCountLimit(2,id)
e1:SetCondition(s.condition)
e1:SetTarget(s.target) e1:SetTarget(s.target)
e1:SetOperation(s.operation) e1:SetOperation(s.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -17,6 +18,9 @@ end ...@@ -17,6 +18,9 @@ end
function s.lcheck(g) function s.lcheck(g)
return g:IsExists(Card.IsLinkSetCard,1,nil,0xd2) return g:IsExists(Card.IsLinkSetCard,1,nil,0xd2)
end end
function s.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() local c=e:GetHandler()
if chkc then return chkc:IsOnField() and chkc:IsFaceup() end if chkc then return chkc:IsOnField() and chkc:IsFaceup() end
......
--赞颂美德的魔瞳
local m=70001035
local cm=_G["c"..m]
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
--draw
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetRange(LOCATION_SZONE)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetCountLimit(1,m+1)
e2:SetCondition(cm.drcon)
e2:SetOperation(cm.drop)
c:RegisterEffect(e2)
--set
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,2))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,m+1)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetTarget(cm.settg)
e3:SetOperation(cm.setop)
c:RegisterEffect(e3)
if not cm.global_check then
cm.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_TO_GRAVE)
ge1:SetCondition(cm.checkcon)
ge1:SetOperation(cm.checkop)
Duel.RegisterEffect(ge1,0)
end
end
function cm.cfilter(c)
return c:IsSetCard(0x1bb)
end
function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil)
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(0,m,RESET_PHASE+PHASE_END,0,1)
end
function cm.filter(c)
return c:IsSetCard(0x1bb) and c:IsAbleToHand()
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,2,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
local sg=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,1,nil)
if sg:GetCount()>0 then
Duel.BreakEffect()
Duel.SendtoDeck(sg,nil,SEQ_DECKBOTTOM,REASON_EFFECT)
end
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,0)
e1:SetValue(cm.aclimit)
Duel.RegisterEffect(e1,tp)
end
function cm.aclimit(e,re,tp)
return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsSetCard(0x1bb)
end
function cm.drcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(0,m)>0
end
function cm.drop(e,tp,eg,ep,ev,re,r,rp)
local d=Duel.GetFlagEffect(0,m)
Duel.Draw(tp,d,REASON_EFFECT)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,0)
e1:SetValue(cm.aclimit)
Duel.RegisterEffect(e1,tp)
end
function cm.sfilter(c)
return c:IsSetCard(0x1bb) and c:IsType(TYPE_SPELL) and c:IsSSetable()
end
function cm.settg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and cm.sfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.sfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectTarget(tp,cm.sfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,g,1,0,0)
end
function cm.setop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and aux.NecroValleyFilter()(tc) then
Duel.SSet(tp,tc)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,0)
e1:SetValue(cm.aclimit)
Duel.RegisterEffect(e1,tp)
end
end
\ No newline at end of file
--逾越痛苦的魔瞳
local m=70001037
local cm=_G["c"..m]
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCondition(cm.condition)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
--remove
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,m)
e2:SetCondition(cm.con)
e2:SetCost(aux.bfgcost)
e2:SetTarget(cm.tg)
e2:SetOperation(cm.op)
c:RegisterEffect(e2)
Duel.AddCustomActivityCounter(m,ACTIVITY_CHAIN,cm.chainfilter)
end
function cm.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x1bb)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.PayLPCost(tp,1000)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_MZONE) and aux.NegateEffectMonsterFilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(aux.NegateEffectMonsterFilter,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local g=Duel.SelectTarget(tp,aux.NegateEffectMonsterFilter,tp,0,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:IsControler(1-tp) and tc:IsCanBeDisabledByEffect(e) then
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,0)
e1:SetValue(cm.aclimit)
Duel.RegisterEffect(e1,tp)
end
function cm.aclimit(e,re,tp)
return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsSetCard(0x1bb)
end
function cm.chainfilter(re,tp,cid)
return not (re:IsActiveType(TYPE_SPELL) and re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetHandler():IsSetCard(0x1bb))
end
function cm.scfilter(c,tp)
return c:IsSummonPlayer(1-tp)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetCustomActivityCount(m,tp,ACTIVITY_CHAIN)>0 or Duel.GetCustomActivityCount(m,1-tp,ACTIVITY_CHAIN)>0) and eg:IsExists(cm.scfilter,1,nil,tp)
end
function cm.thfilter(c)
return c:IsLevelAbove(5) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function cm.tg(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 chk==0 then return Duel.IsExistingTarget(cm.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,cm.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function cm.sumfilter(c)
return c:IsSummonable(true,nil)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SendtoHand(tc,nil,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_HAND) then
local g=Duel.GetMatchingGroup(cm.sumfilter,tp,LOCATION_HAND,0,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON)
local sc=g:Select(tp,1,1,nil):GetFirst()
Duel.ShuffleHand(tp)
Duel.Summon(tp,sc,true,nil)
else
Duel.ShuffleHand(tp)
end
end
end
\ No newline at end of file
--魇瞳魔女 莫甘娜
local m=70001038
local cm=_G["c"..m]
function cm.initial_effect(c)
c:EnableReviveLimit()
c:SetSPSummonOnce(m)
aux.AddFusionProcFunRep(c,cm.ffilter,2,true)
aux.AddContactFusionProcedure(c,Card.IsAbleToGraveAsCost,LOCATION_ONFIELD,0,Duel.SendtoGrave,REASON_COST)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,m)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
--destroy
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,m+1)
e2:SetCondition(cm.descon)
e2:SetTarget(cm.destg)
e2:SetOperation(cm.desop)
c:RegisterEffect(e2)
end
function cm.ffilter(c)
return c:IsSetCard(0x1bb) and c:IsType(TYPE_MONSTER)
end
function cm.spfilter(c,e,tp)
return not c:IsCode(m)
and c:IsSetCard(0x1bb) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and cm.spfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,cm.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and aux.NecroValleyFilter()(tc) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
return not re:GetHandler():IsCode(m) and re:GetHandler():IsSetCard(0x1bb)
and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_ONFIELD) end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,2,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tg=g:Filter(Card.IsRelateToEffect,nil,e)
if tg:GetCount()>0 then
Duel.Destroy(tg,REASON_EFFECT)
end
end
\ No newline at end of file
--瞳之天魔女 莫甘娜
local m=70001040
local cm=_G["c"..m]
function cm.initial_effect(c)
--immune
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.con)
e1:SetValue(1)
c:RegisterEffect(e1)
--tohand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m)
e2:SetCost(cm.cost)
e2:SetTarget(cm.tg)
e2:SetOperation(cm.op)
c:RegisterEffect(e2)
end
function cm.mfilter(c)
return c:IsSetCard(0x1bb) and c:IsType(TYPE_SPELL)
end
function cm.con(e,c)
local g=Duel.GetMatchingGroup(cm.mfilter,e:GetHandlerPlayer(),LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
local ct=g:GetClassCount(Card.GetCode)
return ct>=3
end
function cm.costfilter(c)
return c:IsSetCard(0x1bb) and not c:IsCode(m) and c:IsAbleToGraveAsCost()
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
function cm.filter(c,e,tp)
return c:IsSetCard(0x1bb) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
--闪刀神式-刃判
local m=70001041
local cm=_G["c"..m]
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAINING)
e1:SetCondition(cm.regcon)
e1:SetOperation(cm.regop1)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_NEGATED)
e2:SetCondition(cm.regcon)
e2:SetOperation(cm.regop2)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetCountLimit(1)
e3:SetCondition(cm.effcon)
e3:SetOperation(cm.effop)
e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp)
e1:SetLabelObject(e3)
e2:SetLabelObject(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_HAND_LIMIT)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetTargetRange(1,0)
e4:SetValue(100)
Duel.RegisterEffect(e4,tp)
end
function cm.regcon(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL)
end
function cm.regop1(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
e:GetLabelObject():SetLabel(ct+1)
end
function cm.regop2(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
if ct==0 then ct=1 end
e:GetLabelObject():SetLabel(ct-1)
end
function cm.effcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetLabel()>0
end
function cm.sfilter(c)
return c:IsSetCard(0x115) and not c:IsCode(m) and c:IsType(TYPE_SPELL) and c:IsAbleToHand()
end
function cm.spfilter(c,lv,e,tp)
return c:IsLevelBelow(lv) and c:IsSetCard(0x115) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.effop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,m)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.sfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,e:GetLabel(),nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK,0,1,nil,g:GetCount(),e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK,0,1,1,nil,g:GetCount(),e,tp)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
end
end
--闪刀超式-再刃
local m=70001042
local cm=_G["c"..m]
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(TIMING_END_PHASE)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
if cm.counter==nil then
cm.counter=true
cm[0]=0
cm[1]=0
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e2:SetOperation(cm.resetcount)
Duel.RegisterEffect(e2,0)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetCode(EVENT_REMOVE)
e3:SetOperation(cm.addcount)
Duel.RegisterEffect(e3,0)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e4:SetCode(EVENT_TO_GRAVE)
e4:SetOperation(cm.addcount)
Duel.RegisterEffect(e4,0)
end
end
function cm.resetcount(e,tp,eg,ep,ev,re,r,rp)
cm[0]=0
cm[1]=0
end
function cm.addcount(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
if tc:IsSetCard(0x115) then
local p=tc:GetPreviousControler()
cm[p]=cm[p]+1
end
tc=eg:GetNext()
end
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetOperation(cm.droperation)
Duel.RegisterEffect(e1,tp)
end
function cm.droperation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,m)
Duel.Draw(tp,cm[tp],REASON_EFFECT)
local e4=Effect.CreateEffect(e:GetHandler())
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_HAND_LIMIT)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetTargetRange(1,0)
e4:SetValue(100)
Duel.RegisterEffect(e4,tp)
end
--I:P伪装舞会小夜
local s,id,o=GetID()
function c98920815.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,c98920815.lkfilter,2,2)
c:EnableReviveLimit()
--to hand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,0))
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,id)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCondition(s.thcon)
e2:SetTarget(s.thtg)
e2:SetOperation(s.thop)
c:RegisterEffect(e2)
--indes
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_BE_MATERIAL)
e2:SetProperty(EFFECT_FLAG_EVENT_PLAYER)
e2:SetCondition(c98920815.indcon)
e2:SetOperation(c98920815.indop)
c:RegisterEffect(e2)
end
function c98920815.valcheck(e,c)
local g=c:GetMaterial()
if g:IsExists(Card.IsControler,1,nil,1-c:GetControler()) then
c:RegisterFlagEffect(98920815,RESET_EVENT+0x4fe0000,0,1)
end
end
function c98920815.lkfilter(c)
return c:IsAttribute(ATTRIBUTE_DARK+ATTRIBUTE_LIGHT) and not c:IsType(TYPE_LINK)
end
function s.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function s.filter(c)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsAbleToHand()
end
function s.exfilter(c)
return c:IsType(TYPE_LINK) and c:IsAttribute(ATTRIBUTE_DARK+ATTRIBUTE_LIGHT) and c:IsLinkAbove(2)
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.GetMatchingGroup(c98920815.exfilter,tp,LOCATION_EXTRA,0,nil)
local tc=g:GetFirst()
while tc do
--extra material
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EFFECT_EXTRA_LINK_MATERIAL)
e1:SetRange(LOCATION_EXTRA)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,2)
e1:SetTargetRange(0,LOCATION_MZONE)
e1:SetValue(c98920815.matval)
tc:RegisterEffect(e1)
tc=g:GetNext()
end
end
function c98920815.sumlimit(e,c)
if not c then return false end
return c:IsControler(e:GetHandlerPlayer())
end
function c98920815.exmatcheck(c,lc,tp)
if not c:IsControler(1-tp) then return false end
local le={c:IsHasEffect(EFFECT_EXTRA_LINK_MATERIAL,tp)}
for _,te in pairs(le) do
local f=te:GetValue()
local related,valid=f(te,lc,nil,c,tp)
if related and not te:GetHandler():IsCode(98920815) then return false end
end
return true
end
function c98920815.matval(e,lc,mg,c,tp)
if e:GetHandler()~=lc then return false,nil end
return true,not mg or not mg:IsExists(c98920815.exmatcheck,1,nil,lc,tp)
end
function c98920815.indcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_LINK
end
function c98920815.indop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(98920815,1))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_CANNOT_BE_BATTLE_TARGET)
e1:SetValue(aux.imval1)
rc:RegisterEffect(e1,true)
end
\ No newline at end of file
--迷宫城的陷阱姬
function c98920826.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(98920826,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,98920826)
e1:SetCondition(c98920826.spcon)
e1:SetTarget(c98920826.sptg)
e1:SetOperation(c98920826.spop)
c:RegisterEffect(e1)
local e4=e1:Clone()
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_CHAINING)
e4:SetCondition(c98920826.spcon1)
c:RegisterEffect(e4)
--cannot be target/effect indestructable
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c98920826.dcon)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e3:SetValue(aux.indoval)
c:RegisterEffect(e3)
--remove
local e14=Effect.CreateEffect(c)
e14:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e14:SetCode(EVENT_ATTACK_ANNOUNCE)
e14:SetRange(LOCATION_MZONE)
e14:SetTarget(c98920826.cptarget)
e14:SetOperation(c98920826.cpoperation)
c:RegisterEffect(e14)
local e15=e14:Clone()
e15:SetType(EFFECT_TYPE_QUICK_O)
e15:SetCode(EVENT_CHAINING)
e15:SetCondition(c98920826.descon)
c:RegisterEffect(e15)
end
function c98920826.cfilter(c,tp)
return c:GetType()==TYPE_TRAP and c:IsControler(tp)
end
function c98920826.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c98920826.cfilter,1,nil,tp)
end
function c98920826.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c98920826.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_INACTIVATE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetValue(c98920826.efilter)
Duel.RegisterEffect(e2,tp)
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_DISEFFECT)
Duel.RegisterEffect(e3,tp)
Duel.BreakEffect()
end
function c98920826.dcon(e)
return Duel.IsExistingMatchingCard(Card.IsFacedown,e:GetHandlerPlayer(),LOCATION_ONFIELD,0,1,nil)
end
function c98920826.spcon1(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetCurrentChain()
if ct<2 then return false end
local te,p=Duel.GetChainInfo(ct-1,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
if not te then return false end
local b1=te:GetHandler():IsSetCard(0x17e) and not te:GetHandler():IsCode(id)
return b1 and p==tp and rp==1-tp
end
function c98920826.efilter(e,ct)
local p=e:GetHandlerPlayer()
local te,tp,loc=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TRIGGERING_LOCATION)
return p==tp and te:GetHandler():IsSetCard(0x17e)
end
function c98920826.cpfilter(c)
return c:GetType()==TYPE_TRAP and c:IsSetCard(0x17e) and c:CheckActivateEffect(false,true,false)~=nil
end
function c98920826.cptarget(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then
local te=e:GetLabelObject()
local tg=te:GetTarget()
return tg and tg(e,tp,eg,ep,ev,re,r,rp,0,chkc)
end
local loc1,loc2=LOCATION_GRAVE,0
if chk==0 then return Duel.IsExistingTarget(c98920826.cpfilter,tp,loc1,loc2,1,nil) end
e:SetProperty(EFFECT_FLAG_CARD_TARGET)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c98920826.cpfilter,tp,loc1,loc2,1,1,nil)
local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(false,true,true)
Duel.ClearTargetCard()
g:GetFirst():CreateEffectRelation(e)
local tg=te:GetTarget()
e:SetProperty(te:GetProperty())
if tg then tg(e,tp,ceg,cep,cev,cre,cr,crp,1) end
te:SetLabelObject(e:GetLabelObject())
e:SetLabelObject(te)
Duel.ClearOperationInfo(0)
end
function c98920826.cpoperation(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject()
if not te then return end
local tc=te:GetHandler()
if not (tc:IsRelateToEffect(e) and tc:GetType()==TYPE_TRAP) then return end
e:SetLabelObject(te:GetLabelObject())
local op=te:GetOperation()
if op then op(e,tp,eg,ep,ev,re,r,rp) end
end
function c98920826.descon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp
end
\ No newline at end of file
--异次元之骑士
local s,id,o=GetID()
function c98920833.initial_effect(c)
--spsummon
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(98920833,0))
e0:SetCategory(CATEGORY_SPECIAL_SUMMON)
e0:SetType(EFFECT_TYPE_QUICK_O)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetRange(LOCATION_HAND)
e0:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e0:SetCountLimit(1,98920833)
e0:SetCost(c98920833.spcost)
e0:SetTarget(c98920833.sptg)
e0:SetOperation(c98920833.spop)
c:RegisterEffect(e0)
--to deck top
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(98920833,0))
e1:SetCategory(CATEGORY_GRAVE_ACTION)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,98940833)
e1:SetTarget(c98920833.tdtg)
e1:SetOperation(c98920833.tdop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--search
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_REMOVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,98930833)
e2:SetTarget(c98920833.thtg1)
e2:SetOperation(c98920833.thop1)
c:RegisterEffect(e2)
end
function c98920833.rfilter(c,tp)
return Duel.GetMZoneCount(tp,c)>0
end
function c98920833.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c98920833.rfilter,tp,LOCATION_ONFIELD,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c98920833.rfilter,tp,LOCATION_ONFIELD,0,1,1,nil,tp)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function c98920833.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c98920833.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
function c98920833.Afilter(c,att)
return c:IsAttribute(att)
end
function s.rmfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove() and not Duel.IsExistingMatchingCard(c98920833.Afilter,tp,LOCATION_GRAVE,0,1,nil,c:GetAttribute())
end
function c98920833.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.rmfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK)
end
function c98920833.tdop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,s.rmfilter,tp,LOCATION_DECK,0,1,1,nil)
if #g>0 then
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
end
function c98920833.thfilter(c)
return c:IsAttack(1400) and c:IsDefense(1200) and c:IsRace(RACE_WARRIOR) and not c:IsCode(98920833) and c:IsAbleToHand()
end
function c98920833.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c98920833.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c98920833.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c98920833.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 c98920851.initial_effect(c)
c:EnableReviveLimit()
c:SetSPSummonOnce(98920851)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(c98920851.spcon)
e1:SetTarget(c98920851.sptg)
e1:SetOperation(c98920851.spop)
c:RegisterEffect(e1)
--damage
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(98920851,0))
e1:SetCategory(CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c98920851.eqcon1)
e1:SetTarget(c98920851.target)
e1:SetOperation(c98920851.operation)
c:RegisterEffect(e1)
end
function c98920851.spfilter(c,tp)
return c:IsReleasable(REASON_SPSUMMON) and Duel.GetMZoneCount(tp,c,tp)>0
end
function c98920851.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.IsExistingMatchingCard(c98920851.spfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,tp)
end
function c98920851.sptg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local g=Duel.GetMatchingGroup(c98920851.spfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local tc=g:SelectUnselect(nil,tp,false,true,1,1)
if tc then
e:SetLabelObject(tc)
return true
else return false end
end
function c98920851.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g=e:GetLabelObject()
if g:GetOwner()==1-e:GetHandlerPlayer() then c:RegisterFlagEffect(98920851,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD,0,1) end
Duel.Release(g,REASON_SPSUMMON)
local atk=g:GetAttack()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
end
function c98920851.eqcon1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:GetFlagEffect(98920851)>0
end
function c98920851.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,e:GetHandler():GetAttack())
end
function c98920851.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Damage(tp,e:GetHandler():GetAttack(),REASON_EFFECT)
end
\ No newline at end of file
--刻魔 审判之时
local s,id,o=GetID()
function s.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,60764609,s.ffilter,1,true,true)
--special summon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetRange(LOCATION_EXTRA)
e1:SetValue(aux.fuslimit)
c:RegisterEffect(e1)
--special summon rule
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(c98920869.sprcon)
e2:SetTarget(c98920869.sprtg)
e2:SetOperation(c98920869.sprop)
c:RegisterEffect(e2)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,id)
e1:SetTarget(s.thtg)
e1:SetOperation(s.thop)
c:RegisterEffect(e1)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,1))
e3:SetCategory(CATEGORY_REMOVE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,id+o)
e3:SetCost(s.damcost)
e3:SetTarget(s.damtg)
e3:SetOperation(s.damop)
c:RegisterEffect(e3)
end
function s.ffilter(c)
return c:IsSetCard(0x1b0) and c:IsType(TYPE_LINK)
end
function c98920869.cfilterx(c)
return c:IsFaceup()
end
function c98920869.sprfilter(c,tp,sc)
local eqc=c:GetEquipGroup():FilterCount(c98920869.cfilterx,nil)
return c:IsFusionCode(60764609) and eqc>0 and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function c98920869.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.CheckReleaseGroupEx(tp,c98920869.sprfilter,1,REASON_SPSUMMON,false,nil,tp,c)
end
function c98920869.sprtg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local g=Duel.GetReleaseGroup(tp,false,REASON_SPSUMMON):Filter(c98920869.sprfilter,nil,tp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local tc=g:SelectUnselect(nil,tp,false,true,1,1)
if tc then
e:SetLabelObject(tc)
return true
else return false end
end
function c98920869.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local tc=e:GetLabelObject()
c:SetMaterial(Group.FromCards(tc))
Duel.Release(tc,REASON_SPSUMMON)
end
function s.cfilter(c,code)
return c:IsCode(code) and (c:IsFaceup() or not c:IsOnField())
end
function s.thfilter(c,tp)
return c:IsAbleToHand() and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FIEND)
and not Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,0,1,nil,c:GetCode())
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_DECK,0,1,1,nil,tp)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function s.damcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(s.costfilter,tp,LOCATION_GRAVE,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,s.costfilter,tp,LOCATION_GRAVE,0,1,1,c)
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end
function s.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_HAND,1,nil,1-tp) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_HAND)
end
function s.damop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_HAND,nil,1-tp)
if g:GetCount()==0 then return end
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_REMOVE)
local tc=g:Select(1-tp,1,1,nil):GetFirst()
Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)
end
\ No newline at end of file
--破碎龙 甘多拉Z
local s,id,o=GetID()
function c98920888.initial_effect(c)
--spsummon itself
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e1:SetCountLimit(1,id)
e1:SetCost(s.spcost)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
--Destroy+Remove
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetTarget(s.destg)
e1:SetOperation(s.desop)
c:RegisterEffect(e1)
--Effect 1 : Search
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(98920888,0))
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetCountLimit(1,98920888)
e1:SetTarget(c98920888.thtg)
e1:SetOperation(c98920888.thop)
c:RegisterEffect(e1)
end
function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.PayLPCost(tp,math.floor(Duel.GetLP(tp)/2))
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
function s.desfilter(c)
return c:IsFaceup() and c:IsAttackBelow(1900)
end
function s.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) end
local sg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,c)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,sg,sg:GetCount(),0,0)
end
function c98920888.xxfilter(c)
return math.max(c:GetTextAttack(),0)
end
function s.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local sg=Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,aux.ExceptThisCard(e))
local ct=Duel.Destroy(sg,REASON_EFFECT,LOCATION_REMOVED)
if ct>0 and Duel.GetTurnPlayer()==e:GetHandlerPlayer() then
local og=Duel.GetOperatedGroup()
local mg,atk=og:GetMaxGroup(c98920888.xxfilter)
if c:IsFaceup() and c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
end
end
end
function c98920888.thfilter(c)
return c:IsSetCard(0xf5) and c:IsType(TYPE_MONSTER) and not c:IsCode(98920888) and c:IsAbleToHand()
end
function c98920888.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c98920888.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c98920888.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c98920888.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
--码丽丝<我>爱丽丝
-- 卡片基础信息
local s, id = GetID()
function s.initial_effect(c)
-- 卡片类型设定
c:EnableReviveLimit()
-- 连接属性设定
aux.AddLinkProcedure(c, s.matfilter, 1, 1)
-- ① 连接召唤成功时效果
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,id)
e1:SetCondition(s.excon)
e1:SetTarget(s.extg)
e1:SetOperation(s.exop)
c:RegisterEffect(e1)
-- ② 被除外时效果
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_REMOVE)
e2:SetCountLimit(1,id+100)
e2:SetCost(s.thcost)
e2:SetTarget(s.thtg)
e2:SetOperation(s.thop)
c:RegisterEffect(e2)
end
-- Link素材要求(码丽丝字段且不是自身)
function s.matfilter(c)
return c:IsSetCard(0x1bf) and not c:IsCode(98920890)
end
-- ① 效果实现
function s.excon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function s.filter(c)
return c:IsSetCard(0x1bf) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemove()
end
function s.extg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE)
end
function s.exop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if #g>0 then
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
end
-- ② 效果实现
function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,300) end
Duel.PayLPCost(tp,300)
end
function s.thfilter(c)
return c:IsSetCard(0x1bf) and (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP))
and not Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,c:GetCode())
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil) end
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if #g>0 then
local tc=g:GetFirst()
local b=Duel.GetLocationCount(tp,LOCATION_SZONE)>0
local op=0
if b then
op=Duel.SelectOption(tp,1190,1153)
else
op=Duel.SelectOption(tp,1190)
end
if op==0 then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
else
Duel.SSet(tp,tc)
end
end
end
\ No newline at end of file
...@@ -150,14 +150,30 @@ function c98940009.tg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -150,14 +150,30 @@ function c98940009.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c98940009.filter,tp,LOCATION_EXTRA,0,1,nil,mg) end if chk==0 then return Duel.IsExistingMatchingCard(c98940009.filter,tp,LOCATION_EXTRA,0,1,nil,mg) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function c98940009.xksfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsCanOverlay()
end
function c98940009.lksfilter(c) function c98940009.lksfilter(c)
return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_DARK) return c:IsType(TYPE_MONSTER) and c:IsCanBeLinkMaterial(nil)
end
function c98940009.gselect1(sg,c)
return sg:IsExists(Card.IsSetCard,1,nil,0x11b) and c:IsXyzSummonable(sg,#sg,#sg)
end
function c98940009.xyzfilter(c,mg)
return c:IsType(TYPE_XYZ) and mg:CheckSubGroup(c98940009.gselect1,1,#mg,c)
end
function c98940009.linkfilter(c,mg)
return c:IsType(TYPE_LINK) and mg:CheckSubGroup(c98940009.gselect2,1,#mg,c)
end
function c98940009.gselect2(sg,c)
return sg:IsExists(Card.IsSetCard,1,nil,0x11b) and c:IsLinkSummonable(sg,nil,#sg,#sg)
end end
function c98940009.reop(e,tp,eg,ep,ev,re,r,rp) function c98940009.reop(e,tp,eg,ep,ev,re,r,rp)
local mg=Duel.GetMatchingGroup(c98940009.lksfilter,tp,LOCATION_MZONE,0,nil) local mg1=Duel.GetMatchingGroup(c98940009.xksfilter,tp,LOCATION_MZONE,0,nil)
local g1=Duel.GetMatchingGroup(Card.IsXyzSummonable,tp,LOCATION_EXTRA,0,nil,nil,mg) local mg2=Duel.GetMatchingGroup(c98940009.lksfilter,tp,LOCATION_MZONE,0,nil)
local g2=Duel.GetMatchingGroup(Card.IsLinkSummonable,tp,LOCATION_EXTRA,0,nil,mg) local g1=Duel.GetMatchingGroup(c98940009.xyzfilter,tp,LOCATION_EXTRA,0,nil,mg1)
if mg:GetCount()>0 and (g1:GetCount()>0 or g2:GetCount()>0) then local g2=Duel.GetMatchingGroup(c98940009.linkfilter,tp,LOCATION_EXTRA,0,nil,mg2)
if (mg1:GetCount()>0 and g1:GetCount()>0) or (mg2:GetCount()>0 and g2:GetCount()>0) then
if Duel.SelectYesNo(tp,aux.Stringid(98940009,0)) then if Duel.SelectYesNo(tp,aux.Stringid(98940009,0)) then
if g1:GetCount()>0 and (g2:GetCount()==0 or Duel.SelectOption(tp,1165,1166)==0) then if g1:GetCount()>0 and (g2:GetCount()==0 or Duel.SelectOption(tp,1165,1166)==0) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
...@@ -166,7 +182,7 @@ function c98940009.reop(e,tp,eg,ep,ev,re,r,rp) ...@@ -166,7 +182,7 @@ function c98940009.reop(e,tp,eg,ep,ev,re,r,rp)
elseif g2:GetCount()>0 then elseif g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg2=g2:Select(tp,1,1,nil) local sg2=g2:Select(tp,1,1,nil)
Duel.LinkSummon(tp,sg2:GetFirst(),mg) Duel.LinkSummon(tp,sg2:GetFirst(),nil)
end end
end end
end end
......
This diff is collapsed.
...@@ -148,18 +148,6 @@ function c98941044.pspop(e,tp,eg,ep,ev,re,r,rp) ...@@ -148,18 +148,6 @@ function c98941044.pspop(e,tp,eg,ep,ev,re,r,rp)
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true) Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end end
end end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(c98941044.spelimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c98941044.spelimit(e,c)
return c:IsLocation(LOCATION_EXTRA)
and not c:IsSetCard(0x10c)
end end
function c98941044.lfilter(c) function c98941044.lfilter(c)
return c:IsLinkSummonable(nil) and c:IsSetCard(0x10c) return c:IsLinkSummonable(nil) and c:IsSetCard(0x10c)
...@@ -177,14 +165,6 @@ function c98941044.lactivate(e,tp,eg,ep,ev,re,r,rp) ...@@ -177,14 +165,6 @@ function c98941044.lactivate(e,tp,eg,ep,ev,re,r,rp)
if tc then if tc then
Duel.LinkSummon(tp,tc,nil) Duel.LinkSummon(tp,tc,nil)
end end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(c98941044.spelimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end end
function c98941044.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c98941044.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -29,7 +29,7 @@ function c98941055.initial_effect(c) ...@@ -29,7 +29,7 @@ function c98941055.initial_effect(c)
end end
function c98941055.sumcon(e,tp,eg,ep,ev,re,r,rp) function c98941055.sumcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
return (ph==PHASE_MAIN1 or ph==PHASE_MAIN2) return (ph==PHASE_MAIN1 or ph==PHASE_MAIN2) or Duel.IsEnvironment(98940011)
end end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk) function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
--决斗怪兽试验场3
function c98942050.initial_effect(c)
if c:GetOriginalCode()==98942050 then
--show
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_NO_TURN_RESET+EFFECT_FLAG_INITIAL)
e1:SetCode(EVENT_PREDRAW)
e1:SetRange(0xff)
e1:SetCountLimit(1,98942050+EFFECT_COUNT_CODE_DUEL)
e1:SetOperation(c98942050.op)
c:RegisterEffect(e1)
--adjust
local e01=Effect.CreateEffect(c)
e01:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e01:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e01:SetCode(EVENT_ADJUST)
e01:SetRange(0xff)
e01:SetOperation(c98942050.adjustop)
c:RegisterEffect(e01)
if not c98942050.global_activate_check then
c98942050.global_activate_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_CHAIN_SOLVED)
ge1:SetOperation(c98942050.checkop)
Duel.RegisterEffect(ge1,0)
end
end
end
function c98942050.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_CARD,0,98942050)
end
function c98942050.checkop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if re:GetValue()~=98942051 then return end
if rc:IsLocation(LOCATION_MZONE) and rc:GetFlagEffect(98942050)==0 then
rc:RegisterFlagEffect(98942050,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
end
function c98942050.actarget(e,te,tp)
--prevent activating
local tc=te:GetHandler()
return ((te:GetValue()==98942050 or te:GetValue()==98942051) and (not Duel.IsPlayerAffectedByEffect(te:GetHandlerPlayer(),98942050) or tc:GetFlagEffect(98942050)~=0))
--prevent normal activating beside S&T on field
or (te:GetValue()==98942051 and Duel.IsPlayerAffectedByEffect(te:GetHandlerPlayer(),98942050) and not (te:IsHasType(EFFECT_TYPE_ACTIVATE) and tc:IsLocation(LOCATION_SZONE)) and not tc:IsLocation(LOCATION_DECK))
--prevent quick activating on field
or (te:GetValue()==98942051 and te:IsHasType(EFFECT_TYPE_QUICK_O) and tc:IsLocation(LOCATION_SZONE))
--unique check
or (te:GetValue()==98942051 and tc:IsCode(32692693) and tc:CheckUniqueOnField(tc:GetControler())==false)
end
function c98942050.adjustop(e,tp,eg,ep,ev,re,r,rp)
--
if not c98942050.globle_check then
local c=e:GetHandler()
--Debug.Message(c:CheckUniqueOnField(tp))
--change effect type
local e01=Effect.CreateEffect(c)
e01:SetType(EFFECT_TYPE_FIELD)
e01:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_PLAYER_TARGET)
e01:SetCode(98942050)
e01:SetTargetRange(1,1)
Duel.RegisterEffect(e01,0)
--
c98942050.globle_check=true
local ge0=Effect.CreateEffect(e:GetHandler())
ge0:SetType(EFFECT_TYPE_FIELD)
ge0:SetCode(EFFECT_ACTIVATE_COST)
ge0:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
ge0:SetCost(aux.FALSE)
ge0:SetTargetRange(1,1)
ge0:SetTarget(c98942050.actarget)
Duel.RegisterEffect(ge0,0)
local g=Duel.GetMatchingGroup(c98942050.filter,0,0xff,0xff,nil)
cregister=Card.RegisterEffect
csetuniqueonfield=Card.SetUniqueOnField
cenablecounterpermit=Card.EnableCounterPermit
ecreateeffect=Effect.CreateEffect
esetcountLimit=Effect.SetCountLimit
table_effect={}
table_countlimit_flag=0
table_countlimit_count=0
Ursarctic_unit=nil
Ursarctic_Creating=false
Effect.CreateEffect=function(card)
Ursarctic_Creating=true
return ecreateeffect(card)
end
Effect.SetCountLimit=function(effect,count,flag)
if not Ursarctic_Creating and count==1 and flag~=0 then
local eff=table_effect[#table_effect-1]
return esetcountLimit(eff,1,0)
end
table_countlimit_flag=flag
table_countlimit_count=count
return esetcountLimit(effect,count,flag)
end
Card.RegisterEffect=function(card,effect,flag)
if effect then
local eff=effect:Clone()
local con=eff:GetCondition()
if not effect:IsHasType(EFFECT_TYPE_CONTINUOUS) and con and effect:IsHasType(EFFECT_TYPE_QUICK_O) and effect:GetCode()==EVENT_FREE_CHAIN then
eff:SetValue(98942051)
--effect edit
local eff2=effect:Clone()
--spell speed 2
if con and eff2:IsHasType(EFFECT_TYPE_QUICK_O) and eff2:GetCode()==EVENT_FREE_CHAIN then
eff2:SetCondition(
function(e,tp,eg,ep,ev,re,r,rp)
Ursarctic_GetCurrentPhase=Duel.GetCurrentPhase
Duel.GetCurrentPhase=function() return PHASE_MAIN1 end
local Ursarctic_boolean=con(e,tp,eg,ep,ev,re,r,rp)
Duel.GetCurrentPhase=Ursarctic_GetCurrentPhase
return Ursarctic_boolean
end)
eff2:SetHintTiming(TIMING_DRAW_PHASE+TIMING_END_PHASE+TIMINGS_CHECK_MONSTER,TIMING_DRAW_PHASE+TIMING_END_PHASE+TIMINGS_CHECK_MONSTER)
end
table.insert(table_effect,eff2)
end
table.insert(table_effect,eff)
end
table_countlimit_flag=0
table_countlimit_count=0
Ursarctic_Creating=false
return
end
Card.SetUniqueOnField=function(card,s,o,int,location)
Ursarctic_Unique=true
return
end
Card.EnableCounterPermit=function(card,countertype,location)
Ursarctic_Counter=countertype
return
end
for tc in aux.Next(g) do
table_effect={}
Ursarctic_Counter=0
Ursarctic_Unique=false
tc:ReplaceEffect(98942050,0)
Duel.CreateToken(0,tc:GetOriginalCode())
for key,eff in ipairs(table_effect) do
cregister(tc,eff)
end
if Ursarctic_Counter~=0 then cenablecounterpermit(tc,Ursarctic_Counter) end
if Ursarctic_Unique then csetuniqueonfield(tc,1,0,tc:GetOriginalCode()) end
end
Card.RegisterEffect=cregister
Card.SetUniqueOnField=csetuniqueonfield
Card.EnableCounterPermit=cenablecounterpermit
Effect.CreateEffect=ecreateeffect
Effect.SetCountLimit=esetcountLimit
end
e:Reset()
end
function c98942050.filter(c)
return not c:IsCode(98942050) and not c:IsType(TYPE_SYNCHRO)
end
\ No newline at end of file
--加速世代2
function c98942051.initial_effect(c)
--show
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_NO_TURN_RESET+EFFECT_FLAG_INITIAL)
e1:SetCode(EVENT_PREDRAW)
e1:SetRange(0xff)
e1:SetCountLimit(1,98942051+EFFECT_COUNT_CODE_DUEL)
e1:SetOperation(c98942051.op)
c:RegisterEffect(e1)
end
function c98942051.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_CARD,0,98942051)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_QP_ACT_IN_NTPHAND)
e1:SetTargetRange(LOCATION_HAND,0)
Duel.RegisterEffect(e1,tp)
end
\ No newline at end of file
--被封印的艾克佐迪亚-EX
function c98942060.initial_effect(c)
--win
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_HAND)
e1:SetRange(LOCATION_EXTRA)
e1:SetOperation(c98942060.operation)
c:RegisterEffect(e1)
end
function c98942060.filter(c)
return c:IsCode(98942061,98942062,98942063,98942064,98942060)
end
function c98942060.check(g)
local a1=false
local a2=false
local a3=false
local a4=false
local a5=false
local tc=g:GetFirst()
while tc do
local code=tc:GetCode()
if code==98942061 then a1=true
elseif code==98942062 then a2=true
elseif code==98942063 then a3=true
elseif code==98942064 then a4=true
elseif code==98942060 then a5=true
end
tc=g:GetNext()
end
return a1 and a2 and a3 and a4 and a5
end
function c98942060.operation(e,tp,eg,ep,ev,re,r,rp)
local WIN_REASON_EXODIA = 0x10
local g1=Duel.GetFieldGroup(tp,LOCATION_EXTRA,0):Filter(c98942060.filter,nil)
local g2=Duel.GetFieldGroup(tp,0,LOCATION_EXTRA):Filter(c98942060.filter,nil)
local wtp=c98942060.check(g1)
local wntp=c98942060.check(g2)
if wtp and not wntp then
Duel.ConfirmCards(1-tp,g1)
Duel.Win(tp,WIN_REASON_EXODIA)
elseif not wtp and wntp then
Duel.ConfirmCards(tp,g2)
Duel.Win(1-tp,WIN_REASON_EXODIA)
elseif wtp and wntp then
Duel.ConfirmCards(1-tp,g1)
Duel.ConfirmCards(tp,g2)
Duel.Win(PLAYER_NONE,WIN_REASON_EXODIA)
end
end
--被封印者的右腕-EX
function c98942061.initial_effect(c)
end
--被封印者的左腕-EX
function c98942062.initial_effect(c)
end
--被封印者的右足-EX
function c98942063.initial_effect(c)
end
--被封印者的左足-EX
function c98942064.initial_effect(c)
end
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