Commit 286e4ce9 authored by wind2009's avatar wind2009

Merge remote-tracking branch 'upstream/master' into develop

parents a3b89a20 a76cc0be
...@@ -62,7 +62,7 @@ function s.filter2(c,e,tp,m,f,chkf) ...@@ -62,7 +62,7 @@ function s.filter2(c,e,tp,m,f,chkf)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end end
function s.fcheck(tp,sg,fc) function s.fcheck(tp,sg,fc)
return sg:IsExists(Card.IsSetCard,1,nil,0xdd) return sg:IsExists(Card.IsFusionSetCard,1,nil,0xdd)
end end
function s.fsptg(e,tp,eg,ep,ev,re,r,rp,chk) function s.fsptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
......
...@@ -90,7 +90,7 @@ function c34813545.filter2(c,e,tp,m,f,chkf) ...@@ -90,7 +90,7 @@ function c34813545.filter2(c,e,tp,m,f,chkf)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end end
function c34813545.fcheck(tp,sg,fc) function c34813545.fcheck(tp,sg,fc)
return sg:IsExists(Card.IsSetCard,1,nil,0x2a) return sg:IsExists(Card.IsFusionSetCard,1,nil,0x2a)
end end
function c34813545.fstg(e,tp,eg,ep,ev,re,r,rp,chk) function c34813545.fstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
......
...@@ -29,7 +29,7 @@ function c35098357.filter2(c,e,tp,m,f,chkf) ...@@ -29,7 +29,7 @@ function c35098357.filter2(c,e,tp,m,f,chkf)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end end
function c35098357.fcheck(tp,sg,fc) function c35098357.fcheck(tp,sg,fc)
return sg:IsExists(Card.IsSetCard,1,nil,0x128) return sg:IsExists(Card.IsFusionSetCard,1,nil,0x128)
end end
function c35098357.target(e,tp,eg,ep,ev,re,r,rp,chk) function c35098357.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
......
...@@ -36,6 +36,9 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -36,6 +36,9 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,sg:Filter(Card.IsLocation,nil,LOCATION_GRAVE),1,0,0) Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,sg:Filter(Card.IsLocation,nil,LOCATION_GRAVE),1,0,0)
end end
function s.ovfilter(c,e)
return c:IsCanOverlay() and not c:IsImmuneToEffect(e)
end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tg=Duel.GetTargetsRelateToChain() local tg=Duel.GetTargetsRelateToChain()
...@@ -45,7 +48,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -45,7 +48,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
local sc=sg:GetFirst() local sc=sg:GetFirst()
if sc and Duel.SpecialSummon(sc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)~=0 then if sc and Duel.SpecialSummon(sc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)~=0 then
sc:CompleteProcedure() sc:CompleteProcedure()
local og=tg:Filter(Card.IsCanOverlay,nil) local og=tg:Filter(s.ovfilter,nil,e)
for tc in aux.Next(og) do for tc in aux.Next(og) do
local mg=tc:GetOverlayGroup() local mg=tc:GetOverlayGroup()
if mg:GetCount()~=0 then if mg:GetCount()~=0 then
......
...@@ -46,9 +46,9 @@ function c48654323.atktgfilter2(c) ...@@ -46,9 +46,9 @@ function c48654323.atktgfilter2(c)
end end
function c48654323.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c48654323.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(c48654323.atktgfilter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(c48654323.atktgfilter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c48654323.atktgfilter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) local g=Duel.SelectTarget(tp,c48654323.atktgfilter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c48654323.atktgfilter2,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,g) Duel.SelectTarget(tp,c48654323.atktgfilter2,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,g)
end end
......
...@@ -9,6 +9,7 @@ function c5908650.initial_effect(c) ...@@ -9,6 +9,7 @@ function c5908650.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetCost(c5908650.thcost) e1:SetCost(c5908650.thcost)
e1:SetCondition(c5908650.thcon)
e1:SetTarget(c5908650.thtg) e1:SetTarget(c5908650.thtg)
e1:SetOperation(c5908650.thop) e1:SetOperation(c5908650.thop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -29,6 +30,9 @@ function c5908650.thcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -29,6 +30,9 @@ function c5908650.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c5908650.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsAttribute(ATTRIBUTE_LIGHT)
end
function c5908650.aclimit(e,re,tp) function c5908650.aclimit(e,re,tp)
return re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsNonAttribute(ATTRIBUTE_LIGHT) return re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsNonAttribute(ATTRIBUTE_LIGHT)
end end
......
...@@ -133,7 +133,8 @@ function s.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -133,7 +133,8 @@ function s.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc~=c and s.atkfilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc~=c and s.atkfilter(chkc) end
if chk==0 then return c:IsAttackAbove(500) and c:IsDefenseAbove(500) and Duel.IsExistingTarget(s.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,c) end if chk==0 then return c:IsAttackAbove(500) and c:IsDefenseAbove(500) and Duel.IsExistingTarget(s.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,s.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,c) local tc=Duel.SelectTarget(tp,s.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,c)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,0,0)
end end
function s.atkop(e,tp,eg,ep,ev,re,r,rp) function s.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -69,9 +69,9 @@ function s.exfilter(c,tp) ...@@ -69,9 +69,9 @@ function s.exfilter(c,tp)
end end
function s.fcheck(tp,sg,fc) function s.fcheck(tp,sg,fc)
if Duel.GetFlagEffect(tp,id)~=0 then if Duel.GetFlagEffect(tp,id)~=0 then
return sg:IsExists(Card.IsSetCard,1,nil,0x1a1) return sg:IsExists(Card.IsFusionSetCard,1,nil,0x1a1)
else else
return sg:IsExists(Card.IsSetCard,1,nil,0x1a1) and not sg:IsExists(s.exfilter,1,nil,tp) return sg:IsExists(Card.IsFusionSetCard,1,nil,0x1a1) and not sg:IsExists(s.exfilter,1,nil,tp)
end end
end end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk) function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -74,8 +74,7 @@ function c82791472.aclimit(e,re,tp) ...@@ -74,8 +74,7 @@ function c82791472.aclimit(e,re,tp)
return not re:GetHandler():IsSetCard(0x137) and re:IsActiveType(TYPE_MONSTER) return not re:GetHandler():IsSetCard(0x137) and re:IsActiveType(TYPE_MONSTER)
end end
function c82791472.descon(e,tp,eg,ep,ev,re,r,rp) function c82791472.descon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() return Duel.IsMainPhase() and e:GetHandler():IsSetCard(0x137)
return ph==PHASE_MAIN1 or ph==PHASE_MAIN2
end end
function c82791472.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c82791472.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end
......
...@@ -126,7 +126,7 @@ function s.filter3(c,e) ...@@ -126,7 +126,7 @@ function s.filter3(c,e)
return c:IsOnField() and not c:IsImmuneToEffect(e) return c:IsOnField() and not c:IsImmuneToEffect(e)
end end
function s.fcheck(tp,sg,fc) function s.fcheck(tp,sg,fc)
return sg:IsExists(Card.IsSetCard,1,nil,0x1a5) return sg:IsExists(Card.IsFusionSetCard,1,nil,0x1a5)
end end
function s.futg(e,tp,eg,ep,ev,re,r,rp,chk) function s.futg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
......
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