Commit a1c3a78d authored by 2924713558's avatar 2924713558 Committed by GitHub

Add files via upload

parent d666b3f2
...@@ -34,7 +34,6 @@ function c11200109.initial_effect(c) ...@@ -34,7 +34,6 @@ function c11200109.initial_effect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e4:SetCode(EVENT_REMOVE) e4:SetCode(EVENT_REMOVE)
e4:SetCountLimit(1,11209109) e4:SetCountLimit(1,11209109)
e4:SetCondition(c11200109.damcon)
e4:SetTarget(c11200109.damtg) e4:SetTarget(c11200109.damtg)
e4:SetOperation(c11200109.damop) e4:SetOperation(c11200109.damop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
......
...@@ -33,7 +33,7 @@ function c13254041.initial_effect(c) ...@@ -33,7 +33,7 @@ function c13254041.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c13254041.cfilter(c) function c13254041.cfilter(c)
return c:IsRace(RACE_FAIRY) and c:IsLevelBelow(1) and c:IsSummonable(true,nil) not c:IsPublic() return c:IsRace(RACE_FAIRY) and c:IsLevelBelow(1) and c:IsSummonable(true,nil) and not c:IsPublic()
end end
function c13254041.smcost(e,tp,eg,ep,ev,re,r,rp,chk) function c13254041.smcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c13254041.cfilter,tp,LOCATION_HAND,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c13254041.cfilter,tp,LOCATION_HAND,0,1,nil) end
......
...@@ -32,6 +32,7 @@ function c13254097.activate(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -32,6 +32,7 @@ function c13254097.activate(e,tp,eg,ep,ev,re,r,rp,chk)
local i=0 local i=0
while i<j and (i==0 or Duel.SelectYesNo(tp,aux.Stringid(13254097,1))) do while i<j and (i==0 or Duel.SelectYesNo(tp,aux.Stringid(13254097,1))) do
Duel.BreakEffect()
local t1=Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_DECK,0,1,nil) local t1=Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_DECK,0,1,nil)
local t2=Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_HAND,1,nil) and Duel.IsPlayerCanDraw(1-tp,1) local t2=Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_HAND,1,nil) and Duel.IsPlayerCanDraw(1-tp,1)
...@@ -69,8 +70,7 @@ function c13254097.activate(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -69,8 +70,7 @@ function c13254097.activate(e,tp,eg,ep,ev,re,r,rp,chk)
end end
end end
end end
if(j==0) then Duel.BreakEffect() end i=i+1
i++
end end
end end
end end
--元始·飞球之乱流 --元始·飞球之乱流
function c13254131.initial_effect(c) function c13254131.initial_effect(c)
c:EnableCounterPermit(0x356)
c:SetCounterLimit(0x356,4)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
......
...@@ -97,15 +97,14 @@ function c13254132.sprop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -97,15 +97,14 @@ function c13254132.sprop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.SendtoGrave(sg,REASON_COST) Duel.SendtoGrave(sg,REASON_COST)
end end
function c13254132.filter1(c) function c13254132.filter1(c)
return c:IsCode(13254034) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck() return c:IsCode(13254035) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end end
function c13254132.filter2(c) function c13254132.filter2(c)
return c:IsCode(13254035) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck() return c:IsCode(13254036) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end end
function c13254132.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c13254132.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c13254132.filter1(chkc) and c13254132.filter2(chkc) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c13254132.filter1(chkc) and c13254132.filter2(chkc) end
if chk==0 then return Duel.IsExistingTarget(c13254132.filter1,tp,LOCATION_GRAVE,0,1,nil) and Duel.IsExistingTarget(c13254132.filter2,tp,LOCATION_GRAVE,0,1,nil) and Duel.IsPlayerCanDraw(tp,1) if chk==0 then return Duel.IsExistingTarget(c13254132.filter1,tp,LOCATION_GRAVE,0,1,nil) and Duel.IsExistingTarget(c13254132.filter2,tp,LOCATION_GRAVE,0,1,nil) end
and Duel.IsExistingTarget(c13254132.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,7,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g1=Duel.SelectTarget(tp,c13254132.filter1,tp,LOCATION_GRAVE,0,1,1,nil) local g1=Duel.SelectTarget(tp,c13254132.filter1,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
......
...@@ -14,7 +14,6 @@ function c13257209.initial_effect(c) ...@@ -14,7 +14,6 @@ function c13257209.initial_effect(c)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,0x1c0+TIMING_MAIN_END+TIMING_BATTLE_START+TIMING_BATTLE_END) e2:SetHintTiming(0,0x1c0+TIMING_MAIN_END+TIMING_BATTLE_START+TIMING_BATTLE_END)
e2:SetCountLimit(1)
e2:SetCondition(c13257209.condition) e2:SetCondition(c13257209.condition)
e2:SetTarget(c13257209.target) e2:SetTarget(c13257209.target)
e2:SetOperation(c13257209.activate) e2:SetOperation(c13257209.activate)
......
...@@ -59,7 +59,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,7 +59,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.callback(c) function cm.callback(c)
local tp=c:GetPreviousControler() local tp=c:GetPreviousControler()
if c:IsSetCard(0xc99) and c:IsControler(tp) then if c:IsSetCard(0xc99) and c:IsControler(tp) and c:IsPreviousLocation(LOCATION_ONFIELD) then
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,0,1) c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,0,1)
end end
end end
......
...@@ -28,8 +28,8 @@ function c65010056.initial_effect(c) ...@@ -28,8 +28,8 @@ function c65010056.initial_effect(c)
e4:SetTarget(aux.TargetBoolFunction(Card.IsSummonType,SUMMON_TYPE_XYZ)) e4:SetTarget(aux.TargetBoolFunction(Card.IsSummonType,SUMMON_TYPE_XYZ))
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c65010056.mfilter(c) function c65010056.mfilter(c,xyzc)
return c:IsRace(RACE_CYBERSE) and c:IsXyzLevel(8) return c:IsRace(RACE_CYBERSE) and c:IsXyzLevel(xyzc,8)
end end
function c65010056.xyzcheck(g) function c65010056.xyzcheck(g)
return g:GetClassCount(Card.GetAttribute)==g:GetCount() return g:GetClassCount(Card.GetAttribute)==g:GetCount()
......
--星光歌剧 星见纯那Revue
function c65010125.initial_effect(c)
--summon with 1 tribute
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(65010125,0))
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_SUMMON_PROC)
e0:SetCondition(c65010125.otcon)
e0:SetOperation(c65010125.otop)
e0:SetValue(SUMMON_TYPE_ADVANCE)
c:RegisterEffect(e0)
local e1=e0:Clone()
e1:SetCode(EFFECT_SET_PROC)
c:RegisterEffect(e1)
--tohand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(65010125,1))
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1)
e2:SetTarget(c65010125.target)
e2:SetOperation(c65010125.operation)
c:RegisterEffect(e2)
--des
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(65010125,2))
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCondition(c65010125.descon)
e3:SetTarget(c65010125.destg)
e3:SetOperation(c65010125.desop)
c:RegisterEffect(e3)
--Activate
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(65010125,3))
e4:SetCategory(CATEGORY_DRAW)
e4:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_FIELD)
e4:SetCode(EVENT_PHASE+PHASE_END)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1)
e4:SetHintTiming(TIMING_END_PHASE)
e4:SetCondition(c65010125.condition)
e4:SetOperation(c65010125.activate)
c:RegisterEffect(e4)
if c65010125.counter==nil then
c65010125.counter=true
c65010125[0]=0
c65010125[1]=0
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e5:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e5:SetOperation(c65010125.resetcount)
Duel.RegisterEffect(e5,0)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e6:SetCode(EVENT_TO_GRAVE)
e6:SetOperation(c65010125.addcount)
Duel.RegisterEffect(e6,0)
end
end
function c65010125.resetcount(e,tp,eg,ep,ev,re,r,rp)
c65010125[0]=0
c65010125[1]=0
end
function c65010125.addcount(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
local pl=tc:GetPreviousLocation()
if pl==LOCATION_MZONE then
local p=tc:GetPreviousControler()
c65010125[p]=c65010125[p]+1
end
tc=eg:GetNext()
end
end
function c65010125.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function c65010125.activate(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetOperation(c65010125.droperation)
Duel.RegisterEffect(e1,tp)
end
function c65010125.droperation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,65010125)
Duel.Draw(tp,c65010125[tp],REASON_EFFECT)
end
function c65010125.otfilter(c)
return c:IsSetCard(0x9da0)
end
function c65010125.otcon(e,c,minc)
if c==nil then return true end
local mg=Duel.GetMatchingGroup(c65010125.otfilter,0,LOCATION_MZONE,LOCATION_MZONE,nil)
return c:IsLevelAbove(7) and minc<=1 and Duel.CheckTribute(c,1,1,mg)
end
function c65010125.otop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(c65010125.otfilter,0,LOCATION_MZONE,LOCATION_MZONE,nil)
local sg=Duel.SelectTribute(tp,c,1,1,mg)
c:SetMaterial(sg)
Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL)
end
function c65010125.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_ADVANCE) and Duel.GetTurnPlayer()~=tp
end
function c65010125.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_ONFIELD,1,nil) end
local num=Duel.GetMatchingGroupCount(Card.IsFaceup,tp,0,LOCATION_ONFIELD,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,num,1-tp,LOCATION_ONFIELD)
end
function c65010125.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_ONFIELD,1,nil)
Duel.Destroy(g,REASON_EFFECT)
end
function c65010125.filter(c)
return c:IsFacedown()
end
function c65010125.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(c65010125.filter,tp,0,LOCATION_ONFIELD,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,c65010125.filter,tp,0,LOCATION_ONFIELD,2,2,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,2,0,0)
local tc=g:GetFirst()
while tc do
Duel.SetChainLimit(c65010125.limit(tc))
tc=g:GetNext()
end
end
function c65010125.limit(c)
return function (e,lp,tp)
return e:GetHandler()~=c
end
end
function c65010125.operation(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local sg=tg:Filter(Card.IsRelateToEffect,nil,e)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
end
\ No newline at end of file
--『星光歌剧』台本-轮回Revue
function c65010126.initial_effect(c)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetCategory(CATEGORY_SUMMON)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--token&summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN+CATEGORY_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_SZONE)
e1:SetCountLimit(1,65010126)
e1:SetCondition(c65010126.con)
e1:SetCost(c65010126.cost)
e1:SetTarget(c65010126.tg)
e1:SetOperation(c65010126.op)
c:RegisterEffect(e1)
--draw!
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c65010126.drtg)
e2:SetOperation(c65010126.drop)
c:RegisterEffect(e2)
end
function c65010126.drfil(c)
return c:IsSetCard(0x9da0) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end
function c65010126.drtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return c65010126.drfil(chkc) and chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) end
if chk==0 then return Duel.IsExistingTarget(c65010126.drfil,tp,LOCATION_GRAVE,0,1,nil) and Duel.IsPlayerCanDraw(tp) end
local g=Duel.SelectTarget(tp,c65010126.drfil,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,tp,LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_DRAW,0,0,tp,1)
end
function c65010126.drop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)
Duel.ShuffleDeck(tp)
Duel.Draw(tp,1,REASON_EFFECT)
end
end
function c65010126.con(e,tp,eg,ep,ev,re,r,rp)
local tn=Duel.GetTurnPlayer()
local ph=Duel.GetCurrentPhase()
return tn~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2 or (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE))
end
function c65010126.costfil(c)
return c:IsSetCard(0x9da0) and c:IsType(TYPE_MONSTER) and c:IsAbleToHandAsCost()
end
function c65010126.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c65010126.costfil,tp,LOCATION_MZONE,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c65010126.costfil,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_COST)
end
function c65010126.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,65010128,0,0x4011,1000,2800,8,RACE_FAIRY,ATTRIBUTE_DARK) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function c65010126.filter(c)
return (c:IsSummonable(true,nil,1) or c:IsMSetable(true,nil,1)) and c:IsSetCard(0x9da0)
end
function c65010126.op(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
or not Duel.IsPlayerCanSpecialSummonMonster(tp,65010128,0,0x4011,1000,2800,8,RACE_FAIRY,ATTRIBUTE_DARK) or not e:GetHandler():IsRelateToEffect(e) then return end
local token=Duel.CreateToken(tp,65010128)
if Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(c65010126.filter,tp,LOCATION_HAND,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(65010126,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON)
local g=Duel.SelectMatchingCard(tp,c65010126.filter,tp,LOCATION_HAND,0,1,1,nil)
local tc=g:GetFirst()
if tc then
local s1=tc:IsSummonable(true,nil,1)
local s2=tc:IsMSetable(true,nil,1)
if (s1 and s2 and Duel.SelectPosition(tp,tc,POS_FACEUP_ATTACK+POS_FACEDOWN_DEFENSE)==POS_FACEUP_ATTACK) or not s2 then
Duel.Summon(tp,tc,true,nil,1)
else
Duel.MSet(tp,tc,true,nil,1)
end
end
end
end
\ No newline at end of file
--『星光歌剧』台本-约定Revue
function c65010127.initial_effect(c)
--SearchCard
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c65010127.cost)
e1:SetTarget(c65010127.tg)
e1:SetOperation(c65010127.op)
c:RegisterEffect(e1)
--draw
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,65010127)
e2:SetTarget(c65010127.drtg)
e2:SetOperation(c65010127.drop)
c:RegisterEffect(e2)
end
function c65010127.costfil(c)
return c:IsSetCard(0x9da0) and c:IsType(TYPE_MONSTER) and not c:IsPublic()
end
function c65010127.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c65010127.costfil,tp,LOCATION_HAND,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c65010127.costfil,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
end
function c65010127.thfil(c)
return c:IsSetCard(0x9da0) and not c:IsCode(65010127) and c:IsAbleToHand()
end
function c65010127.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c65010127.thfil,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c65010127.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c65010127.thfil,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c65010127.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToDeck() and Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_DRAW,0,0,tp,1)
end
function c65010127.drop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then
Duel.SendtoDeck(e:GetHandler(),nil,2,REASON_EFFECT)
Duel.ShuffleDeck(tp)
Duel.Draw(tp,1,REASON_EFFECT)
end
end
\ No newline at end of file
--星光歌剧 露崎真昼
function c65010129.initial_effect(c)
--summon proc
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(65010129,0))
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_SUMMON_PROC)
e0:SetCondition(c65010129.sumcon)
e0:SetOperation(c65010129.sumop)
e0:SetValue(SUMMON_TYPE_ADVANCE)
c:RegisterEffect(e0)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetHintTiming(0,TIMING_MAIN_END)
e1:SetCost(c65010129.cost)
e1:SetOperation(c65010129.activate)
c:RegisterEffect(e1)
Duel.AddCustomActivityCounter(65010129,ACTIVITY_SPSUMMON,c65010129.counterfilter)
end
function c65010129.refil(c)
return c:IsAbleToRemoveAsCost() and c:IsSetCard(0x9da0)
end
function c65010129.sumcon(e,c)
local tp=e:GetHandler():GetControler()
return Duel.IsExistingMatchingCard(c65010129.refil,tp,LOCATION_EXTRA,0,1,nil)
end
function c65010129.sumop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectMatchingCard(tp,c65010129.refil,tp,LOCATION_EXTRA,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function c65010129.counterfilter(c)
return c:IsSetCard(0x9da0)
end
function c65010129.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(65010129,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetFlagEffect(tp,65010129)==0 and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil,REASON_COST) end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(c65010129.splimit)
Duel.RegisterEffect(e1,tp)
Duel.RegisterFlagEffect(tp,65010129,RESET_PHASE+PHASE_END,0,1)
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST,nil,REASON_COST)
end
function c65010129.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not c:IsSetCard(0x9da0)
end
function c65010129.activate(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_EXTRA_RELEASE_SUM)
e1:SetTargetRange(0,LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetCountLimit(1)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
\ No newline at end of file
--星光歌剧 露崎真昼Revue
function c65010130.initial_effect(c)
--summon with 1 tribute
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(65010130,0))
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_SUMMON_PROC)
e0:SetCondition(c65010130.otcon)
e0:SetOperation(c65010130.otop)
e0:SetValue(SUMMON_TYPE_ADVANCE)
c:RegisterEffect(e0)
local e1=e0:Clone()
e1:SetCode(EFFECT_SET_PROC)
c:RegisterEffect(e1)
--indes
local e2=Effect.CreateEffect(c)
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetCondition(c65010130.con)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSummonType,SUMMON_TYPE_ADVANCE))
e2:SetValue(1)
c:RegisterEffect(e2)
--cannot be target
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetValue(aux.tgoval)
c:RegisterEffect(e3)
--tohand
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(65010130,1))
e4:SetCategory(CATEGORY_TOHAND)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EVENT_SUMMON_SUCCESS)
e4:SetCountLimit(1)
e4:SetCondition(c65010130.thcon)
e4:SetTarget(c65010130.thtg)
e4:SetOperation(c65010130.thop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e5)
--damage
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(65010130,2))
e6:SetCategory(CATEGORY_DAMAGE)
e6:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_DELAY)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e6:SetCode(EVENT_TO_HAND)
e6:SetRange(LOCATION_MZONE)
e6:SetCountLimit(1)
e6:SetCondition(c65010130.damcon)
e6:SetTarget(c65010130.damtg)
e6:SetOperation(c65010130.damop)
c:RegisterEffect(e6)
end
function c65010130.otfilter(c)
return c:IsSetCard(0x9da0)
end
function c65010130.otcon(e,c,minc)
if c==nil then return true end
local mg=Duel.GetMatchingGroup(c65010130.otfilter,0,LOCATION_MZONE,LOCATION_MZONE,nil)
return c:IsLevelAbove(7) and minc<=1 and Duel.CheckTribute(c,1,1,mg)
end
function c65010130.otop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(c65010130.otfilter,0,LOCATION_MZONE,LOCATION_MZONE,nil)
local sg=Duel.SelectTribute(tp,c,1,1,mg)
c:SetMaterial(sg)
Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL)
end
function c65010130.con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_ADVANCE)
end
function c65010130.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_ADVANCE) and not eg:IsContains(e:GetHandler())
end
function c65010130.thfil(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x9da0) and c:IsAbleToHand()
end
function c65010130.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c65010130.thfil,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
end
function c65010130.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c65010130.thfil,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.SendtoHand(g,tp,REASON_EFFECT)
end
end
function c65010130.damcon(e,tp,eg,ep,ev,re,r,rp)
return rp~=tp and Duel.GetCurrentPhase()~=PHASE_DRAW
end
function c65010130.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(1500)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,1500)
end
function c65010130.damop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Damage(p,d,REASON_EFFECT)
end
\ No newline at end of file
...@@ -37,6 +37,5 @@ function c65072007.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -37,6 +37,5 @@ function c65072007.activate(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c65072007.actlimit(e,te,tp) function c65072007.actlimit(e,te,tp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 return te:IsHasType(EFFECT_TYPE_ACTIVATE) and te:IsActiveType(TYPE_SPELL) and te:GetHandler():IsType(TYPE_FIELD)
and te:IsHasType(EFFECT_TYPE_ACTIVATE) and te:IsActiveType(TYPE_SPELL) and te:GetHandler():IsType(TYPE_FIELD)
end end
...@@ -46,10 +46,6 @@ function c9980521.initial_effect(c) ...@@ -46,10 +46,6 @@ function c9980521.initial_effect(c)
e3:SetCondition(c9980521.atkcon) e3:SetCondition(c9980521.atkcon)
e3:SetOperation(c9980521.atkop) e3:SetOperation(c9980521.atkop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
Duel.AddCustomActivityCounter(9980521,ACTIVITY_SPSUMMON,c9980521.counterfilter)
end
function c9980521.counterfilter(c)
return not c:IsSummonType(SUMMON_TYPE_PENDULUM)
end end
function c9980521.thcon(e,tp,eg,ep,ev,re,r,rp) function c9980521.thcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(nil,tp,LOCATION_PZONE,0,1,e:GetHandler()) return not Duel.IsExistingMatchingCard(nil,tp,LOCATION_PZONE,0,1,e:GetHandler())
......
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