Commit 1de0e743 authored by POLYMER's avatar POLYMER

fix

parent 3755eaed
...@@ -100,26 +100,27 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -100,26 +100,27 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
end end
----- -----
function cm.discon(e,tp,eg,ep,ev,re,r,rp) function cm.discon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev) and ep==1-tp local c=e:GetHandler()
if ep==tp or c:IsStatus(STATUS_BATTLE_DESTROYED) then return false end
return (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE)) and Duel.IsChainDisablable(ev)
end end
function cm.drcfilter(c,tp) function cm.drcfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsReleasable() and c:IsRace(RACE_INSECT) return c:GetOriginalRace()&RACE_INSECT>0 and c:GetOriginalType()&TYPE_MONSTER>0 and c:IsReleasable()
end end
function cm.discost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.drcfilter,tp,LOCATION_MZONE,0,1,e:GetHandler(),tp) end if chk==0 then return Duel.IsExistingMatchingCard(cm.drcfilter,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,cm.drcfilter,tp,LOCATION_MZONE+LOCATION_HAND,0,1,1,e:GetHandler(),tp) local g=Duel.SelectMatchingCard(tp,cm.drcfilter,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler())
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
end end
function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end end
end end
function cm.disop(e,tp,eg,ep,ev,re,r,rp) function cm.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.NegateEffect(ev) and re:GetHandler():IsRelateToEffect(re) then if Duel.NegateEffect(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT) Duel.Destroy(eg,REASON_EFFECT)
end end
......
...@@ -33,7 +33,6 @@ function cm.srfilter(c) ...@@ -33,7 +33,6 @@ function cm.srfilter(c)
return c:IsSetCard(0x10b) and c:IsAbleToHand() and not c:IsCode(m) return c:IsSetCard(0x10b) and c:IsAbleToHand() and not c:IsCode(m)
end end
function cm.posop1(e,tp,eg,ep,ev,re,r,rp) function cm.posop1(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFacedown() then if tc:IsRelateToEffect(e) and tc:IsFacedown() then
local pos1=0 local pos1=0
......
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