Commit 6237128d authored by Nemo Ma's avatar Nemo Ma

fix

parent 30237f8a
...@@ -57,7 +57,7 @@ function c29011741.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -57,7 +57,7 @@ function c29011741.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c29011741.defilter(c) function c29011741.defilter(c)
return c:IsAttribute(ATTRIBUTE_WATER) return c:IsAttribute(ATTRIBUTE_WATER) and c:IsFaceup()
end end
function c29011741.spop(e,tp,eg,ep,ev,re,r,rp) function c29011741.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -18,12 +18,12 @@ function c29020954.tdfilter(c) ...@@ -18,12 +18,12 @@ function c29020954.tdfilter(c)
end end
function c29020954.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c29020954.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) if chk==0 then return Duel.IsPlayerCanDraw(tp,2)
and Duel.IsExistingMatchingCard(c29020954.tdfilter,tp,LOCATION_GRAVE,0,3,nil) end and Duel.IsExistingMatchingCard(c29020954.tdfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,3,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,3,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,3,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
end end
function c29020954.operation(e,tp,eg,ep,ev,re,r,rp) function c29020954.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c29020954.tdfilter),tp,LOCATION_GRAVE,0,3,3,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c29020954.tdfilter),tp,LOCATION_GRAVE+LOCATION_REMOVED,0,3,3,nil)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
if g:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then Duel.ShuffleDeck(tp) end if g:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then Duel.ShuffleDeck(tp) end
local ct=g:FilterCount(Card.IsLocation,nil,LOCATION_DECK+LOCATION_EXTRA) local ct=g:FilterCount(Card.IsLocation,nil,LOCATION_DECK+LOCATION_EXTRA)
......
...@@ -33,14 +33,22 @@ function cm.initial_effect(c) ...@@ -33,14 +33,22 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_SUMMON_SUCCESS) e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1) e2:SetCountLimit(1+EFFECT_COUNT_CODE_SINGLE)
e2:SetCondition(cm.drcon)
e2:SetTarget(cm.drtg)
e2:SetOperation(cm.drop)
c:RegisterEffect(e2)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1+EFFECT_COUNT_CODE_SINGLE)
e2:SetCondition(cm.drcon) e2:SetCondition(cm.drcon)
e2:SetTarget(cm.drtg) e2:SetTarget(cm.drtg)
e2:SetOperation(cm.drop) e2:SetOperation(cm.drop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e3)
end end
cm.named_with_chess=true cm.named_with_chess=true
function cm.rmcon(e,tp,eg,ep,ev,re,r,rp) function cm.rmcon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -28,7 +28,7 @@ function cm.initial_effect(c) ...@@ -28,7 +28,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Special Summon --Special Summon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(cm,3)) e2:SetDescription(aux.Stringid(m,3))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
......
...@@ -10,7 +10,7 @@ function cm.initial_effect(c) ...@@ -10,7 +10,7 @@ function cm.initial_effect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_DRAW) e1:SetCategory(CATEGORY_SEARCH+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(cm.target) --e1:SetTarget(cm.target)
e1:SetOperation(cm.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--ActivatePro++ --ActivatePro++
...@@ -20,7 +20,7 @@ function cm.initial_effect(c) ...@@ -20,7 +20,7 @@ function cm.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(cm.cost) e1:SetCost(cm.cost)
e1:SetTarget(cm.target2) --e1:SetTarget(cm.target2)
e1:SetOperation(cm.activate2) e1:SetOperation(cm.activate2)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon limit --spsummon limit
......
...@@ -148,6 +148,7 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -148,6 +148,7 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp)
e5:SetProperty(EFFECT_FLAG_SET_AVAILABLE) e5:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e5:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL) e5:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e5:SetReset(RESET_PHASE+PHASE_END) e5:SetReset(RESET_PHASE+PHASE_END)
e5:SetCondition(cm.lockcon)
e5:SetValue(1) e5:SetValue(1)
Duel.RegisterEffect(e5,tp) Duel.RegisterEffect(e5,tp)
local e6=e5:Clone() local e6=e5:Clone()
...@@ -161,6 +162,9 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -161,6 +162,9 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp)
e8:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL) e8:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
Duel.RegisterEffect(e8,tp) Duel.RegisterEffect(e8,tp)
end end
function cm.lockcon(e)
return Duel.GetCurrentPhase()~=PHASE_MAIN1
end
function cm.fuslimit(e,c,sumtype) function cm.fuslimit(e,c,sumtype)
return sumtype==SUMMON_TYPE_FUSION return sumtype==SUMMON_TYPE_FUSION
end end
...@@ -31,14 +31,17 @@ function c98920383.initial_effect(c) ...@@ -31,14 +31,17 @@ function c98920383.initial_effect(c)
e4:SetCode(EVENT_SPSUMMON) e4:SetCode(EVENT_SPSUMMON)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c98920383.sfilter(c,tp)
return c:IsSetCard(0x2e) and c:IsFaceup()
end
function c98920383.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c98920383.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end
if chk==0 then return c:IsCanBeSpecialSummoned(e,0,tp,false,false) if chk==0 then return c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(Card.IsSetCard,tp,LOCATION_MZONE,0,1,nil,0x2e) end and Duel.IsExistingTarget(c98920383.sfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,Card.IsSetCard,tp,LOCATION_MZONE,0,1,1,nil,0x2e) Duel.SelectTarget(tp,c98920383.sfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end end
function c98920383.spop(e,tp,eg,ep,ev,re,r,rp) function c98920383.spop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -184,7 +184,7 @@ function c98920414.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -184,7 +184,7 @@ function c98920414.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Release(e:GetHandler(),REASON_COST) Duel.Release(e:GetHandler(),REASON_COST)
end end
function c98920414.spfilter(c,e,tp) function c98920414.spfilter(c,e,tp)
return c:IsCode(68406755) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(68406755) and Duel.GetMZoneCount(tp,e:GetHandler())>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c98920414.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c98920414.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
......
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