Commit 4cd87e4c authored by Nemo Ma's avatar Nemo Ma

fix

parent 692f79fb
No preview for this file type
expansions/pics/33400100.jpg

269 KB | W: | H:

expansions/pics/33400100.jpg

546 KB | W: | H:

expansions/pics/33400100.jpg
expansions/pics/33400100.jpg
expansions/pics/33400100.jpg
expansions/pics/33400100.jpg
  • 2-up
  • Swipe
  • Onion skin
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -160,6 +160,7 @@ rsloc.all=0xff ...@@ -160,6 +160,7 @@ rsloc.all=0xff
--Escape Old Functions --Escape Old Functions
function rsof.Escape_Old_Functions() function rsof.Escape_Old_Functions()
--//
rsof.DefineCard = rscf.DefineCard rsof.DefineCard = rscf.DefineCard
rscf.FilterFaceUp = rscf.fufilter rscf.FilterFaceUp = rscf.fufilter
rsof.SendtoHand = rsop.SendtoHand rsof.SendtoHand = rsop.SendtoHand
...@@ -174,6 +175,8 @@ function rsof.Escape_Old_Functions() ...@@ -174,6 +175,8 @@ function rsof.Escape_Old_Functions()
rsof.SelectNumber_List= rsop.AnnounceNumber_List rsof.SelectNumber_List= rsop.AnnounceNumber_List
rsof.IsSet = rscf.DefineSet rsof.IsSet = rscf.DefineSet
rscf.GetRelationThisCard = rscf.GetFaceUpSelf rscf.GetRelationThisCard = rscf.GetFaceUpSelf
rsop.eqop = rsop.Equip
--//
--some card use old SummonBuff's phase leave field parterment, must fix them in their luas --some card use old SummonBuff's phase leave field parterment, must fix them in their luas
rssf.SummonBuff=function(attlist,isdis,isdistig,selfleave,phaseleave) rssf.SummonBuff=function(attlist,isdis,isdistig,selfleave,phaseleave)
local bufflist={} local bufflist={}
...@@ -202,6 +205,10 @@ function rsof.Escape_Old_Functions() ...@@ -202,6 +205,10 @@ function rsof.Escape_Old_Functions()
end end
return bufflist return bufflist
end end
--//
rscf.SetSpecialSummonProduce=function(reg_list,range,con,op,desc_list,lim_list,reset_list)
return rscf.AddSpecialSummonProcdure(reg_list,range,con,nil,op,desc_list,lim_list,nil,reset_list)
end
end end
...@@ -51,6 +51,7 @@ local rsik = Infernal_Knight ...@@ -51,6 +51,7 @@ local rsik = Infernal_Knight
local rsvw = Virus_Wrom local rsvw = Virus_Wrom
local rsia = Indolent_Angel local rsia = Indolent_Angel
local rsso = Simulated_Organism local rsso = Simulated_Organism
local rstr = True_Ritual
#NianBao 583322404 #NianBao 583322404
local rslap = Lapin local rslap = Lapin
...@@ -91,6 +92,11 @@ local rsgod = God ...@@ -91,6 +92,11 @@ local rsgod = God
#02 1164477469 #02 1164477469
local rsva = VR_Aqua local rsva = VR_Aqua
//local = Tian_Zhi
#ReiKai 2404873791
local rsch = Churck
--Set Code --Set Code
#Scl #Scl
......
...@@ -7,7 +7,7 @@ function cm.initial_effect(c) ...@@ -7,7 +7,7 @@ function cm.initial_effect(c)
local e1=rsef.QO(c,nil,{m,0},nil,"tk,sp","cd,cn",LOCATION_MZONE,rscon.phmp,nil,cm.tktg,cm.tkop) local e1=rsef.QO(c,nil,{m,0},nil,"tk,sp","cd,cn",LOCATION_MZONE,rscon.phmp,nil,cm.tktg,cm.tkop)
local e2=rsef.QO(c,EVENT_CHAINING,{m,1},nil,"neg,rm","dsp,dcal,cd,cn",LOCATION_MZONE,cm.negcon,nil,cm.negtg,rsop.negop("rm")) local e2=rsef.QO(c,EVENT_CHAINING,{m,1},nil,"neg,rm","dsp,dcal,cd,cn",LOCATION_MZONE,cm.negcon,nil,cm.negtg,rsop.negop("rm"))
local e3=rsef.FTO(c,EVENT_SPSUMMON_SUCCESS,{m,2},nil,"rm","de,dsp,cd,cn",LOCATION_MZONE,rscon.phmp,nil,cm.rmtg,cm.rmop) local e3=rsef.FTO(c,EVENT_SPSUMMON_SUCCESS,{m,2},nil,"rm","de,dsp,cd,cn",LOCATION_MZONE,rscon.phmp,nil,cm.rmtg,cm.rmop)
local e4=rsef.QO(c,nil,{m,3},nil,"rm",nil,LOCATION_MZONE,rscon.phmp,nil,cm.rmtg2,cm.rmop2) local e4=rsef.QO(c,nil,{m,3},nil,"rm","cd,cn",LOCATION_MZONE,rscon.phmp,nil,cm.rmtg2,cm.rmop2)
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
......
...@@ -16,7 +16,7 @@ function c33400004.initial_effect(c) ...@@ -16,7 +16,7 @@ function c33400004.initial_effect(c)
--search --search
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33400004,1)) e3:SetDescription(aux.Stringid(33400004,1))
e3:SetCategory(CATEGORY_TOHAND) e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,33400004) e3:SetCountLimit(1,33400004)
......
...@@ -28,6 +28,7 @@ function cm.initial_effect(c) ...@@ -28,6 +28,7 @@ function cm.initial_effect(c)
e3:SetCode(EVENT_FREE_CHAIN) e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetHintTiming(0,TIMING_END_PHASE) e3:SetHintTiming(0,TIMING_END_PHASE)
e3:SetCountLimit(1)
e3:SetCondition(cm.effcon) e3:SetCondition(cm.effcon)
e3:SetTarget(cm.target) e3:SetTarget(cm.target)
e3:SetOperation(cm.activate) e3:SetOperation(cm.activate)
...@@ -38,6 +39,7 @@ function cm.initial_effect(c) ...@@ -38,6 +39,7 @@ function cm.initial_effect(c)
e4:SetType(EFFECT_TYPE_QUICK_O) e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCode(EVENT_ATTACK_ANNOUNCE) e4:SetCode(EVENT_ATTACK_ANNOUNCE)
e4:SetCountLimit(1)
e4:SetCondition(cm.condition) e4:SetCondition(cm.condition)
e4:SetCost(cm.cost) e4:SetCost(cm.cost)
e4:SetOperation(cm.neop) e4:SetOperation(cm.neop)
......
...@@ -40,7 +40,7 @@ function cm.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -40,7 +40,7 @@ function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.matcheck(e,c) function cm.matcheck(e,c)
if c:GetMaterial():Filter(Card.IsAttribute,nil,ATTRIBUTE_DARK) then if c:GetMaterial():Filter(Card.IsAttribute,nil,ATTRIBUTE_DARK):GetCount()~=0 then
-- --
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
...@@ -54,7 +54,7 @@ function cm.matcheck(e,c) ...@@ -54,7 +54,7 @@ function cm.matcheck(e,c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD,EFFECT_FLAG_CLIENT_HINT,0,0,aux.Stringid(m,0)) c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD,EFFECT_FLAG_CLIENT_HINT,0,0,aux.Stringid(m,0))
end end
if c:GetMaterial():Filter(Card.IsAttribute,nil,ATTRIBUTE_LIGHT) then if c:GetMaterial():Filter(Card.IsAttribute,nil,ATTRIBUTE_LIGHT):GetCount()~=0 then
--special summon --special summon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1)) e2:SetDescription(aux.Stringid(m,1))
...@@ -69,7 +69,7 @@ function cm.matcheck(e,c) ...@@ -69,7 +69,7 @@ function cm.matcheck(e,c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
c:RegisterFlagEffect(m+1,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD,EFFECT_FLAG_CLIENT_HINT,0,0,aux.Stringid(m,1)) c:RegisterFlagEffect(m+1,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD,EFFECT_FLAG_CLIENT_HINT,0,0,aux.Stringid(m,1))
end end
if c:GetMaterial():Filter(Card.IsAttribute,nil,ATTRIBUTE_WIND) then if c:GetMaterial():Filter(Card.IsAttribute,nil,ATTRIBUTE_WIND):GetCount()~=0 then
--move --move
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,2)) e1:SetDescription(aux.Stringid(m,2))
...@@ -84,7 +84,7 @@ function cm.matcheck(e,c) ...@@ -84,7 +84,7 @@ function cm.matcheck(e,c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
c:RegisterFlagEffect(m+2,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD,EFFECT_FLAG_CLIENT_HINT,0,0,aux.Stringid(m,2)) c:RegisterFlagEffect(m+2,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD,EFFECT_FLAG_CLIENT_HINT,0,0,aux.Stringid(m,2))
end end
if c:GetMaterial():Filter(Card.IsAttribute,nil,ATTRIBUTE_WATER) then if c:GetMaterial():Filter(Card.IsAttribute,nil,ATTRIBUTE_WATER):GetCount()~=0 then
--destroy --destroy
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,3)) e2:SetDescription(aux.Stringid(m,3))
...@@ -100,7 +100,7 @@ function cm.matcheck(e,c) ...@@ -100,7 +100,7 @@ function cm.matcheck(e,c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
c:RegisterFlagEffect(m+3,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD,EFFECT_FLAG_CLIENT_HINT,0,0,aux.Stringid(m,3)) c:RegisterFlagEffect(m+3,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD,EFFECT_FLAG_CLIENT_HINT,0,0,aux.Stringid(m,3))
end end
if c:GetMaterial():Filter(Card.IsAttribute,nil,ATTRIBUTE_FIRE) then if c:GetMaterial():Filter(Card.IsAttribute,nil,ATTRIBUTE_FIRE):GetCount()~=0 then
--destroy --destroy
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,4)) e2:SetDescription(aux.Stringid(m,4))
......
...@@ -96,7 +96,7 @@ function cm.ckfilter(c) ...@@ -96,7 +96,7 @@ function cm.ckfilter(c)
return c:IsFaceup() and c:IsSetCard(0x5342) and c:IsType(TYPE_XYZ) and c:IsType(TYPE_MONSTER) return c:IsFaceup() and c:IsSetCard(0x5342) and c:IsType(TYPE_XYZ) and c:IsType(TYPE_MONSTER)
end end
function cm.descon(e,tp,eg,ep,ev,re,r,rp) function cm.descon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_ONFIELD,0,1,nil) and return Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_ONFIELD,0,1,nil,0x3341) and
Duel.IsExistingMatchingCard(cm.ckfilter,tp,LOCATION_ONFIELD,0,1,nil) Duel.IsExistingMatchingCard(cm.ckfilter,tp,LOCATION_ONFIELD,0,1,nil)
end end
function cm.destg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.destg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
...@@ -84,6 +84,13 @@ function cm.retcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -84,6 +84,13 @@ function cm.retcon(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.retop(e,tp,eg,ep,ev,re,r,rp) function cm.retop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject() local tc=e:GetLabelObject()
if tc:IsType(TYPE_FIELD) and tc:IsPreviousLocation(LOCATION_FZONE) then
Duel.MoveToField(tc,tp,tp,LOCATION_FZONE,POS_FACEUP,true)
elseif tc:IsType(TYPE_PENDULUM) and tc:IsPreviousLocation(LOCATION_PZONE) then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
else
Duel.ReturnToField(e:GetLabelObject())
end
Duel.ReturnToField(tc) Duel.ReturnToField(tc)
end end
......
...@@ -82,7 +82,6 @@ function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -82,7 +82,6 @@ function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(cm.repfilter,1,nil,tp) if chk==0 then return eg:IsExists(cm.repfilter,1,nil,tp)
and Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_EXTRA,0,1,nil) end and Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_EXTRA,0,1,nil) end
return Duel.SelectEffectYesNo(tp,e:GetHandler(),96) return Duel.SelectEffectYesNo(tp,e:GetHandler(),96)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_EXTRA)
end end
function cm.repval(e,c) function cm.repval(e,c)
return cm.repfilter(c,e:GetHandlerPlayer()) return cm.repfilter(c,e:GetHandlerPlayer())
......
...@@ -24,7 +24,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -24,7 +24,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function cm.ckfilter(c,e,tp) function cm.ckfilter(c,e,tp)
return c:IsLevel(4) and c:IsSetCard(0x341) and ((c:IsType(TYPE_RITUAL) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,false)) or c:IsCanBeSpecialSummoned(e,0,tp,false,false) ) return c:IsLevel(4) and c:IsSetCard(0x341) and ((c:IsType(TYPE_RITUAL) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,true,true)) or c:IsCanBeSpecialSummoned(e,0,tp,false,false) )
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
......
...@@ -41,10 +41,11 @@ function c46260001.initial_effect(c) ...@@ -41,10 +41,11 @@ function c46260001.initial_effect(c)
end end
function c46260001.filter(c,e,tp,mg) function c46260001.filter(c,e,tp,mg)
if bit.band(c:GetOriginalType(),0x81)~=0x81 or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end if bit.band(c:GetOriginalType(),0x81)~=0x81 or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
mg:RemoveCard(c) local tg=mg:Clone()
tg:RemoveCard(c)
local lv=c:GetOriginalLevel() local lv=c:GetOriginalLevel()
aux.GCheckAdditional=aux.RitualCheckAdditional(c,lv,"Greater") aux.GCheckAdditional=aux.RitualCheckAdditional(c,lv,"Greater")
local res=mg:CheckSubGroup(aux.RitualCheck,1,lv,tp,c,lv,"Greater") local res=tg:CheckSubGroup(aux.RitualCheck,1,lv,tp,c,lv,"Greater")
aux.GCheckAdditional=nil aux.GCheckAdditional=nil
return res return res
end end
...@@ -59,7 +60,7 @@ function c46260001.rop(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,7 +60,7 @@ function c46260001.rop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
local mg=Duel.GetRitualMaterial(tp) local mg=Duel.GetRitualMaterial(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c46260001.filter),tp,LOCATION_HAND+LOCATION_PZONE,0,1,1,nil,e,tp,mg) local tg=Duel.SelectMatchingCard(tp,c46260001.filter,tp,LOCATION_HAND+LOCATION_PZONE,0,1,1,nil,e,tp,mg)
local tc=tg:GetFirst() local tc=tg:GetFirst()
if tc then if tc then
mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc) mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
......
...@@ -41,10 +41,11 @@ function c46260003.initial_effect(c) ...@@ -41,10 +41,11 @@ function c46260003.initial_effect(c)
end end
function c46260003.filter(c,e,tp,mg) function c46260003.filter(c,e,tp,mg)
if bit.band(c:GetOriginalType(),0x81)~=0x81 or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end if bit.band(c:GetOriginalType(),0x81)~=0x81 or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
mg:RemoveCard(c) local tg=mg:Clone()
tg:RemoveCard(c)
local lv=c:GetOriginalLevel() local lv=c:GetOriginalLevel()
aux.GCheckAdditional=aux.RitualCheckAdditional(c,lv,"Greater") aux.GCheckAdditional=aux.RitualCheckAdditional(c,lv,"Greater")
local res=mg:CheckSubGroup(aux.RitualCheck,1,lv,tp,c,lv,"Greater") local res=tg:CheckSubGroup(aux.RitualCheck,1,lv,tp,c,lv,"Greater")
aux.GCheckAdditional=nil aux.GCheckAdditional=nil
return res return res
end end
...@@ -59,7 +60,7 @@ function c46260003.rop(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,7 +60,7 @@ function c46260003.rop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
local mg=Duel.GetRitualMaterial(tp) local mg=Duel.GetRitualMaterial(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c46260003.filter),tp,LOCATION_HAND+LOCATION_PZONE,0,1,1,nil,e,tp,mg) local tg=Duel.SelectMatchingCard(tp,c46260003.filter,tp,LOCATION_HAND+LOCATION_PZONE,0,1,1,nil,e,tp,mg)
local tc=tg:GetFirst() local tc=tg:GetFirst()
if tc then if tc then
mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc) mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
......
...@@ -21,7 +21,7 @@ function c49950009.initial_effect(c) ...@@ -21,7 +21,7 @@ function c49950009.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c49950009.filter(c) function c49950009.filter(c)
return c:IsSetCard(0x823) and not c:IsCode(49950009) and c:IsAbleToHand() return c:IsSetCard(0x823) and c:IsType(TYPE_MONSTER) and not c:IsCode(49950009) and c:IsAbleToHand()
end end
function c49950009.descon(e,tp,eg,ep,ev,re,r,rp) function c49950009.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
--混沌病毒·胞核
function c49951005.initial_effect(c)
--destroy
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_DESTROYED)
e1:SetCountLimit(1,49951005)
e1:SetCondition(c49951005.descon)
e1:SetTarget(c49951005.destg)
e1:SetOperation(c49951005.desop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,49951006)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c49951005.thtg)
e2:SetOperation(c49951005.thop)
c:RegisterEffect(e2)
end
function c49951005.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsReason(REASON_EFFECT)
end
function c49951005.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,sg,sg:GetCount(),0,0)
end
function c49951005.desop(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.Destroy(sg,REASON_EFFECT)
end
function c49951005.spfilter(c,e,tp)
return c:IsSetCard(0x823) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and not c:IsCode(49951005)
end
function c49951005.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c49951005.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) and Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_HAND,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c49951005.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local dg=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_HAND,0,1,1,nil)
if dg:GetCount()==0 then return end
if Duel.Destroy(dg,REASON_EFFECT)~=0 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c49951005.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
end
end
--天知龙 暗黑残星龙 --天知龙 暗黑残星龙
--Lua by Hui_lan, fix by scl
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
local m,cm=rscf.DefineCard(65010552,"TianZhi")
function c65010552.initial_effect(c) function c65010552.initial_effect(c)
--disable --disable
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--天知骑士王 冈格尼尔龙王 --天知骑士王 冈格尼尔龙王
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
local m,cm=rscf.DefineCard(65010554,"TianZhi")
function c65010554.initial_effect(c) function c65010554.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,65010558,c65010554.fusfilter,1,true,true) aux.AddFusionProcCodeFun(c,65010558,c65010554.fusfilter,1,true,true)
......
--天知之翼的骑行 --天知之翼的骑行
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
local m,cm=rscf.DefineCard(65010556,"TianZhi")
function c65010556.initial_effect(c) function c65010556.initial_effect(c)
--activate --activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -23,7 +25,7 @@ function c65010556.initial_effect(c) ...@@ -23,7 +25,7 @@ function c65010556.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c65010556.filter(c,e,tp) function c65010556.filter(c,e,tp)
return (c:IsCode(65010558) or c:IsCode(65010552) or c:IsCode(65010554)) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) return c:CheckSetCard("TianZhi") and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c65010556.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c65010556.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
...@@ -35,7 +37,8 @@ function c65010556.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -35,7 +37,8 @@ function c65010556.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,c65010556.filter,tp,LOCATION_REMOVED,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c65010556.filter,tp,LOCATION_REMOVED,0,1,1,nil,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_DEFENSE)~=0 then if tc and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
--Duel.SpecialSummonStep(g,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER) e1:SetCode(EFFECT_CANNOT_TRIGGER)
...@@ -47,7 +50,7 @@ function c65010556.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,7 +50,7 @@ function c65010556.spop(e,tp,eg,ep,ev,re,r,rp)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetReset(RESET_EVENT+RESETS_REDIRECT) e2:SetReset(RESET_EVENT+RESETS_REDIRECT)
e2:SetValue(LOCATION_DECKBOT) e2:SetValue(LOCATION_DECKBOT)
tc:RegisterEffect(e2) c:RegisterEffect(e2)
end end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
...@@ -59,9 +62,11 @@ function c65010556.filter1(c,e) ...@@ -59,9 +62,11 @@ function c65010556.filter1(c,e)
return not c:IsImmuneToEffect(e) return not c:IsImmuneToEffect(e)
end end
function c65010556.filter2(c,e,tp,m,f,chkf) function c65010556.filter2(c,e,tp,m,f,chkf)
local m2=Duel.GetMatchingGroup(c65010556.filter0,tp,LOCATION_GRAVE,0,nil) if c:CheckSetCard("TianZhi") then
m2:Merge(m) local mg=Duel.GetMatchingGroup(c65010556.filter0,tp,LOCATION_GRAVE,0,nil)
return c:IsType(TYPE_FUSION) and (not f or f(c)) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and (c:CheckFusionMaterial(m,nil,chkf) or (c:IsCode(65010554) and c:CheckFusionMaterial(m2,nil,chkf))) m:Merge(mg)
end
return c:IsType(TYPE_FUSION) and (not f or f(c)) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end end
function c65010556.target(e,tp,eg,ep,ev,re,r,rp,chk) function c65010556.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
......
--天知之翼骑士 --天知之翼骑士
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
local m,cm=rscf.DefineCard(65010558,"TianZhi")
function c65010558.initial_effect(c) function c65010558.initial_effect(c)
--set --set
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -23,7 +25,7 @@ function c65010558.initial_effect(c) ...@@ -23,7 +25,7 @@ function c65010558.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(65010558,1)) e3:SetDescription(aux.Stringid(65010558,1))
e3:SetCategory(CATEGORY_TODECK) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_PHASE+PHASE_STANDBY) e3:SetCode(EVENT_PHASE+PHASE_STANDBY)
e3:SetRange(LOCATION_REMOVED) e3:SetRange(LOCATION_REMOVED)
...@@ -49,7 +51,7 @@ function c65010558.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -49,7 +51,7 @@ function c65010558.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetLabelObject():GetLabel()==Duel.GetTurnCount() and e:GetHandler():GetFlagEffect(65010558)>0 return e:GetLabelObject():GetLabel()==Duel.GetTurnCount() and e:GetHandler():GetFlagEffect(65010558)>0
end end
function c65010558.tdfil(c) function c65010558.tdfil(c)
return c:IsCode(65010556) and c:IsAbleToDeck() return c:CheckSetCard("TianZhi") and c:IsType(TYPE_SPELL) and c:IsAbleToDeck()
end end
function c65010558.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c65010558.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c65010558.tdfil,tp,LOCATION_REMOVED,0,1,nil) and e:GetHandler():IsAbleToDeck() end if chk==0 then return Duel.IsExistingMatchingCard(c65010558.tdfil,tp,LOCATION_REMOVED,0,1,nil) and e:GetHandler():IsAbleToDeck() 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