Commit 8a7a2177 authored by Amiya's avatar Amiya

修复

parent 05b0436a
Pipeline #26700 passed with stages
in 56 seconds
...@@ -52,6 +52,28 @@ function s.rmop(e,tp,eg,ep,ev,re,r,rp) ...@@ -52,6 +52,28 @@ function s.rmop(e,tp,eg,ep,ev,re,r,rp)
if #sg>0 and Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)>0 then if #sg>0 and Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)>0 then
Duel.Remove(g-sg,POS_FACEUP,REASON_EFFECT) Duel.Remove(g-sg,POS_FACEUP,REASON_EFFECT)
end end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(s.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_ATTACK_ANNOUNCE)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(s.atktg)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
function s.splimit(e,c)
return c:IsLocation(LOCATION_EXTRA) and not c:IsType(TYPE_SYNCHRO)
end
function s.atktg(e,c)
return not c:IsType(TYPE_SYNCHRO)
end end
function s.synlimit(e,c) function s.synlimit(e,c)
if not c then return false end if not c then return false end
......
...@@ -21,8 +21,8 @@ function s.initial_effect(c) ...@@ -21,8 +21,8 @@ function s.initial_effect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_CHANGE_POS) e3:SetCode(EVENT_CHANGE_POS)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,id) e3:SetCountLimit(1)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCondition(s.poscon2) e3:SetCondition(s.poscon2)
e3:SetTarget(s.postg2) e3:SetTarget(s.postg2)
e3:SetOperation(s.posop2) e3:SetOperation(s.posop2)
...@@ -32,7 +32,7 @@ s.toss_coin=true ...@@ -32,7 +32,7 @@ s.toss_coin=true
function s.filter(c,e,tp) function s.filter(c,e,tp)
return c:IsCanChangePosition() and c:IsCanBeEffectTarget(e) and c:IsLocation(LOCATION_MZONE) and c:IsSummonPlayer(1-tp) return c:IsCanChangePosition() and c:IsCanBeEffectTarget(e) and c:IsLocation(LOCATION_MZONE) and c:IsSummonPlayer(1-tp)
end end
function s.postg(e,tp,eg,ep,ev,re,r,rp,chk) function s.postg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return eg:IsContains(chkc) and s.filter(chkc,e,tp) end if chkc then return eg:IsContains(chkc) and s.filter(chkc,e,tp) end
if chk==0 then return eg:IsExists(s.filter,1,nil,e,tp) and not eg:IsContains(e:GetHandler(),tp) end if chk==0 then return eg:IsExists(s.filter,1,nil,e,tp) and not eg:IsContains(e:GetHandler(),tp) end
local tc=eg:FilterSelect(tp,s.filter,1,1,nil,e,tp) local tc=eg:FilterSelect(tp,s.filter,1,1,nil,e,tp)
...@@ -62,7 +62,7 @@ function s.postg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -62,7 +62,7 @@ function s.postg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and s.cfilter(chkc) and eg:IsContains(chkc) end if chkc then return chkc:IsOnField() and s.cfilter(chkc) and eg:IsContains(chkc) end
if chk==0 then return eg:Filter(Card.IsOnField,nil):IsExists(s.cfilter,1,nil,e) and not eg:IsContains(e:GetHandler(),tp) end if chk==0 then return eg:Filter(Card.IsOnField,nil):IsExists(s.cfilter,1,nil,e) and not eg:IsContains(e:GetHandler(),tp) end
local tc=eg:Filter(Card.IsOnField,nil):FilterSelect(tp,s.cfilter,1,1,nil) local tc=eg:Filter(Card.IsOnField,nil):FilterSelect(tp,s.cfilter,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
Duel.SetTargetCard(tc) Duel.SetTargetCard(tc)
Duel.SetOperationInfo(0,CATEGORY_POSITION,tc,1,0,0) Duel.SetOperationInfo(0,CATEGORY_POSITION,tc,1,0,0)
end end
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1)) e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
...@@ -29,7 +29,7 @@ function s.initial_effect(c) ...@@ -29,7 +29,7 @@ function s.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(id,2)) e4:SetDescription(aux.Stringid(id,2))
e4:SetCategory(CATEGORY_DAMAGE) e4:SetCategory(CATEGORY_ATKCHANGE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e4:SetCode(EVENT_BATTLE_DAMAGE) e4:SetCode(EVENT_BATTLE_DAMAGE)
......
...@@ -37,6 +37,7 @@ function s.initial_effect(c) ...@@ -37,6 +37,7 @@ function s.initial_effect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetRange(LOCATION_SZONE) e5:SetRange(LOCATION_SZONE)
e5:SetCode(EVENT_CHAIN_SOLVING) e5:SetCode(EVENT_CHAIN_SOLVING)
e5:SetCountLimit(1,id+o)
e5:SetOperation(s.rmop3) e5:SetOperation(s.rmop3)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end 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