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