Commit cf257b76 authored by VanillaSalt's avatar VanillaSalt

fix

parent 08d3c8ba
......@@ -14,7 +14,15 @@ function c15248873.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldCard(tp,LOCATION_SZONE,5)==nil and Duel.GetFieldCard(1-tp,LOCATION_SZONE,5)~=nil
end
function c15248873.filter(c,tp)
return c:IsType(TYPE_FIELD) and c:GetActivateEffect():IsActivatable(tp)
if not c:IsType(TYPE_FIELD) or c:IsForbidden() then return false end
local te=c:GetActivateEffect()
local con=te:GetCondition()
if con and not con(te,tp,nil,0,0,nil,0,0) then return false end
local cost=te:GetCost()
if cost and not cost(te,tp,nil,0,0,nil,0,0) then return false end
local tg=te:GetTarget()
if tg and not tg(te,tp,nil,0,0,nil,0,0) then return false end
return true
end
function c15248873.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c15248873.filter,tp,LOCATION_DECK,0,1,nil,tp) end
......@@ -33,6 +41,6 @@ function c15248873.operation(e,tp,eg,ep,ev,re,r,rp)
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
Duel.RaiseEvent(tc,EVENT_CHAIN_SOLVED,tc:GetActivateEffect(),0,tp,tp,Duel.GetCurrentChain())
Duel.RaiseEvent(tc,EVENT_CHAIN_SOLVED,te,0,tp,tp,Duel.GetCurrentChain())
end
end
......@@ -17,7 +17,15 @@ function c22900598.condition(e,tp,eg,ep,ev,re,r,rp)
return g:GetCount()>0 and g:FilterCount(Card.IsRace,nil,RACE_ZOMBIE)==g:GetCount()
end
function c22900598.filter(c,tp)
return c:IsCode(62188962) and c:GetActivateEffect():IsActivatable(tp)
if not c:IsCode(62188962) or c:IsForbidden() then return false end
local te=c:GetActivateEffect()
local con=te:GetCondition()
if con and not con(te,tp,nil,0,0,nil,0,0) then return false end
local cost=te:GetCost()
if cost and not cost(te,tp,nil,0,0,nil,0,0) then return false end
local tg=te:GetTarget()
if tg and not tg(te,tp,nil,0,0,nil,0,0) then return false end
return true
end
function c22900598.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c22900598.filter,tp,LOCATION_DECK,0,1,nil,tp) end
......@@ -33,7 +41,7 @@ function c22900598.activate(e,tp,eg,ep,ev,re,r,rp)
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
Duel.RaiseEvent(tc,EVENT_CHAIN_SOLVED,tc:GetActivateEffect(),0,tp,tp,Duel.GetCurrentChain())
Duel.RaiseEvent(tc,EVENT_CHAIN_SOLVED,te,0,tp,tp,Duel.GetCurrentChain())
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local sg=Duel.GetMatchingGroup(c22900598.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp)
if sg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(22900598,0)) then
......
......@@ -51,7 +51,15 @@ function c32912040.desop(e,tp,eg,ep,ev,re,r,rp)
end
end
function c32912040.filter(c,tp,code)
return c:IsType(TYPE_FIELD) and c:IsSetCard(0xe2) and c:GetActivateEffect():IsActivatable(tp) and not c:IsCode(code)
if not (c:IsType(TYPE_FIELD) and c:IsSetCard(0xe2) and not c:IsCode(code)) or c:IsForbidden() then return false end
local te=c:GetActivateEffect()
local con=te:GetCondition()
if con and not con(te,tp,nil,0,0,nil,0,0) then return false end
local cost=te:GetCost()
if cost and not cost(te,tp,nil,0,0,nil,0,0) then return false end
local tg=te:GetTarget()
if tg and not tg(te,tp,nil,0,0,nil,0,0) then return false end
return true
end
function c32912040.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp
......@@ -76,7 +84,7 @@ function c32912040.operation(e,tp,eg,ep,ev,re,r,rp)
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
Duel.RaiseEvent(tc,EVENT_CHAIN_SOLVED,tc:GetActivateEffect(),0,tp,tp,Duel.GetCurrentChain())
Duel.RaiseEvent(tc,EVENT_CHAIN_SOLVED,te,0,tp,tp,Duel.GetCurrentChain())
end
end
end
......@@ -16,7 +16,15 @@ function c48934760.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c48934760.cfilter,1,nil,tp)
end
function c48934760.filter(c,tp)
return c:IsType(TYPE_FIELD) and c:GetActivateEffect():IsActivatable(tp)
if not c:IsType(TYPE_FIELD) or c:IsForbidden() then return false end
local te=c:GetActivateEffect()
local con=te:GetCondition()
if con and not con(te,tp,nil,0,0,nil,0,0) then return false end
local cost=te:GetCost()
if cost and not cost(te,tp,nil,0,0,nil,0,0) then return false end
local tg=te:GetTarget()
if tg and not tg(te,tp,nil,0,0,nil,0,0) then return false end
return true
end
function c48934760.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c48934760.filter,tp,LOCATION_DECK,0,1,nil,tp) end
......@@ -35,6 +43,6 @@ function c48934760.activate(e,tp,eg,ep,ev,re,r,rp)
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
Duel.RaiseEvent(tc,EVENT_CHAIN_SOLVED,tc:GetActivateEffect(),0,tp,tp,Duel.GetCurrentChain())
Duel.RaiseEvent(tc,EVENT_CHAIN_SOLVED,te,0,tp,tp,Duel.GetCurrentChain())
end
end
......@@ -60,7 +60,15 @@ function c69529337.tdop(e,tp,eg,ep,ev,re,r,rp)
end
end
function c69529337.filter(c,tp,code)
return c:IsType(TYPE_FIELD) and c:IsSetCard(0xe2) and c:GetActivateEffect():IsActivatable(tp) and not c:IsCode(code)
if not (c:IsType(TYPE_FIELD) and c:IsSetCard(0xe2) and not c:IsCode(code)) or c:IsForbidden() then return false end
local te=c:GetActivateEffect()
local con=te:GetCondition()
if con and not con(te,tp,nil,0,0,nil,0,0) then return false end
local cost=te:GetCost()
if cost and not cost(te,tp,nil,0,0,nil,0,0) then return false end
local tg=te:GetTarget()
if tg and not tg(te,tp,nil,0,0,nil,0,0) then return false end
return true
end
function c69529337.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp
......@@ -85,7 +93,7 @@ function c69529337.operation(e,tp,eg,ep,ev,re,r,rp)
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
Duel.RaiseEvent(tc,EVENT_CHAIN_SOLVED,tc:GetActivateEffect(),0,tp,tp,Duel.GetCurrentChain())
Duel.RaiseEvent(tc,EVENT_CHAIN_SOLVED,te,0,tp,tp,Duel.GetCurrentChain())
end
end
end
......@@ -29,7 +29,15 @@ function c95923441.sumcon(e)
return tc and tc:IsFaceup()
end
function c95923441.filter(c,tp,code)
return c:IsType(TYPE_FIELD) and c:IsSetCard(0xe2) and c:GetActivateEffect():IsActivatable(tp) and not c:IsCode(code)
if not (c:IsType(TYPE_FIELD) and c:IsSetCard(0xe2) and not c:IsCode(code)) or c:IsForbidden() then return false end
local te=c:GetActivateEffect()
local con=te:GetCondition()
if con and not con(te,tp,nil,0,0,nil,0,0) then return false end
local cost=te:GetCost()
if cost and not cost(te,tp,nil,0,0,nil,0,0) then return false end
local tg=te:GetTarget()
if tg and not tg(te,tp,nil,0,0,nil,0,0) then return false end
return true
end
function c95923441.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp
......@@ -54,7 +62,7 @@ function c95923441.operation(e,tp,eg,ep,ev,re,r,rp)
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
Duel.RaiseEvent(tc,EVENT_CHAIN_SOLVED,tc:GetActivateEffect(),0,tp,tp,Duel.GetCurrentChain())
Duel.RaiseEvent(tc,EVENT_CHAIN_SOLVED,te,0,tp,tp,Duel.GetCurrentChain())
end
end
end
......@@ -13,7 +13,15 @@ function c97970833.condition(e,tp,eg,ep,ev,re,r,rp)
return tp~=Duel.GetTurnPlayer()
end
function c97970833.filter(c,tp)
return c:IsCode(34487429) and c:GetActivateEffect():IsActivatable(tp)
if not c:IsCode(34487429) or c:IsForbidden() then return false end
local te=c:GetActivateEffect()
local con=te:GetCondition()
if con and not con(te,tp,nil,0,0,nil,0,0) then return false end
local cost=te:GetCost()
if cost and not cost(te,tp,nil,0,0,nil,0,0) then return false end
local tg=te:GetTarget()
if tg and not tg(te,tp,nil,0,0,nil,0,0) then return false end
return true
end
function c97970833.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c97970833.filter,tp,LOCATION_DECK,0,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