Commit a3c7e51c authored by mercury233's avatar mercury233

fix

parent fdb1ced2
...@@ -19,7 +19,6 @@ function c100200160.initial_effect(c) ...@@ -19,7 +19,6 @@ function c100200160.initial_effect(c)
--destroy --destroy
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(100200160,1)) e3:SetDescription(aux.Stringid(100200160,1))
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,100200160+100) e3:SetCountLimit(1,100200160+100)
...@@ -44,7 +43,7 @@ function c100200160.setcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -44,7 +43,7 @@ function c100200160.setcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x1,1,REASON_COST) if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x1,1,REASON_COST)
and Duel.IsExistingMatchingCard(c100200160.costfilter,tp,LOCATION_HAND,0,1,nil) end and Duel.IsExistingMatchingCard(c100200160.costfilter,tp,LOCATION_HAND,0,1,nil) end
e:GetHandler():RemoveCounter(tp,0x1,1,REASON_COST) e:GetHandler():RemoveCounter(tp,0x1,1,REASON_COST)
Duel.DiscardHand(tp,c100200160.costfilter,1,1,REASON_DISCARD+REASON_COST) Duel.DiscardHand(tp,c100200160.costfilter,1,1,REASON_DISCARD+REASON_COST,nil)
end end
function c100200160.filter(c) function c100200160.filter(c)
return c:GetType()==TYPE_SPELL+TYPE_CONTINUOUS and c:IsSSetable() return c:GetType()==TYPE_SPELL+TYPE_CONTINUOUS and c:IsSSetable()
......
...@@ -5,7 +5,6 @@ function c100248007.initial_effect(c) ...@@ -5,7 +5,6 @@ function c100248007.initial_effect(c)
--to field --to field
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(100248007,0)) e1:SetDescription(aux.Stringid(100248007,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_DAMAGE) e1:SetCode(EVENT_DAMAGE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
......
...@@ -51,7 +51,7 @@ function c100248017.spfilter2(c,e,tp) ...@@ -51,7 +51,7 @@ function c100248017.spfilter2(c,e,tp)
return c:IsRace(RACE_SPELLCASTER) and c:IsLevel(1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsRace(RACE_SPELLCASTER) and c:IsLevel(1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c100248017.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c100248017.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c100248017.tgfilter2(chkc,tp) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and chkc:IsAbleToGrave() end
if chk==0 then return Duel.IsExistingTarget(c100248017.tgfilter2,tp,LOCATION_MZONE,0,1,nil,tp) if chk==0 then return Duel.IsExistingTarget(c100248017.tgfilter2,tp,LOCATION_MZONE,0,1,nil,tp)
and Duel.IsExistingMatchingCard(c100248017.spfilter2,tp,LOCATION_DECK,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c100248017.spfilter2,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
......
...@@ -37,7 +37,6 @@ function c100248038.sumtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -37,7 +37,6 @@ function c100248038.sumtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end end
function c100248038.sumop(e,tp,eg,ep,ev,re,r,rp) function c100248038.sumop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP_DEFENSE) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
...@@ -47,7 +46,7 @@ function c100248038.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,7 +46,7 @@ function c100248038.spcon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and e:GetHandler():GetPreviousControler()==tp return rp==1-tp and e:GetHandler():GetPreviousControler()==tp
end end
function c100248038.spfilter2(c,e,tp) function c100248038.spfilter2(c,e,tp)
return c:IsSetCard(0x22c) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x22c) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c100248038.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c100248038.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
...@@ -26,7 +26,6 @@ function c100248043.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -26,7 +26,6 @@ function c100248043.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetLabelObject(e)
e1:SetTarget(c100248043.splimit) e1:SetTarget(c100248043.splimit)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
function c100319002.initial_effect(c) function c100319002.initial_effect(c)
--pierce --pierce
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetDescription(aux.Stringid(100319002,0)) e1:SetDescription(aux.Stringid(100319002,0))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_ATTACK_ANNOUNCE) e1:SetCode(EVENT_ATTACK_ANNOUNCE)
......
...@@ -19,7 +19,8 @@ function c100319003.spfilter(c,e,tp) ...@@ -19,7 +19,8 @@ function c100319003.spfilter(c,e,tp)
end end
function c100319003.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c100319003.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c100319003.spfilter(chkc,e,tp) end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c100319003.spfilter(chkc,e,tp) end
if chk==0 then return Duel.IsExistingTarget(c100319003.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingTarget(c100319003.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c100319003.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectTarget(tp,c100319003.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
......
...@@ -6,7 +6,7 @@ function c100319033.initial_effect(c) ...@@ -6,7 +6,7 @@ function c100319033.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c100319033.target) e1:SetTarget(c100319033.target)
e1:SetOperation(c100319033.activate) e1:SetOperation(c100319033.activate)
......
...@@ -39,7 +39,6 @@ function c100319041.initial_effect(c) ...@@ -39,7 +39,6 @@ function c100319041.initial_effect(c)
e5:SetCode(EVENT_CUSTOM+100319041) e5:SetCode(EVENT_CUSTOM+100319041)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP) e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e5:SetRange(LOCATION_MZONE) e5:SetRange(LOCATION_MZONE)
e5:SetCountLimit(1)
e5:SetCondition(c100319041.atkcon) e5:SetCondition(c100319041.atkcon)
e5:SetTarget(c100319041.atktg) e5:SetTarget(c100319041.atktg)
e5:SetOperation(c100319041.atkop) e5:SetOperation(c100319041.atkop)
...@@ -70,7 +69,7 @@ function c100319041.atkcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -70,7 +69,7 @@ function c100319041.atkcon(e,tp,eg,ep,ev,re,r,rp)
and Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE and Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE
end end
function c100319041.atktg(e,tp,eg,ep,ev,re,r,rp,chk) function c100319041.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
return not e:GetHandler():IsHasEffect(EFFECT_EXTRA_ATTACK) if chk==0 then return not e:GetHandler():IsHasEffect(EFFECT_EXTRA_ATTACK) end
end end
function c100319041.atkop(e,tp,eg,ep,ev,re,r,rp) function c100319041.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -6,6 +6,7 @@ function c101009004.initial_effect(c) ...@@ -6,6 +6,7 @@ function c101009004.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(101009004,0)) e1:SetDescription(aux.Stringid(101009004,0))
e1:SetCategory(CATEGORY_ATKCHANGE) e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(2,101009004) e1:SetCountLimit(2,101009004)
......
...@@ -16,7 +16,7 @@ function c101009012.initial_effect(c) ...@@ -16,7 +16,7 @@ function c101009012.initial_effect(c)
--to hand --to hand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(101009012,1)) e2:SetDescription(aux.Stringid(101009012,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_HAND+LOCATION_GRAVE) e2:SetRange(LOCATION_HAND+LOCATION_GRAVE)
...@@ -34,8 +34,8 @@ function c101009012.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -34,8 +34,8 @@ function c101009012.spcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c101009012.spcfilter,tp,LOCATION_MZONE,0,1,nil) return not Duel.IsExistingMatchingCard(c101009012.spcfilter,tp,LOCATION_MZONE,0,1,nil)
end end
function c101009012.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c101009012.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.GetMZoneCount(tp)>0 end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c101009012.spop(e,tp,eg,ep,ev,re,r,rp) function c101009012.spop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -16,7 +16,7 @@ function c101009013.initial_effect(c) ...@@ -16,7 +16,7 @@ function c101009013.initial_effect(c)
--special summon and destory --special summon and destory
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(101009013,1)) e2:SetDescription(aux.Stringid(101009013,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetRange(LOCATION_HAND+LOCATION_GRAVE) e2:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e2:SetCode(EVENT_DESTROYED) e2:SetCode(EVENT_DESTROYED)
...@@ -35,12 +35,13 @@ function c101009013.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -35,12 +35,13 @@ function c101009013.spcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c101009013.spcfilter,tp,LOCATION_MZONE,0,1,nil) return not Duel.IsExistingMatchingCard(c101009013.spcfilter,tp,LOCATION_MZONE,0,1,nil)
end end
function c101009013.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c101009013.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c101009013.spop(e,tp,eg,ep,ev,re,r,rp) function c101009013.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if e:GetHandler():IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
end end
......
...@@ -35,12 +35,13 @@ function c101009014.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -35,12 +35,13 @@ function c101009014.spcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c101009014.spcfilter,tp,LOCATION_MZONE,0,1,nil) return not Duel.IsExistingMatchingCard(c101009014.spcfilter,tp,LOCATION_MZONE,0,1,nil)
end end
function c101009014.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c101009014.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c101009014.spop(e,tp,eg,ep,ev,re,r,rp) function c101009014.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if e:GetHandler():IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
end end
......
...@@ -33,12 +33,13 @@ function c101009015.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -33,12 +33,13 @@ function c101009015.spcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c101009015.spcfilter,tp,LOCATION_MZONE,0,1,nil) return not Duel.IsExistingMatchingCard(c101009015.spcfilter,tp,LOCATION_MZONE,0,1,nil)
end end
function c101009015.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c101009015.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c101009015.spop(e,tp,eg,ep,ev,re,r,rp) function c101009015.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if e:GetHandler():IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
end end
......
...@@ -34,12 +34,13 @@ function c101009016.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -34,12 +34,13 @@ function c101009016.spcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c101009016.spcfilter,tp,LOCATION_MZONE,0,1,nil) return not Duel.IsExistingMatchingCard(c101009016.spcfilter,tp,LOCATION_MZONE,0,1,nil)
end end
function c101009016.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c101009016.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c101009016.spop(e,tp,eg,ep,ev,re,r,rp) function c101009016.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if e:GetHandler():IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
end end
......
...@@ -44,13 +44,13 @@ function c101009028.atkcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,13 +44,13 @@ function c101009028.atkcon(e,tp,eg,ep,ev,re,r,rp)
local at=Duel.GetAttackTarget() local at=Duel.GetAttackTarget()
return Duel.GetAttacker():IsControler(1-tp) and at:IsControler(tp) and at:IsFaceup() and at:IsRace(RACE_SPELLCASTER) return Duel.GetAttacker():IsControler(1-tp) and at:IsControler(tp) and at:IsFaceup() and at:IsRace(RACE_SPELLCASTER)
end end
function c101009028.cfilter(c) function c101009028.cfilter(c,tp)
return c:IsFaceup() and c:IsRace(RACE_SPELLCASTER) return c:IsFaceup() and c:IsRace(RACE_SPELLCASTER) and c:IsLocation(LOCATION_MZONE) and c:IsControler(tp)
end end
function c101009028.tgcon(e,tp,eg,ep,ev,re,r,rp) function c101009028.tgcon(e,tp,eg,ep,ev,re,r,rp)
if rp~=1-tp or not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end if rp~=1-tp or not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsExists(c101009028.cfilter,1,nil) return g and g:IsExists(c101009028.cfilter,1,nil,tp)
end end
function c101009028.thfilter(c,tp) function c101009028.thfilter(c,tp)
return c:IsAbleToHand() and (c:IsControler(1-tp) and c:IsOnField() return c:IsAbleToHand() and (c:IsControler(1-tp) and c:IsOnField()
......
...@@ -34,7 +34,7 @@ function c101009039.econ(e,tp,eg,ep,ev,re,r,rp) ...@@ -34,7 +34,7 @@ function c101009039.econ(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ) return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
end end
function c101009039.efilter(e,re,rp) function c101009039.efilter(e,re,rp)
return re:GetHandler()~=e:GetHandler() and re:IsActiveType(TYPE_EFFECT) return re:GetHandler()~=e:GetHandler() and re:IsActiveType(TYPE_MONSTER)
end end
function c101009039.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c101009039.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
......
...@@ -20,7 +20,6 @@ function c101009040.initial_effect(c) ...@@ -20,7 +20,6 @@ function c101009040.initial_effect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,101009040)
e2:SetCondition(c101009040.thcon) e2:SetCondition(c101009040.thcon)
e2:SetTarget(c101009040.thtg) e2:SetTarget(c101009040.thtg)
e2:SetOperation(c101009040.thop) e2:SetOperation(c101009040.thop)
...@@ -30,7 +29,7 @@ function c101009040.mfilter(c) ...@@ -30,7 +29,7 @@ function c101009040.mfilter(c)
return c:IsLevelBelow(4) and c:IsLinkSetCard(0x22b) return c:IsLevelBelow(4) and c:IsLinkSetCard(0x22b)
end end
function c101009040.regcon(e,tp,eg,ep,ev,re,r,rp) function c101009040.regcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(e:GetHandler():GetSummonType(),SUMMON_TYPE_LINK)==SUMMON_TYPE_LINK return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end end
function c101009040.regop(e,tp,eg,ep,ev,re,r,rp) function c101009040.regop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
......
...@@ -21,7 +21,7 @@ function c101009041.initial_effect(c) ...@@ -21,7 +21,7 @@ function c101009041.initial_effect(c)
e2:SetDescription(aux.Stringid(101009041,1)) e2:SetDescription(aux.Stringid(101009041,1))
e2:SetCategory(CATEGORY_TOHAND) e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_TO_GRAVE) e2:SetCode(EVENT_TO_GRAVE)
e2:SetCountLimit(1,101009041+100) e2:SetCountLimit(1,101009041+100)
e2:SetCondition(c101009041.thcon) e2:SetCondition(c101009041.thcon)
...@@ -42,9 +42,10 @@ function c101009041.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -42,9 +42,10 @@ function c101009041.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end end
function c101009041.spop(e,tp,eg,ep,ev,re,r,rp) function c101009041.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
local zone=bit.band(e:GetHandler():GetLinkedZone(tp),0x1f) local zone=bit.band(e:GetHandler():GetLinkedZone(tp),0x1f)
if tc:IsRelateToEffect(e) and zone~=0 then if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and zone~=0 then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP,zone) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP,zone)
end end
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
...@@ -63,7 +64,7 @@ function c101009041.thcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,7 +64,7 @@ function c101009041.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end end
function c101009041.thfilter(c) function c101009041.thfilter(c)
return c:IsSetCard(0x22b) and c:IsType(TYPE_MONSTER) and not c:IsCode(101009041) and c:IsAbleToHand() return c:IsSetCard(0x22b) and not c:IsCode(101009041) and c:IsAbleToHand()
end end
function c101009041.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c101009041.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c101009041.thfilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c101009041.thfilter(chkc) end
......
...@@ -19,7 +19,6 @@ function c101009042.initial_effect(c) ...@@ -19,7 +19,6 @@ function c101009042.initial_effect(c)
--negate attack --negate attack
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(101009042,1)) e2:SetDescription(aux.Stringid(101009042,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
...@@ -29,7 +28,7 @@ function c101009042.initial_effect(c) ...@@ -29,7 +28,7 @@ function c101009042.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c101009042.thfilter(c) function c101009042.thfilter(c)
return c:IsSetCard(0x22b) and c:IsType(TYPE_MONSTER) and not c:IsCode(101009042) and c:IsAbleToHand() return c:IsSetCard(0x22b) and not c:IsCode(101009042) and c:IsAbleToHand()
end end
function c101009042.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c101009042.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c101009042.thfilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c101009042.thfilter(chkc) end
......
...@@ -9,6 +9,7 @@ function c101009044.initial_effect(c) ...@@ -9,6 +9,7 @@ function c101009044.initial_effect(c)
e1:SetDescription(aux.Stringid(101009044,0)) e1:SetDescription(aux.Stringid(101009044,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,101009044) e1:SetCountLimit(1,101009044)
e1:SetCost(c101009044.spcost) e1:SetCost(c101009044.spcost)
...@@ -20,6 +21,7 @@ function c101009044.initial_effect(c) ...@@ -20,6 +21,7 @@ function c101009044.initial_effect(c)
e2:SetDescription(aux.Stringid(101009044,1)) e2:SetDescription(aux.Stringid(101009044,1))
e2:SetCategory(CATEGORY_DESTROY) e2:SetCategory(CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,101009044+100) e2:SetCountLimit(1,101009044+100)
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
function c101009051.initial_effect(c) function c101009051.initial_effect(c)
--move --move
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DECKDES)
e1:SetDescription(aux.Stringid(101009051,0)) e1:SetDescription(aux.Stringid(101009051,0))
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
...@@ -14,7 +15,7 @@ function c101009051.initial_effect(c) ...@@ -14,7 +15,7 @@ function c101009051.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c101009051.filter(c,tp) function c101009051.filter(c,tp)
if not (c:IsType(TYPE_LINK) and c:GetSequence()>=5) then return false end if not (c:IsFaceup() and c:IsType(TYPE_LINK) and c:GetSequence()>=5) then return false end
local zone=bit.band(c:GetLinkedZone(),0x1f) local zone=bit.band(c:GetLinkedZone(),0x1f)
return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL,zone)>0 return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL,zone)>0
end end
......
...@@ -42,7 +42,7 @@ function c101009055.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,7 +42,7 @@ function c101009055.activate(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c101009055.cfilter(c,tp) function c101009055.cfilter(c,tp)
return c:IsPreviousLocation(LOCATION_ONFIELD) and c:GetPreviousControler()==tp return c:IsPreviousLocation(LOCATION_ONFIELD) and c:GetPreviousControler()==tp and c:IsReason(REASON_EFFECT)
end end
function c101009055.indcon(e,tp,eg,ep,ev,re,r,rp) function c101009055.indcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c101009055.cfilter,1,nil,tp) return eg:IsExists(c101009055.cfilter,1,nil,tp)
...@@ -63,7 +63,9 @@ function c101009055.damcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,7 +63,9 @@ function c101009055.damcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c101009055.cfilter,1,nil,1-tp) return eg:IsExists(c101009055.cfilter,1,nil,1-tp)
end end
function c101009055.damop(e,tp,eg,ep,ev,re,r,rp) function c101009055.damop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
function c101009059.initial_effect(c) function c101009059.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE) e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,101009059+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,101009059+EFFECT_COUNT_CODE_OATH)
...@@ -33,7 +33,7 @@ function c101009059.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -33,7 +33,7 @@ function c101009059.activate(e,tp,eg,ep,ev,re,r,rp)
and Duel.IsExistingMatchingCard(c101009059.thcfilter,tp,LOCATION_MZONE,0,1,nil) and Duel.IsExistingMatchingCard(c101009059.thcfilter,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(c101009059.thfilter,tp,LOCATION_DECK,0,1,nil,tc) and Duel.IsExistingMatchingCard(c101009059.thfilter,tp,LOCATION_DECK,0,1,nil,tc)
and Duel.SelectYesNo(tp,aux.Stringid(101009059,0)) then and Duel.SelectYesNo(tp,aux.Stringid(101009059,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c101009059.thfilter,tp,LOCATION_DECK,0,1,1,nil,tc) local g=Duel.SelectMatchingCard(tp,c101009059.thfilter,tp,LOCATION_DECK,0,1,1,nil,tc)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
......
...@@ -23,7 +23,7 @@ function c101009067.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -23,7 +23,7 @@ function c101009067.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,0,1-tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,0,1-tp,LOCATION_HAND)
end end
function c101009067.activate(e,tp,eg,ep,ev,re,r,rp) function c101009067.activate(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(Card.IsRelateToEffect,nil,e) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if #g>0 then if #g>0 then
Duel.ConfirmCards(tp,g) Duel.ConfirmCards(tp,g)
local sg=g:Filter(Card.IsType,nil,TYPE_MONSTER) local sg=g:Filter(Card.IsType,nil,TYPE_MONSTER)
......
...@@ -24,7 +24,7 @@ function c101009068.ccfilter(c) ...@@ -24,7 +24,7 @@ function c101009068.ccfilter(c)
return c:IsFaceup() and c:IsSetCard(0x22b) and c:IsType(TYPE_LINK) return c:IsFaceup() and c:IsSetCard(0x22b) and c:IsType(TYPE_LINK)
end end
function c101009068.con(e,tp,eg,ep,ev,re,r,rp) function c101009068.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c101009068.ccfilter,tp,LOCATION_ONFIELD,0,1,nil) return Duel.IsExistingMatchingCard(c101009068.ccfilter,tp,LOCATION_MZONE,0,1,nil)
end end
function c101009068.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c101009068.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and aux.disfilter1(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and aux.disfilter1(chkc) end
...@@ -38,7 +38,7 @@ end ...@@ -38,7 +38,7 @@ end
function c101009068.activate(e,tp,eg,ep,ev,re,r,rp) function c101009068.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() and not tc:IsDisabled() and tc:IsControler(1-tp) then if tc:IsRelateToEffect(e) and tc:IsFaceup() and not tc:IsDisabled() then
Duel.NegateRelatedChain(tc,RESET_TURN_SET) Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -34,6 +34,7 @@ function c101009071.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -34,6 +34,7 @@ function c101009071.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local sg=g:SelectSubGroup(tp,aux.dncheck,false,1,ct) local sg=g:SelectSubGroup(tp,aux.dncheck,false,1,ct)
Duel.ConfirmCards(1-tp,sg) Duel.ConfirmCards(1-tp,sg)
Duel.ShuffleHand(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local tg=Duel.SelectTarget(tp,c101009071.tgfilter,tp,0,LOCATION_ONFIELD,#sg,#sg,nil) local tg=Duel.SelectTarget(tp,c101009071.tgfilter,tp,0,LOCATION_ONFIELD,#sg,#sg,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,tg,#tg,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,tg,#tg,0,0)
......
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