Commit fc9d7885 authored by POLYMER's avatar POLYMER

fix

parent 4377882a
...@@ -134,36 +134,34 @@ function c60151033.operation2(e,tp,eg,ep,ev,re,r,rp) ...@@ -134,36 +134,34 @@ function c60151033.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local ct=e:GetHandler():GetCounter(0x101b) local ct=e:GetHandler():GetCounter(0x101b)
local val=ct*300 local val=ct*300
if not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.GetLocationCountFromEx(tp)<=0 if Duel.GetLocationCountFromEx(tp)<=0
or not Duel.IsExistingMatchingCard(c60151033.op2f,tp,LOCATION_EXTRA,0,1,nil,e,tp,val) or not Duel.IsExistingMatchingCard(c60151033.op2f,tp,LOCATION_EXTRA,0,1,nil,e,tp,val) then
or c:GetCounter(0x101b)==0 then
Duel.Destroy(c,REASON_EFFECT) Duel.Destroy(c,REASON_EFFECT)
end elseif c:GetCounter(0x101b)>0 then
e:GetHandler():RemoveCounter(tp,0x101b,ct,REASON_EFFECT) e:GetHandler():RemoveCounter(tp,0x101b,ct,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c60151033.op2f,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,val) local g=Duel.SelectMatchingCard(tp,c60151033.op2f,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,val)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc:IsType(TYPE_XYZ) then if tc:IsType(TYPE_XYZ) then
if Duel.SpecialSummon(tc,0,tp,tp,true,true,POS_FACEUP)~=0 then if Duel.SpecialSummon(tc,0,tp,tp,true,true,POS_FACEUP)~=0 then
c:CancelToGrave() c:CancelToGrave()
Duel.Overlay(tc,Group.FromCards(c)) Duel.Overlay(tc,Group.FromCards(c))
end
elseif tc:IsType(TYPE_LINK) then
Duel.SpecialSummon(tc,0,tp,tp,true,true,POS_FACEUP)
end end
elseif tc:IsType(TYPE_LINK) then local g2=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
Duel.SpecialSummon(tc,0,tp,tp,true,true,POS_FACEUP) local tc2=g2:GetFirst()
end while tc2 do
local g2=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil) local e1=Effect.CreateEffect(e:GetHandler())
local tc2=g2:GetFirst() e1:SetType(EFFECT_TYPE_SINGLE)
while tc2 do e1:SetCode(EFFECT_SET_ATTACK_FINAL)
local e1=Effect.CreateEffect(e:GetHandler()) e1:SetValue(0)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetCode(EFFECT_SET_ATTACK_FINAL) tc2:RegisterEffect(e1)
e1:SetValue(0) tc2=g2:GetNext()
e1:SetReset(RESET_EVENT+0x1fe0000) end
tc2:RegisterEffect(e1) else
tc2=g2:GetNext()
end
if c:IsLocation(LOCATION_SZONE) then
Duel.Destroy(c,REASON_EFFECT) Duel.Destroy(c,REASON_EFFECT)
end end
end end
\ No newline at end of file
...@@ -86,7 +86,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -86,7 +86,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_CANNOT_TRIGGER) e4:SetCode(EFFECT_CANNOT_TRIGGER)
e4:SetReset(RESET_EVENT+RESETS_STANDARD) e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e4:SetCondition(s.ctcon) e4:SetCondition(s.ctcon)
tc:RegisterEffect(e4,true) tc:RegisterEffect(e4,true)
tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(id,3)) tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(id,3))
......
...@@ -18,9 +18,10 @@ function s.initial_effect(c) ...@@ -18,9 +18,10 @@ function s.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetRange(LOCATION_SZONE) -- 修改为魔陷区生效 e1:SetRange(LOCATION_SZONE)
e1:SetCategory(CATEGORY_DISABLE) e1:SetCategory(CATEGORY_DISABLE)
e1:SetCode(EVENT_CHAIN_SOLVING) e1:SetCode(EVENT_CHAIN_SOLVING)
e1:SetCondition(s.discon)
e1:SetOperation(s.disop) e1:SetOperation(s.disop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
...@@ -40,11 +41,13 @@ function s.negop(e,tp,eg,ep,ev,re,r,rp) ...@@ -40,11 +41,13 @@ function s.negop(e,tp,eg,ep,ev,re,r,rp)
-- 卡名验证与无效处理 -- 卡名验证与无效处理
if ac~=id then if ac~=id then
Duel.NegateActivation(ev) -- 无效效果 Duel.NegateActivation(ev) -- 无效效果
Duel.Hint(HINT_SOUND,0,aux.Stringid(id,1)) -- 播放音效提示
end end
end end
--2 --2
function s.discon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and Duel.IsChainDisablable(ev)
end
function s.disop(e,tp,eg,ep,ev,re,r,rp) function s.disop(e,tp,eg,ep,ev,re,r,rp)
if Duel.SelectYesNo(1-tp,aux.Stringid(id,0)) then if Duel.SelectYesNo(1-tp,aux.Stringid(id,0)) then
Duel.PayLPCost(1-tp,50) -- 支付50生命值 Duel.PayLPCost(1-tp,50) -- 支付50生命值
......
...@@ -24,6 +24,7 @@ function s.initial_effect(c) ...@@ -24,6 +24,7 @@ function s.initial_effect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_TO_GRAVE) e3:SetCode(EVENT_TO_GRAVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCondition(s.spcon) e3:SetCondition(s.spcon)
e3:SetTarget(s.sptg) e3:SetTarget(s.sptg)
e3:SetOperation(s.spop) e3:SetOperation(s.spop)
......
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