Commit 5e72a7bc authored by mercury233's avatar mercury233

update

parent ea41f780
......@@ -27,7 +27,7 @@ function c15627227.initial_effect(c)
end
function c15627227.spfilter1(c,e,tp)
if c:IsFaceup() and c:IsType(TYPE_LINK) then
local zone=c:GetLinkedZone()
local zone=c:GetLinkedZone(tp)
return zone~=0 and Duel.IsExistingMatchingCard(c15627227.spfilter2,tp,LOCATION_HAND,0,1,nil,e,tp,zone)
else return false end
end
......@@ -46,7 +46,7 @@ function c15627227.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local lc=Duel.GetFirstTarget()
if lc:IsRelateToEffect(e) and lc:IsFaceup() then
local zone=lc:GetLinkedZone()
local zone=lc:GetLinkedZone(tp)
if zone==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c15627227.spfilter2,tp,LOCATION_HAND,0,1,1,nil,e,tp,zone):GetFirst()
......
......@@ -5,6 +5,7 @@ function c30010480.initial_effect(c)
c:EnableReviveLimit()
--extra summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(30010480,0))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_EXTRA_SUMMON_COUNT)
e1:SetRange(LOCATION_MZONE)
......@@ -37,7 +38,7 @@ function c30010480.sumval(e,c)
local relzone=-bit.lshift(1,e:GetHandler():GetSequence())
return 0,sumzone,relzone
else
local sumzone=bit.rshift(e:GetHandler():GetLinkedZone(),16)
local sumzone=e:GetHandler():GetLinkedZone(1-e:GetHandlerPlayer())
local relzone=-bit.lshift(1,e:GetHandler():GetSequence()+16)
return 0,sumzone,relzone
end
......
......@@ -56,7 +56,7 @@ function c4709881.spfilter1(c,e,tp,zone)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone,true)
end
function c4709881.sptg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local zone=e:GetHandler():GetLinkedZone()
local zone=e:GetHandler():GetLinkedZone(tp)
local cc=e:GetLabelObject()
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp)
and chkc~=cc and c4709881.spfilter1(chkc,e,tp,zone) end
......@@ -67,7 +67,7 @@ function c4709881.sptg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c4709881.spop1(e,tp,eg,ep,ev,re,r,rp)
local zone=e:GetHandler():GetLinkedZone()
local zone=e:GetHandler():GetLinkedZone(tp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and zone~=0 then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP,zone)
......
......@@ -30,7 +30,7 @@ function c66015185.filter(c,e,tp,zone)
return c:IsLevelAbove(5) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone)
end
function c66015185.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local zone=e:GetHandler():GetLinkedZone()
local zone=e:GetHandler():GetLinkedZone(tp)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c66015185.filter(chkc,e,tp,zone) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and zone~=0
and Duel.IsExistingTarget(c66015185.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp,zone) end
......@@ -40,7 +40,7 @@ function c66015185.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function c66015185.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local zone=c:GetLinkedZone()
local zone=c:GetLinkedZone(tp)
if zone==0 then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local tc=Duel.GetFirstTarget()
......
......@@ -52,7 +52,7 @@ function c74937659.spfilter(c,e,tp,zone)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE,tp,zone)
end
function c74937659.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
local zone=e:GetHandler():GetLinkedZone()
local zone=e:GetHandler():GetLinkedZone(tp)
if chk==0 then return Duel.IsExistingMatchingCard(c74937659.tgfilter,tp,LOCATION_DECK,0,1,nil)
and Duel.IsExistingMatchingCard(c74937659.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp,zone) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
......@@ -63,7 +63,7 @@ function c74937659.tgop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c74937659.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoGrave(g,REASON_EFFECT)~=0
and g:GetFirst():IsLocation(LOCATION_GRAVE) then
local zone=e:GetHandler():GetLinkedZone()
local zone=e:GetHandler():GetLinkedZone(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c74937659.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp,zone)
if zone~=0 and sg:GetCount()>0 then
......
......@@ -56,9 +56,9 @@ function c88406570.spop(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.SelectMatchingCard(1-tp,aux.NecroValleyFilter(c88406570.spfilter1),1-tp,LOCATION_GRAVE,0,1,ft,nil,e,1-tp)
if g1:GetCount()>0 then
local ct=Duel.SpecialSummon(g1,0,1-tp,1-tp,false,false,POS_FACEUP)
local zone=c:GetLinkedZone()
local zone=c:GetLinkedZone(tp)
ct=math.min(Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_TOFIELD,zone),ct)
if ct>0 and c:IsRelateToEffect(e) then
if zone~=0 and ct>0 and c:IsRelateToEffect(e) then
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ct=1 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g2=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c88406570.spfilter2),tp,LOCATION_GRAVE,0,1,ct,nil,e,tp,zone)
......
......@@ -37,7 +37,7 @@ end
function c93503294.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local lg=c:GetLinkedGroup()
local zone=c:GetLinkedZone()
local zone=c:GetLinkedZone(tp)
if chk==0 then return Duel.CheckReleaseGroup(tp,c93503294.spcfilter,1,c,lg,zone) end
local tc=Duel.SelectReleaseGroup(tp,c93503294.spcfilter,1,1,c,lg,zone):GetFirst()
if lg:IsContains(tc) then
......@@ -53,7 +53,7 @@ function c93503294.spfilter1(c,e,tp,zone)
end
function c93503294.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local zone=e:GetHandler():GetLinkedZone()
local zone=e:GetHandler():GetLinkedZone(tp)
if zone~=0 then
return Duel.IsExistingMatchingCard(c93503294.spfilter1,tp,LOCATION_DECK,0,1,nil,e,tp,zone)
else
......@@ -63,7 +63,7 @@ function c93503294.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c93503294.spop(e,tp,eg,ep,ev,re,r,rp)
local zone=e:GetHandler():GetLinkedZone()
local zone=e:GetHandler():GetLinkedZone(tp)
if zone==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c93503294.spfilter1,tp,LOCATION_DECK,0,1,1,nil,e,tp,zone)
......
......@@ -19,13 +19,13 @@ function c98978921.filter(c,e,tp,zone)
end
function c98978921.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local zone=e:GetHandler():GetLinkedZone()
local zone=e:GetHandler():GetLinkedZone(tp)
return zone~=0 and Duel.IsExistingMatchingCard(c98978921.filter,tp,LOCATION_HAND,0,1,nil,e,tp,zone)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c98978921.operation(e,tp,eg,ep,ev,re,r,rp)
local zone=e:GetHandler():GetLinkedZone()
local zone=e:GetHandler():GetLinkedZone(tp)
if zone==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c98978921.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp,zone)
......
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