Commit 982fa923 authored by POLYMER's avatar POLYMER

fix

parent 2ff8248c
...@@ -48,7 +48,7 @@ function cm.mtop(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,7 +48,7 @@ function cm.mtop(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.regop(e,tp,eg,ep,ev,re,r,rp) function cm.regop(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_CHAIN,0,1) e:GetHandler():RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_CHAIN,0,1)
re:GetHandler():RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_CHAIN,0,1) re:GetHandler():RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_CHAIN,0,1)
end end
function cm.recon(e,tp,eg,ep,ev,re,r,rp) function cm.recon(e,tp,eg,ep,ev,re,r,rp)
local seq=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_SEQUENCE) local seq=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_SEQUENCE)
......
--波动武士·热辐射爆弹 --波动武士·热辐射爆弹
local m=11451455 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -42,7 +41,7 @@ end ...@@ -42,7 +41,7 @@ end
function cm.retg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.retg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(1-tp,LOCATION_MZONE,PLAYER_NONE,0)>0 and c:IsControlerCanBeChanged() and Duel.GetFlagEffect(tp,m)==0 end if chk==0 then return Duel.GetLocationCount(1-tp,LOCATION_MZONE,PLAYER_NONE,0)>0 and c:IsControlerCanBeChanged() and Duel.GetFlagEffect(tp,m)==0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local fd=Duel.SelectDisableField(tp,1,0,LOCATION_MZONE,0) local fd=Duel.SelectDisableField(tp,1,0,LOCATION_MZONE,0)
Duel.Hint(HINT_ZONE,tp,fd) Duel.Hint(HINT_ZONE,tp,fd)
Duel.Hint(HINT_ZONE,1-tp,fd>>16) Duel.Hint(HINT_ZONE,1-tp,fd>>16)
...@@ -64,7 +63,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,7 +63,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local fd=e:GetLabel() local fd=e:GetLabel()
local seq=math.log(fd,2) local seq=math.log(fd,2)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsImmuneToEffect(e) or not c:IsControler(tp) or not Duel.CheckLocation(1-tp,LOCATION_MZONE,seq) or not c:IsFaceup() then return end if not c:IsRelateToEffect(e) or c:IsImmuneToEffect(e) or not c:IsControler(tp) or not Duel.CheckLocation(1-tp,LOCATION_MZONE,seq) then return end
Duel.GetControl(c,1-tp,0,0,fd) Duel.GetControl(c,1-tp,0,0,fd)
if c:GetSequence()==seq then if c:GetSequence()==seq then
local dg=Group.CreateGroup() local dg=Group.CreateGroup()
......
...@@ -249,7 +249,7 @@ function cm.mtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -249,7 +249,7 @@ function cm.mtg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.mop(e,tp,eg,ep,ev,re,r,rp) function cm.mop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local bool=c:IsRelateToEffect(e) and c:IsControler(tp) and c:IsFaceup() local bool=c:IsRelateToEffect(e) --and c:IsControler(tp) and c:IsFaceup()
local seq=c:GetSequence() local seq=c:GetSequence()
local b1=seq>0 and seq<5 and Duel.CheckLocation(tp,LOCATION_MZONE,seq-1) local b1=seq>0 and seq<5 and Duel.CheckLocation(tp,LOCATION_MZONE,seq-1)
local b2=seq<4 and Duel.CheckLocation(tp,LOCATION_MZONE,seq+1) local b2=seq<4 and Duel.CheckLocation(tp,LOCATION_MZONE,seq+1)
......
...@@ -208,13 +208,6 @@ end ...@@ -208,13 +208,6 @@ end
function cm.mcon(e,tp,eg,ep,ev,re,r,rp) function cm.mcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()==1 return Duel.GetCurrentChain()==1
end end
function cm.filter(c,fc,lc,tp)
local typ=bit.band(fc:GetType(),0x7)
return c:IsAbleToGrave() and c:IsType(typ)
end
function cm.fselect(g,typ)
return (typ&0x1==0 or g:IsExists(Card.IsType,1,nil,0x1)) and (typ&0x2==0 or g:IsExists(Card.IsType,1,nil,0x2)) and (typ&0x4==0 or g:IsExists(Card.IsType,1,nil,0x4))
end
function cm.nfilter(c,lc,tp,bool) function cm.nfilter(c,lc,tp,bool)
if not c:IsFaceup() then return false,false end if not c:IsFaceup() then return false,false end
if cm.islinkdirstate(c) then return true,true end if cm.islinkdirstate(c) then return true,true end
...@@ -248,7 +241,7 @@ function cm.mtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -248,7 +241,7 @@ function cm.mtg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.mop(e,tp,eg,ep,ev,re,r,rp) function cm.mop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local bool=c:IsRelateToEffect(e) and c:IsControler(tp) and c:IsFaceup() local bool=c:IsRelateToEffect(e) --and c:IsControler(tp) and c:IsFaceup()
local seq=c:GetSequence() local seq=c:GetSequence()
local b1=seq>0 and seq<5 and Duel.CheckLocation(tp,LOCATION_MZONE,seq-1) local b1=seq>0 and seq<5 and Duel.CheckLocation(tp,LOCATION_MZONE,seq-1)
local b2=seq<4 and Duel.CheckLocation(tp,LOCATION_MZONE,seq+1) local b2=seq<4 and Duel.CheckLocation(tp,LOCATION_MZONE,seq+1)
......
...@@ -176,13 +176,6 @@ end ...@@ -176,13 +176,6 @@ end
function cm.mcon(e,tp,eg,ep,ev,re,r,rp) function cm.mcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()==1 return Duel.GetCurrentChain()==1
end end
function cm.filter(c,fc,lc,tp)
local typ=bit.band(fc:GetType(),0x7)
return c:IsAbleToGrave() and c:IsType(typ)
end
function cm.fselect(g,typ)
return (typ&0x1==0 or g:IsExists(Card.IsType,1,nil,0x1)) and (typ&0x2==0 or g:IsExists(Card.IsType,1,nil,0x2)) and (typ&0x4==0 or g:IsExists(Card.IsType,1,nil,0x4))
end
function cm.nfilter(c,lc,tp,bool) function cm.nfilter(c,lc,tp,bool)
--if not c:IsFaceup() then return false,false end --if not c:IsFaceup() then return false,false end
if cm.islinkdirstate(c) then return true,true end if cm.islinkdirstate(c) then return true,true end
...@@ -209,7 +202,7 @@ function cm.mtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -209,7 +202,7 @@ function cm.mtg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.mop(e,tp,eg,ep,ev,re,r,rp) function cm.mop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local bool=c:IsRelateToEffect(e) and c:IsControler(tp) and c:IsFaceup() local bool=c:IsRelateToEffect(e) --and c:IsControler(tp) and c:IsFaceup()
local seq=c:GetSequence() local seq=c:GetSequence()
local b1=seq>0 and seq<5 and Duel.CheckLocation(tp,LOCATION_MZONE,seq-1) local b1=seq>0 and seq<5 and Duel.CheckLocation(tp,LOCATION_MZONE,seq-1)
local b2=seq<4 and Duel.CheckLocation(tp,LOCATION_MZONE,seq+1) local b2=seq<4 and Duel.CheckLocation(tp,LOCATION_MZONE,seq+1)
...@@ -280,6 +273,7 @@ function cm.mop(e,tp,eg,ep,ev,re,r,rp) ...@@ -280,6 +273,7 @@ function cm.mop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local tc=g:Select(tp,1,1,nil):GetFirst() local tc=g:Select(tp,1,1,nil):GetFirst()
if tc then if tc then
Duel.HintSelection(Group.FromCards(tc))
local fid=tc:GetRealFieldID() local fid=tc:GetRealFieldID()
tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,fid,aux.Stringid(m,3)) tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,fid,aux.Stringid(m,3))
--disable --disable
......
...@@ -176,13 +176,6 @@ end ...@@ -176,13 +176,6 @@ end
function cm.mcon(e,tp,eg,ep,ev,re,r,rp) function cm.mcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()==1 return Duel.GetCurrentChain()==1
end end
function cm.filter(c,fc,lc,tp)
local typ=bit.band(fc:GetType(),0x7)
return c:IsAbleToGrave() and c:IsType(typ)
end
function cm.fselect(g,typ)
return (typ&0x1==0 or g:IsExists(Card.IsType,1,nil,0x1)) and (typ&0x2==0 or g:IsExists(Card.IsType,1,nil,0x2)) and (typ&0x4==0 or g:IsExists(Card.IsType,1,nil,0x4))
end
function cm.nfilter(c,lc,tp,bool) function cm.nfilter(c,lc,tp,bool)
if not c:IsAbleToHand() then return false,false end if not c:IsAbleToHand() then return false,false end
if cm.islinkdirstate(c) then return true,true end if cm.islinkdirstate(c) then return true,true end
...@@ -209,7 +202,7 @@ function cm.mtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -209,7 +202,7 @@ function cm.mtg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.mop(e,tp,eg,ep,ev,re,r,rp) function cm.mop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local bool=c:IsRelateToEffect(e) and c:IsControler(tp) and c:IsFaceup() local bool=c:IsRelateToEffect(e) --and c:IsControler(tp) and c:IsFaceup()
local seq=c:GetSequence() local seq=c:GetSequence()
local b1=seq>0 and seq<5 and Duel.CheckLocation(tp,LOCATION_MZONE,seq-1) local b1=seq>0 and seq<5 and Duel.CheckLocation(tp,LOCATION_MZONE,seq-1)
local b2=seq<4 and Duel.CheckLocation(tp,LOCATION_MZONE,seq+1) local b2=seq<4 and Duel.CheckLocation(tp,LOCATION_MZONE,seq+1)
......
...@@ -43,7 +43,7 @@ end ...@@ -43,7 +43,7 @@ end
function cm.checkop4(e,tp,eg,ep,ev,re,r,rp) function cm.checkop4(e,tp,eg,ep,ev,re,r,rp)
local tg=eg:Filter(cm.cfilter,nil) local tg=eg:Filter(cm.cfilter,nil)
for tc in aux.Next(tg) do for tc in aux.Next(tg) do
tc:RegisterFlagEffect(m-1,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END-RESET_TOGRAVE-RESET_LEAVE,0,1) tc:RegisterFlagEffect(m-1,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END-RESET_TOGRAVE-RESET_LEAVE+RESET_OVERLAY,0,1)
end end
end end
function cm.cfilter(c) function cm.cfilter(c)
......
...@@ -16,7 +16,7 @@ function cm.initial_effect(c) ...@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_ATKCHANGE+CATEGORY_HANDES) e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_ATKCHANGE+CATEGORY_HANDES)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e2:SetHintTiming(0,TIMING_END_PHASE+TIMING_MAIN_END) e2:SetHintTiming(0,TIMING_END_PHASE+TIMING_MAIN_END)
e2:SetRange(LOCATION_HAND+LOCATION_GRAVE) e2:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e2:SetCountLimit(1,35399335) e2:SetCountLimit(1,35399335)
......
...@@ -99,9 +99,10 @@ function c71403005.op2(e,tp,eg,ep,ev,re,r,rp) ...@@ -99,9 +99,10 @@ function c71403005.op2(e,tp,eg,ep,ev,re,r,rp)
local dg=Group.FromCards(c,tc) local dg=Group.FromCards(c,tc)
if Duel.Destroy(dg,REASON_EFFECT)==2 then if Duel.Destroy(dg,REASON_EFFECT)==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,c71403005.filter2,tp,LOCATION_PZONE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c71403005.filter2,tp,LOCATION_ONFIELD,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
oc=g:GetFirst() Duel.BreakEffect()
local oc=g:GetFirst()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(71403005,2)) e1:SetDescription(aux.Stringid(71403005,2))
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -67,7 +67,7 @@ function s.atktg(e,c) ...@@ -67,7 +67,7 @@ function s.atktg(e,c)
return c:IsSetCard(0xc07) return c:IsSetCard(0xc07)
end end
function s.destg(e,c) function s.destg(e,c)
return not c:IsType(TYPE_SYNCHRO) return not c:IsType(TYPE_SYNCHRO) and c:IsSetCard(0xc07)
end end
function s.effectfilter(e,ct) function s.effectfilter(e,ct)
local p=e:GetHandler():GetControler() local p=e:GetHandler():GetControler()
......
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