Commit 25758af1 authored by POLYMER's avatar POLYMER

fix

parent 191b1c30
......@@ -290,7 +290,7 @@ function cm.mop(e,tp,eg,ep,ev,re,r,rp)
if b3 then if seq==5 then flag=flag|0x2 else flag=flag|0x8 end end
if b4 then if seq==1 then flag=flag|0x20 else flag=flag|0x40 end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0x600060)
local nseq=math.log(s&0xff,2)
if s<0xffff then
Duel.MoveSequence(c,nseq)
......@@ -328,7 +328,7 @@ function cm.mop(e,tp,eg,ep,ev,re,r,rp)
if b3 then if seq==5 then flag=flag|0x2 else flag=flag|0x8 end end
if b4 then if seq==1 then flag=flag|0x20 else flag=flag|0x40 end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0x600060)
local nseq=math.log(s&0xff,2)
if s<0xffff then
Duel.MoveSequence(c,nseq)
......
......@@ -300,7 +300,7 @@ function cm.mop(e,tp,eg,ep,ev,re,r,rp)
if b3 then if seq==5 then flag=flag|0x2 else flag=flag|0x8 end end
if b4 then if seq==1 then flag=flag|0x20 else flag=flag|0x40 end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0x600060)
local nseq=math.log(s&0xff,2)
if s<0xffff then
Duel.MoveSequence(c,nseq)
......@@ -338,7 +338,7 @@ function cm.mop(e,tp,eg,ep,ev,re,r,rp)
if b3 then if seq==5 then flag=flag|0x2 else flag=flag|0x8 end end
if b4 then if seq==1 then flag=flag|0x20 else flag=flag|0x40 end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0x600060)
local nseq=math.log(s&0xff,2)
if s<0xffff then
Duel.MoveSequence(c,nseq)
......
......@@ -237,7 +237,7 @@ function cm.mop(e,tp,eg,ep,ev,re,r,rp)
if b3 then if seq==5 then flag=flag|0x2 else flag=flag|0x8 end end
if b4 then if seq==1 then flag=flag|0x20 else flag=flag|0x40 end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0x600060)
local nseq=math.log(s&0xff,2)
if s<0xffff then
Duel.MoveSequence(c,nseq)
......@@ -275,7 +275,7 @@ function cm.mop(e,tp,eg,ep,ev,re,r,rp)
if b3 then if seq==5 then flag=flag|0x2 else flag=flag|0x8 end end
if b4 then if seq==1 then flag=flag|0x20 else flag=flag|0x40 end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0x600060)
local nseq=math.log(s&0xff,2)
if s<0xffff then
Duel.MoveSequence(c,nseq)
......
......@@ -232,7 +232,7 @@ function cm.mop(e,tp,eg,ep,ev,re,r,rp)
if b3 then if seq==5 then flag=flag|0x2 else flag=flag|0x8 end end
if b4 then if seq==1 then flag=flag|0x20 else flag=flag|0x40 end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0x600060)
local nseq=math.log(s&0xff,2)
if s<0xffff then
Duel.MoveSequence(c,nseq)
......@@ -270,7 +270,7 @@ function cm.mop(e,tp,eg,ep,ev,re,r,rp)
if b3 then if seq==5 then flag=flag|0x2 else flag=flag|0x8 end end
if b4 then if seq==1 then flag=flag|0x20 else flag=flag|0x40 end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0x600060)
local nseq=math.log(s&0xff,2)
if s<0xffff then
Duel.MoveSequence(c,nseq)
......
......@@ -250,7 +250,7 @@ function cm.mop(e,tp,eg,ep,ev,re,r,rp)
if b3 then if seq==5 then flag=flag|0x2 else flag=flag|0x8 end end
if b4 then if seq==1 then flag=flag|0x20 else flag=flag|0x40 end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0x600060)
local nseq=math.log(s&0xff,2)
if s<0xffff then
Duel.MoveSequence(c,nseq)
......@@ -288,7 +288,7 @@ function cm.mop(e,tp,eg,ep,ev,re,r,rp)
if b3 then if seq==5 then flag=flag|0x2 else flag=flag|0x8 end end
if b4 then if seq==1 then flag=flag|0x20 else flag=flag|0x40 end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0x600060)
local nseq=math.log(s&0xff,2)
if s<0xffff then
Duel.MoveSequence(c,nseq)
......
......@@ -244,7 +244,7 @@ function cm.mop(e,tp,eg,ep,ev,re,r,rp)
if b3 then if seq==5 then flag=flag|0x2 else flag=flag|0x8 end end
if b4 then if seq==1 then flag=flag|0x20 else flag=flag|0x40 end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0x600060)
local nseq=math.log(s&0xff,2)
if s<0xffff then
Duel.MoveSequence(c,nseq)
......@@ -282,7 +282,7 @@ function cm.mop(e,tp,eg,ep,ev,re,r,rp)
if b3 then if seq==5 then flag=flag|0x2 else flag=flag|0x8 end end
if b4 then if seq==1 then flag=flag|0x20 else flag=flag|0x40 end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0x600060)
local nseq=math.log(s&0xff,2)
if s<0xffff then
Duel.MoveSequence(c,nseq)
......
......@@ -164,7 +164,7 @@ function c11561078.cfilter(c)
return c:IsCode(93717133,18963306,88177324) and Duel.IsExistingMatchingCard(c11561078.thfilter,tp,LOCATION_DECK,0,3,nil,c:GetCode()) and Duel.GetMatchingGroup(c11561078.thfilter,tp,LOCATION_DECK,0,nil,c:GetCode()):GetClassCount(Card.GetCode)>2
end
function c11561078.thfilter(c,code)
return (code==93717133 and c:IsSetCard(0x55,0x7b)) or (code==18963306 and c:IsSetCard(0x95,0xe5)) or (code==88177324 and c:IsSetCard(0x1b4,0x175))
return ((code==93717133 and c:IsSetCard(0x55,0x7b)) or (code==18963306 and c:IsSetCard(0x95,0xe5)) or (code==88177324 and c:IsSetCard(0x1b4,0x175))) and c:IsAbleToHand()
end
function c11561078.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11561078.cfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,e:GetHandler()) end
......
......@@ -27,6 +27,12 @@ function s.pfilter(c)
return c:IsCode(40020509) and (c:IsFaceup() or c:IsLocation(LOCATION_HAND)) and not c:IsForbidden()
end
function s.fusfilter(c,e,tp,m)
return c:IsType(TYPE_FUSION) and s.HighEvo(c)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
and c:CheckFusionMaterial(m,nil,tp)
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
......@@ -45,10 +45,9 @@ end
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
return rp==tp and (
re:IsActiveType(TYPE_TRAP) or
(re:GetHandler():IsCode(40020509) and re:IsActiveType(TYPE_SPELL)) or (re:GetHandler():IsCode(40020539) and re:GetHandler():IsLocation(LOCATION_MZONE))
)
return rp==tp and
re:IsActiveType(TYPE_TRAP)
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
......@@ -60,7 +60,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local labs={e:GetLabel()}
local count=#labs
if count and count>0 then
if count and count>0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_STANDBY)
......@@ -76,7 +76,7 @@ function s.spfilter(c,e,tp,code)
return c:IsCode(code) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetLabelObject()
--local c=e:GetLabelObject()
local labs={e:GetLabel()}
local ct=labs[1]
local codes={}
......@@ -85,7 +85,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
end
ct=ct-1
e:SetLabel(ct,table.unpack(labs))
c:SetTurnCounter(ct)
--c:SetTurnCounter(ct)
if ct==0 then
Duel.Hint(HINT_CARD,0,id)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
......
......@@ -2,12 +2,6 @@
local s,id,o=GetID()
function s.initial_effect(c)
c:SetUniqueOnField(1,0,id)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1:SetValue(s.linklimit)
--c:RegisterEffect(e1)
--hand link
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
......@@ -20,7 +14,7 @@ function s.initial_effect(c)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetCost(s.thcost)
e3:SetCondition(s.thcon)
......@@ -39,10 +33,6 @@ end
function s.mfilter(c)
return c:IsLocation(LOCATION_MZONE)
end
function s.linklimit(e,c)
if not c then return false end
return not c:IsLinkAbove(3)
end
function s.matval(e,lc,mg,c,tp)
if not lc:IsRace(RACE_ZOMBIE) then return false,nil end
return true,not mg or mg:IsExists(s.mfilter,1,nil)
......
......@@ -67,14 +67,15 @@ function s.lkop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,s.lkfilter,tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.LinkSummon(tp,tc,nil)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(s.efilter)
tc:RegisterEffect(e1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD)
tc:RegisterEffect(e1,true)
Duel.LinkSummon(tp,tc,nil)
end
end
function s.cfilter(c)
......
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