Commit c259a856 authored by TanakaKotoha's avatar TanakaKotoha

fix lua and cdb

parent f51c8456
No preview for this file type
expansions/pics/40008676.jpg

29.4 KB | W: | H:

expansions/pics/40008676.jpg

38.9 KB | W: | H:

expansions/pics/40008676.jpg
expansions/pics/40008676.jpg
expansions/pics/40008676.jpg
expansions/pics/40008676.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40008682.jpg

24.6 KB | W: | H:

expansions/pics/40008682.jpg

36.9 KB | W: | H:

expansions/pics/40008682.jpg
expansions/pics/40008682.jpg
expansions/pics/40008682.jpg
expansions/pics/40008682.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40008685.jpg

30.2 KB | W: | H:

expansions/pics/40008685.jpg

39.3 KB | W: | H:

expansions/pics/40008685.jpg
expansions/pics/40008685.jpg
expansions/pics/40008685.jpg
expansions/pics/40008685.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40008690.jpg

39.8 KB | W: | H:

expansions/pics/40008690.jpg

43 KB | W: | H:

expansions/pics/40008690.jpg
expansions/pics/40008690.jpg
expansions/pics/40008690.jpg
expansions/pics/40008690.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40008696.jpg

29.4 KB | W: | H:

expansions/pics/40008696.jpg

43 KB | W: | H:

expansions/pics/40008696.jpg
expansions/pics/40008696.jpg
expansions/pics/40008696.jpg
expansions/pics/40008696.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40008699.jpg

41 KB | W: | H:

expansions/pics/40008699.jpg

44.3 KB | W: | H:

expansions/pics/40008699.jpg
expansions/pics/40008699.jpg
expansions/pics/40008699.jpg
expansions/pics/40008699.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40008706.jpg

58.5 KB | W: | H:

expansions/pics/40008706.jpg

58.5 KB | W: | H:

expansions/pics/40008706.jpg
expansions/pics/40008706.jpg
expansions/pics/40008706.jpg
expansions/pics/40008706.jpg
  • 2-up
  • Swipe
  • Onion skin
......@@ -43,4 +43,5 @@ function c33400101.activate(e,tp,eg,ep,ev,re,r,rp)
e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e4)
end
Duel.RegisterFlagEffect(tp,33400101,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
end
\ No newline at end of file
......@@ -68,4 +68,5 @@ function c33400102.activate(e,tp,eg,ep,ev,re,r,rp)
sc=g:GetNext()
end
end
Duel.RegisterFlagEffect(tp,33400101,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
end
\ No newline at end of file
......@@ -64,4 +64,5 @@ function c33400103.activate(e,tp,eg,ep,ev,re,r,rp)
sc=g:GetNext()
end
end
Duel.RegisterFlagEffect(tp,33400101,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
end
\ No newline at end of file
......@@ -76,8 +76,9 @@ function c33400105.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.ShuffleHand(tp)
Duel.SortDecktop(tp,1-tp,cm2-1)
else Duel.SortDecktop(tp,1-tp,cm2)
end
end
end
Duel.RegisterFlagEffect(tp,33400101,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
end
function c33400105.filter(c)
return (c:IsSetCard(0x3341) or c:IsSetCard(0x3340)) and c:IsAbleToHand()
......
......@@ -50,6 +50,7 @@ function c33400107.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e2,tp)
end
end
Duel.RegisterFlagEffect(tp,33400101,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
end
function c33400107.filter1(c)
return c:IsSetCard(0x3341) or c:IsSetCard(0x3340)
......
......@@ -43,6 +43,7 @@ function c33400108.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
Duel.RegisterFlagEffect(tp,33400101,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
end
function c33400108.splimit(e,c)
return not c:IsSetCard(0x341)
......
......@@ -42,6 +42,7 @@ function c33400109.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.HintSelection(sg1)
Duel.Destroy(sg1,REASON_EFFECT)
end
Duel.RegisterFlagEffect(tp,33400101,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
end
function c33400109.effcon(e)
return not Duel.IsExistingMatchingCard(Card.IsFacedown,e:GetHandlerPlayer(),LOCATION_SZONE,0,1,nil)
......
......@@ -59,6 +59,7 @@ function c33400110.activate(e,tp,eg,ep,ev,re,r,rp)
sc=g:GetNext()
end
end
Duel.RegisterFlagEffect(tp,33400101,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
end
function c33400110.distg(e,c)
local tc=e:GetLabelObject()
......
......@@ -46,6 +46,7 @@ function c33400112.tdop(e,tp,eg,ep,ev,re,r,rp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
Duel.RegisterFlagEffect(tp,33400101,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
end
function c33400112.filter(c,e,tp)
return c:IsSetCard(0x3341) and c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
......
......@@ -54,6 +54,7 @@ function c33400114.activate(e,tp,eg,ep,ev,re,r,rp)
e3:SetOperation(c33400114.tgop)
Duel.RegisterEffect(e3,tp)
end
Duel.RegisterFlagEffect(tp,33400101,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
end
function c33400114.tgcon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
......@@ -67,8 +68,8 @@ function c33400114.tgop(e,tp,eg,ep,ev,re,r,rp)
local dg=Duel.GetMatchingGroup(c33400114.ss,tp,LOCATION_GRAVE,0,nil,e,tp)
if dg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(33400114,0)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c33400114.ss,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c33400114.ss,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
local tc=g:GetFirst()
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
......
--炼狱骑士团 暗刃龙
if not pcall(function() require("expansions/script/c40008677") end) then require("script/c40008677") end
function c40008674.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......@@ -7,93 +8,23 @@ function c40008674.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,40008674)
e1:SetCost(c40008674.cost1)
e1:SetCondition(c40008674.spcon1)
e1:SetCost(rsik.cost(c40008674.eqfun))
e1:SetTarget(c40008674.target)
e1:SetOperation(c40008674.activate)
c:RegisterEffect(e1)
--to hand
--draw
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(40008674,2))
e4:SetCategory(CATEGORY_DRAW)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetRange(LOCATION_GRAVE)
e4:SetCost(c40008674.thcost)
e4:SetCountLimit(1,40008675)
e4:SetTarget(c40008674.thtg)
e4:SetOperation(c40008674.thop)
e4:SetCountLimit(1,40008676)
e4:SetTarget(c40008674.dbtg)
e4:SetOperation(c40008674.dbop)
c:RegisterEffect(e4)
end
function c40008674.spcon1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsPlayerAffectedByEffect(tp,40008677)
end
function c40008674.spcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,40008677) and Duel.GetTurnPlayer()~=e:GetHandlerPlayer()
end
function c40008674.spcon3(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,40008677) and Duel.GetTurnPlayer()==e:GetHandlerPlayer()
end
function c40008674.cosfilter3(c)
return c:IsSetCard(0xf14) and c:IsAbleToGraveAsCost()
end
function c40008674.cost3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40008674.cosfilter3,tp,LOCATION_DECK+LOCATION_HAND,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c40008674.cosfilter3,tp,LOCATION_DECK+LOCATION_HAND,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_REMAIN_FIELD)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetReset(RESET_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_DISABLED)
e2:SetOperation(c40008674.tgop)
e2:SetLabel(cid)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
function c40008674.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_REMAIN_FIELD)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetReset(RESET_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_DISABLED)
e2:SetOperation(c40008674.tgop)
e2:SetLabel(cid)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
function c40008674.cosfilter1(c,tp)
if c:IsLocation(LOCATION_HAND) then return c:IsDiscardable() end
return c:IsSetCard(0xf14) and c:IsAbleToGraveAsCost()
end
function c40008674.cosfilter2(c)
return c:IsCode(40008674) and c:IsAbleToRemoveAsCost()
end
function c40008674.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40008674.costfilter1,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,tp) and Duel.IsExistingMatchingCard(c40008674.cosfilter2,tp,LOCATION_GRAVE,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c40008674.cosfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
local g1=Duel.GetMatchingGroup(c40008674.costfilter1,tp,LOCATION_HAND+LOCATION_DECK,0,nil,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local tc=g1:Select(tp,1,1,nil):GetFirst()
Duel.Remove(g,POS_FACEUP,REASON_COST)
Duel.SendtoGrave(tc,REASON_COST)
else
Duel.Remove(g,POS_FACEUP,REASON_COST)
Duel.SendtoGrave(tc,REASON_COST+REASON_DISCARD)
end
function c40008674.eqfun(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
......@@ -110,7 +41,6 @@ function c40008674.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
end
function c40008674.tgop(e,tp,eg,ep,ev,re,r,rp)
local cid=Duel.GetChainInfo(ev,CHAININFO_CHAIN_ID)
if cid~=e:GetLabel() then return end
......@@ -147,7 +77,6 @@ function c40008674.activate(e,tp,eg,ep,ev,re,r,rp)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_END)
e2:SetRange(LOCATION_MZONE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCountLimit(1)
e2:SetCondition(c40008674.sccon)
e2:SetTarget(c40008674.sctg)
......@@ -193,6 +122,7 @@ function c40008674.scop(e,tp,eg,ep,ev,re,r,rp)
Duel.SynchroSummon(tp,sg:GetFirst(),c)
end
end
function c40008674.cfilter(c,tp)
return c:IsSetCard(0xf14) and c:IsAbleToRemoveAsCost()
end
......@@ -205,20 +135,24 @@ function c40008674.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
g:AddCard(c)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function c40008674.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
function c40008674.dbtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c40008674.thop(e,tp,eg,ep,ev,re,r,rp)
if Duel.Draw(tp,1,REASON_EFFECT)==0 then return end
local tc=Duel.GetOperatedGroup():GetFirst()
if tc:IsSetCard(0xf14) then
if Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(40008674,3)) then
Duel.ConfirmCards(1-tp,tc)
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
function c40008674.dbop(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.Draw(tp,1,REASON_EFFECT)
if ct==0 then return end
local tc=Duel.GetOperatedGroup():GetFirst()
if tc:IsSetCard(0xf14) then
if Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(40008674,2)) then
Duel.ConfirmCards(1-tp,tc)
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
Duel.ShuffleHand(tp)
end
end
end
end
--炼狱骑士团 指节环套龙
if not pcall(function() require("expansions/script/c40008677") end) then require("script/c40008677") end
function c40008678.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(Card.IsRace,RACE_DRAGON),1)
......@@ -28,7 +29,7 @@ function c40008678.initial_effect(c)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,40008679)
e3:SetCost(c40008678.thcost)
e3:SetCost(rsik.cost())
e3:SetTarget(c40008678.atktg)
e3:SetOperation(c40008678.thaop)
c:RegisterEffect(e3)
......@@ -60,10 +61,7 @@ function c40008678.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,g)
end
end
function c40008678.thcost(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 c40008678.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetEffectCount(EFFECT_EXTRA_ATTACK)==0 end
end
......
--炼狱骑士团 十字弓弩龙
if not pcall(function() require("expansions/script/c40008677") end) then require("script/c40008677") end
function c40008680.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......@@ -7,12 +8,11 @@ function c40008680.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,40008680)
e1:SetCost(c40008680.cost1)
e1:SetCondition(c40008680.spcon1)
e1:SetCost(rsik.cost(c40008680.eqfun))
e1:SetTarget(c40008680.target)
e1:SetOperation(c40008680.activate)
c:RegisterEffect(e1)
--to hand
--draw
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(40008680,2))
e4:SetCategory(CATEGORY_DRAW)
......@@ -24,41 +24,7 @@ function c40008680.initial_effect(c)
e4:SetOperation(c40008680.desop)
c:RegisterEffect(e4)
end
function c40008680.spcon1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsPlayerAffectedByEffect(tp,40008677)
end
function c40008680.spcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,40008677) and Duel.GetTurnPlayer()~=e:GetHandlerPlayer()
end
function c40008680.spcon3(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,40008677) and Duel.GetTurnPlayer()==e:GetHandlerPlayer()
end
function c40008680.cosfilter3(c)
return c:IsSetCard(0xf14) and c:IsAbleToGraveAsCost()
end
function c40008680.cost3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40008680.cosfilter3,tp,LOCATION_DECK+LOCATION_HAND,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c40008680.cosfilter3,tp,LOCATION_DECK+LOCATION_HAND,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_REMAIN_FIELD)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetReset(RESET_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_DISABLED)
e2:SetOperation(c40008680.tgop)
e2:SetLabel(cid)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
function c40008680.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
function c40008680.eqfun(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
......@@ -75,42 +41,6 @@ function c40008680.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
function c40008680.cosfilter1(c,tp)
if c:IsLocation(LOCATION_HAND) then return c:IsDiscardable() end
return c:IsSetCard(0xf14) and c:IsAbleToGraveAsCost()
end
function c40008680.cosfilter2(c)
return c:IsCode(40008680) and c:IsAbleToRemoveAsCost()
end
function c40008680.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40008680.costfilter1,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,tp) and Duel.IsExistingMatchingCard(c40008680.cosfilter2,tp,LOCATION_GRAVE,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c40008680.cosfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
local g1=Duel.GetMatchingGroup(c40008680.costfilter1,tp,LOCATION_HAND+LOCATION_DECK,0,nil,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local tc=g1:Select(tp,1,1,nil):GetFirst()
Duel.Remove(g,POS_FACEUP,REASON_COST)
Duel.SendtoGrave(tc,REASON_COST)
else
Duel.Remove(g,POS_FACEUP,REASON_COST)
Duel.SendtoGrave(tc,REASON_COST+REASON_DISCARD)
end
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_REMAIN_FIELD)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetReset(RESET_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_DISABLED)
e2:SetOperation(c40008680.tgop)
e2:SetLabel(cid)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
end
function c40008680.tgop(e,tp,eg,ep,ev,re,r,rp)
local cid=Duel.GetChainInfo(ev,CHAININFO_CHAIN_ID)
if cid~=e:GetLabel() then return end
......@@ -214,7 +144,7 @@ function c40008680.desop(e,tp,eg,ep,ev,re,r,rp)
if Duel.Destroy(tc,REASON_EFFECT)==0 then return end
local tc=Duel.GetOperatedGroup():GetFirst()
if tc:IsType(TYPE_SPELL) then
if Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(40008680,3)) then
if Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(40008680,2)) then
Duel.ConfirmCards(1-tp,tc)
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
......
--炼狱骑士团 银杖龙
if not pcall(function() require("expansions/script/c40008677") end) then require("script/c40008677") end
function c40008683.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......@@ -7,8 +8,7 @@ function c40008683.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,40008683)
e1:SetCost(c40008683.cost1)
e1:SetCondition(c40008683.spcon1)
e1:SetCost(rsik.cost(c40008683.eqfun))
e1:SetTarget(c40008683.target)
e1:SetOperation(c40008683.activate)
c:RegisterEffect(e1)
......@@ -25,70 +25,7 @@ function c40008683.initial_effect(c)
e4:SetOperation(c40008683.dbop)
c:RegisterEffect(e4)
end
function c40008683.spcon1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsPlayerAffectedByEffect(tp,40008677)
end
function c40008683.spcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,40008677) and Duel.GetTurnPlayer()~=tp
end
function c40008683.spcon3(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,40008677) and not Duel.GetTurnPlayer()~=tp
end
function c40008683.cosfilter3(c)
return c:IsSetCard(0xf14) and (c:IsAbleToGraveAsCost() or c:IsDiscardable())
end
function c40008683.cost3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40008683.cosfilter3,tp,LOCATION_DECK+LOCATION_HAND,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c40008683.cosfilter3,tp,LOCATION_DECK+LOCATION_HAND,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_REMAIN_FIELD)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetReset(RESET_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_DISABLED)
e2:SetOperation(c40008683.tgop)
e2:SetLabel(cid)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
function c40008683.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_REMAIN_FIELD)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetReset(RESET_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_DISABLED)
e2:SetOperation(c40008683.tgop)
e2:SetLabel(cid)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
function c40008683.cosfilter1(c)
return c:IsSetCard(0xf14) and c:IsAbleToGraveAsCost()
end
function c40008683.cosfilter2(c)
return c:IsCode(40008683) and c:IsAbleToRemoveAsCost()
end
function c40008683.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40008683.cosfilter1,tp,LOCATION_DECK,0,1,nil) and Duel.IsExistingMatchingCard(c40008683.cosfilter2,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c40008683.cosfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
local g1=Duel.SelectMatchingCard(tp,c40008683.cosfilter1,tp,LOCATION_DECK,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
Duel.SendtoGrave(g1,REASON_COST)
function c40008683.eqfun(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
......
--炼狱骑士团 撒旦邪力龙
if not pcall(function() require("expansions/script/c40008677") end) then require("script/c40008677") end
function c40008686.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(Card.IsRace,RACE_DRAGON),1)
......@@ -27,7 +28,7 @@ function c40008686.initial_effect(c)
e3:SetCategory(CATEGORY_HANDES+CATEGORY_LVCHANGE)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCost(c40008686.cost)
e3:SetCost(rsik.cost())
e3:SetCountLimit(1,40008687)
e3:SetTarget(c40008686.target)
e3:SetOperation(c40008686.operation)
......@@ -69,10 +70,7 @@ end
function c40008686.lvfilter(c)
return c:IsFaceup() and c:IsSetCard(0xf14) and not c:IsLevel(2) and c:IsLevelAbove(1)
end
function c40008686.cost(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 c40008686.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0 and Duel.IsExistingMatchingCard(c40008686.lvfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,1-tp,1)
......
--炼狱骑士团 血斧龙
if not pcall(function() require("expansions/script/c40008677") end) then require("script/c40008677") end
function c40008688.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......@@ -7,8 +8,7 @@ function c40008688.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,40008688)
e1:SetCost(c40008688.cost1)
e1:SetCondition(c40008688.spcon1)
e1:SetCost(rsik.cost(c40008688.eqfun))
e1:SetTarget(c40008688.target)
e1:SetOperation(c40008688.activate)
c:RegisterEffect(e1)
......@@ -24,41 +24,7 @@ function c40008688.initial_effect(c)
e4:SetOperation(c40008688.desop)
c:RegisterEffect(e4)
end
function c40008688.spcon1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsPlayerAffectedByEffect(tp,40008677)
end
function c40008688.spcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,40008677) and Duel.GetTurnPlayer()~=e:GetHandlerPlayer()
end
function c40008688.spcon3(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,40008677) and Duel.GetTurnPlayer()==e:GetHandlerPlayer()
end
function c40008688.cosfilter3(c)
return c:IsSetCard(0xf14) and c:IsAbleToGraveAsCost()
end
function c40008688.cost3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40008688.cosfilter3,tp,LOCATION_DECK+LOCATION_HAND,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c40008688.cosfilter3,tp,LOCATION_DECK+LOCATION_HAND,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_REMAIN_FIELD)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetReset(RESET_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_DISABLED)
e2:SetOperation(c40008688.tgop)
e2:SetLabel(cid)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
function c40008688.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
function c40008688.eqfun(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
......@@ -75,42 +41,6 @@ function c40008688.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
function c40008688.cosfilter1(c,tp)
if c:IsLocation(LOCATION_HAND) then return c:IsDiscardable() end
return c:IsSetCard(0xf14) and c:IsAbleToGraveAsCost()
end
function c40008688.cosfilter2(c)
return c:IsCode(40008688) and c:IsAbleToRemoveAsCost()
end
function c40008688.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40008688.costfilter1,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,tp) and Duel.IsExistingMatchingCard(c40008688.cosfilter2,tp,LOCATION_GRAVE,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c40008688.cosfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
local g1=Duel.GetMatchingGroup(c40008688.costfilter1,tp,LOCATION_HAND+LOCATION_DECK,0,nil,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local tc=g1:Select(tp,1,1,nil):GetFirst()
Duel.Remove(g,POS_FACEUP,REASON_COST)
Duel.SendtoGrave(tc,REASON_COST)
else
Duel.Remove(g,POS_FACEUP,REASON_COST)
Duel.SendtoGrave(tc,REASON_COST+REASON_DISCARD)
end
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_REMAIN_FIELD)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetReset(RESET_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_DISABLED)
e2:SetOperation(c40008688.tgop)
e2:SetLabel(cid)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
end
function c40008688.tgop(e,tp,eg,ep,ev,re,r,rp)
local cid=Duel.GetChainInfo(ev,CHAININFO_CHAIN_ID)
if cid~=e:GetLabel() then return end
......@@ -204,7 +134,6 @@ function c40008688.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c40008688.filter,tp,LOCATION_MZONE,0,1,1,nil)
end
end
function c40008688.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
......
--炼狱骑士团 战极颂歌龙
if not pcall(function() require("expansions/script/c40008677") end) then require("script/c40008677") end
function c40008691.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
......@@ -41,8 +42,8 @@ function c40008691.initial_effect(c)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetCountLimit(1,40008692)
e3:SetCost(c40008691.cost)
e3:SetCondition(c40008691.thcon)
e3:SetCost(rsik.cost())
e3:SetCondition(c40008691.thcon2)
e3:SetTarget(c40008691.thtg)
e3:SetOperation(c40008691.thop)
c:RegisterEffect(e3)
......@@ -97,11 +98,7 @@ function c40008691.scop(e,tp,eg,ep,ev,re,r,rp)
Duel.SynchroSummon(tp,sg:GetFirst(),c)
end
end
function c40008691.cost(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 c40008691.thcon(e,tp,eg,ep,ev,re,r,rp)
function c40008691.thcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end
function c40008691.thfilter(c)
......
--炼狱骑士团 巨剪龙
if not pcall(function() require("expansions/script/c40008677") end) then require("script/c40008677") end
function c40008694.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......@@ -7,8 +8,7 @@ function c40008694.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,40008694)
e1:SetCost(c40008694.cost1)
e1:SetCondition(c40008694.spcon1)
e1:SetCost(rsik.cost(c40008694.eqfun))
e1:SetTarget(c40008694.target)
e1:SetOperation(c40008694.activate)
c:RegisterEffect(e1)
......@@ -24,22 +24,7 @@ function c40008694.initial_effect(c)
e4:SetOperation(c40008694.thop)
c:RegisterEffect(e4)
end
function c40008694.spcon1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsPlayerAffectedByEffect(tp,40008677)
end
function c40008694.spcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,40008677) and Duel.GetTurnPlayer()~=e:GetHandlerPlayer()
end
function c40008694.spcon3(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,40008677) and Duel.GetTurnPlayer()==e:GetHandlerPlayer()
end
function c40008694.cosfilter3(c)
return c:IsSetCard(0xf14) and c:IsAbleToGraveAsCost()
end
function c40008694.cost3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40008694.cosfilter3,tp,LOCATION_DECK+LOCATION_HAND,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c40008694.cosfilter3,tp,LOCATION_DECK+LOCATION_HAND,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
function c40008694.eqfun(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
......@@ -56,61 +41,6 @@ function c40008694.cost3(e,tp,eg,ep,ev,re,r,rp,chk)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
function c40008694.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_REMAIN_FIELD)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetReset(RESET_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_DISABLED)
e2:SetOperation(c40008694.tgop)
e2:SetLabel(cid)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
function c40008694.cosfilter1(c,tp)
if c:IsLocation(LOCATION_HAND) then return c:IsDiscardable() end
return c:IsSetCard(0xf14) and c:IsAbleToGraveAsCost()
end
function c40008694.cosfilter2(c)
return c:IsCode(40008694) and c:IsAbleToRemoveAsCost()
end
function c40008694.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40008694.costfilter1,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,tp) and Duel.IsExistingMatchingCard(c40008694.cosfilter2,tp,LOCATION_GRAVE,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c40008694.cosfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
local g1=Duel.GetMatchingGroup(c40008694.costfilter1,tp,LOCATION_HAND+LOCATION_DECK,0,nil,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local tc=g1:Select(tp,1,1,nil):GetFirst()
Duel.Remove(g,POS_FACEUP,REASON_COST)
Duel.SendtoGrave(tc,REASON_COST)
else
Duel.Remove(g,POS_FACEUP,REASON_COST)
Duel.SendtoGrave(tc,REASON_COST+REASON_DISCARD)
end
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_REMAIN_FIELD)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetReset(RESET_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_DISABLED)
e2:SetOperation(c40008694.tgop)
e2:SetLabel(cid)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
end
function c40008694.tgop(e,tp,eg,ep,ev,re,r,rp)
local cid=Duel.GetChainInfo(ev,CHAININFO_CHAIN_ID)
if cid~=e:GetLabel() then return end
......
--炼狱骑士团 刚链索命龙
if not pcall(function() require("expansions/script/c40008677") end) then require("script/c40008677") end
function c40008697.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......@@ -7,8 +8,7 @@ function c40008697.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,40008697)
e1:SetCost(c40008697.cost1)
e1:SetCondition(c40008697.spcon1)
e1:SetCost(rsik.cost(c40008697.eqfun))
e1:SetTarget(c40008697.target)
e1:SetOperation(c40008697.activate)
c:RegisterEffect(e1)
......@@ -25,70 +25,7 @@ function c40008697.initial_effect(c)
e4:SetOperation(c40008697.dbop)
c:RegisterEffect(e4)
end
function c40008697.spcon1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsPlayerAffectedByEffect(tp,40008677)
end
function c40008697.spcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,40008677) and Duel.GetTurnPlayer()~=tp
end
function c40008697.spcon3(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,40008677) and not Duel.GetTurnPlayer()~=tp
end
function c40008697.cosfilter3(c)
return c:IsSetCard(0xf14) and (c:IsAbleToGraveAsCost() or c:IsDiscardable())
end
function c40008697.cost3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40008697.cosfilter3,tp,LOCATION_DECK+LOCATION_HAND,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c40008697.cosfilter3,tp,LOCATION_DECK+LOCATION_HAND,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_REMAIN_FIELD)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetReset(RESET_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_DISABLED)
e2:SetOperation(c40008697.tgop)
e2:SetLabel(cid)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
function c40008697.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_REMAIN_FIELD)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetReset(RESET_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_DISABLED)
e2:SetOperation(c40008697.tgop)
e2:SetLabel(cid)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
function c40008697.cosfilter1(c)
return c:IsSetCard(0xf14) and c:IsAbleToGraveAsCost()
end
function c40008697.cosfilter2(c)
return c:IsCode(40008697) and c:IsAbleToRemoveAsCost()
end
function c40008697.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40008697.cosfilter1,tp,LOCATION_DECK,0,1,nil) and Duel.IsExistingMatchingCard(c40008697.cosfilter2,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c40008697.cosfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
local g1=Duel.SelectMatchingCard(tp,c40008697.cosfilter1,tp,LOCATION_DECK,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
Duel.SendtoGrave(g1,REASON_COST)
function c40008697.eqfun(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
......@@ -141,8 +78,8 @@ function c40008697.activate(e,tp,eg,ep,ev,re,r,rp)
e2:SetRange(LOCATION_MZONE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCountLimit(1)
e2:SetTarget(c40008688.thtg)
e2:SetOperation(c40008688.thop)
e2:SetTarget(c40008697.thtg)
e2:SetOperation(c40008697.thop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
......
--炼狱骑士团 死神镰刀龙
if not pcall(function() require("expansions/script/c40008677") end) then require("script/c40008677") end
function c40008700.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
......@@ -28,7 +29,7 @@ function c40008700.initial_effect(c)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,40008701)
e3:SetCost(c40008700.thcost)
e3:SetCost(rsik.cost())
e3:SetTarget(c40008700.target)
e3:SetOperation(c40008700.activate)
c:RegisterEffect(e3)
......@@ -64,10 +65,6 @@ function c40008700.rmop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
function c40008700.thcost(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 c40008700.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local g1=Duel.GetDecktopGroup(tp,1)
......
--炼狱骑士团 破剑龙
if not pcall(function() require("expansions/script/c40008677") end) then require("script/c40008677") end
function c40008702.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(Card.IsRace,RACE_DRAGON),1)
......@@ -29,7 +30,7 @@ function c40008702.initial_effect(c)
e3:SetCode(EVENT_BATTLE_DAMAGE)
e3:SetCountLimit(1,40008703)
e3:SetCondition(c40008702.sumcon)
e3:SetCost(c40008702.thcost)
e3:SetCost(rsik.cost())
e3:SetOperation(c40008702.sumop)
c:RegisterEffect(e3)
end
......@@ -61,10 +62,6 @@ function c40008702.desop(e,tp,eg,ep,ev,re,r,rp)
c:RegisterFlagEffect(40008702,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
end
function c40008702.thcost(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 c40008702.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(40008702)~=0 and ep~=tp
end
......
--炼狱骑士团 残酷指挥官
if not pcall(function() require("expansions/script/c40008677") end) then require("script/c40008677") end
function c40008706.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,nil,2,2,c40008706.lcheck)
......@@ -20,7 +21,7 @@ function c40008706.initial_effect(c)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,40008707)
e3:SetCost(c40008706.thcost)
e3:SetCost(rsik.cost())
e3:SetTarget(c40008706.thtg)
e3:SetOperation(c40008706.spop)
c:RegisterEffect(e3)
......@@ -45,8 +46,8 @@ function c40008706.seqop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=math.log(s,2)
if Duel.MoveSequence(tc,nseq)>0 then
Duel.BreakEffect()
if Duel.MoveSequence(tc,nseq)~=0 then
--Duel.BreakEffect()
local atk=tc:GetAttack()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=Effect.CreateEffect(c)
......
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