Commit 93e208af authored by VanillaSalt's avatar VanillaSalt

fix

parent b28434b1
......@@ -47,7 +47,7 @@ function c48179391.initial_effect(c)
c:RegisterEffect(e5)
end
function c48179391.actcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,48179391)==0 end
if chk==0 then return Duel.GetFlagEffect(tp,48179391)==0 end
Duel.RegisterFlagEffect(tp,48179391,0,0,0)
end
function c48179391.desfilter(c)
......
......@@ -7,6 +7,7 @@ function c65844845.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCategory(CATEGORY_EQUIP)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,65844845)
e1:SetCost(c65844845.eqcost)
e1:SetTarget(c65844845.eqtg)
e1:SetOperation(c65844845.eqop)
......@@ -36,11 +37,10 @@ function c65844845.filter(c)
end
function c65844845.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c65844845.filter(chkc) end
if chk==0 then return Duel.GetFlagEffect(tp,65844845)==0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c65844845.filter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c65844845.filter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.RegisterFlagEffect(tp,65844845,RESET_PHASE+PHASE_END,0,1)
end
function c65844845.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -5,16 +5,15 @@ function c6595475.initial_effect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,6595475+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c6595475.cost)
e1:SetTarget(c6595475.target)
e1:SetOperation(c6595475.activate)
c:RegisterEffect(e1)
end
function c6595475.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,6595475)==0
and Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,e:GetHandler()) end
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,Card.IsAbleToGraveAsCost,1,1,REASON_COST)
Duel.RegisterFlagEffect(tp,6595475,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c6595475.filter(c)
return c:IsType(TYPE_MONSTER) and (c:IsSetCard(0x54) or c:IsSetCard(0x59) or c:IsSetCard(0x82) or c:IsSetCard(0x8f)) and c:IsAbleToHand()
......
......@@ -36,6 +36,7 @@ function c66200210.initial_effect(c)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_MZONE)
e5:SetProperty(EFFECT_FLAG_CARD_TARGET)
e5:SetCountLimit(1,66200210)
e5:SetCost(c66200210.spcost2)
e5:SetTarget(c66200210.sptg2)
e5:SetOperation(c66200210.spop2)
......@@ -69,11 +70,9 @@ function c66200210.spop(e,tp,eg,ep,ev,re,r,rp)
end
end
function c66200210.spcost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,66200210)==0
and Duel.CheckReleaseGroup(tp,Card.IsType,1,nil,TYPE_TOKEN) end
if chk==0 then return Duel.CheckReleaseGroup(tp,Card.IsType,1,nil,TYPE_TOKEN) end
local g=Duel.SelectReleaseGroup(tp,Card.IsType,1,1,nil,TYPE_TOKEN)
Duel.Release(g,REASON_COST)
Duel.RegisterFlagEffect(tp,66200210,RESET_PHASE+PHASE_END,0,1)
end
function c66200210.filter(c,e,tp)
return c:IsSetCard(0x101b) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
......@@ -6,6 +6,7 @@ function c66853752.initial_effect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,66853752)
e1:SetCondition(c66853752.condition)
e1:SetTarget(c66853752.target)
e1:SetOperation(c66853752.operation)
......@@ -26,10 +27,9 @@ function c66853752.condition(e,tp,eg,ep,ev,re,r,rp)
return g:GetCount()>0 and g:FilterCount(Card.IsAttribute,nil,ATTRIBUTE_WATER)==g:GetCount()
end
function c66853752.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,66853752)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
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.RegisterFlagEffect(tp,66853752,RESET_PHASE+PHASE_END,0,1)
end
function c66853752.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -6,15 +6,11 @@ function c67968069.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c67968069.cost)
e1:SetCountLimit(1,67968069+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c67968069.target)
e1:SetOperation(c67968069.activate)
c:RegisterEffect(e1)
end
function c67968069.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,67968069)==0 end
Duel.RegisterFlagEffect(tp,67968069,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c67968069.filter(c,e,tp)
return c:IsSetCard(0x83) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
......
......@@ -7,7 +7,7 @@ function c68815132.initial_effect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c68815132.cost)
e1:SetCountLimit(1,68815132)
e1:SetTarget(c68815132.target)
e1:SetOperation(c68815132.operation)
c:RegisterEffect(e1)
......@@ -20,10 +20,6 @@ function c68815132.initial_effect(c)
e2:SetValue(76812113)
c:RegisterEffect(e2)
end
function c68815132.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,68815132)==0 end
Duel.RegisterFlagEffect(tp,68815132,RESET_PHASE+PHASE_END,0,1)
end
function c68815132.filter(c)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_WIND) and c:IsAbleToHand()
end
......@@ -38,7 +34,6 @@ function c68815132.sumfilter(c)
return c:IsAttribute(ATTRIBUTE_WIND) and c:IsSummonable(true,nil)
end
function c68815132.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SendtoHand(tc,nil,REASON_EFFECT)>0 and tc:IsLocation(LOCATION_HAND+LOCATION_EXTRA) then
if Duel.IsExistingMatchingCard(c68815132.sumfilter,tp,LOCATION_HAND,0,1,nil)
......
......@@ -7,6 +7,7 @@ function c69723159.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,69723159)
e1:SetCondition(c69723159.descon)
e1:SetCost(c69723159.descost)
e1:SetTarget(c69723159.destg)
......@@ -20,9 +21,8 @@ function c69723159.descon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c69723159.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c69723159.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,69723159)==0 and e:GetHandler():IsAbleToRemoveAsCost() end
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
Duel.RegisterFlagEffect(tp,69723159,RESET_PHASE+PHASE_END,0,1)
end
function c69723159.filter(c)
return c:IsFaceup() and c:IsDestructable()
......
......@@ -9,6 +9,7 @@ function c69840739.initial_effect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e1:SetCondition(c69840739.chcon)
e1:SetCost(c69840739.cost)
e1:SetTarget(c69840739.chtg)
......@@ -21,6 +22,7 @@ function c69840739.initial_effect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e2:SetCost(c69840739.cost)
e2:SetTarget(c69840739.drtg)
e2:SetOperation(c69840739.drop)
......@@ -33,10 +35,9 @@ function c69840739.chcon(e,tp,eg,ep,ev,re,r,rp)
or ((rc:GetType()==TYPE_SPELL or rc:GetType()==TYPE_TRAP) and re:IsHasType(EFFECT_TYPE_ACTIVATE))
end
function c69840739.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(69840739)==0 and e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
e:GetHandler():RegisterFlagEffect(69840739,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end
function c69840739.chtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c69840739.filter,rp,0,LOCATION_ONFIELD,1,nil) end
......
......@@ -9,6 +9,7 @@ function c70222318.initial_effect(c)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1,70222318)
e2:SetCost(c70222318.cost)
e2:SetTarget(c70222318.target)
e2:SetOperation(c70222318.operation)
......@@ -29,12 +30,10 @@ function c70222318.cfilter(c)
return c:IsRace(RACE_PLANT) and (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) and c:IsAbleToGraveAsCost()
end
function c70222318.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,70222318)==0
and Duel.IsExistingMatchingCard(c70222318.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(c70222318.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c70222318.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
Duel.RegisterFlagEffect(tp,70222318,RESET_PHASE+PHASE_END,0,1)
end
function c70222318.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_DECK,0,1,nil,0x90) end
......
......@@ -6,8 +6,8 @@ function c7092142.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetCountLimit(1,7092142+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c7092142.condition)
e1:SetCost(c7092142.cost)
e1:SetTarget(c7092142.target)
e1:SetOperation(c7092142.operation)
c:RegisterEffect(e1)
......@@ -19,10 +19,6 @@ end
function c7092142.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c7092142.cfilter,1,nil,tp)
end
function c7092142.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,7092142)==0 end
Duel.RegisterFlagEffect(tp,7092142,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c7092142.spfilter(c,e,tp)
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsControler(tp) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
......
......@@ -15,8 +15,8 @@ function c71015787.initial_effect(c)
e2:SetCategory(CATEGORY_DRAW+CATEGORY_RECOVER)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,71015787)
e2:SetCondition(c71015787.effcon)
e2:SetCost(c71015787.effcost)
e2:SetTarget(c71015787.efftg)
e2:SetOperation(c71015787.effop)
c:RegisterEffect(e2)
......@@ -44,10 +44,6 @@ end
function c71015787.effcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_SPECIAL+1
end
function c71015787.effcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,71015787)==0 end
Duel.RegisterFlagEffect(tp,71015787,RESET_PHASE+PHASE_END,0,1)
end
function c71015787.efftg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
......
......@@ -12,9 +12,9 @@ function c72497366.initial_effect(c)
e2:SetCode(EFFECT_SUMMON_PROC)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_HAND,0)
e2:SetCountLimit(1)
e2:SetCondition(c72497366.ntcon)
e2:SetTarget(c72497366.nttg)
e2:SetOperation(c72497366.ntop)
c:RegisterEffect(e2)
--destroy replace
local e3=Effect.CreateEffect(c)
......@@ -27,14 +27,11 @@ function c72497366.initial_effect(c)
end
function c72497366.ntcon(e,c)
if c==nil then return true end
return Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0 and e:GetHandler():GetFlagEffect(72497366)==0
return Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
end
function c72497366.nttg(e,c)
return c:IsLevelAbove(5) and c:IsRace(RACE_FIEND)
end
function c72497366.ntop(e,tp,eg,ep,ev,re,r,rp,c)
e:GetHandler():RegisterFlagEffect(72497366,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end
function c72497366.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=eg:GetFirst()
if chk==0 then return eg:GetCount()==1 and tc:IsFaceup() and tc:IsLocation(LOCATION_MZONE)
......
......@@ -6,8 +6,8 @@ function c73652465.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,73652465)
e1:SetCondition(c73652465.spcon)
e1:SetOperation(c73652465.spop)
c:RegisterEffect(e1)
--position
local e2=Effect.CreateEffect(c)
......@@ -28,10 +28,6 @@ function c73652465.spcon(e,c)
if c==nil then return true end
return Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c73652465.filter,c:GetControler(),LOCATION_MZONE,0,1,nil)
and Duel.GetFlagEffect(c:GetControler(),73652465)==0
end
function c73652465.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,73652465,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c73652465.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_GRAVE) and r==REASON_SYNCHRO
......
......@@ -5,6 +5,7 @@ function c73866096.initial_effect(c)
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,73866096+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c73866096.cost)
e1:SetTarget(c73866096.target)
e1:SetOperation(c73866096.activate)
......@@ -15,12 +16,10 @@ function c73866096.cfilter(c)
and (c:IsLocation(LOCATION_HAND) or c:IsFaceup())
end
function c73866096.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,73866096)==0
and Duel.IsExistingMatchingCard(c73866096.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(c73866096.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c73866096.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
Duel.RegisterFlagEffect(tp,73866096,RESET_PHASE+PHASE_END,0,1)
end
function c73866096.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end
......
......@@ -6,15 +6,11 @@ function c75014062.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c75014062.cost)
e1:SetCountLimit(1,75014062+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c75014062.target)
e1:SetOperation(c75014062.activate)
c:RegisterEffect(e1)
end
function c75014062.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,75014062)==0 end
Duel.RegisterFlagEffect(tp,75014062,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c75014062.filter(c)
return c:IsFaceup() and c:IsCanAddCounter(0x3001,1)
end
......@@ -22,7 +18,7 @@ function c75014062.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and c75014062.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c75014062.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(75014062,1))
local g=Duel.SelectTarget(tp,c75014062.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SelectTarget(tp,c75014062.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x3001)
end
function c75014062.tfilter(c)
......
......@@ -5,15 +5,11 @@ function c7512044.initial_effect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c7512044.cost)
e1:SetCountLimit(1,7512044)
e1:SetTarget(c7512044.target)
e1:SetOperation(c7512044.activate)
c:RegisterEffect(e1)
end
function c7512044.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,7512044)==0 end
Duel.RegisterFlagEffect(tp,7512044,RESET_PHASE+PHASE_END,0,1)
end
function c7512044.filter(c)
return c:IsCode(7512044) and c:IsAbleToHand()
end
......
......@@ -20,6 +20,7 @@ function c75367227.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,75367227)
e2:SetCost(c75367227.descost)
e2:SetTarget(c75367227.destg)
e2:SetOperation(c75367227.desop)
......@@ -40,9 +41,8 @@ function c75367227.tg(e,c)
return c~=e:GetHandler() and (c:IsFacedown() or c:IsSetCard(0x8d))
end
function c75367227.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,75367227)==0 and e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
Duel.RegisterFlagEffect(tp,75367227,RESET_PHASE+PHASE_END,0,1)
end
function c75367227.desfilter(c)
return c:IsFacedown() and c:IsDestructable()
......
......@@ -22,6 +22,7 @@ function c76419637.initial_effect(c)
e2:SetCategory(CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,76419637)
e2:SetCondition(c76419637.damcon)
e2:SetCost(c76419637.damcost)
e2:SetTarget(c76419637.damtg)
......@@ -45,9 +46,8 @@ function c76419637.damcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,40424929)
end
function c76419637.damcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,76419637)==0 and e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
Duel.RegisterFlagEffect(tp,76419637,RESET_PHASE+PHASE_END,0,1)
end
function c76419637.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......
......@@ -6,8 +6,8 @@ function c76766706.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,76766706+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c76766706.condition)
e1:SetCost(c76766706.cost)
e1:SetTarget(c76766706.target)
e1:SetOperation(c76766706.activate)
c:RegisterEffect(e1)
......@@ -19,10 +19,6 @@ function c76766706.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c76766706.cfilter,tp,LOCATION_MZONE,0,1,nil,ATTRIBUTE_LIGHT)
and Duel.IsExistingMatchingCard(c76766706.cfilter,tp,LOCATION_MZONE,0,1,nil,ATTRIBUTE_DARK)
end
function c76766706.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,76766706)==0 end
Duel.RegisterFlagEffect(tp,76766706,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c76766706.filter(c)
return c:IsFaceup() and c:IsRace(RACE_WARRIOR) and c:IsAttribute(ATTRIBUTE_LIGHT+ATTRIBUTE_DARK) and c:IsAbleToHand()
end
......
......@@ -13,6 +13,7 @@ function c77121851.initial_effect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1)
e2:SetCondition(c77121851.spcon)
e2:SetCost(c77121851.spcost)
e2:SetTarget(c77121851.sptg)
......@@ -36,10 +37,9 @@ function c77121851.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(g,REASON_COST)
end
function c77121851.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():GetFlagEffect(77121852)==0
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)
e:GetHandler():RegisterFlagEffect(77121852,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end
function c77121851.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -6,7 +6,7 @@ function c77558536.initial_effect(c)
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c77558536.cost)
e1:SetCountLimit(1,77558536)
e1:SetTarget(c77558536.target)
e1:SetOperation(c77558536.operation)
c:RegisterEffect(e1)
......@@ -23,10 +23,6 @@ function c77558536.initial_effect(c)
e2:SetOperation(c77558536.disop)
c:RegisterEffect(e2)
end
function c77558536.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,77558536)==0 end
Duel.RegisterFlagEffect(tp,77558536,RESET_PHASE+PHASE_END,0,1)
end
function c77558536.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) end
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,2)
......
......@@ -7,6 +7,7 @@ function c78358521.initial_effect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,78358521)
e1:SetCost(c78358521.thcost)
e1:SetTarget(c78358521.thtg)
e1:SetOperation(c78358521.thop)
......@@ -37,12 +38,10 @@ function c78358521.filter(c)
return c:IsSetCard(0x53) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c78358521.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,78358521)==0
and Duel.IsExistingMatchingCard(c78358521.rmfilter,tp,LOCATION_GRAVE,0,1,nil,tp) end
if chk==0 then return Duel.IsExistingMatchingCard(c78358521.rmfilter,tp,LOCATION_GRAVE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c78358521.rmfilter,tp,LOCATION_GRAVE,0,1,1,nil,tp)
Duel.Remove(g,POS_FACEUP,REASON_COST)
Duel.RegisterFlagEffect(tp,78358521,RESET_PHASE+PHASE_END,0,1)
end
function c78358521.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c78358521.filter(chkc) end
......
......@@ -7,13 +7,13 @@ function c78663366.initial_effect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,78663366)
e1:SetTarget(c78663366.target)
e1:SetOperation(c78663366.operation)
c:RegisterEffect(e1)
end
function c78663366.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,78663366)==0 and e:GetHandler():IsAbleToRemove() end
Duel.RegisterFlagEffect(tp,78663366,RESET_PHASE+PHASE_END,0,1)
if chk==0 then return e:GetHandler():IsAbleToRemove() end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,e:GetHandler(),1,0,0)
end
function c78663366.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -6,15 +6,11 @@ function c82016179.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c82016179.cost)
e1:SetCountLimit(1,82016179+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c82016179.target)
e1:SetOperation(c82016179.activate)
c:RegisterEffect(e1)
end
function c82016179.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,82016179)==0 end
Duel.RegisterFlagEffect(tp,82016179,RESET_PHASE+PHASE_END,0,1)
end
function c82016179.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,3) end
Duel.SetTargetPlayer(tp)
......
......@@ -24,6 +24,8 @@ function c83269557.initial_effect(c)
e3:SetCategory(CATEGORY_COUNTER)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_NO_TURN_RESET)
e3:SetCountLimit(1)
e3:SetCondition(aux.IsDualState)
e3:SetTarget(c83269557.target1)
e3:SetOperation(c83269557.operation1)
......@@ -45,9 +47,7 @@ function c83269557.atkval(e,c)
return c:GetCounter(0x3001)*300
end
function c83269557.target1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsCanAddCounter(0x3001,1) and c:GetFlagEffect(83269557)==0 end
c:RegisterFlagEffect(83269557,RESET_EVENT+0x1fe0000,EFFECT_FLAG_OATH,0)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x3001,1) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0)
end
function c83269557.operation1(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -5,6 +5,7 @@ function c8339504.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,8339504+EFFECT_COUNT_CODE_OATH)
e1:SetLabel(0)
e1:SetCost(c8339504.cost)
e1:SetTarget(c8339504.target)
......@@ -13,8 +14,7 @@ function c8339504.initial_effect(c)
end
function c8339504.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100)
if chk==0 then return Duel.GetFlagEffect(tp,8339504)==0 end
Duel.RegisterFlagEffect(tp,8339504,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
if chk==0 then return true end
end
function c8339504.cfilter(c,e,tp)
local rk=c:GetRank()
......
......@@ -9,7 +9,7 @@ function c84417082.initial_effect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e1:SetCost(c84417082.cost1)
e1:SetTarget(c84417082.target1)
e1:SetOperation(c84417082.operation1)
......@@ -20,7 +20,7 @@ function c84417082.initial_effect(c)
e2:SetCategory(CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e2:SetCost(c84417082.cost2)
e2:SetTarget(c84417082.target2)
e2:SetOperation(c84417082.operation2)
......@@ -36,9 +36,7 @@ function c84417082.filter1(c)
return c:IsFaceup() and c:IsDestructable()
end
function c84417082.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(84417082)==0
and Duel.IsExistingMatchingCard(c84417082.filter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler()) end
e:GetHandler():RegisterFlagEffect(84417082,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
if chk==0 then return Duel.IsExistingMatchingCard(c84417082.filter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler()) end
local g=Duel.GetMatchingGroup(c84417082.filter1,tp,LOCATION_MZONE,LOCATION_MZONE,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
......@@ -52,9 +50,7 @@ function c84417082.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
e:GetHandler():RemoveOverlayCard(tp,5,5,REASON_COST)
end
function c84417082.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(84417082)==0
and Duel.IsExistingMatchingCard(Card.IsDestructable,tp,0,LOCATION_ONFIELD,1,nil) end
e:GetHandler():RegisterFlagEffect(84417082,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDestructable,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsDestructable,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
......
......@@ -16,6 +16,7 @@ function c84650463.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,84650463)
e2:SetCondition(c84650463.spcon)
e2:SetCost(c84650463.spcost)
e2:SetTarget(c84650463.sptg)
......@@ -43,9 +44,8 @@ function c84650463.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetMatchingGroupCount(c84650463.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil)==3
end
function c84650463.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,84650463)==0 and e:GetHandler():IsAbleToRemoveAsCost() end
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
Duel.RegisterFlagEffect(tp,84650463,RESET_PHASE+PHASE_END,0,1)
end
function c84650463.filter(c,e,tp)
return c:IsLevelAbove(5) and c:IsRace(RACE_SEASERPENT) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
......@@ -8,20 +8,20 @@ function c85138716.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e1)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(85138716,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c85138716.spcost)
e1:SetTarget(c85138716.sptg)
e1:SetOperation(c85138716.spop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(85138716,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,85138716)
e2:SetCost(c85138716.spcost)
e2:SetTarget(c85138716.sptg)
e2:SetOperation(c85138716.spop)
c:RegisterEffect(e2)
end
function c85138716.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,85138716)==0 and e:GetHandler():IsAbleToRemoveAsCost() end
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
Duel.RegisterFlagEffect(tp,85138716,RESET_PHASE+PHASE_END,0,1)
end
function c85138716.filter(c,e,tp)
return c:IsType(TYPE_NORMAL) and c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
......@@ -16,6 +16,7 @@ function c86346643.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCategory(CATEGORY_TODECK)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e2:SetCost(c86346643.tdcost1)
e2:SetTarget(c86346643.tdtg1)
e2:SetOperation(c86346643.tdop1)
......@@ -25,6 +26,7 @@ function c86346643.initial_effect(c)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCategory(CATEGORY_TODECK)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e3:SetCost(c86346643.tdcost2)
e3:SetTarget(c86346643.tdtg2)
e3:SetOperation(c86346643.tdop2)
......@@ -34,6 +36,7 @@ function c86346643.initial_effect(c)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetCategory(CATEGORY_TODECK)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e4:SetCost(c86346643.tdcost3)
e4:SetTarget(c86346643.tdtg3)
e4:SetOperation(c86346643.tdop3)
......@@ -57,10 +60,8 @@ function c86346643.tdcost1(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(g,REASON_COST)
end
function c86346643.tdtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(86346643)==0
and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_MZONE,1,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_MZONE,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,0,LOCATION_MZONE,nil)
e:GetHandler():RegisterFlagEffect(86346643,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
end
function c86346643.tdop1(e,tp,eg,ep,ev,re,r,rp)
......@@ -81,10 +82,8 @@ function c86346643.filter2(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToDeck()
end
function c86346643.tdtg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(86346643)==0
and Duel.IsExistingMatchingCard(c86346643.filter2,tp,0,LOCATION_ONFIELD,1,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(c86346643.filter2,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(c86346643.filter2,tp,0,LOCATION_ONFIELD,nil)
e:GetHandler():RegisterFlagEffect(86346643,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
end
function c86346643.tdop2(e,tp,eg,ep,ev,re,r,rp)
......@@ -97,10 +96,8 @@ function c86346643.tdcost3(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.DiscardDeck(tp,1,REASON_COST)
end
function c86346643.tdtg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(86346643)==0
and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_GRAVE,1,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_GRAVE,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,0,LOCATION_GRAVE,nil)
e:GetHandler():RegisterFlagEffect(86346643,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
end
function c86346643.tdop3(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -6,8 +6,8 @@ function c86686671.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,86686671+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c86686671.condition)
e1:SetCost(c86686671.cost)
e1:SetTarget(c86686671.target)
e1:SetOperation(c86686671.activate)
c:RegisterEffect(e1)
......@@ -15,10 +15,6 @@ end
function c86686671.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,70095154)
end
function c86686671.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,86686671)==0 end
Duel.RegisterFlagEffect(tp,86686671,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c86686671.filter1(c)
return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToHand()
end
......
......@@ -6,15 +6,11 @@ function c87025064.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c87025064.cost)
e1:SetCountLimit(1,87025064+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c87025064.target)
e1:SetOperation(c87025064.activate)
c:RegisterEffect(e1)
end
function c87025064.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,87025064)==0 end
Duel.RegisterFlagEffect(tp,87025064,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c87025064.filter(c,e,tp)
return c:IsRace(RACE_DRAGON) and c:IsType(TYPE_NORMAL) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
......
......@@ -6,7 +6,7 @@ function c88241506.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_BE_BATTLE_TARGET)
e1:SetCost(c88241506.cost)
e1:SetCountLimit(1,88241506)
e1:SetTarget(c88241506.natg)
e1:SetOperation(c88241506.naop)
c:RegisterEffect(e1)
......@@ -17,16 +17,12 @@ function c88241506.initial_effect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_BECOME_TARGET)
e2:SetCountLimit(1,88241506)
e2:SetCondition(c88241506.spcon)
e2:SetCost(c88241506.cost)
e2:SetTarget(c88241506.sptg)
e2:SetOperation(c88241506.spop)
c:RegisterEffect(e2)
end
function c88241506.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,88241506)==0 end
Duel.RegisterFlagEffect(tp,88241506,RESET_PHASE+PHASE_END,0,1)
end
function c88241506.spfilter(c,e,tp)
return c:IsCode(89631139) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and not c:IsHasEffect(EFFECT_NECRO_VALLEY)
end
......
......@@ -5,17 +5,13 @@ function c88760522.initial_effect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c88760522.cost)
e1:SetCountLimit(1,88760522+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c88760522.target)
e1:SetOperation(c88760522.activate)
c:RegisterEffect(e1)
end
function c88760522.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,88760522)==0 end
Duel.RegisterFlagEffect(tp,88760522,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c88760522.filter(c)
return c:IsType(TYPE_MONSTER) and (c:IsSetCard(0x304e) or c:IsSetCard(0x604e)) and c:IsAbleToHand()
return c:IsType(TYPE_MONSTER) and (c:IsSetCard(0x304e) or c:IsSetCard(0x604e)) and c:IsAbleToHand()
end
function c88760522.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c88760522.filter,tp,LOCATION_DECK,0,1,nil) end
......
......@@ -7,6 +7,7 @@ function c88940154.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,88940154)
e1:SetCondition(c88940154.descon)
e1:SetCost(c88940154.descost)
e1:SetTarget(c88940154.destg)
......@@ -20,9 +21,8 @@ function c88940154.descon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c88940154.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c88940154.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,88940154)==0 and e:GetHandler():IsAbleToRemoveAsCost() end
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
Duel.RegisterFlagEffect(tp,88940154,RESET_PHASE+PHASE_END,0,1)
end
function c88940154.filter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsDestructable()
......
......@@ -6,6 +6,7 @@ function c89185742.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,89185742)
e1:SetCost(c89185742.spcost)
e1:SetTarget(c89185742.sptg)
e1:SetOperation(c89185742.spop)
......@@ -16,13 +17,12 @@ function c89185742.costfilter(c)
end
function c89185742.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetFlagEffect(tp,89185742)==0 and c:IsDiscardable()
if chk==0 then return c:IsDiscardable()
and Duel.IsExistingMatchingCard(c89185742.costfilter,tp,LOCATION_HAND,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,c89185742.costfilter,tp,LOCATION_HAND,0,1,1,c)
g:AddCard(c)
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
Duel.RegisterFlagEffect(tp,89185742,RESET_PHASE+PHASE_END,0,1)
end
function c89185742.spfilter(c,e,tp)
return c:IsCode(89399912) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
......@@ -21,6 +21,7 @@ function c89194103.initial_effect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetCondition(c89194103.descon)
e3:SetTarget(c89194103.destg)
e3:SetOperation(c89194103.desop)
......@@ -33,9 +34,8 @@ function c89194103.descon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)>=3
end
function c89194103.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(89194103)==0 end
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler(),1,0,0)
e:GetHandler():RegisterFlagEffect(89194103,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end
function c89194103.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -7,7 +7,7 @@ function c89493368.initial_effect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e1:SetCondition(c89493368.damcon)
e1:SetTarget(c89493368.damtg)
e1:SetOperation(c89493368.damop)
......@@ -45,8 +45,7 @@ function c89493368.damcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Card.IsControler,1,nil,1-tp)
end
function c89493368.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(89493368)==0 and e:GetHandler():IsRelateToEffect(e) end
e:GetHandler():RegisterFlagEffect(89493368,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
if chk==0 then return e:GetHandler():IsRelateToEffect(e) end
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,800)
end
function c89493368.damop(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -10,6 +10,7 @@ function c89516305.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e1:SetCost(c89516305.cost)
e1:SetTarget(c89516305.sttg)
e1:SetOperation(c89516305.stop)
......@@ -21,6 +22,7 @@ function c89516305.initial_effect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e2:SetCost(c89516305.cost)
e2:SetTarget(c89516305.settg)
e2:SetOperation(c89516305.setop)
......@@ -32,6 +34,7 @@ function c89516305.initial_effect(c)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e3:SetCost(c89516305.cost)
e3:SetTarget(c89516305.atktg)
e3:SetOperation(c89516305.atkop)
......@@ -39,10 +42,9 @@ function c89516305.initial_effect(c)
end
c89516305.xyz_number=87
function c89516305.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(89516305)==0 and e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
e:GetHandler():RegisterFlagEffect(89516305,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end
function c89516305.sttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_SZONE) and chkc:IsFacedown() end
......
......@@ -8,6 +8,7 @@ function c89642993.initial_effect(c)
e1:SetDescription(aux.Stringid(89642993,0))
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,89642993)
e1:SetCost(c89642993.efcost)
e1:SetTarget(c89642993.eftg)
e1:SetOperation(c89642993.efop)
......@@ -15,9 +16,8 @@ function c89642993.initial_effect(c)
end
c89642993.xyz_number=63
function c89642993.efcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,89642993)==0 and e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
Duel.RegisterFlagEffect(tp,89642993,RESET_PHASE+PHASE_END,0,1)
end
function c89642993.eftg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......
......@@ -8,6 +8,7 @@ function c89662736.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_BE_BATTLE_TARGET)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,89662736)
e1:SetCondition(c89662736.nacon)
e1:SetCost(c89662736.nacost)
e1:SetTarget(c89662736.natg)
......@@ -19,9 +20,8 @@ function c89662736.nacon(e,tp,eg,ep,ev,re,r,rp)
return at:IsControler(tp) and at:IsFaceup() and at:IsSetCard(0x88) and at:IsRace(RACE_BEASTWARRIOR)
end
function c89662736.nacost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,89662736)==0 and e:GetHandler():IsAbleToGraveAsCost() end
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
Duel.RegisterFlagEffect(tp,89662736,RESET_PHASE+PHASE_END,0,1)
end
function c89662736.natg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
......
......@@ -5,15 +5,11 @@ function c89739383.initial_effect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c89739383.cost)
e1:SetCountLimit(1,89739383+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c89739383.target)
e1:SetOperation(c89739383.activate)
c:RegisterEffect(e1)
end
function c89739383.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,89739383)==0 end
Duel.RegisterFlagEffect(tp,89739383,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c89739383.filter(c)
return c:IsSetCard(0x106e) and c:GetCode()~=89739383 and c:IsAbleToHand()
end
......
......@@ -5,7 +5,7 @@ function c90238142.initial_effect(c)
e1:SetDescription(aux.Stringid(90238142,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1)
e1:SetCountLimit(1,90238142)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c90238142.spcost)
e1:SetTarget(c90238142.sptg)
......@@ -33,10 +33,8 @@ function c90238142.cfilter(c)
return c:IsSetCard(0x64) and c:IsDiscardable()
end
function c90238142.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,90238142)==0
and Duel.IsExistingMatchingCard(c90238142.cfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
if chk==0 then return Duel.IsExistingMatchingCard(c90238142.cfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,c90238142.cfilter,1,1,REASON_COST+REASON_DISCARD)
Duel.RegisterFlagEffect(tp,90238142,RESET_PHASE+PHASE_END,0,1)
end
function c90238142.filter(c,e,tp)
return c:IsSetCard(0x64) and c:GetCode()~=90238142 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
......@@ -5,6 +5,7 @@ function c904185.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,904185+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c904185.cost)
e1:SetTarget(c904185.target)
e1:SetOperation(c904185.activate)
......@@ -14,11 +15,10 @@ function c904185.rfilter(c)
return c:IsAttribute(ATTRIBUTE_WIND) and not c:IsType(TYPE_TOKEN)
end
function c904185.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,904185)==0 and Duel.CheckReleaseGroup(tp,c904185.rfilter,1,nil) end
if chk==0 then return Duel.CheckReleaseGroup(tp,c904185.rfilter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c904185.rfilter,1,10,nil)
e:SetLabel(g:GetCount())
Duel.Release(g,REASON_COST)
Duel.RegisterFlagEffect(tp,904185,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c904185.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
......
......@@ -5,8 +5,8 @@ function c90434657.initial_effect(c)
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING)
e1:SetCountLimit(1,90434657+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c90434657.condition)
e1:SetCost(c90434657.cost)
e1:SetTarget(c90434657.target)
e1:SetOperation(c90434657.activate)
c:RegisterEffect(e1)
......@@ -24,10 +24,6 @@ function c90434657.condition(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsChainNegatable(ev) then return false end
return re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE)
end
function c90434657.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,90434657)==0 end
Duel.RegisterFlagEffect(tp,90434657,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c90434657.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
......
......@@ -16,6 +16,7 @@ function c9047460.initial_effect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,9047460+EFFECT_COUNT_CODE_DUEL)
e2:SetCost(c9047460.spcost)
e2:SetTarget(c9047460.sptg)
e2:SetOperation(c9047460.spop)
......@@ -38,10 +39,9 @@ function c9047460.tkop(e,tp,eg,ep,ev,re,r,rp)
end
end
function c9047460.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,nil,1,nil) and Duel.GetFlagEffect(tp,9047460)==0 end
if chk==0 then return Duel.CheckReleaseGroup(tp,nil,1,nil) end
local sg=Duel.SelectReleaseGroup(tp,nil,1,1,nil)
Duel.Release(sg,REASON_COST)
Duel.RegisterFlagEffect(tp,9047460,0,0,0)
end
function c9047460.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
......
......@@ -6,6 +6,7 @@ function c90951921.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,90951921+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c90951921.cost)
e1:SetTarget(c90951921.target)
e1:SetOperation(c90951921.activate)
......@@ -40,7 +41,7 @@ function c90951921.clear(e,tp,eg,ep,ev,re,r,rp)
c90951921[1]=true
end
function c90951921.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return c90951921[tp] and Duel.GetFlagEffect(tp,90951921)==0 end
if chk==0 then return c90951921[tp] end
--oath effects
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
......@@ -50,7 +51,6 @@ function c90951921.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetTargetRange(1,0)
e1:SetTarget(c90951921.splimit)
Duel.RegisterEffect(e1,tp)
Duel.RegisterFlagEffect(tp,90951921,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c90951921.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not c:IsSetCard(0x70)
......
......@@ -6,6 +6,7 @@ function c91020571.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,91020571)
e1:SetCost(c91020571.spcost)
e1:SetTarget(c91020571.sptg)
e1:SetOperation(c91020571.spop)
......@@ -16,13 +17,12 @@ function c91020571.costfilter(c)
end
function c91020571.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetFlagEffect(tp,91020571)==0 and c:IsDiscardable()
if chk==0 then return c:IsDiscardable()
and Duel.IsExistingMatchingCard(c91020571.costfilter,tp,LOCATION_HAND,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,c91020571.costfilter,tp,LOCATION_HAND,0,1,1,c)
g:AddCard(c)
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
Duel.RegisterFlagEffect(tp,91020571,RESET_PHASE+PHASE_END,0,1)
end
function c91020571.spfilter(c,e,tp)
return c:IsCode(90411554) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
......@@ -17,7 +17,7 @@ function c91350799.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCost(c91350799.spcost)
e2:SetCountLimit(1,91350799)
e2:SetTarget(c91350799.sptg)
e2:SetOperation(c91350799.spop)
c:RegisterEffect(e2)
......@@ -35,10 +35,6 @@ function c91350799.retop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoDeck(e:GetHandler(),nil,2,REASON_EFFECT)
end
end
function c91350799.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,91350799)==0 end
Duel.RegisterFlagEffect(tp,91350799,RESET_PHASE+PHASE_END,0,1)
end
function c91350799.rmfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end
......
......@@ -5,15 +5,11 @@ function c917796.initial_effect(c)
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c917796.cost)
e1:SetCountLimit(1,917796+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c917796.target)
e1:SetOperation(c917796.activate)
c:RegisterEffect(e1)
end
function c917796.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,917796)==0 end
Duel.RegisterFlagEffect(tp,917796,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c917796.filter(c)
return c:IsFaceup() and c:IsSetCard(0x54)
end
......
......@@ -5,15 +5,11 @@ function c92099232.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c92099232.cost)
e1:SetCountLimit(1,92099232+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c92099232.target)
e1:SetOperation(c92099232.activate)
c:RegisterEffect(e1)
end
function c92099232.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,92099232)==0 end
Duel.RegisterFlagEffect(tp,92099232,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c92099232.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and
Duel.IsPlayerCanSpecialSummonMonster(tp,92099232,0,0x11,0,0,2,RACE_FIEND,ATTRIBUTE_EARTH) end
......
......@@ -6,6 +6,7 @@ function c92418590.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,92418590)
e1:SetCost(c92418590.cost)
e1:SetTarget(c92418590.target)
e1:SetOperation(c92418590.operation)
......@@ -22,12 +23,10 @@ function c92418590.cfilter(c)
return c:IsSetCard(0x83) and c:IsAbleToRemoveAsCost() and c:IsType(TYPE_MONSTER)
end
function c92418590.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,92418590)==0
and Duel.IsExistingMatchingCard(c92418590.cfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end
if chk==0 then return Duel.IsExistingMatchingCard(c92418590.cfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c92418590.cfilter,tp,LOCATION_GRAVE,0,1,1,e:GetHandler())
Duel.Remove(g,POS_FACEUP,REASON_COST)
Duel.RegisterFlagEffect(tp,92418590,RESET_PHASE+PHASE_END,0,1)
end
function c92418590.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
......@@ -6,6 +6,7 @@ function c92572371.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,92572371)
e1:SetCost(c92572371.spcost)
e1:SetTarget(c92572371.sptg)
e1:SetOperation(c92572371.spop)
......@@ -15,12 +16,10 @@ function c92572371.cfilter(c)
return (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) and (c:IsSetCard(0x79) or c:IsSetCard(0x7c)) and c:IsAbleToGraveAsCost()
end
function c92572371.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,92572371)==0
and Duel.IsExistingMatchingCard(c92572371.cfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,2,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(c92572371.cfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c92572371.cfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,2,2,nil)
Duel.SendtoGrave(g,REASON_COST)
Duel.RegisterFlagEffect(tp,92572371,RESET_PHASE+PHASE_END,0,1)
end
function c92572371.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
......@@ -6,6 +6,7 @@ function c9260791.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,9260791)
e1:SetCost(c9260791.spcost)
e1:SetTarget(c9260791.sptg)
e1:SetOperation(c9260791.spop)
......@@ -22,9 +23,8 @@ function c9260791.initial_effect(c)
c:RegisterEffect(e2)
end
function c9260791.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,9260791)==0 and e:GetHandler():IsReleasable() end
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
Duel.RegisterFlagEffect(tp,9260791,RESET_PHASE+PHASE_END,0,1)
end
function c9260791.spfilter(c,e,tp)
return c:IsSetCard(0x107b) and not c:IsCode(9260791) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
......@@ -7,6 +7,7 @@ function c92609670.initial_effect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE+PHASE_STANDBY)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,92609670)
e1:SetCondition(c92609670.spcon)
e1:SetCost(c92609670.spcost)
e1:SetTarget(c92609670.sptg)
......@@ -26,9 +27,8 @@ function c92609670.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function c92609670.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,92609670)==0 and e:GetHandler():IsReleasable() end
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
Duel.RegisterFlagEffect(tp,92609670,RESET_PHASE+PHASE_END,0,1)
end
function c92609670.filter(c,e,tp)
return c:GetCode()~=92609670 and c:IsSetCard(0x106f) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and not c:IsHasEffect(EFFECT_NECRO_VALLEY)
......
......@@ -13,6 +13,7 @@ function c95084054.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetRange(LOCATION_SZONE)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e2:SetCondition(c95084054.damcon)
e2:SetTarget(c95084054.damtg)
e2:SetOperation(c95084054.damop)
......@@ -28,11 +29,10 @@ function c95084054.damcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c95084054.filter,1,nil)
end
function c95084054.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(95084054)==0 end
if chk==0 then return true end
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(600)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,600)
e:GetHandler():RegisterFlagEffect(95084054,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end
function c95084054.damop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
......
......@@ -17,6 +17,7 @@ function c95772051.initial_effect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,95772051)
e2:SetCost(c95772051.thcost)
e2:SetTarget(c95772051.thtg)
e2:SetOperation(c95772051.thop)
......@@ -46,10 +47,9 @@ function c95772051.thfilter(c)
return c:IsSetCard(0x207a) and c:IsAbleToHand()
end
function c95772051.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,95772051)==0 and Duel.CheckReleaseGroup(tp,Card.IsSetCard,1,nil,0x107a) end
if chk==0 then return Duel.CheckReleaseGroup(tp,Card.IsSetCard,1,nil,0x107a) end
local g=Duel.SelectReleaseGroup(tp,Card.IsSetCard,1,1,nil,0x107a)
Duel.Release(g,REASON_COST)
Duel.RegisterFlagEffect(tp,95772051,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c95772051.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c95772051.thfilter,tp,LOCATION_DECK,0,1,nil) end
......
......@@ -5,8 +5,8 @@ function c95920682.initial_effect(c)
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,95920682+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c95920682.condition)
e1:SetCost(c95920682.cost)
e1:SetTarget(c95920682.target)
e1:SetOperation(c95920682.activate)
c:RegisterEffect(e1)
......@@ -14,10 +14,6 @@ end
function c95920682.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLP(1-tp)<=2000
end
function c95920682.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,95920682)==0 end
Duel.RegisterFlagEffect(tp,95920682,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c95920682.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
......
......@@ -6,7 +6,7 @@ function c97520701.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c97520701.cost)
e1:SetCountLimit(1,97520701+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c97520701.target)
e1:SetOperation(c97520701.operation)
c:RegisterEffect(e1)
......@@ -22,10 +22,6 @@ function c97520701.initial_effect(c)
e2:SetOperation(c97520701.thop)
c:RegisterEffect(e2)
end
function c97520701.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,97520701)==0 end
Duel.RegisterFlagEffect(tp,97520701,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c97520701.filter(c,e,tp)
return c:IsRace(RACE_MACHINE) and c:IsAttackAbove(3000) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
......
......@@ -6,7 +6,7 @@ function c97617181.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCost(c97617181.cost)
e1:SetCountLimit(1,97617181+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c97617181.target)
e1:SetOperation(c97617181.operation)
c:RegisterEffect(e1)
......@@ -34,10 +34,6 @@ function c97617181.initial_effect(c)
e5:SetOperation(c97617181.atkop)
c:RegisterEffect(e5)
end
function c97617181.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,97617181)==0 end
Duel.RegisterFlagEffect(tp,97617181,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c97617181.spfilter(c,e,tp)
return (c:IsSetCard(0x55) or c:IsSetCard(0x7b)) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
......
......@@ -17,6 +17,7 @@ function c97836203.initial_effect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_SUMMON)
e2:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e2:SetCondition(c97836203.discon)
e2:SetTarget(c97836203.distg)
e2:SetOperation(c97836203.disop)
......@@ -45,10 +46,9 @@ function c97836203.discon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()==0
end
function c97836203.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(97836203)==0 end
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE_SUMMON,eg,eg:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,eg:GetCount(),0,0)
e:GetHandler():RegisterFlagEffect(97836203,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end
function c97836203.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -7,6 +7,7 @@ function c97997309.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetCountLimit(1,97997309+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c97997309.condition)
e1:SetCost(c97997309.cost)
e1:SetTarget(c97997309.target1)
......@@ -49,13 +50,11 @@ function c97997309.condition(e,tp,eg,ep,ev,re,r,rp)
end
function c97997309.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=e:GetLabel()
if chk==0 then return Duel.GetFlagEffect(tp,97997309)==0
and Duel.IsExistingMatchingCard(c97997309.rfilter,tp,LOCATION_GRAVE,0,ct,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(c97997309.rfilter,tp,LOCATION_GRAVE,0,ct,nil) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c97997309.rfilter,tp,LOCATION_GRAVE,0,ct,ct,nil)
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
Duel.RegisterFlagEffect(tp,97997309,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c97997309.filter1(c)
return c:IsFacedown() and c:IsAbleToHand()
......
......@@ -23,6 +23,7 @@ function c98707192.initial_effect(c)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetRange(LOCATION_HAND)
e3:SetCode(EVENT_DAMAGE)
e3:SetCountLimit(1,98707192)
e3:SetCondition(c98707192.condition)
e3:SetCost(c98707192.cost)
e3:SetTarget(c98707192.target)
......@@ -51,9 +52,8 @@ function c98707192.condition(e,tp,eg,ep,ev,re,r,rp)
return ep==tp and bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0
end
function c98707192.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,98707192)==0 and e:GetHandler():IsDiscardable() end
if chk==0 then return e:GetHandler():IsDiscardable() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD)
Duel.RegisterFlagEffect(tp,98707192,RESET_PHASE+PHASE_END,0,1)
end
function c98707192.filter(c,e,tp)
return c:IsSetCard(0x8d) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN)
......
......@@ -6,7 +6,7 @@ function c98850929.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c98850929.cost)
e1:SetCountLimit(1,98850929+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c98850929.target)
e1:SetOperation(c98850929.operation)
c:RegisterEffect(e1)
......@@ -17,10 +17,6 @@ end
function c98850929.typecast(c)
return bit.band(c:GetType(),TYPE_FUSION+TYPE_RITUAL+TYPE_SYNCHRO+TYPE_XYZ)
end
function c98850929.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,98850929)==0 end
Duel.RegisterFlagEffect(tp,98850929,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c98850929.filter1(c,e)
return c:IsFaceup() and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and c:IsCanBeEffectTarget(e)
end
......
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