Commit 80e0fd45 authored by argon.sun's avatar argon.sun

fix

parent 5d2c607b
...@@ -12,7 +12,7 @@ end ...@@ -12,7 +12,7 @@ end
function c18988391.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c18988391.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,18988391)==0 and e:GetHandler():IsAbleToRemoveAsCost() end if chk==0 then return Duel.GetFlagEffect(tp,18988391)==0 and e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST) Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
Duel.RegisterFlagEffect(tp,18988391,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,18988391,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end end
function c18988391.operation(e,tp,eg,ep,ev,re,r,rp) function c18988391.operation(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
......
...@@ -27,4 +27,4 @@ function c19700943.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -27,4 +27,4 @@ function c19700943.atkop(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(1) e1:SetValue(1)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE) e1:SetReset(RESET_PHASE+PHASE_DAMAGE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
\ No newline at end of file
...@@ -18,6 +18,7 @@ function c22653490.initial_effect(c) ...@@ -18,6 +18,7 @@ function c22653490.initial_effect(c)
e2:SetDescription(aux.Stringid(22653490,1)) e2:SetDescription(aux.Stringid(22653490,1))
e2:SetCategory(CATEGORY_TODECK) e2:SetCategory(CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1) e2:SetCountLimit(1)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCost(c22653490.tdcost2) e2:SetCost(c22653490.tdcost2)
...@@ -51,16 +52,16 @@ end ...@@ -51,16 +52,16 @@ end
function c22653490.tdfilter2(c) function c22653490.tdfilter2(c)
return c:IsFaceup() and c:IsAbleToDeck() return c:IsFaceup() and c:IsAbleToDeck()
end end
function c22653490.tdtg2(e,tp,eg,ep,ev,re,r,rp,chk) function c22653490.tdtg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c22653490.tdfilter2,tp,0,LOCATION_ONFIELD,1,nil) end if chkc then return chkc:IsControler(1-tp) and chkc:IsOnField() and c22653490.tdfilter2(chkc) end
local g=Duel.GetMatchingGroup(c22653490.tdfilter2,tp,0,LOCATION_ONFIELD,nil) if chk==0 then return Duel.IsExistingTarget(c22653490.tdfilter2,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c22653490.tdfilter2,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
end end
function c22653490.tdop2(e,tp,eg,ep,ev,re,r,rp) function c22653490.tdop2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) local tc=Duel.GetFirstTarget()
local g=Duel.SelectMatchingCard(tp,c22653490.tdfilter2,tp,0,LOCATION_ONFIELD,1,1,nil) if tc:IsFaceup() and tc:IsRelateToEffect(e) then
if g:GetCount()>0 then Duel.SendtoDeck(tc,nil,0,REASON_EFFECT)
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,0,REASON_EFFECT)
end end
end end
...@@ -8,6 +8,7 @@ function c23776077.initial_effect(c) ...@@ -8,6 +8,7 @@ function c23776077.initial_effect(c)
e1:SetDescription(aux.Stringid(23776077,0)) e1:SetDescription(aux.Stringid(23776077,0))
e1:SetCategory(CATEGORY_REMOVE) e1:SetCategory(CATEGORY_REMOVE)
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) e1:SetCountLimit(1)
e1:SetCost(c23776077.rmcost) e1:SetCost(c23776077.rmcost)
...@@ -50,17 +51,19 @@ function c23776077.rmcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -50,17 +51,19 @@ function c23776077.rmcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end end
function c23776077.rmfilter(c) function c23776077.rmfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove() and not c:IsHasEffect(EFFECT_NECRO_VALLEY) return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove()
end end
function c23776077.rmtg(e,tp,eg,ep,ev,re,r,rp,chk) function c23776077.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c23776077.rmfilter,tp,0,LOCATION_MZONE+LOCATION_GRAVE,1,nil) end if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_MZONE+LOCATION_GRAVE) and c23776077.rmfilter(chkc) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_MZONE+LOCATION_GRAVE) if chk==0 then return Duel.IsExistingTarget(c23776077.rmfilter,tp,0,LOCATION_MZONE+LOCATION_GRAVE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,c23776077.rmfilter,tp,0,LOCATION_MZONE+LOCATION_GRAVE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
end end
function c23776077.rmop(e,tp,eg,ep,ev,re,r,rp) function c23776077.rmop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) local tc=Duel.GetFirstTarget()
local g=Duel.SelectMatchingCard(tp,c23776077.rmfilter,tp,0,LOCATION_MZONE+LOCATION_GRAVE,1,1,nil) if tc:IsRelateToEffect(e) then
if g:GetCount()>0 then Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end end
end end
function c23776077.adcon(e) function c23776077.adcon(e)
......
...@@ -44,7 +44,7 @@ function c26533075.descon(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,7 +44,7 @@ function c26533075.descon(e,tp,eg,ep,ev,re,r,rp)
and e:GetHandler():IsPreviousPosition(POS_FACEDOWN) and e:GetHandler():IsPreviousPosition(POS_FACEDOWN)
end end
function c26533075.desfilter(c) function c26533075.desfilter(c)
return c:IsFaceup() and c:IsDestructable() return c:IsDestructable()
end end
function c26533075.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c26533075.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and c26533075.desfilter(chkc) end if chkc then return chkc:IsOnField() and c26533075.desfilter(chkc) end
......
...@@ -5,7 +5,7 @@ function c43748308.initial_effect(c) ...@@ -5,7 +5,7 @@ function c43748308.initial_effect(c)
e1:SetDescription(aux.Stringid(43748308,0)) e1:SetDescription(aux.Stringid(43748308,0))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_CHAIN_SOLVING) e1:SetCode(EVENT_CHAIN_SOLVING)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CHAIN_UNIQUE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetCondition(c43748308.setcon) e1:SetCondition(c43748308.setcon)
...@@ -33,10 +33,12 @@ function c43748308.filter(c) ...@@ -33,10 +33,12 @@ function c43748308.filter(c)
return c:IsSetCard(0x7c) and c:IsType(TYPE_TRAP) and c:IsSSetable() return c:IsSetCard(0x7c) and c:IsType(TYPE_TRAP) and c:IsSSetable()
end end
function c43748308.settg(e,tp,eg,ep,ev,re,r,rp,chk) function c43748308.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 if chk==0 then return e:GetHandler():IsRelateToEffect(e) and e:GetHandler():IsFaceup()
and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingMatchingCard(c43748308.filter,tp,LOCATION_DECK,0,1,nil) end and Duel.IsExistingMatchingCard(c43748308.filter,tp,LOCATION_DECK,0,1,nil) end
end end
function c43748308.setop(e,tp,eg,ep,ev,re,r,rp) function c43748308.setop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) or e:GetHandler():IsFacedown() then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c43748308.filter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c43748308.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
......
...@@ -7,10 +7,14 @@ function c52823314.initial_effect(c) ...@@ -7,10 +7,14 @@ function c52823314.initial_effect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_TO_GRAVE) e1:SetCode(EVENT_TO_GRAVE)
e1:SetCondition(c52823314.condition)
e1:SetTarget(c52823314.target) e1:SetTarget(c52823314.target)
e1:SetOperation(c52823314.operation) e1:SetOperation(c52823314.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c52823314.condition(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsReason(REASON_RETURN)
end
function c52823314.filter(c) function c52823314.filter(c)
return c:GetCode()~=52823314 and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck() return c:GetCode()~=52823314 and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end end
......
...@@ -6,7 +6,7 @@ function c56105047.initial_effect(c) ...@@ -6,7 +6,7 @@ function c56105047.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_CHAIN_UNIQUE) e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_CHAIN_UNIQUE+EFFECT_FLAG_DELAY)
e1:SetCost(c56105047.spcost) e1:SetCost(c56105047.spcost)
e1:SetTarget(c56105047.sptg) e1:SetTarget(c56105047.sptg)
e1:SetOperation(c56105047.spop) e1:SetOperation(c56105047.spop)
......
...@@ -26,7 +26,7 @@ function c56981417.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -26,7 +26,7 @@ function c56981417.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.SelectMatchingCard(tp,c56981417.cffilter,tp,LOCATION_HAND,0,1,1,e:GetHandler()) local g=Duel.SelectMatchingCard(tp,c56981417.cffilter,tp,LOCATION_HAND,0,1,1,e:GetHandler())
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp) Duel.ShuffleHand(tp)
Duel.RegisterFlagEffect(tp,56981417,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,56981417,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end end
function c56981417.filter(c) function c56981417.filter(c)
return c:IsSetCard(0x106e) and c:GetCode()~=56981417 and c:GetType()==TYPE_SPELL and c:CheckActivateEffect(true,true,false)~=nil return c:IsSetCard(0x106e) and c:GetCode()~=56981417 and c:GetType()==TYPE_SPELL and c:CheckActivateEffect(true,true,false)~=nil
......
...@@ -5,7 +5,7 @@ function c74298287.initial_effect(c) ...@@ -5,7 +5,7 @@ function c74298287.initial_effect(c)
e1:SetDescription(aux.Stringid(74298287,0)) e1:SetDescription(aux.Stringid(74298287,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_CHAIN_UNIQUE+EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_CHAIN_UNIQUE+EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_TO_HAND) e1:SetCode(EVENT_TO_HAND)
e1:SetCondition(c74298287.spcon1) e1:SetCondition(c74298287.spcon1)
e1:SetCost(c74298287.spcost) e1:SetCost(c74298287.spcost)
......
...@@ -19,6 +19,7 @@ function c82293134.initial_effect(c) ...@@ -19,6 +19,7 @@ function c82293134.initial_effect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_TO_GRAVE) e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_CHAIN_UNIQUE) e2:SetProperty(EFFECT_FLAG_CHAIN_UNIQUE)
e2:SetCondition(c82293134.thcon)
e2:SetCost(c82293134.thcost) e2:SetCost(c82293134.thcost)
e2:SetTarget(c82293134.thtg) e2:SetTarget(c82293134.thtg)
e2:SetOperation(c82293134.thop) e2:SetOperation(c82293134.thop)
...@@ -38,6 +39,9 @@ function c82293134.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -38,6 +39,9 @@ function c82293134.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(c,REASON_EFFECT) Duel.Destroy(c,REASON_EFFECT)
end end
end end
function c82293134.thcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsReason(REASON_RETURN)
end
function c82293134.thcost(e,tp,eg,ep,ev,re,r,rp,chk) function c82293134.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,82293134)==0 end if chk==0 then return Duel.GetFlagEffect(tp,82293134)==0 end
Duel.RegisterFlagEffect(tp,82293134,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,82293134,RESET_PHASE+PHASE_END,0,1)
......
...@@ -45,6 +45,10 @@ function c83108603.matop(e,tp,eg,ep,ev,re,r,rp) ...@@ -45,6 +45,10 @@ function c83108603.matop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local g=Duel.SelectMatchingCard(tp,c83108603.matfilter,tp,LOCATION_MZONE+LOCATION_HAND,0,1,1,tc) local g=Duel.SelectMatchingCard(tp,c83108603.matfilter,tp,LOCATION_MZONE+LOCATION_HAND,0,1,1,tc)
if g:GetCount()>0 then if g:GetCount()>0 then
local mg=g:GetFirst():GetOverlayGroup()
if mg:GetCount()>0 then
Duel.SendtoGrave(mg,REASON_RULE)
end
Duel.Overlay(tc,g) Duel.Overlay(tc,g)
end end
end end
......
...@@ -53,6 +53,7 @@ function c9560338.effop(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,6 +53,7 @@ function c9560338.effop(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
if ct>=4 then if ct>=4 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c9560338.filter1,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c9560338.filter1,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
...@@ -61,6 +62,7 @@ function c9560338.effop(e,tp,eg,ep,ev,re,r,rp) ...@@ -61,6 +62,7 @@ function c9560338.effop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
if ct>=5 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then if ct>=5 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c9560338.filter2,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c9560338.filter2,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
......
...@@ -28,7 +28,7 @@ function c96381979.initial_effect(c) ...@@ -28,7 +28,7 @@ function c96381979.initial_effect(c)
e3:SetDescription(aux.Stringid(96381979,2)) e3:SetDescription(aux.Stringid(96381979,2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_CHAIN_UNIQUE)
e3:SetCode(EVENT_TO_GRAVE) e3:SetCode(EVENT_TO_GRAVE)
e3:SetCondition(c96381979.spcon) e3:SetCondition(c96381979.spcon)
e3:SetCost(c96381979.spcost) e3:SetCost(c96381979.spcost)
......
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