Commit 96426ccb authored by mercury233's avatar mercury233

fix

parent 465d30db
...@@ -37,7 +37,15 @@ function c100254002.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -37,7 +37,15 @@ function c100254002.desop(e,tp,eg,ep,ev,re,r,rp)
if tc:IsFacedown() then return end if tc:IsFacedown() then return end
if Duel.IsChainDisablable(0) then if Duel.IsChainDisablable(0) then
local typ=bit.band(tc:GetOriginalType(),0x7) local typ=bit.band(tc:GetOriginalType(),0x7)
if Duel.IsExistingMatchingCard(c100254002.cfilter,tp,0,LOCATION_HAND,1,nil,typ) and Duel.SelectYesNo(1-tp,aux.Stringid(100254002,1)) then local sel=1
local g=Duel.GetMatchingGroup(Card.IsType,tp,0,LOCATION_HAND,nil,TYPE_SPELL)
Duel.Hint(HINT_SELECTMSG,1-tp,aux.Stringid(100254002,1))
if Duel.IsExistingMatchingCard(c100254002.cfilter,tp,0,LOCATION_HAND,1,nil,typ) then
sel=Duel.SelectOption(1-tp,1213,1214)
else
sel=Duel.SelectOption(1-tp,1214)+1
end
if sel==0 then
Duel.DiscardHand(1-tp,c100254002.cfilter,1,1,REASON_EFFECT+REASON_DISCARD,nil,typ) Duel.DiscardHand(1-tp,c100254002.cfilter,1,1,REASON_EFFECT+REASON_DISCARD,nil,typ)
Duel.NegateEffect(0) Duel.NegateEffect(0)
return return
......
...@@ -7,6 +7,7 @@ function c100254004.initial_effect(c) ...@@ -7,6 +7,7 @@ function c100254004.initial_effect(c)
e1:SetCategory(CATEGORY_REMOVE) e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,100254004+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c100254004.target) e1:SetTarget(c100254004.target)
e1:SetOperation(c100254004.activate) e1:SetOperation(c100254004.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
......
...@@ -23,7 +23,7 @@ function c100254006.initial_effect(c) ...@@ -23,7 +23,7 @@ function c100254006.initial_effect(c)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET) e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_GRAVE) e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,100254006) e3:SetCountLimit(1,100254006+100)
e3:SetCondition(aux.exccon) e3:SetCondition(aux.exccon)
e3:SetCost(aux.bfgcost) e3:SetCost(aux.bfgcost)
e3:SetTarget(c100254006.thtg) e3:SetTarget(c100254006.thtg)
......
...@@ -40,7 +40,7 @@ function c100413006.fselect(g) ...@@ -40,7 +40,7 @@ function c100413006.fselect(g)
end end
function c100413006.target(e,tp,eg,ep,ev,re,r,rp,chk) function c100413006.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c100413006.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingMatchingCard(c100413006.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_HAND+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end end
function c100413006.operation(e,tp,eg,ep,ev,re,r,rp) function c100413006.operation(e,tp,eg,ep,ev,re,r,rp)
local ft=math.min((Duel.GetLocationCount(tp,LOCATION_MZONE)),2) local ft=math.min((Duel.GetLocationCount(tp,LOCATION_MZONE)),2)
......
...@@ -26,16 +26,13 @@ function c100413034.initial_effect(c) ...@@ -26,16 +26,13 @@ function c100413034.initial_effect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN) e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_SUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetRange(LOCATION_FZONE) e3:SetRange(LOCATION_FZONE)
e3:SetCountLimit(1,100413034) e3:SetCountLimit(1,100413034)
e3:SetCondition(c100413034.tkcon) e3:SetCondition(c100413034.tkcon)
e3:SetTarget(c100413034.tktg) e3:SetTarget(c100413034.tktg)
e3:SetOperation(c100413034.tkop) e3:SetOperation(c100413034.tkop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e4)
end end
function c100413034.cfilter1(c,tp) function c100413034.cfilter1(c,tp)
return c:IsControler(tp) and c:IsPreviousLocation(LOCATION_DECK) return c:IsControler(tp) and c:IsPreviousLocation(LOCATION_DECK)
...@@ -82,7 +79,7 @@ function c100413034.tkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -82,7 +79,7 @@ function c100413034.tkop(e,tp,eg,ep,ev,re,r,rp)
for i=1,ft do for i=1,ft do
local token=Duel.CreateToken(tp,100413134) local token=Duel.CreateToken(tp,100413134)
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP_ATTACK) Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP_ATTACK)
token:RegisterFlagEffect(100413034,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1,fid) token:RegisterFlagEffect(100413034,RESET_EVENT+RESETS_STANDARD,0,1,fid)
g:AddCard(token) g:AddCard(token)
end end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
...@@ -91,7 +88,6 @@ function c100413034.tkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -91,7 +88,6 @@ function c100413034.tkop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END) e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetLabel(fid) e1:SetLabel(fid)
e1:SetLabelObject(g) e1:SetLabelObject(g)
......
...@@ -12,15 +12,15 @@ function c100413035.initial_effect(c) ...@@ -12,15 +12,15 @@ function c100413035.initial_effect(c)
e1:SetOperation(c100413035.activate) e1:SetOperation(c100413035.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c100413035.filter1(c,tp) function c100413035.filter1(c)
return c:IsSetCard(0x232) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck() and not c:IsPublic() return c:IsSetCard(0x232) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck() and not c:IsPublic()
and Duel.IsExistingMatchingCard(c100413035.filter2,tp,LOCATION_DECK,0,1,nil)
end end
function c100413035.filter2(c) function c100413035.filter2(c)
return c:IsSetCard(0x232) and c:IsType(TYPE_SPELL+TYPE_TRAP) and not c:IsCode(100413035) and c:IsAbleToHand() return c:IsSetCard(0x232) and c:IsType(TYPE_SPELL+TYPE_TRAP) and not c:IsCode(100413035) and c:IsAbleToHand()
end end
function c100413035.target(e,tp,eg,ep,ev,re,r,rp,chk) function c100413035.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c100413035.filter1,tp,LOCATION_HAND,0,1,nil,tp) end if chk==0 then return Duel.IsExistingMatchingCard(c100413035.filter1,tp,LOCATION_HAND,0,1,nil)
and Duel.IsExistingMatchingCard(c100413035.filter2,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
......
...@@ -18,6 +18,7 @@ end ...@@ -18,6 +18,7 @@ end
function c100413037.target(e,tp,eg,ep,ev,re,r,rp,chk) function c100413037.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c100413037.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) if chk==0 then return Duel.IsExistingMatchingCard(c100413037.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp)
and Duel.IsPlayerCanDraw(1-tp,1) end and Duel.IsPlayerCanDraw(1-tp,1) end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,1-tp,1)
end end
function c100413037.activate(e,tp,eg,ep,ev,re,r,rp) function c100413037.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
......
...@@ -13,12 +13,10 @@ function c101009081.initial_effect(c) ...@@ -13,12 +13,10 @@ function c101009081.initial_effect(c)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,101009081) e1:SetCountLimit(1,101009081)
e1:SetCondition(c101009081.regcon) e1:SetCondition(c101009081.regcon)
e1:SetCost(c101009081.regcost)
e1:SetTarget(c101009081.regtg) e1:SetTarget(c101009081.regtg)
e1:SetOperation(c101009081.regop) e1:SetOperation(c101009081.regop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--indes --indes
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
...@@ -35,6 +33,10 @@ end ...@@ -35,6 +33,10 @@ end
function c101009081.regcon(e,tp,eg,ep,ev,re,r,rp) function c101009081.regcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end end
function c101009081.regcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function c101009081.thfilter1(c) function c101009081.thfilter1(c)
return c:IsType(TYPE_FIELD) or c:GetType()==TYPE_SPELL+TYPE_CONTINUOUS return c:IsType(TYPE_FIELD) or c:GetType()==TYPE_SPELL+TYPE_CONTINUOUS
end end
......
...@@ -11,7 +11,7 @@ function c101009082.initial_effect(c) ...@@ -11,7 +11,7 @@ function c101009082.initial_effect(c)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c101009082.atkcon) e1:SetCondition(c101009082.atkcon)
e1:SetValue(3000) e1:SetValue(2400)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--to deck --to deck
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -33,10 +33,10 @@ function c101009082.tdfilter(c) ...@@ -33,10 +33,10 @@ function c101009082.tdfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToDeck() return c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end end
function c101009082.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c101009082.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c101009082.tdfilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(1-tp) and c101009082.tdfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c101009082.tdfilter,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(c101009082.tdfilter,tp,0,LOCATION_GRAVE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c101009082.tdfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectTarget(tp,c101009082.tdfilter,tp,0,LOCATION_GRAVE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
end end
function c101009082.tdop(e,tp,eg,ep,ev,re,r,rp) function c101009082.tdop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -24,7 +24,7 @@ function c101009084.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -24,7 +24,7 @@ function c101009084.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g1=Duel.SelectTarget(tp,c101009084.desfilter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,tp) local g1=Duel.SelectTarget(tp,c101009084.desfilter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,tp)
local g2=Duel.GetMatchingGroup(c101009084.desfilter2,tp,LOCATION_MZONE,LOCATION_MZONE,g1,g1:GetFirst()) local g2=Duel.GetMatchingGroup(c101009084.desfilter2,tp,LOCATION_MZONE,LOCATION_MZONE,g1,g1:GetFirst())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g2,1,0,0)
end end
function c101009084.activate(e,tp,eg,ep,ev,re,r,rp) function c101009084.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
......
...@@ -19,7 +19,7 @@ function c101009085.initial_effect(c) ...@@ -19,7 +19,7 @@ function c101009085.initial_effect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_END) e2:SetHintTiming(0,TIMING_MAIN_END+TIMING_BATTLE_START+TIMING_BATTLE_END)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,101009185) e2:SetCountLimit(1,101009185)
e2:SetCondition(c101009085.spcon) e2:SetCondition(c101009085.spcon)
......
...@@ -19,7 +19,7 @@ function c101009086.initial_effect(c) ...@@ -19,7 +19,7 @@ function c101009086.initial_effect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_END) e2:SetHintTiming(0,TIMING_MAIN_END+TIMING_BATTLE_START+TIMING_BATTLE_END)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,101009186) e2:SetCountLimit(1,101009186)
e2:SetCondition(c101009086.spcon2) e2:SetCondition(c101009086.spcon2)
......
...@@ -17,7 +17,7 @@ function c101009087.initial_effect(c) ...@@ -17,7 +17,7 @@ function c101009087.initial_effect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_END) e2:SetHintTiming(0,TIMING_MAIN_END+TIMING_BATTLE_START+TIMING_BATTLE_END)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,101009187) e2:SetCountLimit(1,101009187)
e2:SetCondition(c101009087.spcon) e2:SetCondition(c101009087.spcon)
......
...@@ -19,7 +19,7 @@ function c101009088.initial_effect(c) ...@@ -19,7 +19,7 @@ function c101009088.initial_effect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_END) e2:SetHintTiming(0,TIMING_MAIN_END+TIMING_BATTLE_START+TIMING_BATTLE_END)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,101009188) e2:SetCountLimit(1,101009188)
e2:SetCondition(c101009088.spcon) e2:SetCondition(c101009088.spcon)
......
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