Commit e8bc8423 authored by VanillaSalt's avatar VanillaSalt

Merge pull request #898 from salix5/patch2

fix
parents 2eed90c1 b0f630eb
...@@ -54,11 +54,13 @@ function c11609969.sctg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -54,11 +54,13 @@ function c11609969.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
local scl=math.max(1,e:GetHandler():GetLeftScale()-2) local scl=math.max(1,e:GetHandler():GetLeftScale()-2)
local g=Duel.GetMatchingGroup(c11609969.filter,tp,LOCATION_MZONE,0,nil,scl) local g=Duel.GetMatchingGroup(c11609969.filter,tp,LOCATION_MZONE,0,nil,scl)
if c:GetLeftScale()>1 then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
end end
function c11609969.scop(e,tp,eg,ep,ev,re,r,rp) function c11609969.scop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) or c:GetLeftScale()==1 then return end
local scl=math.max(1,c:GetLeftScale()-2) local scl=math.max(1,c:GetLeftScale()-2)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -28,30 +28,23 @@ function c54719828.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -28,30 +28,23 @@ function c54719828.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
if e:GetLabel()==0 then
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_RANGE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetTarget(c54719828.actg)
elseif e:GetLabel()==1 then
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE) e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,1) e1:SetTargetRange(1,1)
if e:GetLabel()==0 then
e1:SetValue(c54719828.aclimit1)
elseif e:GetLabel()==1 then
e1:SetValue(c54719828.aclimit2) e1:SetValue(c54719828.aclimit2)
else else e1:SetValue(c54719828.aclimit3) end
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,1)
e1:SetValue(c54719828.aclimit3)
end
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN,1) e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN,1)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c54719828.actg(e,c) function c54719828.aclimit1(e,re,tp)
return c:IsType(TYPE_MONSTER) return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsImmuneToEffect(e)
end end
function c54719828.aclimit2(e,re,tp) function c54719828.aclimit2(e,re,tp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and not re:GetHandler():IsImmuneToEffect(e)
end end
function c54719828.aclimit3(e,re,tp) function c54719828.aclimit3(e,re,tp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_TRAP) return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_TRAP) and not re:GetHandler():IsImmuneToEffect(e)
end end
...@@ -4,6 +4,7 @@ function c74605254.initial_effect(c) ...@@ -4,6 +4,7 @@ function c74605254.initial_effect(c)
aux.AddPendulumProcedure(c) aux.AddPendulumProcedure(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(74605254,1))
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -54,11 +55,13 @@ function c74605254.sctg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -54,11 +55,13 @@ function c74605254.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
local scl=math.min(10,e:GetHandler():GetLeftScale()+2) local scl=math.min(10,e:GetHandler():GetLeftScale()+2)
local g=Duel.GetMatchingGroup(c74605254.filter,tp,LOCATION_MZONE,0,nil,scl) local g=Duel.GetMatchingGroup(c74605254.filter,tp,LOCATION_MZONE,0,nil,scl)
if c:GetLeftScale()<10 then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
end end
function c74605254.scop(e,tp,eg,ep,ev,re,r,rp) function c74605254.scop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) or c:GetLeftScale()==10 then return end
local scl=math.min(10,c:GetLeftScale()+2) local scl=math.min(10,c:GetLeftScale()+2)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -4,6 +4,7 @@ function c9765723.initial_effect(c) ...@@ -4,6 +4,7 @@ function c9765723.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--destroy --destroy
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
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