Commit f652fec8 authored by Nemo Ma's avatar Nemo Ma

fix

parent c6c63907
--also sprach zarathusnya
--21.12.25
local m=11451652
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
c:EnableReviveLimit()
--effect
......@@ -49,7 +48,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
pro=pro|EFFECT_FLAG_CANNOT_INACTIVATE
se:SetProperty(pro,pro2)
end
reg(sc,se,bool)
reg(sc,se,true)
end
for tc in aux.Next(g) do
if tc.initial_effect then
......
......@@ -17,9 +17,10 @@ function c22020440.initial_effect(c)
--card set
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(22020440,1))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_MZONE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_QUICK_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,22020441)
e2:SetCondition(c22020440.spcon)
e2:SetTarget(c22020440.pentg)
......@@ -45,10 +46,10 @@ function c22020440.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(eg,REASON_EFFECT)
end
function c22020440.cfilter(c,tp)
return c:GetSummonLocation()==LOCATION_HAND or c:GetSummonLocation()==LOCATION_GRAVE and c:GetPreviousControler()==1-tp
return c:IsSummonPlayer(1-tp) and c:IsSummonLocation(LOCATION_HAND+LOCATION_GRAVE)
end
function c22020440.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c22020440.cfilter,1,nil,tp)
return eg:IsExists(c22020440.cfilter,1,nil,tp) and not eg:IsContains(e:GetHandler())
end
function c22020440.penfilter(c)
return c:IsType(TYPE_CONTINUOUS) and c:IsType(TYPE_SPELL) and not c:IsForbidden()
......
......@@ -28,6 +28,7 @@ function c25000022.initial_effect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,15000022)
e2:SetCost(c25000022.xxcost)
e2:SetTarget(c25000022.xxtg)
e2:SetOperation(c25000022.xxop)
......
......@@ -56,10 +56,10 @@ function cm.activate1(e,tp,eg,ep,ev,re,r,rp)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
local g=Duel.GetMatchingGroup(Card.IsPublic,p,LOCATION_HAND,0,nil)
if g:GetCount()==0 then return end
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
local ct=Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
Duel.ShuffleDeck(p)
Duel.BreakEffect()
Duel.Draw(p,g:GetCount()+1,REASON_EFFECT)
Duel.Draw(p,ct+1,REASON_EFFECT)
end
function cm.condition2(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsPublic()
......
......@@ -29,14 +29,13 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsPublic,tp,LOCATION_HAND,0,1,e:GetHandler()) and Duel.IsExistingMatchingCard(cm.disfilter,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,nil,1,0,0)
end
function cm.filter(c)
return not c:IsPublic() and c:IsLocation(LOCATION_HAND)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,0))
local g=Duel.SelectMatchingCard(tp,Card.IsPublic,tp,LOCATION_HAND,0,1,99,nil)
local max=Duel.GetMatchingGroupCount(cm.disfilter,tp,0,LOCATION_ONFIELD,nil)
local g=Duel.SelectMatchingCard(tp,Card.IsPublic,tp,LOCATION_HAND,0,1,max,nil)
if #g==0 then return end
g:ForEach(Card.ResetEffect,EFFECT_PUBLIC,RESET_CODE)
local ct=g:FilterCount(cm.filter,nil)
local ct=g:FilterCount(Card.IsLocation,nil,LOCATION_HAND)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local sg=Duel.SelectMatchingCard(tp,cm.disfilter,tp,0,LOCATION_ONFIELD,1,ct,nil)
if #sg==0 then return 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