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) ...@@ -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) Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,0,1)
end end
function s.lvfilter(c) 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 end
function s.lvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) 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 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) ...@@ -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) Duel.SelectTarget(tp,s.lvfilter,tp,LOCATION_MZONE,0,1,6,nil)
end end
function s.lvopfilter(c) 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 end
function s.lvop(e,tp,eg,ep,ev,re,r,rp) function s.lvop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetTargetsRelateToChain():Filter(s.lvopfilter,nil) local g=Duel.GetTargetsRelateToChain():Filter(s.lvopfilter,nil)
......
...@@ -18,6 +18,7 @@ function s.initial_effect(c) ...@@ -18,6 +18,7 @@ function s.initial_effect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_DAMAGE_STEP_END) e2:SetCode(EVENT_DAMAGE_STEP_END)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1)
e2:SetCondition(s.atkcon) e2:SetCondition(s.atkcon)
e2:SetCost(aux.bfgcost) e2:SetCost(aux.bfgcost)
e2:SetOperation(s.atkop) e2:SetOperation(s.atkop)
......
...@@ -4,6 +4,7 @@ function s.initial_effect(c) ...@@ -4,6 +4,7 @@ function s.initial_effect(c)
aux.AddCodeList(c,70902743) aux.AddCodeList(c,70902743)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_POSITION) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_POSITION)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
...@@ -37,7 +38,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -37,7 +38,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=Duel.GetFlagEffect(1-tp,id) local ct=Duel.GetFlagEffect(1-tp,id)
local b1=ct>=1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 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) 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) 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 if chk==0 then return b1 or b2 or b3 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_REMOVED) 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) ...@@ -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) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
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() Duel.BreakEffect()
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(id,1))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_IMMUNE_EFFECT) e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetTargetRange(LOCATION_MZONE,0) e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsCode,70902743)) e1:SetTarget(aux.TargetBoolFunction(Card.IsCode,70902743))
e1:SetValue(s.efilter) e1:SetValue(s.efilter)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN) e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN)
Duel.RegisterEffect(e1,tp) 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 end
if ct>=5 then if ct>=5 then
local g=Duel.GetMatchingGroup(s.posfilter,tp,0,LOCATION_MZONE,nil) 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