Commit 9a8ed61d authored by VanillaSalt's avatar VanillaSalt

fix

parent c8e80a62
...@@ -32,6 +32,22 @@ function c20644748.initial_effect(c) ...@@ -32,6 +32,22 @@ function c20644748.initial_effect(c)
e4:SetTargetRange(1,1) e4:SetTargetRange(1,1)
e4:SetValue(c20644748.svalue) e4:SetValue(c20644748.svalue)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetRange(LOCATION_SZONE)
e5:SetCode(EFFECT_CANNOT_ACTIVATE)
e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e5:SetTargetRange(1,1)
e5:SetValue(c20644748.aclimit)
c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetRange(LOCATION_SZONE)
e6:SetCode(EFFECT_CANNOT_SSET)
e6:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e6:SetTargetRange(1,1)
e6:SetTarget(c20644748.setlimit)
c:RegisterEffect(e6)
end end
function c20644748.condition(e,tp,eg,ep,ev,re,r,rp) function c20644748.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)<=5 return Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)<=5
...@@ -68,3 +84,15 @@ function c20644748.svalue(e,fp,rp,r) ...@@ -68,3 +84,15 @@ function c20644748.svalue(e,fp,rp,r)
end end
return ct-Duel.GetFieldGroupCount(fp,LOCATION_MZONE,0) return ct-Duel.GetFieldGroupCount(fp,LOCATION_MZONE,0)
end end
function c20644748.aclimit(e,re,tp)
if not re:IsHasType(EFFECT_TYPE_ACTIVATE) then return false end
if re:IsActiveType(TYPE_FIELD) then
return not Duel.GetFieldCard(tp,LOCATION_SZONE,5) and Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)>4
elseif re:IsActiveType(TYPE_PENDULUM) then
return Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)>4
end
return false
end
function c20644748.setlimit(e,c,tp)
return c:IsType(TYPE_FIELD) and not Duel.GetFieldCard(tp,LOCATION_SZONE,5) and Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)>4
end
...@@ -51,7 +51,7 @@ function c2542230.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -51,7 +51,7 @@ function c2542230.activate(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c2542230.eqlimit(e,c) function c2542230.eqlimit(e,c)
return c:IsRace(RACE_DRAGON) and c:IsType(TYPE_SYNCHRO) return c:GetControler()==e:GetHandlerPlayer() or e:GetHandler():GetEquipTarget()==c
end end
function c2542230.discon(e) function c2542230.discon(e)
local ec=e:GetHandler():GetEquipTarget() local ec=e:GetHandler():GetEquipTarget()
...@@ -63,16 +63,22 @@ function c2542230.regop(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,16 +63,22 @@ function c2542230.regop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(2542230,0)) e1:SetDescription(aux.Stringid(2542230,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_PHASE+PHASE_END) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_GRAVE) e1:SetRange(LOCATION_GRAVE)
e1:SetHintTiming(TIMING_END_PHASE)
e1:SetCountLimit(1)
e1:SetCondition(c2542230.spcon)
e1:SetTarget(c2542230.sptg) e1:SetTarget(c2542230.sptg)
e1:SetOperation(c2542230.spop) e1:SetOperation(c2542230.spop)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
function c2542230.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_END
end
function c2542230.spfilter(c,e,tp) function c2542230.spfilter(c,e,tp)
return c:IsCode(70902743) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(70902743) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
......
...@@ -22,7 +22,6 @@ function c79323590.initial_effect(c) ...@@ -22,7 +22,6 @@ function c79323590.initial_effect(c)
e3:SetCode(EFFECT_SUMMON_COST) e3:SetCode(EFFECT_SUMMON_COST)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_HAND,LOCATION_HAND) e3:SetTargetRange(LOCATION_HAND,LOCATION_HAND)
e3:SetCondition(c79323590.costcon)
e3:SetCost(c79323590.costchk) e3:SetCost(c79323590.costchk)
e3:SetOperation(c79323590.costop) e3:SetOperation(c79323590.costop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
...@@ -36,27 +35,14 @@ function c79323590.initial_effect(c) ...@@ -36,27 +35,14 @@ function c79323590.initial_effect(c)
local e6=e3:Clone() local e6=e3:Clone()
e6:SetCode(EFFECT_SSET_COST) e6:SetCode(EFFECT_SSET_COST)
c:RegisterEffect(e6) c:RegisterEffect(e6)
--accumulate
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD)
e7:SetCode(0x10000000+79323590)
e7:SetRange(LOCATION_SZONE)
e7:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e7:SetTargetRange(1,1)
c:RegisterEffect(e7)
end end
function c79323590.actarget(e,te,tp) function c79323590.actarget(e,te,tp)
return te:GetHandler():IsLocation(LOCATION_HAND) return te:GetHandler():IsLocation(LOCATION_HAND)
end end
function c79323590.costcon(e)
c79323590[0]=false
return true
end
function c79323590.costchk(e,te_or_c,tp) function c79323590.costchk(e,te_or_c,tp)
return Duel.CheckLPCost(tp,500) return Duel.CheckLPCost(tp,500)
end end
function c79323590.costop(e,tp,eg,ep,ev,re,r,rp) function c79323590.costop(e,tp,eg,ep,ev,re,r,rp)
if c79323590[0] then return end Duel.Hint(HINT_CARD,0,79323590)
Duel.PayLPCost(tp,Duel.GetFlagEffect(tp,79323590)*500) Duel.PayLPCost(tp,500)
c79323590[0]=true
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