Commit 92caa7dc authored by Nemo Ma's avatar Nemo Ma

fix

parent 2a566bb5
...@@ -53,7 +53,7 @@ function c10150005.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -53,7 +53,7 @@ function c10150005.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoDeck(c,nil,2,REASON_COST) Duel.SendtoDeck(c,nil,2,REASON_COST)
end end
function c10150005.filter(c,e,tp) function c10150005.filter(c,e,tp)
return not c:IsCode(10150005) and c:IsSetCard(0x19) and c:IsCanBeSpecialSummoned(e,130,tp,false,false) return not c:IsCode(10150005) and c:IsSetCard(0x19) and c:IsCanBeSpecialSummoned(e,SUMMON_VALUE_GLADIATOR,tp,false,false)
end end
function c10150005.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c10150005.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
...@@ -66,7 +66,7 @@ function c10150005.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -66,7 +66,7 @@ function c10150005.spop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c10150005.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c10150005.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
Duel.SpecialSummon(tc,130,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_VALUE_GLADIATOR,tp,tp,false,false,POS_FACEUP)
tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0) tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0)
end end
end end
......
...@@ -35,7 +35,7 @@ function c10150006.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -35,7 +35,7 @@ function c10150006.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoDeck(c,nil,2,REASON_COST) Duel.SendtoDeck(c,nil,2,REASON_COST)
end end
function c10150006.filter(c,e,tp) function c10150006.filter(c,e,tp)
return not c:IsCode(10150006) and c:IsSetCard(0x19) and c:IsCanBeSpecialSummoned(e,130,tp,false,false) return not c:IsCode(10150006) and c:IsSetCard(0x19) and c:IsCanBeSpecialSummoned(e,SUMMON_VALUE_GLADIATOR,tp,false,false)
end end
function c10150006.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c10150006.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
...@@ -48,12 +48,12 @@ function c10150006.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,12 +48,12 @@ function c10150006.spop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c10150006.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c10150006.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
Duel.SpecialSummon(tc,130,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_VALUE_GLADIATOR,tp,tp,false,false,POS_FACEUP)
tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0) tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0)
end end
end end
function c10150006.spfilter1(c,e,tp) function c10150006.spfilter1(c,e,tp)
return c:IsSetCard(0x19) and c:IsCanBeSpecialSummoned(e,130,tp,false,false) return c:IsSetCard(0x19) and c:IsCanBeSpecialSummoned(e,SUMMON_VALUE_GLADIATOR,tp,false,false)
end end
function c10150006.sptg1(e,tp,eg,ep,ev,re,r,rp,chk) function c10150006.sptg1(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
...@@ -73,7 +73,7 @@ function c10150006.spop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -73,7 +73,7 @@ function c10150006.spop1(e,tp,eg,ep,ev,re,r,rp)
if e:GetLabel()==1 and ft>=2 and not Duel.IsPlayerAffectedByEffect(tp,59822133) then ct=2 end if e:GetLabel()==1 and ft>=2 and not Duel.IsPlayerAffectedByEffect(tp,59822133) then ct=2 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c10150006.spfilter1,tp,LOCATION_HAND,0,1,ct,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c10150006.spfilter1,tp,LOCATION_HAND,0,1,ct,nil,e,tp)
if g:GetCount()>0 and Duel.SpecialSummon(g,130,tp,tp,false,false,POS_FACEUP)~=0 then if g:GetCount()>0 and Duel.SpecialSummon(g,SUMMON_VALUE_GLADIATOR,tp,tp,false,false,POS_FACEUP)~=0 then
for tc in aux.Next(g) do for tc in aux.Next(g) do
tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0) tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
......
...@@ -54,10 +54,10 @@ function c10150016.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -54,10 +54,10 @@ function c10150016.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoDeck(c,nil,0,REASON_COST) Duel.SendtoDeck(c,nil,0,REASON_COST)
end end
function c10150016.spfilter1(c,e,tp) function c10150016.spfilter1(c,e,tp)
return c:IsSetCard(0x19) and c:IsCanBeSpecialSummoned(e,130,tp,false,false) and Duel.IsExistingMatchingCard(c10150016.spfilter2,tp,LOCATION_DECK,0,1,nil,e,tp,c:GetCode(),c:GetRace()) return c:IsSetCard(0x19) and c:IsCanBeSpecialSummoned(e,SUMMON_VALUE_GLADIATOR,tp,false,false) and Duel.IsExistingMatchingCard(c10150016.spfilter2,tp,LOCATION_DECK,0,1,nil,e,tp,c:GetCode(),c:GetRace())
end end
function c10150016.spfilter2(c,e,tp,code,race) function c10150016.spfilter2(c,e,tp,code,race)
return c:IsSetCard(0x19) and c:IsCanBeSpecialSummoned(e,130,tp,false,false) and c:IsRace(race) and not c:IsCode(code) return c:IsSetCard(0x19) and c:IsCanBeSpecialSummoned(e,SUMMON_VALUE_GLADIATOR,tp,false,false) and c:IsRace(race) and not c:IsCode(code)
end end
function c10150016.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c10150016.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMZoneCount(tp,e:GetHandler(),tp)>=2 and not Duel.IsPlayerAffectedByEffect(tp,59822133) and Duel.IsExistingMatchingCard(c10150016.spfilter1,tp,LOCATION_DECK,0,1,nil,e,tp) end if chk==0 then return Duel.GetMZoneCount(tp,e:GetHandler(),tp)>=2 and not Duel.IsPlayerAffectedByEffect(tp,59822133) and Duel.IsExistingMatchingCard(c10150016.spfilter1,tp,LOCATION_DECK,0,1,nil,e,tp) end
...@@ -73,7 +73,7 @@ function c10150016.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -73,7 +73,7 @@ function c10150016.spop(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.SelectMatchingCard(tp,c10150016.spfilter2,tp,LOCATION_DECK,0,1,1,nil,e,tp,tc:GetCode(),tc:GetRace()) local sg=Duel.SelectMatchingCard(tp,c10150016.spfilter2,tp,LOCATION_DECK,0,1,1,nil,e,tp,tc:GetCode(),tc:GetRace())
sg:AddCard(tc) sg:AddCard(tc)
for sc in aux.Next(sg) do for sc in aux.Next(sg) do
Duel.SpecialSummonStep(sc,130,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(sc,SUMMON_VALUE_GLADIATOR,tp,tp,false,false,POS_FACEUP)
sc:RegisterFlagEffect(sc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0) sc:RegisterFlagEffect(sc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0)
end end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
......
...@@ -44,7 +44,7 @@ function c10150017.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -44,7 +44,7 @@ function c10150017.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoDeck(c,nil,2,REASON_COST) Duel.SendtoDeck(c,nil,2,REASON_COST)
end end
function c10150017.filter(c,e,tp) function c10150017.filter(c,e,tp)
return not c:IsCode(10150017) and c:IsSetCard(0x19) and c:IsCanBeSpecialSummoned(e,130,tp,false,false) return not c:IsCode(10150017) and c:IsSetCard(0x19) and c:IsCanBeSpecialSummoned(e,SUMMON_VALUE_GLADIATOR,tp,false,false)
end end
function c10150017.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c10150017.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
...@@ -57,12 +57,12 @@ function c10150017.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -57,12 +57,12 @@ function c10150017.spop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c10150017.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c10150017.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
Duel.SpecialSummon(tc,130,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_VALUE_GLADIATOR,tp,tp,false,false,POS_FACEUP)
tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0) tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0)
end end
end end
function c10150017.spfilter1(c,e,tp) function c10150017.spfilter1(c,e,tp)
return c:IsCode(10150017) and c:IsCanBeSpecialSummoned(e,130,tp,false,false) return c:IsCode(10150017) and c:IsCanBeSpecialSummoned(e,SUMMON_VALUE_GLADIATOR,tp,false,false)
end end
function c10150017.sptg1(e,tp,eg,ep,ev,re,r,rp,chk) function c10150017.sptg1(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
...@@ -73,7 +73,7 @@ function c10150017.spop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -73,7 +73,7 @@ function c10150017.spop1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.GetFirstMatchingCard(c10150017.spfilter1,tp,LOCATION_DECK,0,nil,e,tp) local tc=Duel.GetFirstMatchingCard(c10150017.spfilter1,tp,LOCATION_DECK,0,nil,e,tp)
if tc and Duel.SpecialSummonStep(tc,130,tp,tp,false,false,POS_FACEUP) then if tc and Duel.SpecialSummonStep(tc,SUMMON_VALUE_GLADIATOR,tp,tp,false,false,POS_FACEUP) then
tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0) tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -43,14 +43,12 @@ function c10150018.repop(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,14 +43,12 @@ function c10150018.repop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c10150018.spfilter),tp,0x13,0,1,1,nil,e,tp,c) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c10150018.spfilter),tp,0x13,0,1,1,nil,e,tp,c)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
local stp= c:IsSetCard(0x19) and 130 or 0 Duel.SpecialSummon(tc,SUMMON_VALUE_GLADIATOR,tp,tp,false,false,POS_FACEUP)
Duel.SpecialSummon(tc,stp,tp,tp,false,false,POS_FACEUP)
if stp==130 then if stp==130 then
tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0) tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0)
end end
end end
end end
function c10150018.spfilter(c,e,tp,rc) function c10150018.spfilter(c,e,tp,rc)
local stp= c:IsSetCard(0x19) and 130 or 0 return not c:IsCode(rc:GetCode()) and c:IsSetCard(0x19) and c:IsCanBeSpecialSummoned(e,SUMMON_VALUE_GLADIATOR,tp,false,false)
return not c:IsCode(rc:GetCode()) and c:IsSetCard(0x19) and c:IsCanBeSpecialSummoned(e,stp,tp,false,false)
end end
--蚁蚀的溶穴 --蚁蚀的溶穴
local m=11451472 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -120,7 +119,7 @@ function cm.getsetcard(c) ...@@ -120,7 +119,7 @@ function cm.getsetcard(c)
end end
function cm.sptg1(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:GetFlagEffectLabel(m)==0 and Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetOriginalCode(),cm.getsetcard(c),c:GetOriginalType(),math.max(0,c:GetTextAttack()),math.max(0,c:GetTextDefense()),c:GetOriginalLevel(),c:GetOriginalRace(),c:GetOriginalAttribute()) end if chk==0 then return c:GetFlagEffectLabel(m)==0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end--Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetOriginalCode(),cm.getsetcard(c),c:GetOriginalType(),math.max(0,c:GetTextAttack()),math.max(0,c:GetTextDefense()),c:GetOriginalLevel(),c:GetOriginalRace(),c:GetOriginalAttribute()) end
c:SetFlagEffectLabel(m,1) c:SetFlagEffectLabel(m,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end end
......
...@@ -82,6 +82,7 @@ function cm.drtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -82,6 +82,7 @@ function cm.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
end end
function cm.drop(e,tp,eg,ep,ev,re,r,rp) function cm.drop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_TO_HAND) e1:SetCode(EFFECT_CANNOT_TO_HAND)
......
...@@ -197,7 +197,7 @@ end ...@@ -197,7 +197,7 @@ end
function c117960683.spop(e,tp,eg,ep,ev,re,r,rp) function c117960683.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g:GetCount()==0 then return end if g:GetCount()<2 then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<2 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<2 then return end
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
......
...@@ -67,7 +67,7 @@ function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -67,7 +67,7 @@ function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
return true return true
end end
return false return false
end end
function cm.repval(e,c) function cm.repval(e,c)
return cm.repfilter(c,e:GetHandlerPlayer()) return cm.repfilter(c,e:GetHandlerPlayer())
end end
...@@ -75,16 +75,25 @@ function cm.ovcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -75,16 +75,25 @@ function cm.ovcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end end
function cm.xyzfilter(c,e)
return c:IsCanOverlay()
end
function cm.ovtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.ovtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler()) end if chk==0 then return Duel.IsExistingMatchingCard(cm.xyzfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler()) end
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler()) local g=Duel.GetMatchingGroup(cm.xyzfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler())
end end
function cm.ovop(e,tp,eg,ep,ev,re,r,rp) function cm.ovop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler()) local g=Duel.GetMatchingGroup(cm.xyzfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler())
if g:GetCount()>0 then if g:GetCount()>0 and e:GetHandler():IsRelateToEffect(e) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,cm.xyzfilter)
Duel.HintSelection(sg) Duel.HintSelection(sg)
Duel.Overlay(e:GetHandler(),sg) local tc=sg:GetFirst()
local og=tc:GetOverlayGroup()
if og:GetCount()>0 then
Duel.SendtoGrave(og,REASON_RULE)
end
Duel.Overlay(e:GetHandler(),Group.FromCards(tc))
end end
end 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