Commit c7893946 authored by Nemo Ma's avatar Nemo Ma

fix

parent 4441c44a
......@@ -35,12 +35,12 @@ function cm.BRAVE(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_brave
end
function cm.setfilter(c,e,tp)
function cm.setfilter1(c)
return c:IsFaceup() and c:GetSequence()<5
end
function cm.actcon(e)
local tp=e:GetHandlerPlayer()
return not Duel.IsExistingMatchingCard(cm.setfilter,tp,LOCATION_SZONE,0,1,nil)
return not Duel.IsExistingMatchingCard(cm.setfilter1,tp,LOCATION_SZONE,0,1,nil)
end
function cm.setfilter(c)
return cm.BRAVE(c) and c:IsType(TYPE_MONSTER) and not c:IsForbidden()
......
......@@ -26,7 +26,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e3)
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLP(e:GetHandlerPlayer())<=2000
local c=e:GetHandler()
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetLP(tp)<=2000
end
function cm.tkcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
......@@ -58,9 +60,9 @@ function cm.tkop(e,tp,eg,ep,ev,re,r,rp)
e2:SetCondition(cm.descon)
e2:SetOperation(cm.desop)
Duel.RegisterEffect(e2,tp)
token:RegisterFlagEffect(15000623,RESET_EVENT+RESETS_STANDARD,0,1)
Duel.SpecialSummonComplete()
end
token:RegisterFlagEffect(15000623,RESET_EVENT+RESETS_STANDARD,0,1)
Duel.SpecialSummonComplete()
end
end
function cm.srfilter(c)
......@@ -72,6 +74,7 @@ function cm.srop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,1-c:GetPreviousControler(),HINTMSG_ATOHAND)
local tc=Duel.SelectMatchingCard(1-c:GetPreviousControler(),cm.srfilter,1-c:GetPreviousControler(),LOCATION_DECK,0,1,1,nil):GetFirst()
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-c:GetPreviousControler(),tc)
end
e:Reset()
end
......
......@@ -801,7 +801,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=(int==4) else b=cm[35](sc,int,...) end
if lv>0 and (res1 or res2) then b=(int==lv) else b=cm[35](sc,int,...) end
return b
end
cm[36]=Card.IsLevelAbove
......@@ -818,7 +818,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=(int<=4) else b=cm[36](sc,int) end
if lv>0 and (res1 or res2) then b=(int<=lv) else b=cm[36](sc,int) end
return b
end
cm[37]=Card.IsLevelBelow
......@@ -835,7 +835,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=(int>=4) else b=cm[37](sc,int) end
if lv>0 and (res1 or res2) then b=(int>=lv) else b=cm[37](sc,int) end
return b
end
cm[38]=Card.GetLevel
......@@ -852,7 +852,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=4 end
if lv>0 and (res1 or res2) then b=lv end
return b
end
cm[39]=Card.IsAttack
......
......@@ -784,7 +784,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=(int==4) else b=cm[35](sc,int,...) end
if lv>0 and (res1 or res2) then b=(int==lv) else b=cm[35](sc,int,...) end
return b
end
cm[36]=Card.IsLevelAbove
......@@ -801,7 +801,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=(int<=4) else b=cm[36](sc,int) end
if lv>0 and (res1 or res2) then b=(int<=lv) else b=cm[36](sc,int) end
return b
end
cm[37]=Card.IsLevelBelow
......@@ -818,7 +818,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=(int>=4) else b=cm[37](sc,int) end
if lv>0 and (res1 or res2) then b=(int>=lv) else b=cm[37](sc,int) end
return b
end
cm[38]=Card.GetLevel
......@@ -835,7 +835,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=4 end
if lv>0 and (res1 or res2) then b=lv end
return b
end
cm[39]=Card.IsAttack
......
......@@ -784,7 +784,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=(int==4) else b=cm[35](sc,int,...) end
if lv>0 and (res1 or res2) then b=(int==lv) else b=cm[35](sc,int,...) end
return b
end
cm[36]=Card.IsLevelAbove
......@@ -801,7 +801,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=(int<=4) else b=cm[36](sc,int) end
if lv>0 and (res1 or res2) then b=(int<=lv) else b=cm[36](sc,int) end
return b
end
cm[37]=Card.IsLevelBelow
......@@ -818,7 +818,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=(int>=4) else b=cm[37](sc,int) end
if lv>0 and (res1 or res2) then b=(int>=lv) else b=cm[37](sc,int) end
return b
end
cm[38]=Card.GetLevel
......@@ -835,7 +835,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=4 end
if lv>0 and (res1 or res2) then b=lv end
return b
end
cm[39]=Card.IsAttack
......
......@@ -784,7 +784,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=(int==4) else b=cm[35](sc,int,...) end
if lv>0 and (res1 or res2) then b=(int==lv) else b=cm[35](sc,int,...) end
return b
end
cm[36]=Card.IsLevelAbove
......@@ -801,7 +801,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=(int<=4) else b=cm[36](sc,int) end
if lv>0 and (res1 or res2) then b=(int<=lv) else b=cm[36](sc,int) end
return b
end
cm[37]=Card.IsLevelBelow
......@@ -818,7 +818,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=(int>=4) else b=cm[37](sc,int) end
if lv>0 and (res1 or res2) then b=(int>=lv) else b=cm[37](sc,int) end
return b
end
cm[38]=Card.GetLevel
......@@ -835,7 +835,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=4 end
if lv>0 and (res1 or res2) then b=lv end
return b
end
cm[39]=Card.IsAttack
......
......@@ -779,7 +779,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=(int==4) else b=cm[35](sc,int,...) end
if lv>0 and (res1 or res2) then b=(int==lv) else b=cm[35](sc,int,...) end
return b
end
cm[36]=Card.IsLevelAbove
......@@ -796,7 +796,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=(int<=4) else b=cm[36](sc,int) end
if lv>0 and (res1 or res2) then b=(int<=lv) else b=cm[36](sc,int) end
return b
end
cm[37]=Card.IsLevelBelow
......@@ -813,7 +813,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=(int>=4) else b=cm[37](sc,int) end
if lv>0 and (res1 or res2) then b=(int>=lv) else b=cm[37](sc,int) end
return b
end
cm[38]=Card.GetLevel
......@@ -830,7 +830,7 @@ function cm.initial_effect(c)
end
local res1=ly>0 and (class["Card_Prophecy_L_Check_"..ly] or class["Card_Prophecy_Certain_SP_"..ly])
local res2=Duel.GetFlagEffectLabel(0,53759000)==0 and not sc:IsLocation(LOCATION_MZONE)
if lv>0 and (res1 or res2) then b=4 end
if lv>0 and (res1 or res2) then b=lv end
return b
end
cm[39]=Card.IsAttack
......
......@@ -18,6 +18,9 @@ end
function cm.cfilter(c)
return c:IsFaceup() and c:IsAbleToDeck() and c:IsType(TYPE_SPELL+TYPE_TRAP)
end
function cm.filter(c)
return c:IsFaceup() and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToDeck()
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,0,LOCATION_ONFIELD,1,nil) end
if Duel.GetCustomActivityCount(m,1-tp,ACTIVITY_CHAIN)>0 then
......
......@@ -42,7 +42,7 @@ function cm.repfilter1(c,tp)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_MONSTER) and c.SetCard_01_YaoHu
end
function cm.repfilter2(c,tp)
return c:IsOnField() and c:IsControler(tp) and c:IsReason(REASON_EFFECT+REASON_BATTLE) and not c:IsReason(REASON_REPLACE)
return c:IsOnField() and c:IsType(TYPE_MONSTER) and c:IsControler(tp) and c:IsReason(REASON_EFFECT+REASON_BATTLE) and not c:IsReason(REASON_REPLACE)
end
function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToDeck() and Duel.IsExistingMatchingCard(cm.repfilter1,tp,LOCATION_MZONE,0,1,nil) and eg:IsExists(cm.repfilter2,1,nil,tp) 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