Commit cb8b4a43 authored by Huangnan's avatar Huangnan

Revert "fix"

This reverts commit c3ced9b9
parent c3ced9b9
Pipeline #40251 passed with stage
in 1 minute and 42 seconds
No preview for this file type
......@@ -21,6 +21,7 @@ function s.initial_effect(c)
e2:SetCategory(CATEGORY_REMOVE+CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCost(s.trcost)
e2:SetTarget(s.trtg)
e2:SetOperation(s.trop)
......@@ -39,9 +40,9 @@ end
--①:回到卡组并回复LP和特召
function s.tdcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return not c:IsPublic() end
if chk==0 then return c:IsAbleToDeck()end
Duel.ConfirmCards(1-tp,c)
Duel.SendtoDeck(c,nil,3,REASON_COST)
Duel.SendtoDeck(c,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
function s.spfilter(c,e,tp)
......@@ -49,8 +50,9 @@ function s.spfilter(c,e,tp)
end
function s.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,800)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
......@@ -65,7 +67,7 @@ end
function s.tdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.Recover(tp,800,REASON_EFFECT) then
Duel.Recover(tp,800,REASON_EFFECT)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(id,0)) then
......@@ -75,21 +77,18 @@ function s.tdop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
end
end
--②:确认对手卡并盖放陷阱
function s.cfilter(c,tp)
return c.MoJin and(
(c:IsLocation(LOCATION_GRAVE)and c:IsAbleToRemove(tp,POS_FACEUP,REASON_COST))
or (c:IsLocation(LOCATION_REMOVED)and c:IsAbleToGrave())
)
function s.cfilter(c)
return c.MoJin and c:IsAbleToRemove() and (c:IsLocation(LOCATION_GRAVE) or c:IsLocation(LOCATION_REMOVED))
end
function s.trcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_GRAVE+LOCATION_REMOVED,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_GRAVE+LOCATION_REMOVED,1,1,nil,tp)
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RMTOGRAVE)
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
local tc=g:GetFirst()
if tc:IsLocation(LOCATION_GRAVE) then
Duel.Remove(tc,POS_FACEUP,REASON_COST)
......
......@@ -48,21 +48,16 @@ function s.tfilter(c)
end
function s.lockcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsFaceup() and c:GetFlagEffect(id)==0 and not
Duel.IsExistingMatchingCard(s.tipsfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
return c:IsFaceup() and c:GetFlagEffect(id)==0 and c:GetFlagEffect(id+1)==0
end
function s.locktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsOnField() and chkc~=e:GetHandler() end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler())
and not Duel.IsExistingMatchingCard(s.tipsfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler()) end
--标记已经发动过
c:RegisterFlagEffect(id+1,RESET_EVENT+RESETS_STANDARD+RESET_CHAIN,0,1,0,aux.Stringid(id,1))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local tc=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler()):GetFirst()
tc:RegisterFlagEffect(id+1,RESET_EVENT+RESETS_STANDARD+RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(id,0))
end
function s.tipsfilter(c)
return c:GetFlagEffect(id+1)>0
Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler())
end
function s.lockop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -116,22 +111,24 @@ function s.lockop(e,tp,eg,ep,ev,re,r,rp)
--不能作为素材
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE)
e8:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e8:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e8:SetRange(LOCATION_MZONE)
e8:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e8:SetReset(RESET_EVENT+RESETS_STANDARD)
e8:SetValue(1)
tc:RegisterEffect(e8)
local e81=e8:Clone()
e81:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e81:SetValue(s.fuslimit)
tc:RegisterEffect(e81)
local e82=e8:Clone()
e82:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
tc:RegisterEffect(e82)
local e83=e8:Clone()
e83:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
tc:RegisterEffect(e83)
local e9=Effect.CreateEffect(c)
e9:SetType(EFFECT_TYPE_SINGLE)
e9:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e9:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e9)
local e10=Effect.CreateEffect(c)
e10:SetType(EFFECT_TYPE_SINGLE)
e10:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e10:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e10)
local e11=Effect.CreateEffect(c)
e11:SetType(EFFECT_TYPE_SINGLE)
e11:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e11:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e11)
--不能适用:效果无效
local e11_5=Effect.CreateEffect(c)
e11_5:SetType(EFFECT_TYPE_SINGLE)
......@@ -143,7 +140,6 @@ function s.lockop(e,tp,eg,ep,ev,re,r,rp)
e11_6:SetCode(EFFECT_DISABLE_EFFECT)
e11_6:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e11_6)
c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD,0,1)
--目标卡离场时重置计数器
local e12=Effect.CreateEffect(c)
e12:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
......@@ -176,6 +172,3 @@ end
function s.efilter(e,te)
return te:GetOwner()~=e:GetOwner() and te:GetHandler():IsOnField()
end
function s.fuslimit(e,c,st)
return st==SUMMON_TYPE_FUSION
end
......@@ -49,7 +49,9 @@ function s.activate1(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.filter),tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,3,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)==3 and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(id,0)) then
if Duel.IsPlayerCanDraw(tp,1)
and Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)==3
and Duel.SelectYesNo(tp,aux.Stringid(id,0)) then
Duel.BreakEffect()
Duel.ShuffleDeck(tp)
Duel.Draw(tp,1,REASON_EFFECT)
......
......@@ -66,7 +66,7 @@ function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,nil,e,tp) or e:GetLabel()==1) or Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,nil,e,tp) or (e:GetLabel()==0 and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp)) end
if e:GetLabel()==1 then
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK)
else
......
......@@ -68,12 +68,12 @@ function s.filter1(c)
return c:IsSetCard(0x3a31) and c:IsAbleToHand()
end
function s.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.filter1,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
if chk==0 then return Duel.IsExistingMatchingCard(s.filter1,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function s.activate1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,s.filter1,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,s.filter1,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
......
......@@ -38,7 +38,7 @@ function s.initial_effect(c)
c:RegisterEffect(e3)
end
function s.filter(c,e,tp)
return c.setcard~="Abnormality"
return not c.setcard=="Abnormality"
end
function s.thfilter(c,e,tp)
return c:IsType(TYPE_CONTINUOUS) and (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP)) and aux.IsCodeListed(c,79250009)
......@@ -115,7 +115,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp,c)
end
function s.remtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsCanRemoveCounter(tp,0,LOCATION_ONFIELD,0x15c1,1,REASON_COST) end
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,1,0x15c1,1,REASON_COST) end
local g=Duel.GetMatchingGroup(nil,tp,0,LOCATION_ONFIELD,nil,e,tp)
local ct=g:GetCount()
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,ct,0,0)
......
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