Commit 48e5bd9d authored by Nemo Ma's avatar Nemo Ma

fix + Update

parent d50caa9f
#[No81DIY 19.10 STANDARD][No81DIY 19.10 WILD][No81DIY 19.10 WILDEST]
!THE STANDARD LIST
#All no42 wild data
11451000 0
25000069 0
25000070 0
25000071 0
25000072 0
25000073 0
25000074 0
25000075 0
25000076 0
25000077 0
25000078 0
25000089 0
25000090 0
25000091 0
25000092 0
25000093 0
25000094 0
25000095 0
25000096 0
25000097 0
25000098 0
25000099 0
25001000 0
25001001 0
25001002 0
25001003 0
25001004 0
25001005 0
25001006 0
25001007 0
25001008 0
25001009 0
25001010 0
25001011 0
25001012 0
25001013 0
25001014 0
25001015 0
25001016 0
25001017 0
25001018 0
25010000 0
30002050 0
30002055 0
30002060 0
30002065 0
46250000 0
46250001 0
46250002 0
46250003 0
46250004 0
46250005 0
46250006 0
46250007 0
46250008 0
46250009 0
46250010 0
46250011 0
46250012 0
46250013 0
46250014 0
46250015 0
46250016 0
46250017 0
46250018 0
46250019 0
46250020 0
46250021 0
46250022 0
46250023 0
46250024 0
46250025 0
84610002 0
84610003 0
84610004 0
84610005 0
84610006 0
84610007 0
84610008 0
84610009 0
84610010 0
84610011 0
84610012 0
84610013 0
84610014 0
84610015 0
84610016 0
84610019 0
84610020 0
84610021 0
84610022 0
84610023 0
84610024 0
84610025 0
84610026 0
84610027 0
84610028 0
84610029 0
84610030 0
84610031 0
84610032 0
84610033 0
84610034 0
84610035 0
84610036 0
90700060 0
90700061 0
90700062 0
90700063 0
90700064 0
90700065 0
90700066 0
90700067 0
90700068 0
90700069 0
90700070 0
130001000 0
130005101 0
130005102 0
130005103 0
130005104 0
130005105 0
130005106 0
130005107 0
130005108 0
130005109 0
130005110 0
130005111 0
130005112 0
130005113 0
130005114 0
130005115 0
130005116 0
130005117 0
130005118 0
130005119 0
130005120 0
#耻辱柱
#all 阳羽 cards
49920003 0
......@@ -38,6 +176,44 @@
49966682 0
49966683 0
49999999 0
#210317
500001 0
500002 0
500003 0
500004 0
500005 0
500006 0
500007 0
500008 0
500009 0
500010 0
700021 0
14060002 0
22070320 0
29065598 0
30000075 0
30000430 0
30000470 0
40009199 0
65010583 0
79029127 0
79029423 0
79029423 0
130006001 0
130006003 0
130006004 0
130006005 0
130006007 0
130006009 0
130006011 0
700023 1
14010035 1
30000510 1
40009190 1
130006002 1
130006006 1
130006010 1
79029128 2
#210131
14010116 0
22020090 0
......@@ -54,7 +230,7 @@
46260002 1
65010020 1
65010579 1
65010583 1
#65010583 1
79029031 1
79029360 1
90700039 1
......
No preview for this file type
No preview for this file type
expansions/pics/99988037.jpg

133 KB | W: | H:

expansions/pics/99988037.jpg

133 KB | W: | H:

expansions/pics/99988037.jpg
expansions/pics/99988037.jpg
expansions/pics/99988037.jpg
expansions/pics/99988037.jpg
  • 2-up
  • Swipe
  • Onion skin
......@@ -44,7 +44,7 @@ function cm.filter(c,e,tp)
return c:IsSetCard(0xf3b) and c:IsType(TYPE_MONSTER) and not c:IsCode(15000541) and (c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_ATTACK) or c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE))
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return not re or not re==cm.self_flip_effect2
return not re or re~=cm.self_flip_effect2
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
......@@ -41,7 +41,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e3)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return not re or not re==cm.self_flip_effect2
return not re or re~=cm.self_flip_effect2
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingTarget(aux.TURE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
......
......@@ -44,7 +44,7 @@ function cm.filter(c,e,tp)
return c:IsSetCard(0xf3b) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return not re or not re==cm.self_flip_effect2
return not re or re~=cm.self_flip_effect2
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
......
......@@ -58,7 +58,7 @@ function c30002035.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
local fid=c:GetFieldID()
tc:RegisterFlagEffect(30002036,0,0,1,fid)
tc:RegisterFlagEffect(30002036,RESET_EVENT+RESET_TODECK,0,1,fid)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_LEAVE_FIELD)
......
--PSY骨架临时回路
function c30002050.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c30002050.target)
e1:SetOperation(c30002050.activate)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_GRAVE+LOCATION_REMOVED)
e2:SetCondition(c30002050.setcon)
e2:SetTarget(c30002050.settg)
e2:SetOperation(c30002050.setop)
c:RegisterEffect(e2)
--act in hand
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e3:SetCondition(c30002050.handcon)
c:RegisterEffect(e3)
if not c30002050.global_check then
c30002050.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SPSUMMON_SUCCESS)
ge1:SetOperation(c30002050.checkop)
Duel.RegisterEffect(ge1,0)
end
end
function c30002050.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
if tc:IsCode(49036338) then
Duel.RegisterFlagEffect(tc:GetSummonPlayer(),30002050,RESET_PHASE+PHASE_END,0,1)
end
tc=eg:GetNext()
end
end
function c30002050.filter(c,mg)
return c:IsSynchroSummonable(nil,mg) or c:IsLinkSummonable(mg)
end
function c30002050.target(e,tp,eg,ep,ev,re,r,rp,chk)
local mg=Duel.GetMatchingGroup(Card.IsSetCard,tp,LOCATION_MZONE,0,nil,0xc1)
if chk==0 then return Duel.IsExistingMatchingCard(c30002050.filter,tp,LOCATION_EXTRA,0,1,nil,mg) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c30002050.activate(e,tp,eg,ep,ev,re,r,rp)
local mg=Duel.GetMatchingGroup(Card.IsSetCard,tp,LOCATION_MZONE,0,nil,0xc1)
local g1=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,nil,mg)
local g2=Duel.GetMatchingGroup(Card.IsLinkSummonable,tp,LOCATION_EXTRA,0,nil,mg)
if g1:GetCount()>0 and (g2:GetCount()==0 or Duel.SelectOption(tp,1164,1166)==0) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg1=g1:Select(tp,1,1,nil)
Duel.SynchroSummon(tp,sg1:GetFirst(),nil,mg)
elseif g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg2=g2:Select(tp,1,1,nil)
Duel.LinkSummon(tp,sg2:GetFirst(),mg)
end
end
function c30002050.setfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0xc1) and c:GetSummonPlayer()==tp
end
function c30002050.setcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c30002050.setfilter,1,nil,tp)
end
function c30002050.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsSSetable() end
if e:GetHandler():IsLocation(LOCATION_GRAVE) then
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
end
function c30002050.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
end
end
function c30002050.handcon(e)
return Duel.GetFlagEffect(e:GetHandlerPlayer(),30002050)>0
end
--PSY骨架王・λ
function c30002055.initial_effect(c)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_PSYCHO),2,2)
--search
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c30002055.cost1)
e1:SetTarget(c30002055.target1)
e1:SetOperation(c30002055.operation1)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(c30002055.condition2)
e2:SetCost(c30002055.cost2)
e2:SetTarget(c30002055.target2)
e2:SetOperation(c30002055.operation2)
c:RegisterEffect(e2)
end
function c30002055.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
end
function c30002055.filter1(c,tp)
local res=false
if c:IsType(TYPE_FIELD) then res=c:IsSSetable() or c:GetActivateEffect():IsActivatable(tp,true,true)
elseif c:GetType()==0x20004 then res=c:IsSSetable() or c:GetActivateEffect():IsActivatable(tp)
elseif c:IsType(TYPE_TRAP) then res=c:IsSSetable() end
return c:IsSetCard(0xc1) and res
end
function c30002055.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c30002055.filter1,tp,LOCATION_DECK,0,1,nil,tp) end
end
function c30002055.operation1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,c30002055.filter1,tp,LOCATION_DECK,0,1,1,nil,tp)
local tc=g:GetFirst()
if tc then
local b1=tc:IsSSetable()
local b2=tc:IsType(TYPE_FIELD) and tc:GetActivateEffect():IsActivatable(tp,true,true)
local b3=tc:GetType()==0x20004 and tc:GetActivateEffect():IsActivatable(tp)
if b1 and (not (b2 or b3) or Duel.SelectOption(tp,1153,1150)==0) then
if Duel.SSet(tp,tc)~=0 then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
elseif b2 then
local fc=Duel.GetFieldCard(tp,LOCATION_FZONE,0)
if fc then
Duel.SendtoGrave(fc,REASON_RULE)
Duel.BreakEffect()
end
if not Duel.MoveToField(tc,tp,tp,LOCATION_FZONE,POS_FACEUP,true) then return end
local te=tc:GetActivateEffect()
te:UseCountLimit(tp,1,true)
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
Duel.RaiseEvent(tc,4179255,te,0,tp,tp,Duel.GetCurrentChain())
else
if not Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true) then return end
local te=tc:GetActivateEffect()
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
end
end
end
function c30002055.cfilter(c,tp)
return c:IsFaceup() and c:IsCode(49036338)
end
function c30002055.condition2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c30002055.cfilter,1,nil,tp)
end
function c30002055.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.ConfirmCards(1-tp,e:GetHandler())
end
function c30002055.target2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsLinkSummonable(nil) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c30002055.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsLinkSummonable(nil) then
Duel.LinkSummon(tp,c,nil)
end
end
--PSY骨架装备·ω
function c30002060.initial_effect(c)
--splimit
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(c30002060.splimit)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(30002060,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_NEGATE+CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_HAND)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetCondition(c30002060.condition)
e2:SetCost(c30002060.cost)
e2:SetTarget(c30002060.target)
e2:SetOperation(c30002060.operation)
c:RegisterEffect(e2)
end
function c30002060.splimit(e,se,sp,st)
return se:IsHasType(EFFECT_TYPE_ACTIONS)
end
function c30002060.condition(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0 or Duel.IsPlayerAffectedByEffect(tp,8802510))
and ep~=tp and Duel.IsChainNegatable(ev)
end
function c30002060.cfilter(c)
return c:IsSetCard(0xc1) and not c:IsPublic()
end
function c30002060.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c30002060.cfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,c30002060.cfilter,tp,LOCATION_HAND,0,1,1,e:GetHandler())
Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp)
end
function c30002060.spfilter1(c,e,tp,mc)
return c:IsCode(49036338) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsExistingMatchingCard(c30002060.rmfilter0,tp,LOCATION_HAND,0,1,Group.FromCards(c,mc))
end
function c30002060.spfilter2(c,e,tp,mc)
return c:IsCode(49036338) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_HAND,0,1,Group.FromCards(c,mc),0xc1)
end
function c30002060.rmfilter0(c)
return c:IsSetCard(0xc1) and c:IsAbleToRemove()
end
function c30002060.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return aux.nbcon(tp,re) and not e:GetHandler():IsStatus(STATUS_CHAINING)
and not Duel.IsPlayerAffectedByEffect(tp,59822133)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingMatchingCard(c30002060.spfilter1,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp,c) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_HAND)
if re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_REMOVE,eg,1,0,0)
end
end
function c30002060.operation(e,tp,eg,ep,ev,re,r,rp)
if not Duel.NegateActivation(ev) then return end
if not re:GetHandler():IsRelateToEffect(re) or Duel.Remove(eg,POS_FACEUP,REASON_EFFECT)==0 then return end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<2 or not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c30002060.spfilter2),tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp,e:GetHandler())
if g:GetCount()==0 then return end
local tc=g:GetFirst()
local c=e:GetHandler()
local fid=c:GetFieldID()
Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP)
Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP)
tc:RegisterFlagEffect(30002060,RESET_EVENT+RESETS_STANDARD,0,1,fid)
c:RegisterFlagEffect(30002060,RESET_EVENT+RESETS_STANDARD,0,1,fid)
Duel.SpecialSummonComplete()
g:AddCard(c)
g:KeepAlive()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCountLimit(1)
e1:SetLabel(fid)
e1:SetLabelObject(g)
e1:SetCondition(c30002060.rmcon)
e1:SetOperation(c30002060.rmop)
Duel.RegisterEffect(e1,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g2=Duel.SelectMatchingCard(tp,c30002060.rmfilter0,tp,LOCATION_HAND,0,1,1,nil)
if g2:GetCount()>0 then
Duel.Remove(g2,POS_FACEUP,REASON_EFFECT)
end
end
function c30002060.rmfilter(c,fid)
return c:GetFlagEffectLabel(30002060)==fid
end
function c30002060.rmcon(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
if not g:IsExists(c30002060.rmfilter,1,nil,e:GetLabel()) then
g:DeleteGroup()
e:Reset()
return false
else return true end
end
function c30002060.rmop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
local tg=g:Filter(c30002060.rmfilter,nil,e:GetLabel())
Duel.Remove(tg,POS_FACEUP,REASON_EFFECT)
end
This diff is collapsed.
......@@ -12,7 +12,7 @@ function c33400116.initial_effect(c)
c:RegisterEffect(e1)
end
function c33400116.filter(c)
return (c:IsSetCard(0x341) or c:IsSetCard(0x340)) and c:IsAbleToDeck()
return (c:IsSetCard(0x341) or c:IsSetCard(0x340)) and c:IsFaceup() and c:IsAbleToDeck()
end
function c33400116.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_REMOVED+LOCATION_GRAVE) and chkc:IsControler(tp) and c33400116.filter(chkc) end
......
......@@ -20,6 +20,7 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m+10000)
e2:SetCondition(cm.stcon)
e2:SetTarget(cm.sttg)
e2:SetOperation(cm.stop)
c:RegisterEffect(e2)
end
......@@ -46,6 +47,15 @@ end
function cm.spfilter1(c,e,tp)
return c:IsSetCard(0x341) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc=tg:GetNext()
end
end
function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
......
--八舞夕弦 月下双子
local m=33400802
local cm=_G["c"..m]
function cm.initial_effect(c)
function cm.initial_effect(c)
--search
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......@@ -25,6 +25,7 @@ function cm.initial_effect(c)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,m+10000)
e3:SetCondition(cm.stcon)
e3:SetTarget(cm.sttg)
e3:SetOperation(cm.stop)
c:RegisterEffect(e3)
end
......@@ -63,6 +64,15 @@ function cm.ckfilter1(c,seq)
local seq2=4-aux.MZoneSequence(seq1)
return c:IsFaceup() and math.abs(seq-seq2)<=1
end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc=tg:GetNext()
end
end
function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
......
--八舞夕弦 束缚之风
local m=33400803
local cm=_G["c"..m]
function cm.initial_effect(c)
function cm.initial_effect(c)
--atk up
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......@@ -23,6 +23,7 @@ function cm.initial_effect(c)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,m+10000)
e3:SetCondition(cm.stcon)
e3:SetTarget(cm.sttg)
e3:SetOperation(cm.stop)
c:RegisterEffect(e3)
end
......@@ -66,6 +67,15 @@ end
function cm.ckfilter(c,tp)
return c:IsType(TYPE_MONSTER) and c:IsControler(tp)
end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc=tg:GetNext()
end
end
function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
......
......@@ -19,6 +19,7 @@ function cm.initial_effect(c)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,m+10000)
e3:SetCondition(cm.stcon)
e3:SetTarget(cm.sttg)
e3:SetOperation(cm.stop)
c:RegisterEffect(e3)
end
......@@ -52,6 +53,15 @@ function cm.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x341) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,5))
tc=tg:GetNext()
end
end
function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
......
......@@ -20,6 +20,7 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m+10000)
e2:SetCondition(cm.stcon)
e2:SetTarget(cm.sttg)
e2:SetOperation(cm.stop)
c:RegisterEffect(e2)
end
......@@ -50,6 +51,15 @@ function cm.ckfilter(c,tp)
local seq=c:GetSequence()
return c:IsType(TYPE_MONSTER) and c:IsControler(tp) and c:IsAbleToHand() and seq<5
end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc=tg:GetNext()
end
end
function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
......
......@@ -25,6 +25,7 @@ function cm.initial_effect(c)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,m+10000)
e3:SetCondition(cm.stcon)
e3:SetTarget(cm.sttg)
e3:SetOperation(cm.stop)
c:RegisterEffect(e3)
end
......@@ -64,6 +65,15 @@ function cm.ckfilter1(c,tp,seq)
local seq2=aux.MZoneSequence(seq1)
return c:IsFaceup() and math.abs(seq-seq2)<=1 and seq1<5
end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc=tg:GetNext()
end
end
function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
......@@ -73,7 +83,7 @@ function cm.stop(e,tp,eg,ep,ev,re,r,rp)
if re:IsActiveType(TYPE_MONSTER) then seq=aux.MZoneSequence(seq) end
if ((seq1==4-seq and rp==1-tp) or (seq1==seq and rp==tp)) or (rp==tp and math.abs(c:GetSequence()-seq)<=1 and loc==LOCATION_MZONE and seq2<5) then
local seq3=aux.MZoneSequence(c:GetSequence())
local cg=Duel.GetMatchingGroup(cm.ckfilter1,tp,LOCATION_MZONE,0,c,tp,seq3)
local cg=Duel.GetMatchingGroup(cm.ckfilter1,tp,LOCATION_MZONE,0,c,tp,seq3)
if cg:GetCount()>0 then
local tc=cg:GetFirst()
while tc do
......
--八舞耶俱矢 贯穿之风
local m=33400807
local cm=_G["c"..m]
function cm.initial_effect(c)
function cm.initial_effect(c)
--atk up
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......@@ -23,6 +23,7 @@ function cm.initial_effect(c)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,m+10000)
e3:SetCondition(cm.stcon)
e3:SetTarget(cm.sttg)
e3:SetOperation(cm.stop)
c:RegisterEffect(e3)
end
......@@ -66,6 +67,15 @@ end
function cm.ckfilter(c,tp)
return c:IsType(TYPE_MONSTER) and c:IsAttackPos() and c:IsControler(tp)
end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc=tg:GetNext()
end
end
function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
......
......@@ -19,6 +19,7 @@ function cm.initial_effect(c)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,m+10000)
e3:SetCondition(cm.stcon)
e3:SetTarget(cm.sttg)
e3:SetOperation(cm.stop)
c:RegisterEffect(e3)
end
......@@ -52,6 +53,15 @@ function cm.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x341) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,5))
tc=tg:GetNext()
end
end
function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
......
......@@ -17,14 +17,14 @@ function cm.initial_effect(c)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
--move
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetTarget(cm.mvtg)
e1:SetOperation(cm.mvop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetTarget(cm.mvtg)
e2:SetOperation(cm.mvop)
c:RegisterEffect(e2)
end
function cm.lcheck(g)
return g:IsExists(Card.IsLinkSetCard,1,nil,0xa341)
......@@ -64,6 +64,12 @@ function cm.mvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
and Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)>0
local b2=Duel.IsExistingMatchingCard(cm.mvfilter2,tp,LOCATION_MZONE,0,1,nil,tp)
if chk==0 then return b1 or b2 end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,6))
tc=tg:GetNext()
end
end
function cm.mvop(e,tp,eg,ep,ev,re,r,rp)
local b1=Duel.IsExistingMatchingCard(cm.mvfilter1,tp,LOCATION_MZONE,0,1,nil)
......
......@@ -2,9 +2,18 @@
local m=33400810
local cm=_G["c"..m]
function cm.initial_effect(c)
--fusion material
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xa341),2,true)
--spsummon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(cm.hspcon)
e0:SetOperation(cm.hspop)
c:RegisterEffect(e0)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......@@ -25,11 +34,51 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m+10000)
e2:SetCondition(cm.stcon)
e2:SetTarget(cm.sttg)
e2:SetOperation(cm.stop)
c:RegisterEffect(e2)
end
function cm.hspfilter(c,tp,sc)
return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode())==0
and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0 and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc)
end
function cm.hspfilter2(c,tp,sc,tc)
local g=Group.CreateGroup()
g:AddCard(tc)
g:AddCard(c)
return c:IsSetCard(0xa341)
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function cm.hspcon(e,c)
if c==nil then return true end
return Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter,1,nil,c:GetControler(),c)
end
function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g1=Duel.SelectReleaseGroup(tp,cm.hspfilter,1,1,nil,tp,c)
local tc1=g1:GetFirst()
local g2=Duel.SelectReleaseGroup(tp,cm.hspfilter2,1,1,tc1,tp,c,tc1)
local tc2=g2:GetFirst()
g2:Merge(g1)
c:SetMaterial(g2)
Duel.Release(g2,REASON_COST)
Duel.RegisterFlagEffect(tp,tc1:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,tc2:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg1=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc1:GetCode())
local tc1=tg1:GetFirst()
while tc1 do
tc1:RegisterFlagEffect(tc1:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,4))
tc1=tg1:GetNext()
end
local tg2=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc2:GetCode())
local tc2=tg2:GetFirst()
while tc2 do
tc2:RegisterFlagEffect(tc2:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,4))
tc2=tg2:GetNext()
end
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION)
return e:GetHandler():GetPreviousLocation()==LOCATION_EXTRA
end
function cm.spfil(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) and c:IsSetCard(0xa341)
......@@ -63,6 +112,15 @@ function cm.ckfilter(c,tp)
local seq=c:GetSequence()
return c:IsType(TYPE_MONSTER) and c:IsControler(tp) and c:IsAbleToHand() and seq<5
end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,5))
tc=tg:GetNext()
end
end
function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
......
......@@ -39,7 +39,7 @@ function cm.initial_effect(c)
end
function cm.hspfilter(c,tp,sc)
return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode())==0
and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc)
and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0 and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc)
end
function cm.hspfilter2(c,tp,sc,tc)
local g=Group.CreateGroup()
......@@ -60,8 +60,20 @@ function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
g2:Merge(g1)
c:SetMaterial(g2)
Duel.Release(g2,REASON_COST)
Duel.RegisterFlagEffect(tp,tc1:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,tc2:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,tc1:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,tc2:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg1=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc1:GetCode())
local tc1=tg1:GetFirst()
while tc1 do
tc1:RegisterFlagEffect(tc1:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,4))
tc1=tg1:GetNext()
end
local tg2=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc2:GetCode())
local tc2=tg2:GetFirst()
while tc2 do
tc2:RegisterFlagEffect(tc2:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,4))
tc2=tg2:GetNext()
end
end
function cm.seqfilter(c)
......@@ -118,7 +130,12 @@ function cm.setfilter(c)
end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,5))
tc=tg:GetNext()
end
end
function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler()
......
......@@ -2,13 +2,22 @@
local m=33400812
local cm=_G["c"..m]
function cm.initial_effect(c)
--fusion material
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xa341),2,true)
--spsummon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(cm.hspcon)
e0:SetOperation(cm.hspop)
c:RegisterEffect(e0)
--des
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,2))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
......@@ -25,11 +34,51 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m+10000)
e2:SetCondition(cm.stcon)
e2:SetTarget(cm.sttg)
e2:SetOperation(cm.stop)
c:RegisterEffect(e2)
end
function cm.hspfilter(c,tp,sc)
return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode())==0
and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0 and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc)
end
function cm.hspfilter2(c,tp,sc,tc)
local g=Group.CreateGroup()
g:AddCard(tc)
g:AddCard(c)
return c:IsSetCard(0xa341)
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function cm.hspcon(e,c)
if c==nil then return true end
return Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter,1,nil,c:GetControler(),c)
end
function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g1=Duel.SelectReleaseGroup(tp,cm.hspfilter,1,1,nil,tp,c)
local tc1=g1:GetFirst()
local g2=Duel.SelectReleaseGroup(tp,cm.hspfilter2,1,1,tc1,tp,c,tc1)
local tc2=g2:GetFirst()
g2:Merge(g1)
c:SetMaterial(g2)
Duel.Release(g2,REASON_COST)
Duel.RegisterFlagEffect(tp,tc1:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,tc2:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg1=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc1:GetCode())
local tc1=tg1:GetFirst()
while tc1 do
tc1:RegisterFlagEffect(tc1:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc1=tg1:GetNext()
end
local tg2=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc2:GetCode())
local tc2=tg2:GetFirst()
while tc2 do
tc2:RegisterFlagEffect(tc2:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc2=tg2:GetNext()
end
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION)
return e:GetHandler():GetPreviousLocation()==LOCATION_EXTRA
end
function cm.spfil(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) and c:IsSetCard(0xa341)
......@@ -40,11 +89,12 @@ function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,1000)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT)
if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 then
Duel.Damage(1-tp,1000,REASON_EFFECT)
end
end
......@@ -63,6 +113,15 @@ function cm.ckfilter(c,tp)
local seq=c:GetSequence()
return c:IsType(TYPE_MONSTER) and c:IsControler(tp) and c:IsAbleToHand() and seq<5
end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,4))
tc=tg:GetNext()
end
end
function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
......
......@@ -2,10 +2,19 @@
local m=33400813
local cm=_G["c"..m]
function cm.initial_effect(c)
--fusion material
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xa341),2,true)
--move
aux.AddFusionProcFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xa341),2,true)
--spsummon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(cm.hspcon)
e0:SetOperation(cm.hspop)
c:RegisterEffect(e0)
--move
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,2))
e1:SetType(EFFECT_TYPE_QUICK_O)
......@@ -16,7 +25,7 @@ function cm.initial_effect(c)
e1:SetTarget(cm.seqtg)
e1:SetOperation(cm.seqop)
c:RegisterEffect(e1)
--set
--set
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,3))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
......@@ -25,9 +34,49 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m+10000)
e2:SetCondition(cm.stcon)
e2:SetTarget(cm.sttg)
e2:SetOperation(cm.stop)
c:RegisterEffect(e2)
end
function cm.hspfilter(c,tp,sc)
return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode())==0
and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0 and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc)
end
function cm.hspfilter2(c,tp,sc,tc)
local g=Group.CreateGroup()
g:AddCard(tc)
g:AddCard(c)
return c:IsSetCard(0xa341)
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function cm.hspcon(e,c)
if c==nil then return true end
return Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter,1,nil,c:GetControler(),c)
end
function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g1=Duel.SelectReleaseGroup(tp,cm.hspfilter,1,1,nil,tp,c)
local tc1=g1:GetFirst()
local g2=Duel.SelectReleaseGroup(tp,cm.hspfilter2,1,1,tc1,tp,c,tc1)
local tc2=g2:GetFirst()
g2:Merge(g1)
c:SetMaterial(g2)
Duel.Release(g2,REASON_COST)
Duel.RegisterFlagEffect(tp,tc1:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,tc2:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg1=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc1:GetCode())
local tc1=tg1:GetFirst()
while tc1 do
tc1:RegisterFlagEffect(tc1:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,4))
tc1=tg1:GetNext()
end
local tg2=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc2:GetCode())
local tc2=tg2:GetFirst()
while tc2 do
tc2:RegisterFlagEffect(tc2:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,4))
tc2=tg2:GetNext()
end
end
function cm.seqfilter(c)
return c:IsFaceup()
end
......@@ -83,6 +132,15 @@ end
function cm.spfilter1(c,e,tp)
return c:IsSetCard(0xa341) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,5))
tc=tg:GetNext()
end
end
function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
......
......@@ -5,6 +5,15 @@ function cm.initial_effect(c)
--fusion materia
c:EnableReviveLimit()
aux.AddFusionProcMix(c,false,true,cm.fusfilter1,cm.fusfilter1,cm.fusfilter2,cm.fusfilter2,cm.fusfilter2)
--spsummon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(cm.hspcon)
e0:SetOperation(cm.hspop)
c:RegisterEffect(e0)
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -13,35 +22,36 @@ function cm.initial_effect(c)
e1:SetValue(cm.splimit)
c:RegisterEffect(e1)
--ChainLimit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetOperation(cm.chainop)
c:RegisterEffect(e2)
--inactivatable
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_CHAINING)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_INACTIVATE)
e3:SetRange(LOCATION_MZONE)
e3:SetOperation(cm.chainop)
e3:SetValue(cm.effectfilter)
c:RegisterEffect(e3)
--inactivatable
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CANNOT_INACTIVATE)
e4:SetCode(EFFECT_CANNOT_DISEFFECT)
e4:SetRange(LOCATION_MZONE)
e4:SetValue(cm.effectfilter)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_CANNOT_DISEFFECT)
e5:SetRange(LOCATION_MZONE)
e5:SetValue(cm.effectfilter)
c:RegisterEffect(e5)
--set
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DISABLE+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(2,m)
e2:SetCondition(cm.stcon)
e2:SetOperation(cm.stop)
c:RegisterEffect(e2)
local e9=Effect.CreateEffect(c)
e9:SetCategory(CATEGORY_DISABLE+CATEGORY_TOHAND)
e9:SetType(EFFECT_TYPE_QUICK_O)
e9:SetCode(EVENT_CHAINING)
e9:SetRange(LOCATION_MZONE)
e9:SetCountLimit(2,m)
e9:SetCondition(cm.stcon)
e9:SetTarget(cm.sttg)
e9:SetOperation(cm.stop)
c:RegisterEffect(e9)
--Equip Okatana
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
......@@ -57,6 +67,47 @@ function cm.fusfilter2(c)
return c:IsSetCard(0x341) and c:IsType(TYPE_RITUAL+TYPE_FUSION+TYPE_XYZ+TYPE_SYNCHRO)
end
function cm.hspfilter(c,tp,sc)
return c:IsSetCard(0xa341)and c:IsType(TYPE_FUSION) and Duel.GetFlagEffect(tp,c:GetCode())==0
and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0
and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc)
end
function cm.hspfilter2(c,tp,sc,tc)
local g=Group.CreateGroup()
g:AddCard(tc)
g:AddCard(c)
return c:IsSetCard(0xa341) and c:IsType(TYPE_FUSION)and Duel.GetFlagEffect(tp,c:GetCode())==0
and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function cm.hspcon(e,c)
if c==nil then return true end
return Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter,1,nil,c:GetControler(),c)
end
function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g1=Duel.SelectReleaseGroup(tp,cm.hspfilter,1,1,nil,tp,c)
local tc1=g1:GetFirst()
local g2=Duel.SelectReleaseGroup(tp,cm.hspfilter2,1,1,tc1,tp,c,tc1)
local tc2=g2:GetFirst()
g2:Merge(g1)
c:SetMaterial(g2)
Duel.Release(g2,REASON_COST)
Duel.RegisterFlagEffect(tp,tc1:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,tc2:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg1=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc1:GetCode())
local tc1=tg1:GetFirst()
while tc1 do
tc1:RegisterFlagEffect(tc1:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,6))
tc1=tg1:GetNext()
end
local tg2=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc2:GetCode())
local tc2=tg2:GetFirst()
while tc2 do
tc2:RegisterFlagEffect(tc2:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,6))
tc2=tg2:GetNext()
end
end
function cm.splimit(e,se,sp,st)
return aux.fuslimit(e,se,sp,st) or se:GetHandler():IsCode(33400818)
end
......@@ -95,6 +146,15 @@ end
function cm.setfilter(c)
return c:IsSetCard(0xa341) and c:IsAbleToHand()
end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,7))
tc=tg:GetNext()
end
end
function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
......@@ -159,7 +219,7 @@ function cm.stop(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsExistingMatchingCard(cm.setfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_DECK,0,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(m,3))then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.setfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,cm.setfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
......@@ -229,7 +289,7 @@ function cm.TojiEquip(ec,e,tp,eg,ep,ev,re,r,rp)
e5:SetCountLimit(1)
token:RegisterEffect(e5)
--move
local e1=Effect.CreateEffect(c)
local e1=Effect.CreateEffect(ec)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_SZONE)
......@@ -268,12 +328,12 @@ local b1=Duel.IsExistingMatchingCard(cm.mvfilter1,tp,LOCATION_MZONE,0,1,nil)
and Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)>0
local b2=Duel.IsExistingMatchingCard(cm.mvfilter2,tp,LOCATION_MZONE,0,1,nil,tp)
if not (b1 or b2) then return end
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(m,1),aux.Stringid(m,2))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(m,1))
else op=Duel.SelectOption(tp,aux.Stringid(m,2))+1 end
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(m,4),aux.Stringid(m,5))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(m,4))
else op=Duel.SelectOption(tp,aux.Stringid(m,5))+1 end
if op==0 then
if Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,3))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectMatchingCard(tp,cm.mvfilter1,tp,LOCATION_MZONE,0,1,1,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
......
......@@ -5,6 +5,15 @@ function cm.initial_effect(c)
--fusion materia
c:EnableReviveLimit()
aux.AddFusionProcMix(c,false,true,cm.fusfilter1,cm.fusfilter1,cm.fusfilter2,cm.fusfilter2,cm.fusfilter2)
--spsummon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(cm.hspcon)
e0:SetOperation(cm.hspop)
c:RegisterEffect(e0)
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -41,15 +50,16 @@ function cm.initial_effect(c)
e3:SetValue(cm.tglimit)
c:RegisterEffect(e3)
--set
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_DISABLE+CATEGORY_TOHAND)
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetCode(EVENT_CHAINING)
e5:SetRange(LOCATION_MZONE)
e5:SetCountLimit(2,m)
e5:SetCondition(cm.stcon)
e5:SetOperation(cm.stop)
c:RegisterEffect(e5)
local e9=Effect.CreateEffect(c)
e9:SetCategory(CATEGORY_DISABLE+CATEGORY_TOHAND)
e9:SetType(EFFECT_TYPE_QUICK_O)
e9:SetCode(EVENT_CHAINING)
e9:SetRange(LOCATION_MZONE)
e9:SetCountLimit(2,m)
e9:SetCondition(cm.stcon)
e9:SetTarget(cm.sttg)
e9:SetOperation(cm.stop)
c:RegisterEffect(e9)
--Equip Okatana
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
......@@ -65,6 +75,47 @@ function cm.fusfilter2(c)
return c:IsSetCard(0x341) and c:IsType(TYPE_RITUAL+TYPE_FUSION+TYPE_XYZ+TYPE_SYNCHRO)
end
function cm.hspfilter(c,tp,sc)
return c:IsSetCard(0xa341)and c:IsType(TYPE_FUSION) and Duel.GetFlagEffect(tp,c:GetCode())==0
and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0
and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc)
end
function cm.hspfilter2(c,tp,sc,tc)
local g=Group.CreateGroup()
g:AddCard(tc)
g:AddCard(c)
return c:IsSetCard(0xa341) and c:IsType(TYPE_FUSION)and Duel.GetFlagEffect(tp,c:GetCode())==0
and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function cm.hspcon(e,c)
if c==nil then return true end
return Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter,1,nil,c:GetControler(),c)
end
function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g1=Duel.SelectReleaseGroup(tp,cm.hspfilter,1,1,nil,tp,c)
local tc1=g1:GetFirst()
local g2=Duel.SelectReleaseGroup(tp,cm.hspfilter2,1,1,tc1,tp,c,tc1)
local tc2=g2:GetFirst()
g2:Merge(g1)
c:SetMaterial(g2)
Duel.Release(g2,REASON_COST)
Duel.RegisterFlagEffect(tp,tc1:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,tc2:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg1=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc1:GetCode())
local tc1=tg1:GetFirst()
while tc1 do
tc1:RegisterFlagEffect(tc1:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,6))
tc1=tg1:GetNext()
end
local tg2=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc2:GetCode())
local tc2=tg2:GetFirst()
while tc2 do
tc2:RegisterFlagEffect(tc2:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,6))
tc2=tg2:GetNext()
end
end
function cm.splimit(e,se,sp,st)
return aux.fuslimit(e,se,sp,st) or se:GetHandler():IsCode(33400818)
end
......@@ -91,6 +142,15 @@ end
function cm.spfilter1(c,e,tp)
return c:IsSetCard(0xa341) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,7))
tc=tg:GetNext()
end
end
function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
......@@ -125,7 +185,7 @@ function cm.stop(e,tp,eg,ep,ev,re,r,rp)
end
else
if Duel.IsExistingMatchingCard(cm.spfilter1,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil,e,tp)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(m,2))then
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(m,2))then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter1,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
......@@ -189,7 +249,7 @@ function cm.TojiEquip(ec,e,tp,eg,ep,ev,re,r,rp)
e5:SetCountLimit(1)
token:RegisterEffect(e5)
--move
local e1=Effect.CreateEffect(c)
local e1=Effect.CreateEffect(ec)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_SZONE)
......@@ -228,12 +288,12 @@ local b1=Duel.IsExistingMatchingCard(cm.mvfilter1,tp,LOCATION_MZONE,0,1,nil)
and Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)>0
local b2=Duel.IsExistingMatchingCard(cm.mvfilter2,tp,LOCATION_MZONE,0,1,nil,tp)
if not (b1 or b2) then return end
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(m,1),aux.Stringid(m,2))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(m,1))
else op=Duel.SelectOption(tp,aux.Stringid(m,2))+1 end
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(m,4),aux.Stringid(m,5))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(m,4))
else op=Duel.SelectOption(tp,aux.Stringid(m,5))+1 end
if op==0 then
if Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,3))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectMatchingCard(tp,cm.mvfilter1,tp,LOCATION_MZONE,0,1,1,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
......
......@@ -100,7 +100,6 @@ function cm.effectfilter(e,ct)
end
function cm.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
--activate limit
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
......@@ -126,7 +125,12 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp)
e3:SetValue(cm.efilter2)
e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp)
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,9))
tc=tg:GetNext()
end
end
function cm.actlimit1(e,re,tp)
return not re:GetHandler():IsLocation(LOCATION_ONFIELD)
......@@ -356,7 +360,7 @@ function cm.TojiEquip(ec,e,tp,eg,ep,ev,re,r,rp)
e5:SetCountLimit(1)
token:RegisterEffect(e5)
--move
local e1=Effect.CreateEffect(ec)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_SZONE)
......@@ -448,11 +452,4 @@ function cm.rmop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
end
\ No newline at end of file
......@@ -84,7 +84,7 @@ function c40009178.setop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c40009178.setfilter,tp,LOCATION_EXTRA,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
......
......@@ -127,7 +127,7 @@ function cm.mvcfilter(c,e,tp)
return c:IsComplexType(TYPE_TRAP+TYPE_CONTINUOUS) and (c:IsLocation(LOCATION_SZONE) or Duel.GetLocationCount(tp,LOCATION_SZONE)>0)
end
function cm.mvcfilter2(c,tp)
return c:IsControler(tp) and c:IsFaceup() and rsbh.IsSet(c)
return c:IsControler(tp) and c:IsFaceup() and rsbh.IsSet(c) and c:IsOnField()
end
function cm.mvscon(e,tp,eg)
return eg:IsExists(cm.mvcfilter2,1,nil,tp) and e:GetHandler():CheckUniqueOnField(tp,LOCATION_SZONE)
......
--TheDesAlizes Flavor
if not pcall(function() require("expansions/script/c700020") end) then require("script/c700021") end
if not pcall(function() require("expansions/script/c700021") end) then require("script/c700021") end
local m,cm = rscf.DefineCard(700022,"Breath")
function cm.initial_effect(c)
local e1,e2,e3,e4 = rsbh.ExMonFun(c,m,LOCATION_SZONE,2)
......
--UjiMatcha Flavor
if not pcall(function() require("expansions/script/c700020") end) then require("script/c700021") end
if not pcall(function() require("expansions/script/c700021") end) then require("script/c700021") end
local m,cm = rscf.DefineCard(700023,"Breath")
function cm.initial_effect(c)
local e1 = rsef.QO(c,nil,{m,0},{1,m},nil,nil,LOCATION_HAND,nil,rscost.cost(Card.IsReleasable,"res"),rsop.target(cm.setfilter,nil,LOCATION_HAND),cm.setop)
......
--Breath Of THE DES ALIZES
if not pcall(function() require("expansions/script/c700020") end) then require("script/c700021") end
if not pcall(function() require("expansions/script/c700021") end) then require("script/c700021") end
local m,cm = rscf.DefineCard(700024,"Breath")
function cm.initial_effect(c)
local e1,e2,e3,e4 = rsbh.ExMonFun(c,m,LOCATION_ONFIELD,3)
local e5 = rsef.FV_LIMIT(c,"dis",nil,cm.distg,{LOCATION_ONFIELD,LOCATION_ONFIELD })
local e6 = rsef.FC(c,EVENT_ADJUST,nil,nil,nil,LOCATION_MZONE,cm.rescon,cm.resop)
e5:SetRange(LOCATION_ONFIELD)
local e6 = rsef.FC(c,EVENT_ADJUST,nil,nil,nil,LOCATION_ONFIELD,cm.rescon,cm.resop)
local e7 = rsef.QO(c,nil,{m,0},{1,m},nil,nil,LOCATION_MZONE,cm.mvcon,nil,nil,cm.mvop)
end
function cm.distg(e,c)
......
--Cappuccino Flavor
if not pcall(function() require("expansions/script/c700020") end) then require("script/c700021") end
if not pcall(function() require("expansions/script/c700021") end) then require("script/c700021") end
local m,cm = rscf.DefineCard(700025,"Breath")
function cm.initial_effect(c)
local e1,e2,e3,e4 = rsbh.ExMonFun(c,m,LOCATION_SZONE,1)
......
local m=90700060
local cm=_G["c"..m]
cm.name=""
function cm.initial_effect(c)
end
\ No newline at end of file
local m=90700061
local cm=_G["c"..m]
cm.name="七弦之赫尔墨斯"
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCost(cm.thcost)
e1:SetTarget(cm.thtg)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
local e2=aux.AddRitualProcEqual2(c,aux.TRUE)
e2:SetDescription(aux.Stringid(m,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e2:SetCode(nil)
end
function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsDiscardable() end
Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD)
end
function cm.thfilter(c)
return c:IsCode(90700062) and c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
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,chk)
local tg=Duel.GetFirstMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,nil)
if tg then
Duel.SendtoHand(tg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tg)
end
end
\ No newline at end of file
local m=90700062
local cm=_G["c"..m]
cm.name="阿尔忒弥斯的降诞"
function cm.initial_effect(c)
c:SetUniqueOnField(1,0,m)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_REMAIN_FIELD)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(m)
e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(1,0)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_ADJUST)
e4:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE)
e4:SetRange(0x1ff)
e4:SetOperation(cm.op)
e4:SetCountLimit(1,EFFECT_COUNT_CODE_DUEL+90700061)
c:RegisterEffect(e4)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
_G["aux"].RitualUltimateTarget=function(filter,level_function,greater_or_equal,summon_location,grave_filter,mat_filter)
return function(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700062) and bit.band(summon_location,LOCATION_HAND) and bit.band(summon_location,LOCATION_GRAVE)==0 then
summon_location=summon_location+LOCATION_GRAVE
end
if Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700064) and bit.band(summon_location,LOCATION_HAND) and bit.band(summon_location,LOCATION_REMOVED)==0 then
summon_location=summon_location+LOCATION_REMOVED
end
if chk==0 then
local mg=Duel.GetRitualMaterial(tp)
if mat_filter then mg=mg:Filter(mat_filter,nil,e,tp,true) end
local exg=nil
if grave_filter then
exg=Duel.GetMatchingGroup(aux.RitualExtraFilter,tp,LOCATION_GRAVE,0,nil,grave_filter)
end
return Duel.IsExistingMatchingCard(aux.RitualUltimateFilter,tp,summon_location,0,1,nil,filter,e,tp,mg,exg,level_function,greater_or_equal,true)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,summon_location)
if grave_filter then
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,0,tp,LOCATION_GRAVE)
end
end
end
_G["aux"].RitualUltimateOperation=function(filter,level_function,greater_or_equal,summon_location,grave_filter,mat_filter)
return function(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700062) and bit.band(summon_location,LOCATION_HAND) and bit.band(summon_location,LOCATION_GRAVE)==0 then
summon_location=summon_location+LOCATION_GRAVE
end
if Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700064) and bit.band(summon_location,LOCATION_HAND) and bit.band(summon_location,LOCATION_REMOVED)==0 then
summon_location=summon_location+LOCATION_REMOVED
end
local mg=Duel.GetRitualMaterial(tp)
if mat_filter then mg=mg:Filter(mat_filter,nil,e,tp) end
local exg=nil
if grave_filter then
exg=Duel.GetMatchingGroup(aux.RitualExtraFilter,tp,LOCATION_GRAVE,0,nil,grave_filter)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(aux.RitualUltimateFilter),tp,summon_location,0,1,1,nil,filter,e,tp,mg,exg,level_function,greater_or_equal)
local tc=tg:GetFirst()
if tc then
local is_can_use_self=false
if tc:IsLocation(LOCATION_HAND) and Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700062) then
is_can_use_self=true
end
if tc:IsLocation(LOCATION_GRAVE) and Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700064) then
is_can_use_self=true
end
mg=mg:Filter(Card.IsCanBeRitualMaterial,nil,tc)
if exg then
mg:Merge(exg)
end
if tc.mat_filter then
if not is_can_use_self then
mg=mg:Filter(tc.mat_filter,tc,tp)
else
mg=mg:Filter(tc.mat_filter,nil,tp)
end
elseif not is_can_use_self then
mg:RemoveCard(tc)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local lv=level_function(tc)
aux.GCheckAdditional=aux.RitualCheckAdditional(tc,lv,greater_or_equal)
local mat=mg:SelectSubGroup(tp,aux.RitualCheck,false,1,lv,tp,tc,lv,greater_or_equal)
aux.GCheckAdditional=nil
tc:SetMaterial(mat)
Duel.ReleaseRitualMaterial(mat)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
tc:CompleteProcedure()
end
end
end
_G["aux"].RitualUltimateFilter=function(c,filter,e,tp,m1,m2,level_function,greater_or_equal,chk)
local is_can_use_self=false
if c:IsLocation(LOCATION_HAND) and Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700062) then
is_can_use_self=true
end
if c:IsLocation(LOCATION_GRAVE) and Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700064) then
is_can_use_self=true
end
if bit.band(c:GetType(),0x81)~=0x81 or (filter and not filter(c,e,tp,chk)) or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
local mg=m1:Filter(Card.IsCanBeRitualMaterial,c,c)
if m2 then
mg:Merge(m2)
end
if c.mat_filter then
if not is_can_use_self then
mg=mg:Filter(c.mat_filter,c,tp)
else
mg=mg:Filter(c.mat_filter,nil,tp)
end
elseif not is_can_use_self then
mg:RemoveCard(c)
end
local lv=level_function(c)
aux.GCheckAdditional=aux.RitualCheckAdditional(c,lv,greater_or_equal)
local res=mg:CheckSubGroup(aux.RitualCheck,1,lv,tp,c,lv,greater_or_equal)
aux.GCheckAdditional=nil
return res
end
local all_cards=Duel.GetMatchingGroup(nil,tp,0x1ff,0x1ff,nil)
all_cards:ForEach(cm.enum)
end
function cm.enum(c)
Card.ReplaceEffect(c,90700060,RESET_EVENT,1)
if not c:IsType(TYPE_NORMAL) then
_G["c"..c:GetCode()].initial_effect(c)
end
end
function cm.thfilter(c)
return c:IsCode(90700063) and c:IsAbleToHand()
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(cm.thfilter,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
local c=g:GetFirst()
Duel.SendtoHand(c,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,c)
end
end
\ No newline at end of file
local m=90700063
local cm=_G["c"..m]
cm.name="赫斯提亚的守护"
function cm.initial_effect(c)
c:SetUniqueOnField(1,0,m)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_REMAIN_FIELD)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_EXTRA_RITUAL_MATERIAL)
e3:SetValue(1)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e4:SetRange(LOCATION_SZONE)
e4:SetTargetRange(LOCATION_GRAVE,0)
e4:SetTarget(cm.eftg)
e4:SetLabelObject(e3)
c:RegisterEffect(e4)
end
function cm.thfilter(c)
return c:IsCode(90700064) and c:IsAbleToHand()
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(cm.thfilter,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
local c=g:GetFirst()
Duel.SendtoHand(c,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,c)
end
end
function cm.eftg(e,c)
return c:IsType(TYPE_MONSTER)
end
\ No newline at end of file
local m=90700064
local cm=_G["c"..m]
cm.name="帕拉斯的归处"
function cm.initial_effect(c)
c:SetUniqueOnField(1,0,m)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_REMAIN_FIELD)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(m)
e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(1,0)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_STARTUP)
e4:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE)
e4:SetRange(0x1ff)
e4:SetOperation(cm.op)
e4:SetCountLimit(1,EFFECT_COUNT_CODE_DUEL+90700060)
c:RegisterEffect(e4)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
_G["aux"].RitualUltimateTarget=function(filter,level_function,greater_or_equal,summon_location,grave_filter,mat_filter)
return function(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700062) and bit.band(summon_location,LOCATION_HAND) and bit.band(summon_location,LOCATION_GRAVE)==0 then
summon_location=summon_location+LOCATION_GRAVE
end
if Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700064) and bit.band(summon_location,LOCATION_HAND) and bit.band(summon_location,LOCATION_REMOVED)==0 then
summon_location=summon_location+LOCATION_REMOVED
end
if chk==0 then
local mg=Duel.GetRitualMaterial(tp)
if mat_filter then mg=mg:Filter(mat_filter,nil,e,tp,true) end
local exg=nil
if grave_filter then
exg=Duel.GetMatchingGroup(aux.RitualExtraFilter,tp,LOCATION_GRAVE,0,nil,grave_filter)
end
return Duel.IsExistingMatchingCard(aux.RitualUltimateFilter,tp,summon_location,0,1,nil,filter,e,tp,mg,exg,level_function,greater_or_equal,true)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,summon_location)
if grave_filter then
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,0,tp,LOCATION_GRAVE)
end
end
end
_G["aux"].RitualUltimateOperation=function(filter,level_function,greater_or_equal,summon_location,grave_filter,mat_filter)
return function(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700062) and bit.band(summon_location,LOCATION_HAND) and bit.band(summon_location,LOCATION_GRAVE)==0 then
summon_location=summon_location+LOCATION_GRAVE
end
if Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700064) and bit.band(summon_location,LOCATION_HAND) and bit.band(summon_location,LOCATION_REMOVED)==0 then
summon_location=summon_location+LOCATION_REMOVED
end
local mg=Duel.GetRitualMaterial(tp)
if mat_filter then mg=mg:Filter(mat_filter,nil,e,tp) end
local exg=nil
if grave_filter then
exg=Duel.GetMatchingGroup(aux.RitualExtraFilter,tp,LOCATION_GRAVE,0,nil,grave_filter)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(aux.RitualUltimateFilter),tp,summon_location,0,1,1,nil,filter,e,tp,mg,exg,level_function,greater_or_equal)
local tc=tg:GetFirst()
if tc then
local is_can_use_self=false
if tc:IsLocation(LOCATION_HAND) and Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700062) then
is_can_use_self=true
end
if tc:IsLocation(LOCATION_GRAVE) and Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700064) then
is_can_use_self=true
end
mg=mg:Filter(Card.IsCanBeRitualMaterial,nil,tc)
if exg then
mg:Merge(exg)
end
if tc.mat_filter then
if not is_can_use_self then
mg=mg:Filter(tc.mat_filter,tc,tp)
else
mg=mg:Filter(tc.mat_filter,nil,tp)
end
elseif not is_can_use_self then
mg:RemoveCard(tc)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local lv=level_function(tc)
aux.GCheckAdditional=aux.RitualCheckAdditional(tc,lv,greater_or_equal)
local mat=mg:SelectSubGroup(tp,aux.RitualCheck,false,1,lv,tp,tc,lv,greater_or_equal)
aux.GCheckAdditional=nil
tc:SetMaterial(mat)
Duel.ReleaseRitualMaterial(mat)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
tc:CompleteProcedure()
end
end
end
_G["aux"].RitualUltimateFilter=function(c,filter,e,tp,m1,m2,level_function,greater_or_equal,chk)
local is_can_use_self=false
if c:IsLocation(LOCATION_HAND) and Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700062) then
is_can_use_self=true
end
if c:IsLocation(LOCATION_GRAVE) and Duel.IsPlayerAffectedByEffect(e:GetHandlerPlayer(),90700064) then
is_can_use_self=true
end
if bit.band(c:GetType(),0x81)~=0x81 or (filter and not filter(c,e,tp,chk)) or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
local mg=m1:Filter(Card.IsCanBeRitualMaterial,c,c)
if m2 then
mg:Merge(m2)
end
if c.mat_filter then
if not is_can_use_self then
mg=mg:Filter(c.mat_filter,c,tp)
else
mg=mg:Filter(c.mat_filter,nil,tp)
end
elseif not is_can_use_self then
mg:RemoveCard(c)
end
local lv=level_function(c)
aux.GCheckAdditional=aux.RitualCheckAdditional(c,lv,greater_or_equal)
local res=mg:CheckSubGroup(aux.RitualCheck,1,lv,tp,c,lv,greater_or_equal)
aux.GCheckAdditional=nil
return res
end
local all_cards=Duel.GetMatchingGroup(nil,tp,0x1ff,0x1ff,nil)
all_cards:ForEach(cm.enum)
end
function cm.enum(c)
Card.ReplaceEffect(c,c:GetCode(),RESET_EVENT,1)
end
function cm.thfilter(c)
return c:IsCode(90700061) and c:IsAbleToHand()
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(cm.thfilter,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
local c=g:GetFirst()
Duel.SendtoHand(c,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,c)
end
end
\ No newline at end of file
local m=90700065
local cm=_G["c"..m]
cm.name="忆晶所选中者-艾薇儿"
function cm.initial_effect(c)
aux.AddCodeList(c,90700070)
c:EnableReviveLimit()
aux.EnablePendulumAttribute(c,false)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e1:SetRange(LOCATION_EXTRA)
e1:SetCondition(cm.topcon)
e1:SetOperation(cm.topop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ADJUST)
e2:SetRange(LOCATION_PZONE)
e2:SetCondition(cm.bancon)
e2:SetOperation(cm.banop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_REMOVE)
e3:SetOperation(cm.enable)
e3:SetCountLimit(1,m+EFFECT_COUNT_CODE_DUEL)
c:RegisterEffect(e3)
end
function cm.topcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)
end
function cm.topop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,tp,e:GetHandler():GetCode())
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
function cm.bancon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetMatchingGroupCount(nil,tp,LOCATION_PZONE,0,e:GetHandler())==0
end
function cm.banop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,tp,e:GetHandler():GetCode())
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end
cm.assisgroup=Group.CreateGroup()
function cm.enable(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_MOVE)
e1:SetCondition(cm.con)
e1:SetOperation(cm.op)
Duel.RegisterEffect(e1,e:GetHandlerPlayer())
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ADJUST)
e2:SetOperation(cm.todeckop)
Duel.RegisterEffect(e2,1-e:GetHandlerPlayer())
end
function cm.filter(c,tp)
return c:IsLocation(LOCATION_ONFIELD) and not c:IsControler(tp)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return eg:FilterCount(cm.filter,nil,tp)~=0
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,tp,e:GetHandler():GetCode())
local sel=Duel.GetFieldGroup(tp,LOCATION_REMOVED,0):RandomSelect(tp,1)
local tc=sel:GetFirst()
Duel.HintSelection(sel)
if aux.IsCodeListed(tc,90700070) then
local tdg=eg:Filter(cm.filter,nil,tp)
tdg:AddCard(tc)
cm.assisgroup:Merge(tdg)
end
end
function cm.todeckop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoDeck(cm.assisgroup,nil,2,REASON_RULE)
cm.assisgroup:Clear()
end
\ No newline at end of file
local m=90700066
local cm=_G["c"..m]
cm.name="忆晶所选中者-布洛瓦"
function cm.initial_effect(c)
aux.AddCodeList(c,90700070)
c:EnableReviveLimit()
aux.EnablePendulumAttribute(c,false)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e1:SetRange(LOCATION_EXTRA)
e1:SetCondition(cm.topcon)
e1:SetOperation(cm.topop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ADJUST)
e2:SetRange(LOCATION_PZONE)
e2:SetCondition(cm.bancon)
e2:SetOperation(cm.banop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_REMOVE)
e3:SetOperation(cm.enable)
e3:SetCountLimit(1,m+EFFECT_COUNT_CODE_DUEL)
c:RegisterEffect(e3)
end
function cm.topcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)
end
function cm.topop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,tp,e:GetHandler():GetCode())
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
function cm.bancon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetMatchingGroupCount(nil,tp,LOCATION_PZONE,0,e:GetHandler())==0
end
function cm.banop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,tp,e:GetHandler():GetCode())
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end
function cm.enable(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_MOVE)
e1:SetCondition(cm.con)
e1:SetOperation(cm.op)
Duel.RegisterEffect(e1,e:GetHandlerPlayer())
end
function cm.filter(c,tp)
return c:IsLocation(LOCATION_HAND) and not c:IsControler(tp)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local num=eg:FilterCount(cm.filter,nil,tp)
e:SetLabel(num)
return num~=0
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,tp,e:GetHandler():GetCode())
local sel=Duel.GetFieldGroup(tp,LOCATION_REMOVED,0):RandomSelect(tp,1)
local tc=sel:GetFirst()
Duel.HintSelection(sel)
if aux.IsCodeListed(tc,90700070) then
local g=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
local num=g:GetCount()
if num>e:GetLabel()*2 then
num=e:GetLabel()*2
end
local tdg=g:RandomSelect(tp,num)
tdg:AddCard(tc)
Duel.SendtoDeck(tdg,nil,2,REASON_RULE)
end
end
\ No newline at end of file
local m=90700067
local cm=_G["c"..m]
cm.name="忆晶所选中者-露比"
function cm.initial_effect(c)
aux.AddCodeList(c,90700070)
c:EnableReviveLimit()
aux.EnablePendulumAttribute(c,false)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e1:SetRange(LOCATION_EXTRA)
e1:SetCondition(cm.topcon)
e1:SetOperation(cm.topop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ADJUST)
e2:SetRange(LOCATION_PZONE)
e2:SetCondition(cm.bancon)
e2:SetOperation(cm.banop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_REMOVE)
e3:SetOperation(cm.enable)
e3:SetCountLimit(1,m+EFFECT_COUNT_CODE_DUEL)
c:RegisterEffect(e3)
end
function cm.topcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)
end
function cm.topop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,tp,e:GetHandler():GetCode())
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
function cm.bancon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetMatchingGroupCount(nil,tp,LOCATION_PZONE,0,e:GetHandler())==0
end
function cm.banop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,tp,e:GetHandler():GetCode())
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end
cm.selg=Group.CreateGroup()
function cm.enable(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_CHAINING)
e1:SetCondition(cm.con)
e1:SetOperation(cm.op)
Duel.RegisterEffect(e1,e:GetHandlerPlayer())
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,tp,e:GetHandler():GetCode())
local sel=Duel.GetFieldGroup(tp,LOCATION_REMOVED,0):RandomSelect(tp,1)
local tc=sel:GetFirst()
Duel.HintSelection(sel)
if aux.IsCodeListed(tc,90700070) then
cm.selg:Clear()
cm.selg:AddCard(tc)
Duel.ChangeChainOperation(ev,cm.changedop)
end
end
function cm.changedop(e,tp,eg,ep,ev,re,r,rp)
local g=Group.CreateGroup()
g:AddCard(e:GetHandler())
g:AddCard(cm.selg:GetFirst())
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
\ No newline at end of file
local m=90700068
local cm=_G["c"..m]
cm.name="忆晶所选中者-欧罗拉"
function cm.initial_effect(c)
aux.AddCodeList(c,90700070)
c:EnableReviveLimit()
aux.EnablePendulumAttribute(c,false)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e1:SetRange(LOCATION_EXTRA)
e1:SetCondition(cm.topcon)
e1:SetOperation(cm.topop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ADJUST)
e2:SetRange(LOCATION_PZONE)
e2:SetCondition(cm.bancon)
e2:SetOperation(cm.banop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_REMOVE)
e3:SetOperation(cm.enable)
e3:SetCountLimit(1,m+EFFECT_COUNT_CODE_DUEL)
c:RegisterEffect(e3)
end
function cm.topcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)
end
function cm.topop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,tp,e:GetHandler():GetCode())
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
function cm.bancon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetMatchingGroupCount(nil,tp,LOCATION_PZONE,0,e:GetHandler())==0
end
function cm.banop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,tp,e:GetHandler():GetCode())
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end
cm.selg=Group.CreateGroup()
function cm.enable(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_CHAINING)
e1:SetCondition(cm.con)
e1:SetOperation(cm.op)
Duel.RegisterEffect(e1,e:GetHandlerPlayer())
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return ep==tp
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,tp,e:GetHandler():GetCode())
local sel=Duel.GetFieldGroup(tp,LOCATION_REMOVED,0):RandomSelect(tp,1)
local tc=sel:GetFirst()
Duel.HintSelection(sel)
if aux.IsCodeListed(tc,90700070) then
Duel.SendtoDeck(tc,nil,2,REASON_RULE)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_INACTIVATE)
e1:SetReset(RESET_EVENT+RESET_CHAIN)
e1:SetValue(cm.effectfilter)
e1:SetLabelObject(re)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_DISEFFECT)
Duel.RegisterEffect(e2,tp)
end
end
function cm.effectfilter(e,ct)
return Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT)==e:GetLabelObject()
end
\ No newline at end of file
local m=90700069
local cm=_G["c"..m]
cm.name="忆晶所选中者-克鲁兹"
function cm.initial_effect(c)
aux.AddCodeList(c,90700070)
c:EnableReviveLimit()
aux.EnablePendulumAttribute(c,false)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e1:SetRange(LOCATION_EXTRA)
e1:SetCondition(cm.topcon)
e1:SetOperation(cm.topop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ADJUST)
e2:SetRange(LOCATION_PZONE)
e2:SetCondition(cm.bancon)
e2:SetOperation(cm.banop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_REMOVE)
e3:SetOperation(cm.enable)
e3:SetCountLimit(1,m+EFFECT_COUNT_CODE_DUEL)
c:RegisterEffect(e3)
end
function cm.topcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)
end
function cm.topop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,tp,e:GetHandler():GetCode())
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
function cm.bancon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetMatchingGroupCount(nil,tp,LOCATION_PZONE,0,e:GetHandler())==0
end
function cm.banop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,tp,e:GetHandler():GetCode())
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end
function cm.enable(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetOperation(cm.op)
Duel.RegisterEffect(e1,e:GetHandlerPlayer())
end
function cm.filter(c)
return c:IsFaceup() and aux.IsCodeListed(c,90700070)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,tp,e:GetHandler():GetCode())
local reg=Duel.GetFieldGroup(tp,LOCATION_REMOVED,0)
local damcalg=reg:Filter(cm.filter,nil)
Duel.SendtoDeck(reg,nil,2,REASON_EFFECT)
Duel.SetLP(1-tp,Duel.GetLP(1-tp)-reg:FilterCount(Card.IsLocation,nil,LOCATION_EXTRA)*1000)
end
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment