Commit 67663c09 authored by POLYMER's avatar POLYMER

fix

parent e6c05255
No preview for this file type
......@@ -19,7 +19,7 @@ function c11513082.initial_effect(c)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_TODECK)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_FZONE)
e3:SetCountLimit(1,21513082)
......@@ -59,7 +59,7 @@ function c11513082.pbfil(c,e,tp)
return not c:IsPublic() and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck() and Duel.IsExistingMatchingCard(c11513082.thfil,tp,LOCATION_DECK,0,1,nil,e,tp,c)
end
function c11513082.thfil(c,e,tp,pc)
return c:IsSetCard(0x195) and not c:IsAttribute(pc:GetAttribute()) and c:IsAbleToHand()
return c:IsSetCard(0x195) and c:IsType(TYPE_MONSTER) and not c:IsAttribute(pc:GetAttribute()) and c:IsAbleToHand()
end
function c11513082.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11513082.pbfil,tp,LOCATION_HAND,0,1,nil,e,tp) end
......
......@@ -39,7 +39,7 @@ function c11513083.initial_effect(c)
c:RegisterEffect(e2)
end
function c11513083.xckfil(c)
return c:IsType(TYPE_MONSTER) and not c:IsPreviousLocation(LOCATION_DECK)
return c:IsType(TYPE_MONSTER) and c:IsLocation(LOCATION_HAND) and not c:IsPreviousLocation(LOCATION_DECK)
end
function c11513083.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c11513083.xckfil,1,nil)
......
......@@ -2,7 +2,7 @@
function c11513084.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DAMAGE+CATEGORY_TOHAND+CATEGORY_DISABLE)
e1:SetCategory(CATEGORY_DAMAGE+CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON+CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,11513084+EFFECT_COUNT_CODE_OATH)
......
......@@ -46,8 +46,8 @@ end
function cm.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_ONFIELD,1,nil) or Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE)
getmetatable(e:GetHandler()).announce_filter={TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK,OPCODE_ISTYPE,OPCODE_NOT}
local ac=Duel.AnnounceCard(tp,table.unpack(getmetatable(e:GetHandler()).announce_filter))
local ac=Duel.AnnounceCard(tp)
Duel.SetTargetParam(ac)
Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,0)
end
......@@ -102,7 +102,13 @@ function cm.chop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.NegateActivation(ev) or Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<3 then return end
Duel.BreakEffect()
local lo=Duel.GetMatchingGroup(nil,tp,LOCATION_DECK,0,nil)
local lg=lo:Filter(aux.dncheck,nil)
local lg=Group.CreateGroup()--lo:Filter(aux.dncheck,nil)
for tc in aux.Next(lo) do
local io2=lg:Filter(Card.IsCode,nil,tc:GetCode())
if #io2==0 then
lg:AddCard(tc)
end
end
if lg:GetCount()>2 and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE)
getmetatable(e:GetHandler()).announce_filter={TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK,OPCODE_ISTYPE,OPCODE_NOT}
......
......@@ -9,6 +9,7 @@ local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_QUICK_O)
e0:SetRange(LOCATION_HAND)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetProperty(EFFECT_FLAG_CARD_TARGET)
e0:SetCost(cm.cost)
e0:SetCondition(cm.setcon)
e0:SetTarget(cm.target)
......@@ -89,11 +90,10 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
cm[tp]=cm[tp]+1
local num=cm[tp]
local g1 = Duel.GetMatchingGroup( cm.filter5, tp, LOCATION_GRAVE, 0, nil):GetFirst()
local g2 = Duel.GetMatchingGroup( cm.filter6, tp, LOCATION_GRAVE, 0, g1 ,e,tp)
local g2 = Duel.GetMatchingGroup( cm.filter6, tp, LOCATION_GRAVE, 0, nil ,e,tp)
local kx,zzx,sxx,zzjc,sxjc,zzl=it.sxbl()
if Duel.Recover(tp,200,REASON_EFFECT)>0 then
if num>=6 and g1~=nil and #g2>0 and zzx>0 and xg.ky(tp,m,1) then
if num>=6 and #g2>0 and zzx>0 and xg.ky(tp,m,1) then
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_TODECK)
local g = Duel.SelectMatchingCard(tp, nil, tp, LOCATION_GRAVE, 0, 1, 3, nil)
Duel.SendtoDeck(g, nil, 2, REASON_EFFECT)
......
......@@ -32,7 +32,7 @@ end
function c28319011.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,1000)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c28319011.cfilter(c,oc)
return c:IsFaceup() and c:IsCode(oc:GetCode())
......@@ -58,7 +58,7 @@ function c28319011.activate(e,tp,eg,ep,ev,re,r,rp,op)
if Duel.SpecialSummon(sc,0,tp,tp,false,false,POS_FACEUP)~=0 and sc:IsSummonLocation(LOCATION_HAND) then
Duel.Recover(tp,1000,REASON_EFFECT)
end
if Duel.GetLP(tp)>10000 then
if Duel.GetLP(tp)>=10000 then
local te=sc.recover_effect
if not te then return end
local tg=te:GetTarget()
......
......@@ -24,8 +24,22 @@ function c49811234.initial_effect(c)
e3:SetTarget(c49811234.drtg)
e3:SetOperation(c49811234.drop)
c:RegisterEffect(e3)
--add LV down
if not c49811234.global_check then
c49811234.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_NO_TURN_RESET)
ge1:SetCode(EVENT_PREDRAW)
ge1:SetOperation(c49811234.checkop)
Duel.RegisterEffect(ge1,0)
end
end
function c49811234.checkop(e,tp,eg,ep,ev,re,r,rp)
c58206034.lvdn={49811234,85313220,12817939}
c12817939.lvdn={49811234,85313220}
c85313220.lvdn={49811234}
end
c49811234.lvup={85313220}
function c49811234.stfilter(c,tp)
return c:IsCode(49811237) and not c:IsForbidden() and c:CheckUniqueOnField(tp)
end
......
......@@ -138,7 +138,11 @@ function c49811237.spop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c49811237.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp,lv,def)
local tc=g:GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
if c:IsSetCard(0x41) then
Duel.SpecialSummon(tc,SUMMON_VALUE_LV,tp,tp,false,false,POS_FACEUP)
else
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
end
end
......
......@@ -68,6 +68,7 @@ end
function c49811240.filter(c,e)
local atk1=e:GetHandler():GetAttack()
local atk2=c:GetAttack()
local tp=e:GetHandlerPlayer()
return ((c:IsFaceup() and c:IsLocation(LOCATION_REMOVED)) or c:IsLocation(LOCATION_GRAVE))
and c:IsRace(RACE_FIEND) and Duel.IsExistingMatchingCard(c49811240.afilter,tp,LOCATION_DECK,0,1,nil,atk1,atk2)
end
......
......@@ -34,15 +34,15 @@ function s.condition(e,tp,eg,ep,ev,re,r,rp)
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE)
end
function s.filter(c,e,tp)
return c:IsCode(10110717) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE)
end
function s.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local tc=Duel.GetFirstMatchingCard(s.filter,tp,LOCATION_DECK,0,nil,e,tp)
local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.filter),tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
if not tc or Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)==0 or tc:IsFaceup() then return end
Duel.ConfirmCards(1-tp,tc)
local e1=Effect.CreateEffect(e:GetHandler())
......
......@@ -34,7 +34,7 @@ function cm.retg1(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.retop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
if Duel.SelectYesNo(tp,aux.Stringid(m,2))~=0 and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
if #g~=0 and Duel.IsEnvironment(60010029,tp) then
Duel.SendtoGrave(g,REASON_EFFECT)
......
......@@ -101,10 +101,10 @@ function cm.tdfilter(c)
end
function cm.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and cm.tdfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.tdfilter,tp,LOCATION_GRAVE,0,1,nil)
if chk==0 then return Duel.IsExistingTarget(cm.tdfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler())
and Duel.IsPlayerCanDraw(tp,1) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,cm.tdfilter,tp,LOCATION_GRAVE,0,1,1,nil)
local g=Duel.SelectTarget(tp,cm.tdfilter,tp,LOCATION_GRAVE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
......
......@@ -90,4 +90,4 @@ function s.eqlimit(e,c)
end
function s.ctval(e,c)
return e:GetHandlerPlayer()
end
\ No newline at end of file
end
......@@ -45,6 +45,7 @@ function c75000855.tgop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c75000855.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
--
......
......@@ -26,10 +26,10 @@ function c98920355.condition(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c98920355.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c98920355.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_MZONE,1,nil) end
if chkc then return chkc:IsLocation(LOCATION_MZONE) end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,0,LOCATION_MZONE,1,1,nil)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c98920355.activate(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -48,8 +48,8 @@ function c98920522.initial_effect(c)
e3:SetOperation(c98920522.disop)
c:RegisterEffect(e3)
end
c98920522.lvup={98920522}
c98920522.lvdn={98920522,85313220,12817939}
c98920522.lvup={58206034}
c98920522.lvdn={58206034,85313220,12817939}
function c98920522.cfilter(c,tp)
return c:IsCode(98920522) and c:IsAbleToGrave()
and Duel.GetMZoneCount(tp,c)>0
......
--圣魔兽 塞勒凯特
function c98940001.initial_effect(c)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(98940001,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,98940001)
e1:SetCost(c98940001.spcost)
e1:SetTarget(c98940001.sptg)
e1:SetOperation(c98940001.spop)
c:RegisterEffect(e1)
--tograve
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,98950001)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(c98940001.target)
e1:SetOperation(c98940001.activate)
c:RegisterEffect(e1)
end
function c98940001.cfilter1(c)
return c:IsRace(RACE_FAIRY) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsAbleToGraveAsCost()
end
function c98940001.cfilter2(c)
return c:IsRace(RACE_FAIRY) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsAbleToGraveAsCost()
end
function c98940001.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>0 and Duel.IsExistingMatchingCard(c98940001.cfilter1,tp,LOCATION_DECK,0,1,nil)
and Duel.IsExistingMatchingCard(c98940001.cfilter2,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g1=Duel.SelectMatchingCard(tp,c98940001.cfilter1,tp,LOCATION_DECK,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g2=Duel.SelectMatchingCard(tp,c98940001.cfilter2,tp,LOCATION_HAND,0,1,1,e:GetHandler())
g1:Merge(g2)
Duel.SendtoGrave(g1,REASON_COST)
end
function c98940001.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c98940001.setfilter(c)
return c:IsCode(29762407) and not c:IsForbidden()
end
function c98940001.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)~=0 then
c:CompleteProcedure()
local g=Duel.GetMatchingGroup(c98940001.setfilter,tp,LOCATION_DECK,0,nil)
if Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and g:GetCount()>0
and Duel.SelectYesNo(tp,aux.Stringid(98940001,0)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local sg=g:Select(tp,1,1,nil)
Duel.MoveToField(sg:GetFirst(),tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
end
end
function c98940001.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_REMOVED) end
if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectTarget(tp,nil,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0)
end
function c98940001.tgfilter(c)
return (c:IsCode(17484499) or aux.IsCodeListed(c,17484499))
end
function c98940001.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
local ct=Duel.GetMatchingGroup(c98940001.tgfilter,tp,LOCATION_GRAVE,0,nil):GetClassCount(Card.GetCode)
if tc:IsRelateToEffect(e) and Duel.SendtoGrave(tc,REASON_EFFECT+REASON_RETURN)~=0 and Duel.IsPlayerCanDiscardDeck(1-tp,ct) then
local g=Duel.GetDecktopGroup(1-tp,ct)
Duel.DiscardDeck(1-tp,ct,REASON_EFFECT)
local rc=g:GetFirst()
while rc do
if rc:IsLocation(LOCATION_HAND) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,1)
e1:SetValue(c98940001.aclimit)
e1:SetLabel(rc:GetCode())
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
rc=g:GetNext()
end
end
end
function c98940001.aclimit(e,re,tp)
return re:GetHandler():IsCode(e:GetLabel())
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment