Commit 57f02c95 authored by salix5's avatar salix5

fix スケアクロー

It should be "in the same column or in the adjacent zones".
parent c837c29c
--スケアクロー・ベロネア --スケアクロー・ベロネア
local s,id,o=GetID()
function c19882096.initial_effect(c) function c19882096.initial_effect(c)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -6,9 +7,9 @@ function c19882096.initial_effect(c) ...@@ -6,9 +7,9 @@ function c19882096.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,19882096+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,id+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c19882096.hspcon) e1:SetCondition(s.hspcon)
e1:SetValue(c19882096.hspval) e1:SetValue(s.hspval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--pierce --pierce
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -19,29 +20,32 @@ function c19882096.initial_effect(c) ...@@ -19,29 +20,32 @@ function c19882096.initial_effect(c)
e2:SetTarget(c19882096.ptg) e2:SetTarget(c19882096.ptg)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c19882096.cfilter(c) function s.cfilter(c)
return c:IsSetCard(0x17a) and c:IsFaceup() return c:IsSetCard(0x17a) and c:IsFaceup()
end end
function c19882096.getzone(tp) function s.getzone(tp)
local zone=0 local zone=0
local g=Duel.GetMatchingGroup(c19882096.cfilter,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(s.cfilter,tp,LOCATION_MZONE,0,nil)
for tc in aux.Next(g) do for tc in aux.Next(g) do
local seq=aux.MZoneSequence(tc:GetSequence()) local seq=tc:GetSequence()
zone=zone|(1<<seq) if seq==5 or seq==6 then
zone=zone|(1<<aux.MZoneSequence(seq))
else
if seq>0 then zone=zone|(1<<(seq-1)) end if seq>0 then zone=zone|(1<<(seq-1)) end
if seq<4 then zone=zone|(1<<(seq+1)) end if seq<4 then zone=zone|(1<<(seq+1)) end
end end
end
return zone return zone
end end
function c19882096.hspcon(e,c) function s.hspcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local zone=c19882096.getzone(tp) local zone=s.getzone(tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_TOFIELD,zone)>0 return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_TOFIELD,zone)>0
end end
function c19882096.hspval(e,c) function s.hspval(e,c)
local tp=c:GetControler() local tp=c:GetControler()
return 0,c19882096.getzone(tp) return 0,s.getzone(tp)
end end
function c19882096.ptg(e,c) function c19882096.ptg(e,c)
return c:IsSetCard(0x17a) and c:GetSequence()>=5 return c:IsSetCard(0x17a) and c:GetSequence()>=5
......
--スケアクロー・アクロア --スケアクロー・アクロア
local s,id,o=GetID()
function c46877100.initial_effect(c) function c46877100.initial_effect(c)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -6,9 +7,9 @@ function c46877100.initial_effect(c) ...@@ -6,9 +7,9 @@ function c46877100.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,46877100+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,id+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c46877100.hspcon) e1:SetCondition(s.hspcon)
e1:SetValue(c46877100.hspval) e1:SetValue(s.hspval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--atk up --atk up
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -20,29 +21,32 @@ function c46877100.initial_effect(c) ...@@ -20,29 +21,32 @@ function c46877100.initial_effect(c)
e2:SetValue(c46877100.atkval) e2:SetValue(c46877100.atkval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c46877100.cfilter(c) function s.cfilter(c)
return c:IsSetCard(0x17a) and c:IsFaceup() return c:IsSetCard(0x17a) and c:IsFaceup()
end end
function c46877100.getzone(tp) function s.getzone(tp)
local zone=0 local zone=0
local g=Duel.GetMatchingGroup(c46877100.cfilter,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(s.cfilter,tp,LOCATION_MZONE,0,nil)
for tc in aux.Next(g) do for tc in aux.Next(g) do
local seq=aux.MZoneSequence(tc:GetSequence()) local seq=tc:GetSequence()
zone=zone|(1<<seq) if seq==5 or seq==6 then
zone=zone|(1<<aux.MZoneSequence(seq))
else
if seq>0 then zone=zone|(1<<(seq-1)) end if seq>0 then zone=zone|(1<<(seq-1)) end
if seq<4 then zone=zone|(1<<(seq+1)) end if seq<4 then zone=zone|(1<<(seq+1)) end
end end
end
return zone return zone
end end
function c46877100.hspcon(e,c) function s.hspcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local zone=c46877100.getzone(tp) local zone=s.getzone(tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_TOFIELD,zone)>0 return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_TOFIELD,zone)>0
end end
function c46877100.hspval(e,c) function s.hspval(e,c)
local tp=c:GetControler() local tp=c:GetControler()
return 0,c46877100.getzone(tp) return 0,s.getzone(tp)
end end
function c46877100.atktg(e,c) function c46877100.atktg(e,c)
return c:IsSetCard(0x17a) and c:GetSequence()>=5 return c:IsSetCard(0x17a) and c:GetSequence()>=5
......
...@@ -7,9 +7,9 @@ function c82361809.initial_effect(c) ...@@ -7,9 +7,9 @@ function c82361809.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,82361809+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,id+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c82361809.hspcon) e1:SetCondition(s.hspcon)
e1:SetValue(c82361809.hspval) e1:SetValue(s.hspval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--tohand --tohand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -26,29 +26,32 @@ function c82361809.initial_effect(c) ...@@ -26,29 +26,32 @@ function c82361809.initial_effect(c)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c82361809.cfilter(c) function s.cfilter(c)
return c:IsSetCard(0x17a) and c:IsFaceup() return c:IsSetCard(0x17a) and c:IsFaceup()
end end
function c82361809.getzone(tp) function s.getzone(tp)
local zone=0 local zone=0
local g=Duel.GetMatchingGroup(c82361809.cfilter,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(s.cfilter,tp,LOCATION_MZONE,0,nil)
for tc in aux.Next(g) do for tc in aux.Next(g) do
local seq=aux.MZoneSequence(tc:GetSequence()) local seq=tc:GetSequence()
zone=zone|(1<<seq) if seq==5 or seq==6 then
zone=zone|(1<<aux.MZoneSequence(seq))
else
if seq>0 then zone=zone|(1<<(seq-1)) end if seq>0 then zone=zone|(1<<(seq-1)) end
if seq<4 then zone=zone|(1<<(seq+1)) end if seq<4 then zone=zone|(1<<(seq+1)) end
end end
end
return zone return zone
end end
function c82361809.hspcon(e,c) function s.hspcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local zone=c82361809.getzone(tp) local zone=s.getzone(tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_TOFIELD,zone)>0 return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_TOFIELD,zone)>0
end end
function c82361809.hspval(e,c) function s.hspval(e,c)
local tp=c:GetControler() local tp=c:GetControler()
return 0,c82361809.getzone(tp) return 0,s.getzone(tp)
end end
function c82361809.thfilter(c) function c82361809.thfilter(c)
return c:IsSetCard(0x17a) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand() return c:IsSetCard(0x17a) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
......
--スケアクロー・アストラ --スケアクロー・アストラ
local s,id,o=GetID()
function c83488497.initial_effect(c) function c83488497.initial_effect(c)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -6,9 +7,9 @@ function c83488497.initial_effect(c) ...@@ -6,9 +7,9 @@ function c83488497.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,83488497+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,id+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c83488497.hspcon) e1:SetCondition(s.hspcon)
e1:SetValue(c83488497.hspval) e1:SetValue(s.hspval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--extra attack --extra attack
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -21,29 +22,32 @@ function c83488497.initial_effect(c) ...@@ -21,29 +22,32 @@ function c83488497.initial_effect(c)
e2:SetValue(c83488497.exatkval) e2:SetValue(c83488497.exatkval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c83488497.cfilter(c) function s.cfilter(c)
return c:IsSetCard(0x17a) and c:IsFaceup() return c:IsSetCard(0x17a) and c:IsFaceup()
end end
function c83488497.getzone(tp) function s.getzone(tp)
local zone=0 local zone=0
local g=Duel.GetMatchingGroup(c83488497.cfilter,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(s.cfilter,tp,LOCATION_MZONE,0,nil)
for tc in aux.Next(g) do for tc in aux.Next(g) do
local seq=aux.MZoneSequence(tc:GetSequence()) local seq=tc:GetSequence()
zone=zone|(1<<seq) if seq==5 or seq==6 then
zone=zone|(1<<aux.MZoneSequence(seq))
else
if seq>0 then zone=zone|(1<<(seq-1)) end if seq>0 then zone=zone|(1<<(seq-1)) end
if seq<4 then zone=zone|(1<<(seq+1)) end if seq<4 then zone=zone|(1<<(seq+1)) end
end end
end
return zone return zone
end end
function c83488497.hspcon(e,c) function s.hspcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local zone=c83488497.getzone(tp) local zone=s.getzone(tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_TOFIELD,zone)>0 return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_TOFIELD,zone)>0
end end
function c83488497.hspval(e,c) function s.hspval(e,c)
local tp=c:GetControler() local tp=c:GetControler()
return 0,c83488497.getzone(tp) return 0,s.getzone(tp)
end end
function c83488497.deffilter(c) function c83488497.deffilter(c)
return c:IsDefensePos() and c:IsSetCard(0x17a) and c:IsFaceup() return c:IsDefensePos() and c:IsSetCard(0x17a) and c:IsFaceup()
......
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