Commit 28a17d16 authored by POLYMER's avatar POLYMER

fix

parent 9c4dc5b9
...@@ -396,8 +396,6 @@ ...@@ -396,8 +396,6 @@
12847417 0 12847417 0
12847419 0 12847419 0
12847444 0 12847444 0
12847555 0
12847556 0
12847666 0 12847666 0
12847740 0 12847740 0
12847877 0 12847877 0
...@@ -6401,8 +6399,6 @@ ...@@ -6401,8 +6399,6 @@
50223160 0 50223160 0
60159936 0 60159936 0
88881087 0 88881087 0
12847555 0
12847556 0
28399984 0 28399984 0
82800063 0 82800063 0
82800066 0 82800066 0
...@@ -7645,7 +7641,6 @@ ...@@ -7645,7 +7641,6 @@
130002102 0 130002102 0
31400050 0 --归亡死恶魔,无任何限制的单卡抛瓦 31400050 0 --归亡死恶魔,无任何限制的单卡抛瓦
70002043 0 70002043 0
12847555 0
11450998 0 11450998 0
70002035 0 70002035 0
90700085 0 90700085 0
......
No preview for this file type
-- 古木寻斋
local m=12847555
local cm=_G["c"..m]
function cm.initial_effect(c)
-- special summon rule
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetRange(LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE)
e0:SetCondition(cm.sprcon)
e0:SetTarget(cm.sprtg)
e0:SetOperation(cm.sprop)
c:RegisterEffect(e0)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_PREDRAW)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_DUEL)
e1:SetRange(0xff)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetOperation(cm.op)
c:RegisterEffect(e1)
-- act limit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(0,1)
e2:SetValue(cm.aclimit)
c:RegisterEffect(e2)
-- disable
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_DISABLE)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(0,LOCATION_ONFIELD)
e3:SetTarget(cm.distarget)
c:RegisterEffect(e3)
-- disable effect
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAIN_SOLVING)
e4:SetRange(LOCATION_MZONE)
e4:SetOperation(cm.disoperation)
c:RegisterEffect(e4)
end
function cm.sprfilter(c,tp)
return (c:IsFaceup() or c:IsControler(tp)) and c:IsCode(m+1) and c:IsReleasable(REASON_SPSUMMON)
end
function cm.fselect(g,tp,sc)
return Duel.GetMZoneCount(tp,g,tp)>0
end
function cm.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(cm.sprfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,tp)
return g:CheckSubGroup(cm.fselect,1,#g,tp,c)
end
function cm.sprtg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local g=Duel.GetMatchingGroup(cm.sprfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=g:SelectSubGroup(tp,cm.fselect,true,1,#g,tp,c)
if sg then
sg:KeepAlive()
e:SetLabelObject(sg)
return true
else return false end
end
function cm.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local g=e:GetLabelObject()
Duel.Release(g,REASON_SPSUMMON)
g:DeleteGroup()
end
function cm.check(c)
return not c:IsCode(m+1) and c:IsType(TYPE_MONSTER)
end
function cm.op(e,tp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(cm.check,tp,0,0xff,nil)
for tc in aux.Next(g) do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetValue(m+1)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
tc:RegisterEffect(e1)
end
end
function cm.aclimit(e,re,tp)
return re:GetHandler():IsCode(m+1)
end
function cm.distarget(e,c)
return c~=e:GetHandler() and c:IsCode(m+1)
end
function cm.disoperation(e,tp,eg,ep,ev,re,r,rp)
if re:GetHandler():IsCode(m+1) and re:GetHandler():IsFaceup() then
Duel.NegateEffect(ev)
end
end
\ No newline at end of file
...@@ -12,7 +12,6 @@ function cm.initial_effect(c) ...@@ -12,7 +12,6 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DISABLE) e1:SetCategory(CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m) e1:SetCountLimit(1,m)
e1:SetTarget(cm.target) e1:SetTarget(cm.target)
...@@ -77,7 +76,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -77,7 +76,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
e2:SetCode(EFFECT_DISABLE_EFFECT) e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET) e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
end end
end end
...@@ -115,14 +114,10 @@ end ...@@ -115,14 +114,10 @@ end
function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se) function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not c:IsSetCard(0x5a71) return not c:IsSetCard(0x5a71)
end end
function cm.isset(c)
return c:IsSetCard(0x5a71,0x6a71)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local chain=Duel.GetChainInfo(ev-1,CHAININFO_TRIGGERING_EFFECT) local qe,loc=Duel.GetChainInfo(ev-1,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_LOCATION)
return Duel.GetCurrentChain()>1 and cm.isset(chain:GetHandler()) return Duel.GetCurrentChain()>1 and rp==1-tp and bit.band(loc,LOCATION_ONFIELD+LOCATION_GRAVE)~=0 and qe:GetHandler():IsSetCard(0x5a71,0x6a71)
and (Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)==LOCATION_ONFIELD or Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)==LOCATION_GRAVE) and qe:GetHandler():IsControler(tp)
end end
function cm.negtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsChainNegatable(ev) end if chk==0 then return Duel.IsChainNegatable(ev) end
......
...@@ -71,7 +71,7 @@ function c79029558.dspfil(c,e,tp) ...@@ -71,7 +71,7 @@ function c79029558.dspfil(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0x3b) return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0x3b)
end end
function c79029558.distg(e,tp,eg,ep,ev,re,r,rp,chk) function c79029558.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingTarget(c79029558.dspfil,tp,LOCATION_GRAVE,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingTarget(c79029558.dspfil,tp,LOCATION_GRAVE,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local g=Duel.SelectTarget(tp,c79029558.dspfil,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectTarget(tp,c79029558.dspfil,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
...@@ -79,7 +79,7 @@ end ...@@ -79,7 +79,7 @@ end
function c79029558.disop(e,tp,eg,ep,ev,re,r,rp) function c79029558.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if Duel.NegateEffect(ev) and tc:IsRelateToEffect(e) then if Duel.NegateEffect(ev) and tc:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end end
end 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