Commit 6f5e4990 authored by Nemo Ma's avatar Nemo Ma

fix

parent 9f557cd5
...@@ -106,7 +106,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -106,7 +106,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetChainLimit(cm.chainlimit) Duel.SetChainLimit(cm.chainlimit)
end end
function cm.chainlimit(e,rp,tp) function cm.chainlimit(e,rp,tp)
return e:GetHandler():IsType(TYPE_MONSTER) return not e:GetHandler():IsType(TYPE_MONSTER)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -4,6 +4,12 @@ local cm=_G["c"..m] ...@@ -4,6 +4,12 @@ local cm=_G["c"..m]
xpcall(function() require("expansions/script/tama") end,function() require("script/tama") end) xpcall(function() require("expansions/script/tama") end,function() require("script/tama") end)
function cm.initial_effect(c) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--special summon condition
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
......
...@@ -4,6 +4,12 @@ local cm=_G["c"..m] ...@@ -4,6 +4,12 @@ local cm=_G["c"..m]
xpcall(function() require("expansions/script/tama") end,function() require("script/tama") end) xpcall(function() require("expansions/script/tama") end,function() require("script/tama") end)
function cm.initial_effect(c) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--special summon condition
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
......
...@@ -77,8 +77,8 @@ function cm.mscon(e,tp,eg,ep,ev,re,r,rp) ...@@ -77,8 +77,8 @@ function cm.mscon(e,tp,eg,ep,ev,re,r,rp)
local seq=e:GetHandler():GetSequence() local seq=e:GetHandler():GetSequence()
local ec=e:GetHandler():GetEquipGroup() local ec=e:GetHandler():GetEquipGroup()
if seq>4 then return false end if seq>4 then return false end
return ec and ec:IsContains(re:GetHandler()) and (seq>0 and Duel.CheckLocation(tp,LOCATION_MZONE,seq-1)) return ec and ec:IsContains(re:GetHandler()) and ((seq>0 and Duel.CheckLocation(tp,LOCATION_MZONE,seq-1))
or (seq<4 and Duel.CheckLocation(tp,LOCATION_MZONE,seq+1)) or (seq<4 and Duel.CheckLocation(tp,LOCATION_MZONE,seq+1)))
end end
function cm.msop(e,tp,eg,ep,ev,re,r,rp) function cm.msop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -89,7 +89,7 @@ function cm.msop(e,tp,eg,ep,ev,re,r,rp) ...@@ -89,7 +89,7 @@ function cm.msop(e,tp,eg,ep,ev,re,r,rp)
if seq>0 and Duel.CheckLocation(tp,LOCATION_MZONE,seq-1) then flag=flag|(1<<(seq-1)) end if seq>0 and Duel.CheckLocation(tp,LOCATION_MZONE,seq-1) then flag=flag|(1<<(seq-1)) end
if seq<4 and Duel.CheckLocation(tp,LOCATION_MZONE,seq+1) then flag=flag|(1<<(seq+1)) end if seq<4 and Duel.CheckLocation(tp,LOCATION_MZONE,seq+1) then flag=flag|(1<<(seq+1)) end
if flag==0 then return end if flag==0 then return end
if Duel.SelectYesNo(aux.Stringid(m,2)) then if Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,~flag) local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,~flag)
local nseq=math.log(s,2) local nseq=math.log(s,2)
......
...@@ -63,11 +63,11 @@ end ...@@ -63,11 +63,11 @@ end
function cm.ttcon(e,c,minc) function cm.ttcon(e,c,minc)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(Card.IsFaceup,0,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil)
return minc<=1 and Duel.CheckTribute(c,1,1,mg) return minc<=1 and Duel.CheckTribute(c,1,1,mg)
end end
function cm.ttop(e,tp,eg,ep,ev,re,r,rp,c) function cm.ttop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(Card.IsFaceup,0,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil)
local sg=Duel.SelectTribute(tp,c,1,1,mg) local sg=Duel.SelectTribute(tp,c,1,1,mg)
c:SetMaterial(sg) c:SetMaterial(sg)
Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL) Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL)
...@@ -75,11 +75,11 @@ end ...@@ -75,11 +75,11 @@ end
function cm.ttcon2(e,c,minc) function cm.ttcon2(e,c,minc)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(Card.IsFaceup,0,0,LOCATION_MZONE,nil) local mg=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
return minc<=1 and Duel.CheckTribute(c,1,1,mg,1-tp) return minc<=1 and Duel.CheckTribute(c,1,1,mg,1-tp)
end end
function cm.ttop2(e,tp,eg,ep,ev,re,r,rp,c) function cm.ttop2(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(Card.IsFaceup,0,0,LOCATION_MZONE,nil) local mg=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
local sg=Duel.SelectTribute(tp,c,1,1,mg,1-tp) local sg=Duel.SelectTribute(tp,c,1,1,mg,1-tp)
c:SetMaterial(sg) c:SetMaterial(sg)
Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL) Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL)
......
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