Commit c47a809f authored by Nemo Ma's avatar Nemo Ma

fix

parent 2ec789c8
No preview for this file type
This source diff could not be displayed because it is too large. You can view the blob instead.
--Real Scl Version - Variable --Real Scl Version - Variable
local Version_Number=20200409 local Version_Number=20200218
local m=10199990 local m=10199990
local vm=10199991 local vm=10199991
rsv={} --"Base Function" rsv={} --"Base Function"
...@@ -21,18 +21,11 @@ rsreset={} --"Reset Function" ...@@ -21,18 +21,11 @@ rsreset={} --"Reset Function"
rshint={} --"Hint Function" rshint={} --"Hint Function"
rsloc={} --"Location Function" rsloc={} --"Location Function"
rsdv="Divide_Variable"
--Info Variable --Info Variable
rsval.valinfo ={} --"Value for inside series, inside type etc." rsef.valinfo ={} --"Value for inside series, inside type etc."
rscost.costinfo ={} --"Cost information, for record cost value" rscost.costinfo ={} --"Cost information, for record cost value"
rsop.opinfo={} --"Operation information, for record something" rsef.targetlist ={} --"Target group list, for rstg.GetTargetAttribute"
rsef.relationinfo={} --"Field,Pendulum,Continous leave field" rsef.attachinfo ={} --"Effect information for attach effects"
rstg.targetlist ={} --"Target group list, for rstg.GetTargetAttribute"
rsef.attacheffect ={} --"Effect information for attach effects"
rsef.attacheffectf ={}
rsef.solveeffect ={}
rsop.baseop={}
rscf.synchro_material_action={} --"Custom syn material's action" rscf.synchro_material_action={} --"Custom syn material's action"
rscf.xyz_material_action={} --"Custom xyz material's action" rscf.xyz_material_action={} --"Custom xyz material's action"
...@@ -58,59 +51,37 @@ rsreset.est_pend= rsreset.est + rsreset.pend ...@@ -58,59 +51,37 @@ rsreset.est_pend= rsreset.est + rsreset.pend
rsreset.ered = RESET_EVENT+RESETS_REDIRECT rsreset.ered = RESET_EVENT+RESETS_REDIRECT
--Code Variable --Code Variable
rscode.Extra_Effect_Activate = m+100 --"Attach Effect" rscode.Extra_Effect = m+100 --"Attach Effect"
rscode.Extra_Effect_BSolve = m+200 rscode.Extra_Effect_FORCE= m+200 --"Attach Effect,Force"
rscode.Extra_Effect_ASolve = m+800 rscode.Summon_Flag = m+300 --"Summon Flag for SummonBuff"
rscode.Phase_Leave_Flag = m+300 --"Summon Flag for SummonBuff"
rscode.Extra_Synchro_Material= m+400 --"Extra Synchro Material" rscode.Extra_Synchro_Material= m+400 --"Extra Synchro Material"
rscode.Extra_Xyz_Material = m+401 --"Extra Xyz Material" rscode.Extra_Xyz_Material = m+401 --"Extra Xyz Material"
rscode.Utility_Xyz_Material = m+500 --"Utility Xyz Material" rscode.Utility_Xyz_Material = m+500 --"Utility Xyz Material"
rscode.Previous_Set_Code = m+600 --"Previous Set Code" rscode.Previous_Set_Code = m+600 --"Previous Set Code"
rscode.Synchro_Material = m+700 --"Record synchro proceudre target" rscode.Synchro_Material = m+700 --"Record synchro proceudre target"
rscode.Pre_Complete_Proc = m+900 --"Previous c:CompleteProcedure"
--Hint Message Variable --Hint Message Variable
rshint.act=aux.Stringid(m,0) --"activate spell/trap" rshint.act=aux.Stringid(m,0) --"activate spell/trap"
rshint.dis=aux.Stringid(38265153,3) --"cards will be disable effects " rshint.dis=aux.Stringid(m,1) --"cards will be disable effects "
rshint.ad=aux.Stringid(m,2) --"cards will be change Atk/Def" rshint.ad=aux.Stringid(m,2) --"cards will be change Atk/Def"
rshint.rtg=aux.Stringid(48976825,0) --"return to grave" rshint.rtg=aux.Stringid(48976825,0) --"return to grave"
rshint.spproc=aux.Stringid(m,4) --"SS by self produce" rshint.spproc=aux.Stringid(m,4) --"SS by self produce"
rshint.negeffect=aux.Stringid(19502505,1) --"negate activation" rshint.negeffect=aux.Stringid(19502505,1) --"negate activation"
rshint.eq=aux.Stringid(68184115,0) --"cards will equip" rshint.eq=aux.Stringid(68184115,0) --"cards will equip"
rshint.te=aux.Stringid(24094258,3) --"add to extra deck" rshint.te=aux.Stringid(24094258,3) --"add to extra deck"
rshint.xyz=HINTMSG_XMATERIAL --"cards will become overlay cards" rshint.xyz=HINTMSG_XMATERIAL --"cards will be overlay cards"
rshint.diseffect=aux.Stringid(39185163,1) --"negate effect" rshint.diseffect=aux.Stringid(39185163,1) --"negate effect"
rshint.negsum=aux.Stringid(m+1,1) --"negate summon" rshint.negsum=aux.Stringid(m+1,1) --"negate summon"
rshint.negsp=aux.Stringid(74892653,0) --"negate special summon" rshint.negsp=aux.Stringid(74892653,0) --"negate special summon"
rshint.darktuner=aux.Stringid(m,14) --"treat as dark tuner" rshint.darktuner=aux.Stringid(m,14) --"treat as dark tuner"
rshint.darksynchro=aux.Stringid(m,15) --"treat as dark synchro" rshint.darksynchro=aux.Stringid(m,15) --"treat as dark synchro"
rshint.choose=aux.Stringid(23912837,1) --"choose 1 effect" rshint.choose=aux.Stringid(23912837,1) --"choose 1 effect"
rshint.epleave=aux.Stringid(m,3) --"end phase leave field"
rshint.finshcopy=aux.Stringid(43387895,1) --"reset copy effect"
rshint.act2=aux.Stringid(m,1) --"select card to activate"
rshint.tgct=aux.Stringid(83531441,2) --"select send to the GY number"
rshint.drct=aux.Stringid(m,5) --"select draw number"
--[[
rshint.isss=aux.Stringid(17535764,1) --"would you SS a monster?"
rshint.istg=aux.Stringid(62834295,2) --"would you send to GY?"
rshint.isdes=aux.Stringid(20590515,2) --"would you destroy?"
rshint.istd=aux.Stringid(m,1) --"would you send to Deck?"
rshint.isrm=aux.Stringid(93191801,2) --"would you reomve?"
rshint.isset=aux.Stringid(m,5) --"would you set?"
rshint.istf=aux.Stringid(m,6) --"would you place to field?"
rshint.isth=aux.Stringid(26118970,1) --"would you send to hand?"
rshint.isrh=aux.Stringid(31102447,2) --"would you return to hand"
rshint.isdr=aux.Stringid(3679218,1) --"would you draw?"
--]]
--Property Variable --Property Variable
rsflag.flaglist = { EFFECT_FLAG_CARD_TARGET,EFFECT_FLAG_PLAYER_TARGET,EFFECT_FLAG_DELAY,EFFECT_FLAG_DAMAGE_STEP,EFFECT_FLAG_DAMAGE_CAL, rsflag.flaglist = { EFFECT_FLAG_CARD_TARGET,EFFECT_FLAG_PLAYER_TARGET,EFFECT_FLAG_DELAY,EFFECT_FLAG_DAMAGE_STEP,EFFECT_FLAG_DAMAGE_CAL,
EFFECT_FLAG_IGNORE_IMMUNE,EFFECT_FLAG_SET_AVAILABLE,EFFECT_FLAG_IGNORE_RANGE,EFFECT_FLAG_SINGLE_RANGE,EFFECT_FLAG_BOTH_SIDE, EFFECT_FLAG_IGNORE_IMMUNE,EFFECT_FLAG_SET_AVAILABLE,EFFECT_FLAG_IGNORE_RANGE,EFFECT_FLAG_SINGLE_RANGE,EFFECT_FLAG_BOTH_SIDE,
EFFECT_FLAG_UNCOPYABLE,EFFECT_FLAG_CANNOT_DISABLE,EFFECT_FLAG_CANNOT_NEGATE,EFFECT_FLAG_CLIENT_HINT,EFFECT_FLAG_LIMIT_ZONE, EFFECT_FLAG_UNCOPYABLE,EFFECT_FLAG_CANNOT_DISABLE,EFFECT_FLAG_CANNOT_NEGATE,EFFECT_FLAG_CLIENT_HINT,EFFECT_FLAG_LIMIT_ZONE,
EFFECT_FLAG_ABSOLUTE_TARGET,EFFECT_FLAG_SPSUM_PARAM, EFFECT_FLAG_ABSOLUTE_TARGET,EFFECT_FLAG_SPSUM_PARAM }
EFFECT_FLAG_EVENT_PLAYER }
rsflag.tg_d = EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY rsflag.tg_d = EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY
rsflag.dsp_d = EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY rsflag.dsp_d = EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY
rsflag.dsp_tg = EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_CARD_TARGET rsflag.dsp_tg = EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_CARD_TARGET
...@@ -132,34 +103,22 @@ rscate.neg_des = CATEGORY_NEGATE+CATEGORY_DESTROY ...@@ -132,34 +103,22 @@ rscate.neg_des = CATEGORY_NEGATE+CATEGORY_DESTROY
rscf.typelist = { TYPE_MONSTER,TYPE_NORMAL,TYPE_EFFECT,TYPE_DUAL,TYPE_UNION,TYPE_TOON,TYPE_TUNER,TYPE_RITUAL,TYPE_FUSION,TYPE_SYNCHRO,TYPE_XYZ,TYPE_LINK,TYPE_TOKEN,TYPE_PENDULUM,TYPE_SPSUMMON,TYPE_FLIP,TYPE_SPIRIT, rscf.typelist = { TYPE_MONSTER,TYPE_NORMAL,TYPE_EFFECT,TYPE_DUAL,TYPE_UNION,TYPE_TOON,TYPE_TUNER,TYPE_RITUAL,TYPE_FUSION,TYPE_SYNCHRO,TYPE_XYZ,TYPE_LINK,TYPE_TOKEN,TYPE_PENDULUM,TYPE_SPSUMMON,TYPE_FLIP,TYPE_SPIRIT,
TYPE_SPELL,TYPE_EQUIP,TYPE_FIELD,TYPE_CONTINUOUS,TYPE_QUICKPLAY, TYPE_SPELL,TYPE_EQUIP,TYPE_FIELD,TYPE_CONTINUOUS,TYPE_QUICKPLAY,
TYPE_TRAP,TYPE_COUNTER,TYPE_TRAPMONSTER } TYPE_TRAP,TYPE_COUNTER,TYPE_TRAPMONSTER }
rscf.extype = TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK rscf.extype = TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_PENDULUM+TYPE_LINK
rscf.extype_r = rscf.extype + TYPE_RITUAL rscf.extype_r = rscf.extype + TYPE_RITUAL
rscf.extype_p = rscf.extype + TYPE_PENDULUM rscf.extype_np = rscf.extype - TYPE_PENDULUM
rscf.extype_rp = rscf.extype + TYPE_RITUAL + TYPE_PENDULUM
rscf.exlist = { TYPE_FUSION,TYPE_SYNCHRO,TYPE_XYZ,TYPE_LINK } rscf.exlist = { TYPE_FUSION,TYPE_SYNCHRO,TYPE_XYZ,TYPE_LINK }
rscf.exlist_r = { TYPE_FUSION,TYPE_SYNCHRO,TYPE_XYZ,TYPE_LINK,TYPE_RITUAL }
rscf.exlist_p = { TYPE_FUSION,TYPE_SYNCHRO,TYPE_XYZ,TYPE_LINK,TYPE_PENDULUM }
rscf.exlist_rp = { TYPE_FUSION,TYPE_SYNCHRO,TYPE_XYZ,TYPE_LINK,TYPE_PENDULUM,TYPE_RITUAL }
--Location Variable --Location Variable
rsloc.hd=LOCATION_HAND+LOCATION_DECK rsloc.hd=LOCATION_HAND+LOCATION_DECK
rsloc.ho=LOCATION_HAND+LOCATION_ONFIELD
rsloc.hg=LOCATION_HAND+LOCATION_GRAVE
rsloc.dg=LOCATION_DECK+LOCATION_GRAVE rsloc.dg=LOCATION_DECK+LOCATION_GRAVE
rsloc.gr=LOCATION_GRAVE+LOCATION_REMOVED rsloc.gr=LOCATION_GRAVE+LOCATION_REMOVED
rsloc.dgr=LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED
rsloc.hdg=LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE rsloc.hdg=LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE
rsloc.de=LOCATION_DECK+LOCATION_EXTRA rsloc.de=LOCATION_DECK+LOCATION_EXTRA
rsloc.mg=LOCATION_MZONE+LOCATION_GRAVE
rsloc.og=LOCATION_ONFIELD+LOCATION_GRAVE
rsloc.hmg=LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE
rsloc.hog=LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE
rsloc.all=0xff 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
rsof.SendtoHand = rsop.SendtoHand rsof.SendtoHand = rsop.SendtoHand
rsof.SendtoDeck = rsop.SendtoDeck rsof.SendtoDeck = rsop.SendtoDeck
rsof.SendtoGrave = rsop.SendtoGrave rsof.SendtoGrave = rsop.SendtoGrave
...@@ -171,34 +130,6 @@ function rsof.Escape_Old_Functions() ...@@ -171,34 +130,6 @@ function rsof.Escape_Old_Functions()
rsof.SelectNumber= rsop.AnnounceNumber rsof.SelectNumber= rsop.AnnounceNumber
rsof.SelectNumber_List= rsop.AnnounceNumber_List rsof.SelectNumber_List= rsop.AnnounceNumber_List
rsof.IsSet = rscf.DefineSet rsof.IsSet = rscf.DefineSet
--some card use old SummonBuff's phase leave field parterment, must fix them in their luas
rssf.SummonBuff=function(attlist,isdis,isdistig,selfleave,phaseleave)
local bufflist={}
if attlist then
for index,par in pairs(attlist) do
if par then
if index==1 then att="atkf" end
if index==2 then att="deff" end
if index==3 then att="lv" end
table.insert(bufflist,att)
table.insert(bufflist,par)
end
end
end
if isdis then
table.insert(bufflist,"dis,dise")
table.insert(bufflist,true)
end
if isdistig then
table.insert(bufflist,"tri")
table.insert(bufflist,true)
end
if selfleave then
table.insert(bufflist,"leave")
table.insert(bufflist,selfleave)
end
return bufflist
end
end end
--Record Author --Record Author
local am=10199992 local am=10199992
local Version_Number=20200323 local Version_Number=20200310
#Scl #Scl
local rsdka = Dakyria local rsdka = Dakyria
local rsdio = Diablo local rsdio = Diablo
...@@ -13,8 +13,6 @@ local rssp = Stellar_Pearl ...@@ -13,8 +13,6 @@ local rssp = Stellar_Pearl
//local rsgd = Ghostdom_Dragon //local rsgd = Ghostdom_Dragon
local rsed = Epic_Dragon local rsed = Epic_Dragon
local rsdh = Devil_Hunter local rsdh = Devil_Hunter
local rsds = Dark_Souls
local rsca = Corona
#Scl - Special Mode #Scl - Special Mode
local rssm = Special_Mode local rssm = Special_Mode
...@@ -27,18 +25,18 @@ local rssmf = Special_Mode_Fast_Duel ...@@ -27,18 +25,18 @@ local rssmf = Special_Mode_Fast_Duel
local rssmm = Special_Mode_Multiple_Duel local rssmm = Special_Mode_Multiple_Duel
local rssmu = Special_Mode_Universal_Duel local rssmu = Special_Mode_Universal_Duel
#Gale 1472676207 #Gale
local rsve = Voison local rsve = Voison
local rsneov= Neons local rsneov= Neons
local tfrsv = T.Fairies local tfrsv = T.Fairies
local rsss = Star_Spirit local rsss = Star_Spirit
#ChiJiang 626386490 #ChiJiang
local rsnm = Nightmare local rsnm = Nightmare
local rslf = Little_Fox local rslf = Little_Fox
local rccv = Thermonuclear local rccv = Thermonuclear
#XiaoMi 643865567 #XiaoMi
local rssg = Sex_Gun local rssg = Sex_Gun
local rsps = Pseudo_Soul local rsps = Pseudo_Soul
local rsdcc = Dragon_Chess_Corps local rsdcc = Dragon_Chess_Corps
...@@ -52,46 +50,29 @@ local rsvw = Virus_Wrom ...@@ -52,46 +50,29 @@ local rsvw = Virus_Wrom
local rsia = Indolent_Angel local rsia = Indolent_Angel
local rsso = Simulated_Organism local rsso = Simulated_Organism
#NianBao 583322404 #NianBao
local rslap = Lapin local rslap = Lapin
local rskh = Karehana
#XiaoDaoHeng 1614895649 #XiaoDaoHeng
local rslrd = Life_DeathRound_Dance local rslrd = Life_DeathRound_Dance
#Huang 1184387005 #Huang
local rsts = Trinity_Sword local rsts = Trinity_Sword
#Luoxing 1151483512 #Luoxing
local rsdt = Dark_Tale local rsdt = Dark_Tale
local rsod = Order local rsod = Order
#YunZeZhun 1587361112 #YunZeZhun
local rsphh = Phantom_Thieves_Of_Hearts local rsphh = Phantom_Thieves_Of_Hearts
local rsgc = Guard_City local rsgc = Guard_City
#ZhenDong #ZhenDong
local rsfv = Fgo/Assassin local rsfv = Fgo/Assassin
#JingJing 1772438857 #JingJing
local rsba = BlueAngel local rsba = BlueAngel
#Akashic 3204027606
local rszg = Zogu
local rsgs = Gran_Sphere
local rsoc = Oligocene_Civilization
local rsgol = Giant_of_Light
local rssb = Space_Beasts
#HeiBai 1172777968
local rstm = Toaru_Majutsu_no_Index
#2558566212
local rsgod = God
#02 1164477469
local rsva = VR_Aqua
--Set Code --Set Code
#Scl #Scl
--local = 0x1330 --local = 0x1330
...@@ -138,9 +119,9 @@ local = 0xc334 ...@@ -138,9 +119,9 @@ local = 0xc334
local Oraclesmith = 0x3335 local Oraclesmith = 0x3335
local DevilHunter = 0x5335 local DevilHunter = 0x5335
local DevilSlayer = 0x6335 local DevilSlayer = 0x6335
local DMC = 0x9335 local = 0x9335
local Ashenone = 0xa335 local = 0xa335
local Cinderlord = 0xc335 local = 0xc335
--local = 0x1336 --local = 0x1336
local = 0x3336 local = 0x3336
......
...@@ -124,7 +124,7 @@ function c113652145.fop(e,tp,eg,ep,ev,re,r,rp) ...@@ -124,7 +124,7 @@ function c113652145.fop(e,tp,eg,ep,ev,re,r,rp)
end end
function c113652145.tgcon(e,tp,eg,ep,ev,re,r,rp) function c113652145.tgcon(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst() local tc=eg:GetFirst()
return eg:GetCount()==1 and tc:IsPreviousLocation(LOCATION_DECK+LOCATION_EXTRA) and tc:IsControler(tp) and tc:IsType(TYPE_MONSTER) return eg:GetCount()==1 and tc:IsPreviousLocation(LOCATION_DECK+LOCATION_EXTRA) and tc:IsControler(tp) and tc:IsType(TYPE_MONSTER) and c:IsFaceup()
end end
function c113652145.tgfilter(c) function c113652145.tgfilter(c)
return c:IsFaceup() and c:IsSetCard(0x23) and c:GetEquipCount()==0 return c:IsFaceup() and c:IsSetCard(0x23) and c:GetEquipCount()==0
......
...@@ -87,7 +87,7 @@ function cm.retop(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,7 +87,7 @@ function cm.retop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.dfilter(c) function cm.dfilter(c)
return c:IsSetCard(0xe6f) and c:IsType(TYPE_MONSTER) and c:IsDiscardable() and c:IsAbleToGraveAsCost() return c:IsSetCard(0xe6f) and c:IsType(TYPE_MONSTER) and c:IsDiscardable()
end end
function cm.descost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() and e:GetHandler():IsAbleToGraveAsCost() if chk==0 then return e:GetHandler():IsDiscardable() and e:GetHandler():IsAbleToGraveAsCost()
......
...@@ -64,7 +64,7 @@ function c118824150.drop(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,7 +64,7 @@ function c118824150.drop(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(p,d,REASON_EFFECT) Duel.Draw(p,d,REASON_EFFECT)
end end
function c118824150.spcostfilter(c) function c118824150.spcostfilter(c)
return c:IsSetCard(0xdd) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck() return c:IsSetCard(0xdd) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeckOrExtraAsCost()
end end
function c118824150.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c118824150.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c118824150.spcostfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end if chk==0 then return Duel.IsExistingMatchingCard(c118824150.spcostfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end
......
...@@ -45,7 +45,7 @@ function c33401309.thop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -45,7 +45,7 @@ function c33401309.thop2(e,tp,eg,ep,ev,re,r,rp)
end end
function c33401309.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c33401309.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(c33401309.matfilter,tp,LOCATION_EXTRA,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c33401309.matfilter,tp,LOCATION_EXTRA,0,1,nil) end
end end
function c33401309.cpop(e,tp,eg,ep,ev,re,r,rp) function c33401309.cpop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -24,7 +24,7 @@ function c79029212.initial_effect(c) ...@@ -24,7 +24,7 @@ function c79029212.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c79029212.lcheck(g) function c79029212.lcheck(g)
return g:IsExists(Card.IsLinkSetCard,1,nil,0xf02) return g:IsExists(Card.IsLinkSetCard,1,nil,0xa900)
end end
function c79029212.lzcon(e,tp,eg,ep,ev,re,r,rp) function c79029212.lzcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
......
...@@ -23,7 +23,7 @@ function c79029213.filter1(c,e) ...@@ -23,7 +23,7 @@ function c79029213.filter1(c,e)
return not c:IsImmuneToEffect(e) return not c:IsImmuneToEffect(e)
end end
function c79029213.filter2(c,e,tp,m,f,chkf) function c79029213.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0xa900) and (not f or f(c)) return c:IsType(TYPE_FUSION) and c:IsSetCard(0xf02) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end end
function c79029213.target(e,tp,eg,ep,ev,re,r,rp,chk) function c79029213.target(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -89,7 +89,7 @@ function c79029213.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -89,7 +89,7 @@ function c79029213.activate(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c79029213.penfilter(c,e,tp) function c79029213.penfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0xa900) return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0xf02)
end end
function c79029213.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c79029213.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
......
--CiNo.101 寂静荣誉方舟骑士·源望 --CiNo.101 寂静荣誉方舟骑士·源望
function c79029525.initial_effect(c) function c79029526.initial_effect(c)
--xyz summon --xyz summon
aux.AddXyzProcedure(c,nil,6,4) aux.AddXyzProcedure(c,nil,6,4)
c:EnableReviveLimit() c:EnableReviveLimit()
...@@ -8,7 +8,7 @@ function c79029525.initial_effect(c) ...@@ -8,7 +8,7 @@ function c79029525.initial_effect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(c79029525.atkval) e1:SetValue(c79029526.atkval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE) e2:SetCode(EFFECT_UPDATE_DEFENSE)
...@@ -20,9 +20,9 @@ function c79029525.initial_effect(c) ...@@ -20,9 +20,9 @@ function c79029525.initial_effect(c)
e3:SetCode(EVENT_FREE_CHAIN) e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1) e3:SetCountLimit(1)
e3:SetCost(c79029525.remct) e3:SetCost(c79029526.remct)
e3:SetTarget(c79029525.remtg) e3:SetTarget(c79029526.remtg)
e3:SetOperation(c79029525.remop) e3:SetOperation(c79029526.remop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--SpecialSummon --SpecialSummon
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -31,9 +31,9 @@ function c79029525.initial_effect(c) ...@@ -31,9 +31,9 @@ function c79029525.initial_effect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_QUICK_O) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_QUICK_O)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e4:SetCode(EVENT_LEAVE_FIELD) e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetCondition(c79029525.spcon) e4:SetCondition(c79029526.spcon)
e4:SetTarget(c79029525.sptg) e4:SetTarget(c79029526.sptg)
e4:SetOperation(c79029525.spop) e4:SetOperation(c79029526.spop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--operator --operator
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
...@@ -41,53 +41,53 @@ function c79029525.initial_effect(c) ...@@ -41,53 +41,53 @@ function c79029525.initial_effect(c)
e5:SetCategory(CATEGORY_SPECIAL_SUMMON) e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_DAMAGE_STEP_END) e5:SetCode(EVENT_DAMAGE_STEP_END)
e5:SetTarget(c79029525.sptg1) e5:SetTarget(c79029526.sptg1)
e5:SetOperation(c79029525.spop1) e5:SetOperation(c79029526.spop1)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
c79029525.xyz_number=101 c79029526.xyz_number=101
function c79029525.atkval(e,c) function c79029526.atkval(e,c)
return c:GetOverlayCount()*500 return c:GetOverlayCount()*500
end end
function c79029525.remct(e,tp,eg,ep,ev,re,r,rp,chk) function c79029526.remct(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
local x=c:GetOverlayCount() local x=c:GetOverlayCount()
if chk==0 then return c:CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return c:CheckRemoveOverlayCard(tp,1,REASON_COST) end
c:RemoveOverlayCard(tp,x,x,REASON_COST) c:RemoveOverlayCard(tp,x,x,REASON_COST)
end end
function c79029525.remtg(e,tp,eg,ep,ev,re,r,rp,chk) function c79029526.remtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,0,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,0,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE)
end end
function c79029525.remop(e,tp,eg,ep,ev,re,r,rp) function c79029526.remop(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil) local g1=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
local g2=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_GRAVE,nil) local g2=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_GRAVE,nil)
local g3=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_HAND,nil) local g3=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_HAND,nil)
local sg=Group.CreateGroup() local sg=Group.CreateGroup()
if g1:GetCount()>0 and ((g2:GetCount()==0 and g3:GetCount()==0) or Duel.SelectYesNo(tp,aux.Stringid(79029525,1))) then if g1:GetCount()>0 and ((g2:GetCount()==0 and g3:GetCount()==0) or Duel.SelectYesNo(tp,aux.Stringid(79029526,1))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT)
local sg1=g1:Select(tp,1,1,nil) local sg1=g1:Select(tp,1,1,nil)
Duel.HintSelection(sg1) Duel.HintSelection(sg1)
sg:Merge(sg1) sg:Merge(sg1)
end end
if g2:GetCount()>0 and ((sg:GetCount()==0 and g3:GetCount()==0) or Duel.SelectYesNo(tp,aux.Stringid(79029525,2))) then if g2:GetCount()>0 and ((sg:GetCount()==0 and g3:GetCount()==0) or Duel.SelectYesNo(tp,aux.Stringid(79029526,2))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg2=g2:Select(tp,1,1,nil) local sg2=g2:Select(tp,1,1,nil)
Duel.HintSelection(sg2) Duel.HintSelection(sg2)
sg:Merge(sg2) sg:Merge(sg2)
end end
if g3:GetCount()>0 and (sg:GetCount()==0 or Duel.SelectYesNo(tp,aux.Stringid(79029525,3))) then if g3:GetCount()>0 and (sg:GetCount()==0 or Duel.SelectYesNo(tp,aux.Stringid(79029526,3))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg3=g3:RandomSelect(tp,1) local sg3=g3:RandomSelect(tp,1)
sg:Merge(sg3) sg:Merge(sg3)
end end
Duel.Overlay(e:GetHandler(),sg) Duel.Overlay(e:GetHandler(),sg)
end end
function c79029525.spcon(e,tp,eg,ep,ev,re,r,rp) function c79029526.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:GetOverlayCount()>0 return c:IsPreviousLocation(LOCATION_MZONE) and c:GetOverlayCount()>0
end end
function c79029525.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c79029526.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,true) end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
...@@ -96,35 +96,35 @@ function c79029525.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -96,35 +96,35 @@ function c79029525.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetTargetParam(rec) Duel.SetTargetParam(rec)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,rec) Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,rec)
end end
function c79029525.spop(e,tp,eg,ep,ev,re,r,rp) function c79029526.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP)>0 then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP)>0 then
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT) Duel.Recover(p,d,REASON_EFFECT)
if not Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_EXTRA,0,1,nil) then return end if not Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_EXTRA,0,1,nil) then return end
if Duel.SelectYesNo(tp,aux.Stringid(79029525,4)) then if Duel.SelectYesNo(tp,aux.Stringid(79029526,4)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT)
local g1=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_EXTRA,0,1,1,nil,e,tp) local g1=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
Duel.Overlay(e:GetHandler(),g1) Duel.Overlay(e:GetHandler(),g1)
end end
end end
end end
function c79029525.spfilter(c,e,tp) function c79029526.spfilter(c,e,tp)
return c:IsSetCard(0xf02) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0xa900) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c79029525.sptg1(e,tp,eg,ep,ev,re,r,rp,chk) function c79029526.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c79029525.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c79029526.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK)
end end
function c79029525.spop1(e,tp,eg,ep,ev,re,r,rp) function c79029526.spop1(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<=0 then return end if ft<=0 then return end
if ft>2 then ft=2 end if ft>2 then ft=2 end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c79029525.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,ft,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c79029526.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,ft,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
......
...@@ -14,7 +14,7 @@ function cm.initial_effect(c) ...@@ -14,7 +14,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,1)) e3:SetDescription(aux.Stringid(m,1))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE+CATEGORY_ATKCHANGE+CATEGORY_FUSION_SUMMON) e3:SetCategory(CATEGORY_DECKDES+CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE+CATEGORY_ATKCHANGE+CATEGORY_FUSION_SUMMON)
e3:SetType(EFFECT_TYPE_QUICK_O) e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_FREE_CHAIN) e3:SetCode(EVENT_FREE_CHAIN)
......
...@@ -247,6 +247,45 @@ ...@@ -247,6 +247,45 @@
!setname 0xaf2 斯菲亚 !setname 0xaf2 斯菲亚
!setname 0xaf3 超古代 !setname 0xaf3 超古代
衾翼 0x900~0x90f
!setname 0xa900 干员 Arknights
!setname 0xa901 近卫干员 Arknights
!setname 0xa902 医疗干员
!setname 0xa903 先锋干员
!setname 0xa904 特种干员
!setname 0xa905 术士干员
!setname 0xa906 狙击干员
!setname 0xa907 重装干员
!setname 0xa908 辅助干员
!setname 0xa90f 据点
!setname 0xb90f 部署
!setname 0xc90f 行动
!setname 0xd90f 技能释放形态
!setname 0x1901 罗德岛
!setname 0x1902 企鹅物流
!setname 0x1903 乌萨斯
!setname 0x1904 黑钢国际
!setname 0x1905 龙门
!setname 0x1906 喀兰贸易
!setname 0x1907 莱茵生命
!setname 0x1908 深海猎人
!setname 0x2909 使徒
!setname 0x1909 卡西米尔
!setname 0x2901 拉特兰
!setname 0x2902 维多利亚
!setname 0x2903 炎国
!setname 0x3900 整合运动
!setname 0x3901 源石虫
!setname 0x3909 危机合约
!setname 0x3902 萨卡兹
!setname 0x3903 无人机
!setname 0x3908 领袖
!setname 0x3904 宿主
#TYGOC Submissions #TYGOC Submissions
#Desruc_6872 987 #Desruc_6872 987
......
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