Commit 2e91b905 authored by wind2009's avatar wind2009

Fix 終刻

parent 8a021bde
No preview for this file type
...@@ -19,6 +19,7 @@ function s.initial_effect(c) ...@@ -19,6 +19,7 @@ function s.initial_effect(c)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetCountLimit(1,id+o) e2:SetCountLimit(1,id+o)
e2:SetCondition(s.xyzcon) e2:SetCondition(s.xyzcon)
e2:SetTarget(s.xyztg) e2:SetTarget(s.xyztg)
...@@ -58,7 +59,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,7 +59,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
end end
function s.xyzcon(e,tp,eg,ep,ev,re,r,rp) function s.xyzcon(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetHandler():GetEquipGroup() local g=e:GetHandler():GetEquipGroup()
return g:GetCount()>0 return g:GetCount()>0 and not g:IsExists(aux.NOT(Card.IsCanOverlay),1,nil)
end end
function s.spfilter(c,e,tp,lv) function s.spfilter(c,e,tp,lv)
return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_WIND) and c:IsRank(lv) return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_WIND) and c:IsRank(lv)
...@@ -70,6 +71,7 @@ function s.xyztg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -70,6 +71,7 @@ function s.xyztg(e,tp,eg,ep,ev,re,r,rp,chk)
and aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_XMATERIAL) and aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_XMATERIAL)
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c:GetLevel()) end and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c:GetLevel()) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end end
function s.xyzop(e,tp,eg,ep,ev,re,r,rp) function s.xyzop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -26,6 +26,7 @@ function s.initial_effect(c) ...@@ -26,6 +26,7 @@ function s.initial_effect(c)
e4:SetType(EFFECT_TYPE_QUICK_O) e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN) e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e4:SetCountLimit(1,id+o) e4:SetCountLimit(1,id+o)
e4:SetCondition(s.xyzcon) e4:SetCondition(s.xyzcon)
e4:SetTarget(s.xyztg) e4:SetTarget(s.xyztg)
...@@ -53,7 +54,7 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,7 +54,7 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
end end
function s.xyzcon(e,tp,eg,ep,ev,re,r,rp) function s.xyzcon(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetHandler():GetEquipGroup() local g=e:GetHandler():GetEquipGroup()
return g:GetCount()>0 return g:GetCount()>0 and not g:IsExists(aux.NOT(Card.IsCanOverlay),1,nil)
end end
function s.spfilter(c,e,tp,lv) function s.spfilter(c,e,tp,lv)
return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_WIND) and c:IsRank(lv) return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_WIND) and c:IsRank(lv)
......
...@@ -25,6 +25,7 @@ function s.initial_effect(c) ...@@ -25,6 +25,7 @@ function s.initial_effect(c)
e4:SetType(EFFECT_TYPE_QUICK_O) e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN) e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e4:SetCountLimit(1,id+o) e4:SetCountLimit(1,id+o)
e4:SetCondition(s.xyzcon) e4:SetCondition(s.xyzcon)
e4:SetTarget(s.xyztg) e4:SetTarget(s.xyztg)
...@@ -50,7 +51,7 @@ function s.setop(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,7 +51,7 @@ function s.setop(e,tp,eg,ep,ev,re,r,rp)
end end
function s.xyzcon(e,tp,eg,ep,ev,re,r,rp) function s.xyzcon(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetHandler():GetEquipGroup() local g=e:GetHandler():GetEquipGroup()
return g:GetCount()>0 return g:GetCount()>0 and not g:IsExists(aux.NOT(Card.IsCanOverlay),1,nil)
end end
function s.spfilter(c,e,tp,lv) function s.spfilter(c,e,tp,lv)
return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_WIND) and c:IsRank(lv) return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_WIND) and c:IsRank(lv)
...@@ -62,6 +63,7 @@ function s.xyztg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -62,6 +63,7 @@ function s.xyztg(e,tp,eg,ep,ev,re,r,rp,chk)
and aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_XMATERIAL) and aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_XMATERIAL)
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c:GetLevel()) end and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c:GetLevel()) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end end
function s.xyzop(e,tp,eg,ep,ev,re,r,rp) function s.xyzop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -54,6 +54,7 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -54,6 +54,7 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,s.cfilter,tp,LOCATION_MZONE,0,1,1,e:GetHandler(),e,tp) Duel.SelectTarget(tp,s.cfilter,tp,LOCATION_MZONE,0,1,1,e:GetHandler(),e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -48,6 +48,7 @@ end ...@@ -48,6 +48,7 @@ end
function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingMatchingCard(s.eqfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,tp) end and Duel.IsExistingMatchingCard(s.eqfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,tp) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end end
function s.eqop(e,tp,eg,ep,ev,re,r,rp) function s.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -86,6 +87,7 @@ end ...@@ -86,6 +87,7 @@ end
function s.negtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.negtg(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_DISABLE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end end
function s.negop(e,tp,eg,ep,ev,re,r,rp) function s.negop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -35,6 +35,7 @@ function s.destg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -35,6 +35,7 @@ function s.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(s.desfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,nil) local g=Duel.GetMatchingGroup(s.desfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,nil)
if chk==0 then return #g>0 end if chk==0 then return #g>0 end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end end
function s.desop(e,tp,eg,ep,ev,re,r,rp) function s.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
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