Commit 35a35faf authored by POLYMER's avatar POLYMER

fix

parent 2bf74dce
......@@ -102,7 +102,7 @@ function c19209539.spop(e,tp,eg,ep,ev,re,r,rp)
end
end
function c19209539.descon(e,tp,eg,ep,ev,re,r,rp)
return re
return re and re:IsHasType(EFFECT_TYPE_ACTIONS)
end
function c19209539.desfilter(c)
return c:IsFaceup() and c:IsSetCard(0x3b50)
......
......@@ -104,22 +104,21 @@ function s.drcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.drcfilter,tp,LOCATION_MZONE+LOCATION_HAND,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,s.drcfilter,tp,LOCATION_MZONE+LOCATION_HAND,0,1,1,nil,tp)
e:SetLabel(g:GetFirst():GetLevel())
Duel.SendtoGrave(g,REASON_RELEASE+REASON_COST)
end
function s.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(2)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function s.dract(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
local h1=Duel.Draw(p,d,REASON_EFFECT)
if h1==0 then return false end
Duel.BreakEffect()
Duel.ShuffleHand(p)
Duel.DiscardHand(p,aux.TRUE,1,1,REASON_EFFECT+REASON_DISCARD)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
local lv=e:GetLabel()
if lv<4 then return false end
local num=math.floor(lv/4)
if num<1 then return end
Duel.Draw(p,num,REASON_EFFECT)
end
function s.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -18,6 +18,7 @@ function s.initial_effect(c)
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_TO_GRAVE)
ge1:SetCondition(s.checkcon)
ge1:SetOperation(s.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
......@@ -45,6 +46,9 @@ function s.initial_effect(c)
c:RegisterEffect(e3)
end
s.hackclad=2
function s.checkcon(e,tp,eg,ep,ev,re,r,rp)
return not re or not re:IsActivated()
end
function s.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
......@@ -138,18 +142,16 @@ function s.drcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Release(g,REASON_COST)
end
function s.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,0xe,1,nil) end
Duel.SetTargetPlayer(1-tp)
local dam=Duel.GetFieldGroupCount(1-tp,0xe,0)*200
Duel.SetTargetParam(dam)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,dam)
end
function s.drop(e,tp,eg,ep,ev,re,r,rp)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
local ct=Duel.DiscardHand(p,aux.TRUE,1,60,REASON_EFFECT+REASON_DISCARD)
if ct>0 then
Duel.BreakEffect()
Duel.Draw(p,ct+1,REASON_EFFECT)
end
local dam=Duel.GetFieldGroupCount(1-tp,0xe,0)*200
Duel.Damage(p,dam,REASON_EFFECT)
end
function s.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
This diff is collapsed.
......@@ -23,21 +23,29 @@ function c9910056.initial_effect(c)
e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1)
end
function c9910056.filter(c)
return (c:IsLocation(LOCATION_GRAVE) or c:IsFaceup()) and c:IsRace(RACE_FAIRY) and c:IsAbleToDeck()
function c9910056.tdfilter(c)
return c:IsFaceupEx() and c:IsRace(RACE_FAIRY) and c:IsAbleToDeck()
end
function c9910056.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910056.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,2,nil)
if chk==0 then return Duel.IsExistingMatchingCard(c9910056.tdfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,2,nil)
and Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,2,tp,LOCATION_GRAVE+LOCATION_REMOVED)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c9910056.drop(e,tp,eg,ep,ev,re,r,rp)
local rg=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910056.tdfilter),tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
if rg:GetCount()<2 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c9910056.filter),tp,LOCATION_GRAVE+LOCATION_REMOVED,0,2,2,nil)
if g:GetCount()==2 and Duel.SendtoDeck(g,nil,2,REASON_EFFECT)==2 then
Duel.BreakEffect()
Duel.ShuffleDeck(tp)
Duel.Draw(tp,1,REASON_EFFECT)
local sg=rg:Select(tp,2,2,nil)
if sg:GetCount()>0 then
Duel.HintSelection(sg)
if Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT) then
local og=Duel.GetOperatedGroup()
if og:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then Duel.ShuffleDeck(tp) end
if og:IsExists(Card.IsLocation,1,nil,LOCATION_DECK+LOCATION_EXTRA) then
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end
end
end
end
......@@ -55,6 +55,7 @@ function c9910066.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,ct)
Duel.DisableShuffleCheck()
if Duel.Remove(g,POS_FACEUP,REASON_EFFECT)==0 then return end
Duel.DisableShuffleCheck(false)
local og=Duel.GetOperatedGroup():Filter(Card.IsLocation,nil,LOCATION_REMOVED)
if og:GetCount()==0 then return end
Duel.HintSelection(og)
......
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