Commit b5d1d55c authored by mercury233's avatar mercury233

fix

parent 6397afb0
--ホワイトローズ・ドラゴン --ホワイトローズ・ドラゴン
--White Rose Dragon --White Rose Dragon
--Script by nekrozar --Script by nekrozar
function c101007055.initial_effect(c) function c100200055.initial_effect(c)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(101007055,0)) e1:SetDescription(aux.Stringid(100200055,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,101007055) e1:SetCountLimit(1,100200055)
e1:SetCondition(c101007055.spcon1) e1:SetCondition(c100200055.spcon1)
e1:SetTarget(c101007055.sptg1) e1:SetTarget(c100200055.sptg1)
e1:SetOperation(c101007055.spop1) e1:SetOperation(c100200055.spop1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--special summon --special summon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(101007055,1)) e2:SetDescription(aux.Stringid(100200055,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS) e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetTarget(c101007055.sptg2) e2:SetTarget(c100200055.sptg2)
e2:SetOperation(c101007055.spop2) e2:SetOperation(c100200055.spop2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--to grave --to grave
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(101007055,2)) e3:SetDescription(aux.Stringid(100200055,2))
e3:SetCategory(CATEGORY_TOGRAVE) e3:SetCategory(CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_BE_MATERIAL) e3:SetCode(EVENT_BE_MATERIAL)
e3:SetCountLimit(1,101007055) e3:SetCountLimit(1,100200055)
e3:SetCondition(c101007055.tgcon) e3:SetCondition(c100200055.tgcon)
e3:SetTarget(c101007055.tgtg) e3:SetTarget(c100200055.tgtg)
e3:SetOperation(c101007055.tgop) e3:SetOperation(c100200055.tgop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c101007055.cfilter(c) function c100200055.cfilter(c)
return c:IsFaceup() and c:IsRace(RACE_DRAGON+RACE_PLANT) and c:IsType(TYPE_TUNER) return c:IsFaceup() and c:IsRace(RACE_DRAGON+RACE_PLANT) and c:IsType(TYPE_TUNER)
end end
function c101007055.spcon1(e,tp,eg,ep,ev,re,r,rp) function c100200055.spcon1(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c101007055.cfilter,tp,LOCATION_MZONE,0,1,nil) return Duel.IsExistingMatchingCard(c100200055.cfilter,tp,LOCATION_MZONE,0,1,nil)
end end
function c101007055.sptg1(e,tp,eg,ep,ev,re,r,rp,chk) function c100200055.sptg1(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
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) 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 c101007055.spop1(e,tp,eg,ep,ev,re,r,rp) function c100200055.spop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
function c101007055.spfilter(c,e,tp) function c100200055.spfilter(c,e,tp)
return c:IsSetCard(0x223) and not c:IsCode(101007055) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x223) and not c:IsCode(100200055) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c101007055.sptg2(e,tp,eg,ep,ev,re,r,rp,chk) function c100200055.sptg2(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
and Duel.IsExistingMatchingCard(c101007055.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c100200055.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end end
function c101007055.spop2(e,tp,eg,ep,ev,re,r,rp) function c100200055.spop2(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c101007055.spfilter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c100200055.spfilter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function c101007055.tgcon(e,tp,eg,ep,ev,re,r,rp) function c100200055.tgcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_GRAVE) and r==REASON_SYNCHRO return e:GetHandler():IsLocation(LOCATION_GRAVE) and r==REASON_SYNCHRO
end end
function c101007055.tgfilter(c) function c100200055.tgfilter(c)
return c:IsLevelAbove(4) and c:IsRace(RACE_PLANT) and c:IsAbleToGrave() return c:IsLevelAbove(4) and c:IsRace(RACE_PLANT) and c:IsAbleToGrave()
end end
function c101007055.tgtg(e,tp,eg,ep,ev,re,r,rp,chk) function c100200055.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c101007055.tgfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c100200055.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end end
function c101007055.tgop(e,tp,eg,ep,ev,re,r,rp) function c100200055.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c101007055.tgfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c100200055.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT) Duel.SendtoGrave(g,REASON_EFFECT)
end end
......
...@@ -13,14 +13,27 @@ function c101007021.initial_effect(c) ...@@ -13,14 +13,27 @@ function c101007021.initial_effect(c)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,101007021) e2:SetCountLimit(1,101007021)
e2:SetCondition(c101007021.atkcon1)
e2:SetCost(aux.bfgcost) e2:SetCost(aux.bfgcost)
e2:SetTarget(c101007021.atktg) e2:SetTarget(c101007021.atktg)
e2:SetOperation(c101007021.atkop) e2:SetOperation(c101007021.atkop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetHintTiming(0,TIMING_END_PHASE)
e3:SetCondition(c101007021.atkcon2)
c:RegisterEffect(e3)
end end
function c101007021.indval(e,c) function c101007021.indval(e,c)
return c:IsType(TYPE_LINK) return c:IsType(TYPE_LINK)
end end
function c101007021.atkcon1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsPlayerAffectedByEffect(tp,101007021)
end
function c101007021.atkcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,101007021)
end
function c101007021.tgfilter(c) function c101007021.tgfilter(c)
return c:IsFaceup() return c:IsFaceup()
end end
......
...@@ -31,7 +31,7 @@ function c101007030.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -31,7 +31,7 @@ function c101007030.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c101007030.cfilter(c,tp) function c101007030.cfilter(c,tp)
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost() return c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
and Duel.IsExistingMatchingCard(c101007030.tgfilter,tp,0,LOCATION_DECK,1,nil,c) and Duel.IsExistingMatchingCard(c101007030.tgfilter,tp,LOCATION_DECK,0,1,nil,c)
end end
function c101007030.tgfilter(c,rc) function c101007030.tgfilter(c,rc)
return c:IsAbleToRemove() and c:IsRace(rc:GetRace()) return c:IsAbleToRemove() and c:IsRace(rc:GetRace())
......
...@@ -73,7 +73,7 @@ function c101007032.damop(e,tp,eg,ep,ev,re,r,rp) ...@@ -73,7 +73,7 @@ function c101007032.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.SetLP(tp,Duel.GetLP(tp)-2500) Duel.SetLP(tp,Duel.GetLP(tp)-2500)
end end
function c101007032.cfilter(c) function c101007032.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x117) and c:IsAbleToGraveAsCost() return (c:IsFaceup() or c:IsLocation(LOCATION_HAND)) and c:IsSetCard(0x117) and c:IsAbleToGraveAsCost()
end end
function c101007032.descost(e,tp,eg,ep,ev,re,r,rp,chk) function c101007032.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c101007032.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c101007032.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end
......
...@@ -51,7 +51,7 @@ end ...@@ -51,7 +51,7 @@ end
c101007036.material_setcode=0x8 c101007036.material_setcode=0x8
c101007036.card_code_list={89943723} c101007036.card_code_list={89943723}
function c101007036.ffilter(c,fc,sub,mg,sg) function c101007036.ffilter(c,fc,sub,mg,sg)
return c:IsFusionSetCard(0x1f) and (not sg or not sg:IsExists(Card.IsFusionAttribute,1,c,c:GetFusionAttribute())) return c:IsFusionSetCard(0x1f) and (not sg or not sg:Filter(Card.IsFusionSetCard,nil,0x1f):IsExists(Card.IsFusionAttribute,1,c,c:GetFusionAttribute()))
end end
function c101007036.splimit(e,se,sp,st) function c101007036.splimit(e,se,sp,st)
return not e:GetHandler():IsLocation(LOCATION_EXTRA) return not e:GetHandler():IsLocation(LOCATION_EXTRA)
......
--トリックスター・ライブステージ --トリックスター・ライブステージ
--
--Script by mercury233
function c101007058.initial_effect(c) function c101007058.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -70,6 +72,7 @@ end ...@@ -70,6 +72,7 @@ end
function c101007058.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c101007058.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
and Duel.IsPlayerCanSpecialSummonMonster(tp,101007158,0xfb,0x4011,0,0,1,RACE_FAIRY,ATTRIBUTE_LIGHT,POS_FACEUP) end and Duel.IsPlayerCanSpecialSummonMonster(tp,101007158,0xfb,0x4011,0,0,1,RACE_FAIRY,ATTRIBUTE_LIGHT,POS_FACEUP) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end end
......
...@@ -6,6 +6,7 @@ function c101007062.initial_effect(c) ...@@ -6,6 +6,7 @@ function c101007062.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,101007062)
e1:SetTarget(c101007062.target) e1:SetTarget(c101007062.target)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--move --move
...@@ -13,7 +14,7 @@ function c101007062.initial_effect(c) ...@@ -13,7 +14,7 @@ function c101007062.initial_effect(c)
e2:SetDescription(aux.Stringid(101007062,0)) e2:SetDescription(aux.Stringid(101007062,0))
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_MZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
e2:SetTarget(c101007062.seqtg) e2:SetTarget(c101007062.seqtg)
e2:SetOperation(c101007062.seqop) e2:SetOperation(c101007062.seqop)
...@@ -61,8 +62,9 @@ function c101007062.seqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -61,8 +62,9 @@ function c101007062.seqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SelectTarget(tp,c101007062.seqfilter,tp,LOCATION_MZONE,0,1,1,nil) Duel.SelectTarget(tp,c101007062.seqfilter,tp,LOCATION_MZONE,0,1,1,nil)
end end
function c101007062.seqop(e,tp,eg,ep,ev,re,r,rp) function c101007062.seqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) or tc:IsControler(1-tp) or tc:IsImmuneToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if not c:IsRelateToEffect(e) or not tc:IsRelateToEffect(e) or tc:IsControler(1-tp) or tc:IsImmuneToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0) local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=math.log(s,2) local nseq=math.log(s,2)
......
...@@ -75,7 +75,7 @@ function c101007065.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -75,7 +75,7 @@ function c101007065.activate(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c101007065.cfilter(c) function c101007065.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x117) and not c:IsCode(101007065) and c:IsAbleToGraveAsCost() return (c:IsFaceup() or c:IsLocation(LOCATION_HAND)) and c:IsSetCard(0x117) and not c:IsCode(101007065) and c:IsAbleToGraveAsCost()
end end
function c101007065.thcost(e,tp,eg,ep,ev,re,r,rp,chk) function c101007065.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c101007065.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c101007065.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end
......
...@@ -27,7 +27,8 @@ function c101007072.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -27,7 +27,8 @@ function c101007072.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.DiscardHand(tp,c101007072.costfilter,1,1,REASON_COST) Duel.DiscardHand(tp,c101007072.costfilter,1,1,REASON_COST)
end end
function c101007072.spfilter(c,e,tp) function c101007072.spfilter(c,e,tp)
return c:IsType(TYPE_EFFECT) and c:IsRace(RACE_DRAGON) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) return c:IsType(TYPE_NORMAL) and c:IsRace(RACE_DRAGON) and c:IsLevelBelow(4)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
end end
function c101007072.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c101007072.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
...@@ -40,6 +41,6 @@ function c101007072.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -40,6 +41,6 @@ function c101007072.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c101007072.spfilter),tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c101007072.spfilter),tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_DEFENSE) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
end end
end 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