Commit 96d85302 authored by POLYMER's avatar POLYMER

fix

parent a080e9fd
...@@ -37,6 +37,7 @@ function c29002020.initial_effect(c) ...@@ -37,6 +37,7 @@ function c29002020.initial_effect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_IMMUNE_EFFECT) e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetTargetRange(LOCATION_MZONE,0) e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetValue(c29002020.efilter) e3:SetValue(c29002020.efilter)
c:RegisterEffect(e3) c:RegisterEffect(e3)
...@@ -125,9 +126,14 @@ function c29002020.ioperation(e,tp,eg,ep,ev,re,r,rp) ...@@ -125,9 +126,14 @@ function c29002020.ioperation(e,tp,eg,ep,ev,re,r,rp)
e3:SetTargetRange(1,0) e3:SetTargetRange(1,0)
Duel.RegisterEffect(e3,tp) Duel.RegisterEffect(e3,tp)
end end
function c29002020.efilter(e,te) --function c29002020.efilter(e,te)
if te:GetOwnerPlayer()==e:GetHandlerPlayer() then return false end --if te:GetOwnerPlayer()==e:GetHandlerPlayer() then return false end
if not te:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return true end --if not te:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return true end
--local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
--return not g or not g:IsContains(e:GetHandler())
--end
function c29002020.efilter(e,re,rp,c)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return true end
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
return not g or not g:IsContains(e:GetHandler()) return e:GetOwnerPlayer()~=re:GetOwnerPlayer() and not g or not g:IsContains(c)
end end
\ No newline at end of file
...@@ -2,8 +2,7 @@ ...@@ -2,8 +2,7 @@
c29021399.named_with_Arknight=1 c29021399.named_with_Arknight=1
function c29021399.initial_effect(c) function c29021399.initial_effect(c)
aux.AddCodeList(c,29065500) aux.AddCodeList(c,29065500)
--change name aux.EnableChangeCode(c,29065500)
aux.EnableChangeCode(c,29065500,LOCATION_MZONE)
--xyz summon --xyz summon
aux.AddXyzProcedure(c,nil,5,2) aux.AddXyzProcedure(c,nil,5,2)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -89,7 +89,7 @@ end ...@@ -89,7 +89,7 @@ end
function s.spcon(e,tp,eg,ep,ev,re,r,rp) function s.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_ONFIELD) return c:IsPreviousLocation(LOCATION_ONFIELD)
and bit.band(c:GetPreviousSummonType(),SUMMON_TYPE_FUSION)==SUMMON_TYPE_FUSION and bit.band(c:GetSummonType(),SUMMON_TYPE_FUSION)==SUMMON_TYPE_FUSION
end end
function s.desfilter(c) function s.desfilter(c)
return c:IsFaceup() and c:IsCode(OME_ID) and c:IsDestructable() return c:IsFaceup() and c:IsCode(OME_ID) and c:IsDestructable()
......
...@@ -72,7 +72,7 @@ function s.fishfilter(c) ...@@ -72,7 +72,7 @@ function s.fishfilter(c)
return c:IsRace(RACE_FISH) and ((c:IsLocation(LOCATION_MZONE) and c:IsFaceup()) or c:IsLocation(LOCATION_GRAVE)) return c:IsRace(RACE_FISH) and ((c:IsLocation(LOCATION_MZONE) and c:IsFaceup()) or c:IsLocation(LOCATION_GRAVE))
end end
function s.desfilter(c,atk) function s.desfilter(c,atk)
return c:IsAttackBelow(atk) return c:IsAttackBelow(atk) and c:IsFaceup()
end end
function s.efftg(e,tp,eg,ep,ev,re,r,rp,chk) function s.efftg(e,tp,eg,ep,ev,re,r,rp,chk)
local chkf=tp local chkf=tp
......
...@@ -59,16 +59,24 @@ end ...@@ -59,16 +59,24 @@ end
function s.spcon_move(e,tp,eg,ep,ev,re,r,rp) function s.spcon_move(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(s.omefilter,1,nil,tp) return eg:IsExists(s.omefilter,1,nil,tp)
end end
function s.desfilter(c) function s.desfilter(c)
return c:IsFaceup() and c:GetAttack()>=0 return c:IsFaceup() and c:GetAttack()>=0
end end
function s.gcheck(g) function s.gcheck(g)
return g:GetSum(Card.GetAttack)>=2100 local sum=g:GetSum(Card.GetAttack)
if sum<2100 then return false end
return not g:IsExists(function(c) return sum-c:GetAttack()>=2100 end, 1, nil)
end end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(s.desfilter,tp,0,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(s.desfilter,tp,0,LOCATION_MZONE,nil)
if chk==0 then if chk==0 then
return g:GetCount()>0 and g:CheckSubGroup(s.gcheck,1,#g) return g:GetCount()>0 and g:CheckSubGroup(s.gcheck,1,#g)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
...@@ -76,11 +84,14 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -76,11 +84,14 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_MZONE)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(s.desfilter,tp,0,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(s.desfilter,tp,0,LOCATION_MZONE,nil)
if g:GetCount()>0 and g:CheckSubGroup(s.gcheck,1,#g) then if g:GetCount()>0 and g:CheckSubGroup(s.gcheck,1,#g) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local dg=g:SelectSubGroup(tp,s.gcheck,false,1,#g) local dg=g:SelectSubGroup(tp,s.gcheck,false,1,#g)
if dg and dg:GetCount()>0 then if dg and dg:GetCount()>0 then
Duel.HintSelection(dg) Duel.HintSelection(dg)
......
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