Commit 50779a5c authored by wind2009's avatar wind2009

Fix 覇者の鳴動

parent 4d1e4dd0
Pipeline #41605 passed with stages
in 1 minute and 18 seconds
No preview for this file type
......@@ -82,7 +82,7 @@ function s.sumop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,0,1)
end
function s.lvfilter(c)
return c:IsType(TYPE_TUNER) and c:IsLevelAbove(2) and not c:IsLevel(1) and c:IsFaceup()
return c:IsType(TYPE_TUNER) and c:IsLevelAbove(2) and c:IsFaceup()
end
function s.lvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and s.lvfilter(chkc) end
......@@ -91,7 +91,7 @@ function s.lvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SelectTarget(tp,s.lvfilter,tp,LOCATION_MZONE,0,1,6,nil)
end
function s.lvopfilter(c)
return c:IsFaceup() and c:IsType(TYPE_MONSTER) and not c:IsLevel(1)
return c:IsFaceup() and c:IsType(TYPE_MONSTER) and c:IsLevelAbove(2)
end
function s.lvop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetTargetsRelateToChain():Filter(s.lvopfilter,nil)
......
......@@ -18,6 +18,7 @@ function s.initial_effect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_DAMAGE_STEP_END)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1)
e2:SetCondition(s.atkcon)
e2:SetCost(aux.bfgcost)
e2:SetOperation(s.atkop)
......
......@@ -4,6 +4,7 @@ function s.initial_effect(c)
aux.AddCodeList(c,70902743)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_POSITION)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
......@@ -37,7 +38,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=Duel.GetFlagEffect(1-tp,id)
local b1=ct>=1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp)
local b2=ct>=3 and Duel.GetFlagEffect(tp,id)==0
local b2=ct>=3 and Duel.GetFlagEffect(tp,id+o)==0
local b3=ct>=5 and Duel.IsExistingMatchingCard(s.posfilter,tp,0,LOCATION_MZONE,1,nil)
if chk==0 then return b1 or b2 or b3 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_REMOVED)
......@@ -59,17 +60,19 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
if ct>=3 and Duel.GetFlagEffect(tp,id)==0 then
if ct>=3 and Duel.GetFlagEffect(tp,id+o)==0 then
Duel.BreakEffect()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(id,1))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsCode,70902743))
e1:SetValue(s.efilter)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN)
Duel.RegisterEffect(e1,tp)
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END+RESET_SELF_TURN,0,1)
Duel.RegisterFlagEffect(tp,id+o,RESET_PHASE+PHASE_END+RESET_SELF_TURN,0,1)
end
if ct>=5 then
local g=Duel.GetMatchingGroup(s.posfilter,tp,0,LOCATION_MZONE,nil)
......
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