Commit 5f86cfbb authored by POLYMER's avatar POLYMER

fix

parent 577706c8
...@@ -4,6 +4,13 @@ local cm=_G["c"..m] ...@@ -4,6 +4,13 @@ local cm=_G["c"..m]
cm.named_with_Goverfish=1 cm.named_with_Goverfish=1
function cm.initial_effect(c) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--cannot special summon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(aux.ritlimit)
c:RegisterEffect(e0)
--cannot diabled --cannot diabled
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -17,10 +24,14 @@ function cm.initial_effect(c) ...@@ -17,10 +24,14 @@ function cm.initial_effect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCondition(cm.sumcon)
e2:SetTarget(cm.destg) e2:SetTarget(cm.destg)
e2:SetOperation(cm.desop) e2:SetOperation(cm.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function cm.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_RITUAL)
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) and not c:IsStatus(STATUS_BATTLE_DESTROYED) end if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) and not c:IsStatus(STATUS_BATTLE_DESTROYED) end
......
...@@ -4,6 +4,13 @@ local cm=_G["c"..m] ...@@ -4,6 +4,13 @@ local cm=_G["c"..m]
cm.named_with_Goverfish=1 cm.named_with_Goverfish=1
function cm.initial_effect(c) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--cannot special summon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(aux.ritlimit)
c:RegisterEffect(e0)
--cannot diabled --cannot diabled
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -18,6 +25,7 @@ function cm.initial_effect(c) ...@@ -18,6 +25,7 @@ function cm.initial_effect(c)
e2:SetCode(EFFECT_DISABLE) e2:SetCode(EFFECT_DISABLE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_SZONE,LOCATION_SZONE) e2:SetTargetRange(LOCATION_SZONE,LOCATION_SZONE)
e2:SetCondition(cm.sumcon)
e2:SetTarget(cm.distarget) e2:SetTarget(cm.distarget)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--disable effect --disable effect
...@@ -26,8 +34,12 @@ function cm.initial_effect(c) ...@@ -26,8 +34,12 @@ function cm.initial_effect(c)
e3:SetCode(EVENT_CHAIN_SOLVING) e3:SetCode(EVENT_CHAIN_SOLVING)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetOperation(cm.disoperation) e3:SetOperation(cm.disoperation)
e3:SetCondition(cm.sumcon)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function cm.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_RITUAL)
end
function cm.distarget(e,c) function cm.distarget(e,c)
return c~=e:GetHandler() and c:IsType(TYPE_SPELL) return c~=e:GetHandler() and c:IsType(TYPE_SPELL)
end end
......
...@@ -146,7 +146,7 @@ function s.discon(e,tp,eg,ep,ev,re,r,rp) ...@@ -146,7 +146,7 @@ function s.discon(e,tp,eg,ep,ev,re,r,rp)
end end
function s.disop(e,tp,eg,ep,ev,re,r,rp) function s.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.SelectEffectYesNo(tp,e:GetHandler(),aux.Stringid(id,3)) then if Duel.SelectEffectYesNo(tp,e:GetHandler(),aux.Stringid(id,3)) and c:IsLocation(LOCATION_PZONE) then
if Duel.Destroy(c,REASON_EFFECT)~=0 then if Duel.Destroy(c,REASON_EFFECT)~=0 then
Duel.Hint(HINT_CARD,0,id) Duel.Hint(HINT_CARD,0,id)
local rc=re:GetHandler() local rc=re:GetHandler()
......
...@@ -154,7 +154,7 @@ function s.discon(e,tp,eg,ep,ev,re,r,rp) ...@@ -154,7 +154,7 @@ function s.discon(e,tp,eg,ep,ev,re,r,rp)
end end
function s.disop(e,tp,eg,ep,ev,re,r,rp) function s.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.SelectEffectYesNo(tp,e:GetHandler(),aux.Stringid(id,3)) then if Duel.SelectEffectYesNo(tp,e:GetHandler(),aux.Stringid(id,3)) and c:IsLocation(LOCATION_PZONE) then
if Duel.Destroy(c,REASON_EFFECT)~=0 then if Duel.Destroy(c,REASON_EFFECT)~=0 then
Duel.Hint(HINT_CARD,0,id) Duel.Hint(HINT_CARD,0,id)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
......
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