Commit b5d1d55c authored by mercury233's avatar mercury233

fix

parent 6397afb0
--ホワイトローズ・ドラゴン
--White Rose Dragon
--Script by nekrozar
function c101007055.initial_effect(c)
function c100200055.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(101007055,0))
e1:SetDescription(aux.Stringid(100200055,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,101007055)
e1:SetCondition(c101007055.spcon1)
e1:SetTarget(c101007055.sptg1)
e1:SetOperation(c101007055.spop1)
e1:SetCountLimit(1,100200055)
e1:SetCondition(c100200055.spcon1)
e1:SetTarget(c100200055.sptg1)
e1:SetOperation(c100200055.spop1)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(101007055,1))
e2:SetDescription(aux.Stringid(100200055,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetTarget(c101007055.sptg2)
e2:SetOperation(c101007055.spop2)
e2:SetTarget(c100200055.sptg2)
e2:SetOperation(c100200055.spop2)
c:RegisterEffect(e2)
--to grave
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(101007055,2))
e3:SetDescription(aux.Stringid(100200055,2))
e3:SetCategory(CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetCountLimit(1,101007055)
e3:SetCondition(c101007055.tgcon)
e3:SetTarget(c101007055.tgtg)
e3:SetOperation(c101007055.tgop)
e3:SetCountLimit(1,100200055)
e3:SetCondition(c100200055.tgcon)
e3:SetTarget(c100200055.tgtg)
e3:SetOperation(c100200055.tgop)
c:RegisterEffect(e3)
end
function c101007055.cfilter(c)
function c100200055.cfilter(c)
return c:IsFaceup() and c:IsRace(RACE_DRAGON+RACE_PLANT) and c:IsType(TYPE_TUNER)
end
function c101007055.spcon1(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c101007055.cfilter,tp,LOCATION_MZONE,0,1,nil)
function c100200055.spcon1(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c100200055.cfilter,tp,LOCATION_MZONE,0,1,nil)
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
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
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()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
function c101007055.spfilter(c,e,tp)
return c:IsSetCard(0x223) and not c:IsCode(101007055) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
function c100200055.spfilter(c,e,tp)
return c:IsSetCard(0x223) and not c:IsCode(100200055) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
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
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)
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
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
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
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
end
function c101007055.tgfilter(c)
function c100200055.tgfilter(c)
return c:IsLevelAbove(4) and c:IsRace(RACE_PLANT) and c:IsAbleToGrave()
end
function c101007055.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
function c100200055.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
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)
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)
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
Duel.SendtoGrave(g,REASON_EFFECT)
end
......
......@@ -13,14 +13,27 @@ function c101007021.initial_effect(c)
e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,101007021)
e2:SetCondition(c101007021.atkcon1)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c101007021.atktg)
e2:SetOperation(c101007021.atkop)
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
function c101007021.indval(e,c)
return c:IsType(TYPE_LINK)
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)
return c:IsFaceup()
end
......
......@@ -31,7 +31,7 @@ function c101007030.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c101007030.cfilter(c,tp)
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
function c101007030.tgfilter(c,rc)
return c:IsAbleToRemove() and c:IsRace(rc:GetRace())
......
......@@ -73,7 +73,7 @@ function c101007032.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.SetLP(tp,Duel.GetLP(tp)-2500)
end
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
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
......
......@@ -51,7 +51,7 @@ end
c101007036.material_setcode=0x8
c101007036.card_code_list={89943723}
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
function c101007036.splimit(e,se,sp,st)
return not e:GetHandler():IsLocation(LOCATION_EXTRA)
......
--トリックスター・ライブステージ
--
--Script by mercury233
function c101007058.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......@@ -70,6 +72,7 @@ end
function c101007058.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
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
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
......
......@@ -6,6 +6,7 @@ function c101007062.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,101007062)
e1:SetTarget(c101007062.target)
c:RegisterEffect(e1)
--move
......@@ -13,7 +14,7 @@ function c101007062.initial_effect(c)
e2:SetDescription(aux.Stringid(101007062,0))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetTarget(c101007062.seqtg)
e2:SetOperation(c101007062.seqop)
......@@ -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)
end
function c101007062.seqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
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)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=math.log(s,2)
......
......@@ -75,7 +75,7 @@ function c101007065.activate(e,tp,eg,ep,ev,re,r,rp)
end
end
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
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
......
......@@ -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)
end
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
function c101007072.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
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)
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)
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
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