Commit 57555171 authored by Nemo Ma's avatar Nemo Ma

update 1027

updated 400+ cards
parent 1a4b65e7
...@@ -56,6 +56,27 @@ ...@@ -56,6 +56,27 @@
31401002 0 --化生腮鱼石,系列剑指wd环境,按此表ban即可 31401002 0 --化生腮鱼石,系列剑指wd环境,按此表ban即可
31400049 1 --岩热炎龙机,不建议在std让炎龙机无限互相拉 31400049 1 --岩热炎龙机,不建议在std让炎龙机无限互相拉
31400045 1 --命莲托生,定位是类似死苏的泛用卡 31400045 1 --命莲托生,定位是类似死苏的泛用卡
#wild
130005101 0
130005102 0
130005103 0
130005104 0
130005105 0
130005106 0
130005107 0
130005108 0
130005109 0
130005110 0
130005111 0
130005112 0
130005113 0
130005114 0
130005115 0
130005116 0
130005117 0
130005118 0
130005119 0
130005120 0
# #
72100104 0 72100104 0
72100025 0 72100025 0
......
No preview for this file type
expansions/pics/33400902.jpg

261 KB | W: | H:

expansions/pics/33400902.jpg

258 KB | W: | H:

expansions/pics/33400902.jpg
expansions/pics/33400902.jpg
expansions/pics/33400902.jpg
expansions/pics/33400902.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/33400903.jpg

285 KB | W: | H:

expansions/pics/33400903.jpg

279 KB | W: | H:

expansions/pics/33400903.jpg
expansions/pics/33400903.jpg
expansions/pics/33400903.jpg
expansions/pics/33400903.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/33400905.jpg

243 KB | W: | H:

expansions/pics/33400905.jpg

248 KB | W: | H:

expansions/pics/33400905.jpg
expansions/pics/33400905.jpg
expansions/pics/33400905.jpg
expansions/pics/33400905.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40009110.jpg

51.1 KB | W: | H:

expansions/pics/40009110.jpg

48.1 KB | W: | H:

expansions/pics/40009110.jpg
expansions/pics/40009110.jpg
expansions/pics/40009110.jpg
expansions/pics/40009110.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/79029328.jpg

54.7 KB | W: | H:

expansions/pics/79029328.jpg

54.6 KB | W: | H:

expansions/pics/79029328.jpg
expansions/pics/79029328.jpg
expansions/pics/79029328.jpg
expansions/pics/79029328.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910024.jpg

51.6 KB | W: | H:

expansions/pics/9910024.jpg

51.1 KB | W: | H:

expansions/pics/9910024.jpg
expansions/pics/9910024.jpg
expansions/pics/9910024.jpg
expansions/pics/9910024.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910077.jpg

47.8 KB | W: | H:

expansions/pics/9910077.jpg

48.8 KB | W: | H:

expansions/pics/9910077.jpg
expansions/pics/9910077.jpg
expansions/pics/9910077.jpg
expansions/pics/9910077.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910294.jpg

52.6 KB | W: | H:

expansions/pics/9910294.jpg

52.7 KB | W: | H:

expansions/pics/9910294.jpg
expansions/pics/9910294.jpg
expansions/pics/9910294.jpg
expansions/pics/9910294.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910618.jpg

42.6 KB | W: | H:

expansions/pics/9910618.jpg

42.5 KB | W: | H:

expansions/pics/9910618.jpg
expansions/pics/9910618.jpg
expansions/pics/9910618.jpg
expansions/pics/9910618.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910628.jpg

47 KB | W: | H:

expansions/pics/9910628.jpg

47 KB | W: | H:

expansions/pics/9910628.jpg
expansions/pics/9910628.jpg
expansions/pics/9910628.jpg
expansions/pics/9910628.jpg
  • 2-up
  • Swipe
  • Onion skin
--version 20.08.25 --version 20.10.11
if not pcall(function() require("expansions/script/c10199991") end) then require("script/c10199991") end if not pcall(function() require("expansions/script/c10199991") end) then require("script/c10199991") end
local m=10199990 local m=10199990
local vm=10199991 local vm=10199991
local Version_Number=20200825 local Version_Number=20201011
if rsv.Library_Switch then return end
rsv.Library_Switch = true
-----------------------"Part_Effect_Base"----------------------- -----------------------"Part_Effect_Base"-----------------------
--Creat "EVENT_SET" --Creat Event
function rsef.CreatEvent_Set() function rsef.CreatEvent(event_code,event1,con1,...)
if rsef.CreatEvent_Set_Switch then return end rsef.CreatEvent_Switch = rsef.CreatEvent_Switch or {}
rsef.CreatEvent_Set_Switch=true if rsef.CreatEvent_Switch[event_code] then return end
local e1=rsef.FC({true,0},EVENT_MSET) rsef.CreatEvent_Switch[event_code]=true
e1:SetOperation(rsop.CreatEvent_Set) local creat_list={event1,con1,...}
local e2=rsef.RegisterClone({true,0},e1,"code",EVENT_SSET) local eff_list={}
local e3=rsef.RegisterClone({true,0},e1,"code",EVENT_SPSUMMON_SUCCESS,"con",rscon.CreatEvent_Set) for idx,val in pairs(creat_list) do
local e4=rsef.RegisterClone({true,0},e3,"code",EVENT_CHANGE_POS) if type(val)=="number" then
return e1,e2,e3,e4 local e1=rsef.FC({true,0},val)
end e1:SetOperation(rsop.CreatEvent(creat_list[idx+1],event_code))
function rsop.CreatEvent_Set(e,tp,eg,ep,ev,re,r,rp) table.insert(eff_list,e1)
local sg=eg:Filter(Card.IsFacedown,nil) end
Duel.RaiseEvent(sg,rscode.Set,re,r,rp,ep,ev) end
return table.unpack(eff_list)
end
function rsop.CreatEvent(con,event_code)
return function(e,tp,eg,ep,ev,re,r,rp)
con = con or aux.TRUE
local res,sg=con(e,tp,eg,ep,ev,re,r,rp)
if not res then return end
sg = sg or eg
Duel.RaiseEvent(sg,event_code,re,r,rp,ep,ev)
for tc in aux.Next(sg) do for tc in aux.Next(sg) do
Duel.RaiseSingleEvent(tc,rscode.Set,re,r,rp,ep,ev) Duel.RaiseSingleEvent(tc,event_code,re,r,rp,ep,ev)
end
end end
end end
--Creat "EVENT_SET"
function rsef.CreatEvent_Set()
return rsef.CreatEvent(rscode.Set,EVENT_MSET,nil,EVENT_SSET,nil,EVENT_SPSUMMON_SUCCESS,rscon.CreatEvent_Set,EVENT_CHANGE_POS,rscon.CreatEvent_Set)
end
function rscon.CreatEvent_Set(e,tp,eg,ep,ev,re,r,rp) function rscon.CreatEvent_Set(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Card.IsFacedown,1,nil) local sg=eg:Filter(Card.IsFacedown,nil)
return #sg>0,sg
end end
--Effect: Get default hint string for Duel.Hint ,use in effect target --Effect: Get default hint string for Duel.Hint ,use in effect target
function rsef.GetDefaultHintString(cate_list,loc_self,loc_oppo,hint_list) function rsef.GetDefaultHintString(cate_list,loc_self,loc_oppo,hint_list)
if hint_list then if hint_list then
...@@ -753,14 +769,14 @@ function rsef.FV_INDESTRUCTABLE(reg_list,inds_list,val_list,tg,tg_range_list,con ...@@ -753,14 +769,14 @@ function rsef.FV_INDESTRUCTABLE(reg_list,inds_list,val_list,tg,tg_range_list,con
end end
--Field Val Effect: Other Limit --Field Val Effect: Other Limit
function rsef.FV_LIMIT(reg_list,lim_list,val_list,tg,tg_range_list,con,reset_list,flag,desc_list) function rsef.FV_LIMIT(reg_list,lim_list,val_list,tg,tg_range_list,con,reset_list,flag,desc_list)
local code_list_1={"dis","dise","tri","atk","atkan","datk","res","ress","resns","td","th","cp","cpe","ctrl"} local code_list_1={"dis","dise","tri","atk","atkan","datk","res","ress","resns","td","th","cp","cpe","ctrl","distm"}
local code_list_2={ EFFECT_DISABLE,EFFECT_DISABLE_EFFECT,EFFECT_CANNOT_TRIGGER,EFFECT_CANNOT_ATTACK,EFFECT_CANNOT_ATTACK_ANNOUNCE,EFFECT_CANNOT_DIRECT_ATTACK,EFFECT_CANNOT_RELEASE,EFFECT_UNRELEASABLE_SUM,EFFECT_UNRELEASABLE_NONSUM,EFFECT_CANNOT_TO_DECK,EFFECT_CANNOT_TO_HAND,EFFECT_CANNOT_CHANGE_POSITION,EFFECT_CANNOT_CHANGE_POS_E,EFFECT_CANNOT_CHANGE_CONTROL } local code_list_2={ EFFECT_DISABLE,EFFECT_DISABLE_EFFECT,EFFECT_CANNOT_TRIGGER,EFFECT_CANNOT_ATTACK,EFFECT_CANNOT_ATTACK_ANNOUNCE,EFFECT_CANNOT_DIRECT_ATTACK,EFFECT_CANNOT_RELEASE,EFFECT_UNRELEASABLE_SUM,EFFECT_UNRELEASABLE_NONSUM,EFFECT_CANNOT_TO_DECK,EFFECT_CANNOT_TO_HAND,EFFECT_CANNOT_CHANGE_POSITION,EFFECT_CANNOT_CHANGE_POS_E,EFFECT_CANNOT_CHANGE_CONTROL,EFFECT_DISABLE_TRAPMONSTER }
local code_list,val_list2=rsof.Table_Suit(lim_list,code_list_1,code_list_2,val_list) local code_list,val_list2=rsof.Table_Suit(lim_list,code_list_1,code_list_2,val_list)
local eff_list={} local eff_list={}
local range=rsef.GetRegisterRange(reg_list) local range=rsef.GetRegisterRange(reg_list)
if not tg_range_list then tg_range_list={ 0,LOCATION_MZONE } end if not tg_range_list then tg_range_list={ 0,LOCATION_MZONE } end
for idx,eff_code in ipairs(code_list) do for idx,eff_code in ipairs(code_list) do
local flag2=rsef.GetRegisterProperty(flag)|EFFECT_FLAG_SET_AVAILABLE local flag2=rsef.GetRegisterProperty(flag)--|EFFECT_FLAG_SET_AVAILABLE
flag2=eff_code==EFFECT_CANNOT_CHANGE_POSITION and flag2 or flag2|EFFECT_FLAG_IGNORE_IMMUNE flag2=eff_code==EFFECT_CANNOT_CHANGE_POSITION and flag2 or flag2|EFFECT_FLAG_IGNORE_IMMUNE
local e1=rsef.FV(reg_list,eff_code,val_list2[idx],tg,tg_range_list,range,con,reset_list,flag2,desc_list) local e1=rsef.FV(reg_list,eff_code,val_list2[idx],tg,tg_range_list,range,con,reset_list,flag2,desc_list)
table.insert(eff_list,e1) table.insert(eff_list,e1)
...@@ -1170,7 +1186,7 @@ function rsef.FC_AttachEffect_ChangeOp2(baseop) ...@@ -1170,7 +1186,7 @@ function rsef.FC_AttachEffect_ChangeOp2(baseop)
end end
--Effect Function:XXX card/group will leave field in XXX Phase , often use in special summon --Effect Function:XXX card/group will leave field in XXX Phase , often use in special summon
function rsef.FC_PHASELEAVE(reg_list,sg,times,whos,phase,leaveway,reset_list) function rsef.FC_PHASELEAVE(reg_list,leave_val,times,whos,phase,leaveway,reset_list)
--times: nil every phase --times: nil every phase
-- 0 next phase -- 0 next phase
-- 1 or + times phase -- 1 or + times phase
...@@ -1189,6 +1205,7 @@ function rsef.FC_PHASELEAVE(reg_list,sg,times,whos,phase,leaveway,reset_list) ...@@ -1189,6 +1205,7 @@ function rsef.FC_PHASELEAVE(reg_list,sg,times,whos,phase,leaveway,reset_list)
if times==0 and whos==1 and turnp~=tp then if times==0 and whos==1 and turnp~=tp then
times=cphase<=phase and 2 or 1 times=cphase<=phase and 2 or 1
end end
local sg = rsgf.Mix2(leave_val)
local fid=reg_owner:GetFieldID() local fid=reg_owner:GetFieldID()
for tc in aux.Next(sg) do for tc in aux.Next(sg) do
tc:RegisterFlagEffect(rscode.Phase_Leave_Flag,rsreset.est+RESET_PHASE+phase,0,0,fid) tc:RegisterFlagEffect(rscode.Phase_Leave_Flag,rsreset.est+RESET_PHASE+phase,0,0,fid)
...@@ -1496,21 +1513,26 @@ function rstg.negsumtg(way_str) ...@@ -1496,21 +1513,26 @@ function rstg.negsumtg(way_str)
end end
--Effect target: Target Cards Main Set --Effect target: Target Cards Main Set
--effect parameter table main set --effect parameter table main set
function rsef.list(list_type_str,parameter1,...) --warning:
--bugs in {{A,B,C},{A2,B2,C2}},{A3,B3,C3} ,plz use {A3,B3,C3},{{A,B,C},{A2,B2,C2}}
--bugs in {filter,nil,loc},{filter,nil,loc} , plz use "" no nil
function rsef.list(list_type_str,...)
--{cfilter,gfilter}, if you use table, gfilter must be function, if you use gfilter, loc_self must be number !!!!!!!!! --{cfilter,gfilter}, if you use table, gfilter must be function, if you use gfilter, loc_self must be number !!!!!!!!!
local parameter2,parameter3=({...})[1],({...})[2] local parameter1,parameter2,parameter3=({...})[1],({...})[2],({...})[3]
local mix_list={parameter1,...} local mix_list={...}
local len=#mix_list local len=select('#', ...)
local target_list_total={} local target_list_total={}
--1. cfilter,category,loc_self --1. cfilter,category,loc_self
if type(parameter1)~="table" then if type(parameter1)~="table" then
target_list_total={{parameter1,...}} target_list_total={{...}}
--2. { cfilter,gfilter }, { category_fun,category_str,sel_hint } ,loc_self --2. { cfilter,gfilter }, { category_fun,category_str,sel_hint } ,loc_self
elseif type(parameter1)=="table" and len>1 and type(parameter1[1])=="function" and (type(parameter1[2])=="nil" or type(parameter1[2])=="function") and (type(parameter1[2])~="function" or type(parameter3)=="number") then elseif
target_list_total={{parameter1,...}} type(parameter1)=="table" and type(parameter1[1])=="function" and type(parameter1[2])=="function" and type(parameter3)=="number" then
target_list_total={{...}}
--3. {A,B,C},{{D,E,F}} OR {A,B,C},{D,E,F} OR {{A,B,C}},{D,E,F}, to {{A,B,C},{D,E,F}} --3. {A,B,C},{{D,E,F}} OR {A,B,C},{D,E,F} OR {{A,B,C}},{D,E,F}, to {{A,B,C},{D,E,F}}
else else
for _,mix_parammeter in pairs(mix_list) do for _,mix_parammeter in pairs(mix_list) do
--Debug.Message(#mix_parammeter[1])
if rsof.Check_Boolean(mix_parammeter[0],true) then if rsof.Check_Boolean(mix_parammeter[0],true) then
for idx,mix_parammeter2 in pairs(mix_parammeter) do for idx,mix_parammeter2 in pairs(mix_parammeter) do
if idx~=0 then if idx~=0 then
...@@ -1518,6 +1540,7 @@ function rsef.list(list_type_str,parameter1,...) ...@@ -1518,6 +1540,7 @@ function rsef.list(list_type_str,parameter1,...)
end end
end end
else else
mix_parammeter[2]=mix_parammeter[2] or ""
table.insert(target_list_total,mix_parammeter) table.insert(target_list_total,mix_parammeter)
end end
end end
...@@ -1573,7 +1596,7 @@ function rsop.target2(endfun,...) ...@@ -1573,7 +1596,7 @@ function rsop.target2(endfun,...)
return rstg.target2(endfun,rsop.list(...)) return rstg.target2(endfun,rsop.list(...))
end end
function rsop.target3(checkfun,...) function rsop.target3(checkfun,...)
return rstg.target2(checkfun,rsop.list(...)) return rstg.target3(checkfun,rsop.list(...))
end end
--Target function: Get target attributes --Target function: Get target attributes
function rstg.GetTargetAttribute(e,tp,eg,ep,ev,re,r,rp,target_list) function rstg.GetTargetAttribute(e,tp,eg,ep,ev,re,r,rp,target_list)
...@@ -1849,12 +1872,12 @@ function rstg.TargetSelect(e,tp,eg,ep,ev,re,r,rp,target_list_total) ...@@ -1849,12 +1872,12 @@ function rstg.TargetSelect(e,tp,eg,ep,ev,re,r,rp,target_list_total)
if not is_player then if not is_player then
info_count = type(minct)=="number" and minct or #selected_group info_count = type(minct)=="number" and minct or #selected_group
end end
if aux.GetValueType(selected_group)~="Group" then if aux.GetValueType(selected_group)~="Group" or category==CATEGORY_HANDES then
if (type(loc_self)=="number" and loc_self>0) and (type(loc_oppo)=="number" and loc_oppo>0) then if (type(loc_self)=="number" and loc_self>0) and (type(loc_oppo)=="number" and loc_oppo>0) then
info_player = PLAYER_ALL info_player = PLAYER_ALL
elseif (type(loc_self)=="number" and loc_self>0) and (type(loc_oppo)~="number" or loc_oppo<=0) then elseif (type(loc_self)=="number" and loc_self>0) and (type(loc_oppo)~="number" or loc_oppo<=0) then
info_player = tp info_player = tp
elseif (type(loc_self)=="number" or loc_self<=0) and (type(loc_oppo)=="number" and loc_oppo>0) then elseif (type(loc_self)~="number" or loc_self<=0) and (type(loc_oppo)=="number" and loc_oppo>0) then
info_player = 1-tp info_player = 1-tp
end end
end end
...@@ -3675,20 +3698,63 @@ function rssf.EnableSpecialProcedure_Op(e,tp) ...@@ -3675,20 +3698,63 @@ function rssf.EnableSpecialProcedure_Op(e,tp)
aux.AddXyzProcedure=rscf.GetBaseXyzProduce1 aux.AddXyzProcedure=rscf.GetBaseXyzProduce1
aux.AddXyzProcedureLevelFree=rscf.GetBaseXyzProduce2 aux.AddXyzProcedureLevelFree=rscf.GetBaseXyzProduce2
aux.AddLinkProcedure=rscf.GetBaseLinkProduce1 aux.AddLinkProcedure=rscf.GetBaseLinkProduce1
Card.RegisterEffect=rscf.RegisterEffect2
local e1=Effect.GlobalEffect()
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTarget(rssf.EnableSpecialProcedure_Op_regop)
e1:SetTargetRange(1,1)
Duel.RegisterEffect(e1,0)
for tc in aux.Next(g) do for tc in aux.Next(g) do
--Method ResetEffect/ReplaceEffect will cause issue at Raise Event tc:IsSpecialSummonable()
tc:ReplaceEffect(80316585,0) local cid=tc:CopyEffect(tc:GetOriginalCode(),0,1)
local mt=getmetatable(tc)
if mt.initial_effect then
mt.initial_effect(tc)
end
end end
aux.AddSynchroProcedure=f6 aux.AddSynchroProcedure=f6
aux.AddSynchroMixProcedure=f7 aux.AddSynchroMixProcedure=f7
aux.AddXyzProcedure=f8 aux.AddXyzProcedure=f8
aux.AddXyzProcedureLevelFree=f9 aux.AddXyzProcedureLevelFree=f9
aux.AddLinkProcedure=f10 aux.AddLinkProcedure=f10
Card.RegisterEffect=rscf.RegisterEffect
e:Reset() e:Reset()
end
function rssf.EnableSpecialProcedure_Op_regop(e,c,tp,st,sp,stp,se)
if not c:IsType(rscf.extype) then return false end
rscf.ssproce[c] = rscf.ssproce[c] or {[1]={},[2]={}}
if se and se:GetCode()==EFFECT_SPSUMMON_PROC and not rsof.Table_List(rscf.ssproce[c][1],se) then
c:RegisterFlagEffect(rscode.Special_Procedure,0,0,1)
table.insert(rscf.ssproce[c][1],se)
table.insert(rscf.ssproce[c][1],se:GetCondition() or aux.TRUE)
end
if se and rscf.ssproce[se] then return false end
return se and se:GetCode()==EFFECT_SPSUMMON_PROC
end
rscf.RegisterEffect=Card.RegisterEffect
function rscf.RegisterEffect2(c,e,ignore)
rscf.ssproce[c] = rscf.ssproce[c] or {[1]={},[2]={}}
if e:GetCode()==EFFECT_SPSUMMON_PROC then
local flag1,flag2=e:GetProperty()
local flag1_uc = flag1
if flag1 & EFFECT_FLAG_UNCOPYABLE ~=0 then
flag1_uc = flag1 - EFFECT_FLAG_UNCOPYABLE
end
e:SetProperty(flag1_uc,flag2)
rscf.RegisterEffect(c,e,ignore)
e:SetProperty(flag1,flag2)
rscf.ssproce[e]=true
table.insert(rscf.ssproce[c][2],e)
table.insert(rscf.ssproce[c][2],e:GetCondition() or aux.TRUE)
end
return
end
function rscf.SwitchSpecialProcedure_filter(c)
return c:GetFlagEffect(rscode.Special_Procedure)>0
end
function rssf.SwitchSpecialProcedure(dis_idx,enb_idx)
end end
function rscf.GetBaseSynchroProduce1(c,f1,f2,minc,maxc) function rscf.GetBaseSynchroProduce1(c,f1,f2,minc,maxc)
if c.dark_synchro==true then if c.dark_synchro==true then
......
--煌武院的外包
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
\ No newline at end of file
--唤士的幼龙-嘉儿
if not pcall(function() require("expansions/script/c130001000") end) then require("script/c130001000") end
local m,cm=rscf.DefineCard(130005101,"DragonCaller")
if rsdc then return end
rsdc = cm
rscf.DefineSet(rsdc,"DragonCaller")
function rsdc.SynchroFun(c,code,att,cate,cost,tg,op,limit)
c:EnableReviveLimit()
aux.AddSynchroProcedure(c,rsdc.IsSet,aux.FilterBoolFunction(Card.IsAttribute,att),1)
local e1=rsef.QO(c,nil,{m,2},nil,"sp",nil,LOCATION_EXTRA,nil,rscost.cost({cm.resfilter,cm.resgcheck},"res",LOCATION_HAND+LOCATION_MZONE,0,2,2),rsop.target3(cm.checkfun,rscf.spfilter(),"sp"),cm.synop)
e1:SetLabel(att)
local e2=rsef.QO(c,nil,{m,2},{1,code},"sp",nil,LOCATION_GRAVE,nil,rscost.cost(cm.resfilter2,"res",LOCATION_HAND+LOCATION_MZONE),rsop.target(rscf.spfilter2(),"sp"),cm.synop)
e2:SetLabel(att)
local e3=rsef.STO(c,EVENT_SPSUMMON_SUCCESS,{code,0},{1,code+100},cate,"de",nil,cost,cm.synsptg(tg,limit),op)
return e1,e2,e3
end
function cm.checkfun(e,tp)
return not e:GetHandler():IsStatus(STATUS_CHAINING)
end
function cm.resfilter(c,e,tp)
return (rsdc.IsSetM(c) or c:IsAttribute(e:GetLabel())) and c:IsReleasable()
end
function cm.resgcheck(g,e,tp)
return Duel.GetLocationCountFromEx(tp,tp,g,e:GetHandler())>0
end
function cm.synop(e,tp)
local c=rscf.GetSelf(e)
if c then rssf.SpecialSummon(c) end
end
function cm.resfilter2(c,e,tp)
return (rsdc.IsSetM(c) or c:IsAttribute(e:GetLabel())) and c:IsReleasable() and Duel.GetMZoneCount(tp,c,tp)>0
end
function cm.synsptg(tg,limit)
return function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not tg or tg(e,tp,eg,ep,ev,re,r,rp,0) end
if tg then
tg(e,tp,eg,ep,ev,re,r,rp,1)
end
if limit then
Duel.SetChainLimit(cm.chainlimit(e:GetHandler(),limit))
end
end
end
function cm.chainlimit(c,limit)
return function(e,rp,tp)
return tp==rp or not limit(c,e:GetHandler(),e)
end
end
function rsdc.HandActFun(c)
--act in hand
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e1:SetCondition(cm.handcon)
c:RegisterEffect(e1)
return e1
end
function cm.handcon(e)
return Duel.GetMatchingGroupCount(Card.IsType,e:GetHandlerPlayer(),LOCATION_ONFIELD,0,nil,TYPE_SPELL+TYPE_TRAP)
end
------------------------------------
function cm.initial_effect(c)
local e1=rsef.SV_ADD(c,"att",ATTRIBUTE_WATER+ATTRIBUTE_FIRE+ATTRIBUTE_WIND)
local e2=rsef.STO(c,EVENT_SUMMON_SUCCESS,{m,0},{1,m},"lv","de,tg",nil,nil,rstg.target2(cm.fun,cm.lvfilter,nil,LOCATION_MZONE),cm.lvop)
local e3=rsef.RegisterClone(c,e2,"code",EVENT_SPSUMMON_SUCCESS)
local e4=rsef.STO(c,EVENT_RELEASE,{m,1},{1,m+100},"se,th","de",nil,nil,rsop.target(cm.thfilter,"th",LOCATION_DECK),cm.thop)
end
function cm.thfilter(c)
return rsdc.IsSetM(c) and not c:IsCode(m) and c:IsAbleToHand()
end
function cm.thop(e,tp)
rsop.SelectToHand(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil,{})
end
function cm.lvfilter(c)
return not c:IsCode(m) and c:IsFaceup() and c:IsAttribute(ATTRIBUTE_EARTH+ATTRIBUTE_WATER+ATTRIBUTE_FIRE+ATTRIBUTE_WIND) and c:IsLevelAbove(1)
end
function cm.fun(g,e,tp)
local lv=g:GetFirst():GetLevel()
e:SetLabel(Duel.AnnounceLevel(tp,1,7,lv))
end
function cm.lvop(e,tp)
local tc=rscf.GetTargetCard(Card.IsFaceup)
local lv=e:GetLabel()
if not tc then return end
rsef.SV_CHANGE({e:GetHandler(),tc},"lv",lv,nil,rsreset.est_pend)
end
\ No newline at end of file
--唤士的观测者-尤拉
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005102,"DragonCaller")
function cm.initial_effect(c)
local e1=rsef.SV_CANNOT_BE_TARGET(c,"effect",aux.tgoval)
local e2=rsef.QO(c,nil,{m,0},{1,m},"sp",nil,LOCATION_HAND,nil,rscost.cost(Card.IsDiscardable,"dish",LOCATION_HAND,0,1,1,c),rsop.target({rscf.spfilter2(),"sp"},{cm.spfilter,"sp",LOCATION_DECK }),cm.spop)
local e3=rsef.STO(c,EVENT_RELEASE,{m,1},{1,m+100},"sp","tg,de",nil,nil,rstg.target(rscf.spfilter2(rsdc.IsSetM),"sp",LOCATION_GRAVE),cm.spop2)
end
function cm.spfilter(c,e,tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>=2 and rsdc.IsSetM(c) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.spop(e,tp)
local c=rscf.GetSelf(e)
if c and rssf.SpecialSummon(c)>0 then
rsop.SelectOC(nil,true)
rsop.SelectSpecialSummon(tp,rscf.spfilter2(rsdc.IsSetM),tp,LOCATION_DECK,0,1,1,nil,{},e,tp)
end
end
function cm.spop2(e,tp)
local tc=rscf.GetTargetCard()
if tc then rssf.SpecialSummon(tc) end
end
--唤士的引导者-安达
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005103,"DragonCaller")
function cm.initial_effect(c)
local e1=rsef.QO(c,nil,{m,0},{1,m},"sp",nil,LOCATION_GRAVE,nil,rscost.cost(cm.resfilter,"res",LOCATION_HAND),rsop.target(rscf.spfilter2(),"sp"),cm.spop)
local e3=rsef.STO(c,EVENT_RELEASE,{m,1},{1,m+100},"th","tg,de",nil,nil,rstg.target(cm.thfilter,"th",LOCATION_GRAVE),cm.thop)
end
function cm.resfilter(c)
return c:IsReleasable() and c:IsType(TYPE_MONSTER) and (rsdc.IsSetM(c) or not c:IsAttribute(ATTRIBUTE_WIND))
end
function cm.spop(e,tp)
local c=rscf.GetSelf(e)
if c then rssf.SpecialSummon(c) end
end
function cm.thfilter(c)
return rsdc.IsSetM(c) and c:IsAbleToHand()
end
function cm.thop(e,tp)
local tc=rscf.GetTargetCard()
if tc then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
\ No newline at end of file
--唤士的传承者-狎西
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005104,"DragonCaller")
function cm.initial_effect(c)
local e1=rsef.QO(c,nil,{m,0},{1,m},"sp",nil,LOCATION_HAND,nil,rscost.cost(Card.IsReleasable,"res",LOCATION_HAND,0,1,1,c),rsop.target(rscf.spfilter2(),"sp"),cm.spop)
local e2=rsef.STO(c,EVENT_SUMMON_SUCCESS,{m,1},{1,m+100},"se,th","de",nil,nil,rsop.target(cm.thfilter,"th",LOCATION_DECK),cm.thop)
local e3=rsef.RegisterClone(c,e2,"code",EVENT_SPSUMMON_SUCCESS)
local e4=rsef.SC(c,EVENT_RELEASE,nil,nil,"cd",nil,cm.regop)
local e5=rsef.FTO(c,EVENT_PHASE+PHASE_END,{m,2},1,"dr",nil,LOCATION_GRAVE+LOCATION_REMOVED,cm.drcon,nil,cm.drtg,cm.drop)
if cm.switch then return end
cm.switch = true
local ge1=rsef.FC({c,0},EVENT_RELEASE)
ge1:SetOperation(cm.drctop)
end
function cm.drcon(e,tp)
return e:GetHandler():GetFlagEffect(m)>0
end
function cm.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
local dct=Duel.GetFlagEffect(tp,m)
if chk==0 then return Duel.IsPlayerCanDraw(tp,dct) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(dct)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,dct)
end
function cm.drop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,Duel.GetFlagEffect(tp,m),REASON_EFFECT)
end
function cm.drctop(e,tp,eg)
for tc in aux.Next(eg) do
if rsdc.IsSetM(tc) then
Duel.RegisterFlagEffect(tc:GetReasonPlayer(),m,rsreset.pend,0,1)
end
end
end
function cm.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
c:RegisterFlagEffect(m,rsreset.est_pend,0,1)
end
function cm.spop(e,tp)
local c=rscf.GetSelf(e)
if c then rssf.SpecialSummon(c) end
end
function cm.thfilter(c)
return rsdc.IsSetST(c) and c:IsAbleToHand()
end
function cm.thop(e,tp)
rsop.SelectToHand(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil,{})
end
\ No newline at end of file
--龙唤士 达克尔
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005105,"DragonCaller")
function cm.initial_effect(c)
local e1=rsef.STO(c,EVENT_SUMMON_SUCCESS,{m,0},{1,m},"se,th","de",nil,nil,rsop.target(cm.thfilter,"th",LOCATION_DECK),cm.thop)
local e2=rsef.RegisterClone(c,e1,"code",EVENT_SPSUMMON_SUCCESS)
local e3=rsef.QO(c,nil,{m,1},nil,"dr",nil,rsloc.hg,cm.con,rscost.cost(Card.IsAbleToRemoveAsCost,"rm"),nil,cm.drop)
local e4=rsef.QO(c,nil,{m,2},nil,nil,nil,rsloc.hg,cm.con,rscost.cost(Card.IsAbleToRemoveAsCost,"rm"),nil,cm.limitop)
local e5=rsef.RegisterClone(c,e4,"desc",{m,3},"op",cm.rmop)
local e6=rsef.RegisterClone(c,e4,"desc",{m,4},"op",cm.crmop)
local e7=rsef.RegisterClone(c,e4,"desc",{m,5},"op",cm.setop)
local e8=rsef.I(c,{m,6},nil,"sp",nil,LOCATION_REMOVED,nil,rscost.cost({cm.tcfilter,aux.dncheck},"te",LOCATION_GRAVE,0,4,4),rsop.target(rscf.spfilter2(),"sp"),cm.spop)
if cm.switch then return end
cm.switch = true
local ge1=rsef.FC({c,0},EVENT_SPSUMMON_SUCCESS)
ge1:SetOperation(cm.sregop)
end
function cm.tcfilter(c)
return rsdc.IsSet(c) and c:IsAbleToExtraAsCost() and c:IsType(TYPE_SYNCHRO)
end
function cm.spop(e,tp)
local c=rscf.GetSelf(e)
if c then rssf.SpecialSummon(c) end
end
function cm.setop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_MSET)
e1:SetTargetRange(0,1)
e1:SetTarget(aux.TRUE)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_SSET)
Duel.RegisterEffect(e2,tp)
local e3=e1:Clone()
e3:SetCode(EFFECT_CANNOT_TURN_SET)
Duel.RegisterEffect(e3,tp)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e4:SetTarget(cm.sumlimit)
Duel.RegisterEffect(e4,tp)
end
function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp)
return bit.band(sumpos,POS_FACEDOWN)>0
end
function cm.crmop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_REMOVE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,1)
e1:SetValue(1)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function cm.rmop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_RANGE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EFFECT_TO_GRAVE_REDIRECT)
e1:SetTarget(cm.rmtarget)
e1:SetTargetRange(0xff, 0xff)
e1:SetValue(LOCATION_REMOVED)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function cm.rmtarget(e,c)
return c:GetOwner()~=e:GetHandlerPlayer()
end
function cm.limitop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_TO_HAND)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1)
e1:SetTarget(aux.TargetBoolFunction(Card.IsLocation,LOCATION_DECK))
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_DRAW)
e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetTargetRange(0,1)
Duel.RegisterEffect(e2,tp)
end
function cm.con(e,tp)
return Duel.GetFlagEffect(tp,m+100)>0
end
function cm.sregop(e,tp,eg)
for tc in aux.Next(eg) do
if rsdc.IsSet(tc) and tc:IsType(TYPE_SYNCHRO) then
Duel.RegisterFlagEffect(tc:GetSummonPlayer(),m+100,rsreset.pend,0,1)
end
end
end
function cm.thfilter(c)
return rsdc.IsSet(c) and c:IsAbleToHand() and not c:IsCode(m)
end
function cm.thop(e,tp)
rsop.SelectToHand(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil,{})
end
function cm.drop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(cm.drcon1)
e1:SetOperation(cm.drop1)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
--sp_summon effect
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCondition(cm.regcon)
e2:SetOperation(cm.regop)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetCondition(cm.drcon2)
e3:SetOperation(cm.drop2)
e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp)
end
function cm.filter(c,sp)
return c:GetSummonPlayer()==sp
end
function cm.drcon1(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.filter,1,nil,1-tp)
and (not re:IsHasType(EFFECT_TYPE_ACTIONS) or re:IsHasType(EFFECT_TYPE_CONTINUOUS))
end
function cm.drop1(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
end
function cm.regcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.filter,1,nil,1-tp)
and re:IsHasType(EFFECT_TYPE_ACTIONS) and not re:IsHasType(EFFECT_TYPE_CONTINUOUS)
end
function cm.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,m,RESET_CHAIN,0,1)
end
function cm.drcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,m)>0
end
function cm.drop2(e,tp,eg,ep,ev,re,r,rp)
local n=Duel.GetFlagEffect(tp,m)
Duel.ResetFlagEffect(tp,m)
Duel.Draw(tp,n,REASON_EFFECT)
end
--龙唤士 琳
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005106,"DragonCaller")
function cm.initial_effect(c)
local e1=rsef.QO(c,nil,{m,0},nil,"th",nil,LOCATION_MZONE+LOCATION_HAND,nil,rscost.cost(Card.IsReleasable,"res"),nil,cm.op)
local e2=rsef.I(c,{m,1},nil,"td,th","tg",LOCATION_GRAVE,nil,nil,rstg.target({cm.thfilter2,"td",LOCATION_GRAVE,0,3,3,c},rsop.list(Card.IsAbleToHand,"th")),cm.tdop)
end
function cm.op(e,tp)
local e1=rsef.FC({e:GetHandler(),tp},EVENT_PHASE+PHASE_END,{m,0},1,nil,nil,cm.thcon,cm.thop,rsreset.pend)
end
function cm.thfilter(c)
return c:IsFacedown() and c:IsAbleToHand()
end
function cm.thcon(e,tp)
local g=Duel.GetMatchingGroup(cm.thfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
return #g>0
end
function cm.thop(e,tp)
rshint.Card(m)
local g=Duel.GetMatchingGroup(cm.thfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.SendtoHand(g,nil,REASON_EFFECT)
end
function cm.thfilter2(c)
return rsdc.IsSetM(c) and c:IsAbleToDeck() and not c:IsCode(m)
end
function cm.tdop(e,tp)
local tg=rsgf.GetTargetGroup()
local c=rscf.GetSelf(e)
if #tg>0 and Duel.SendtoDeck(tg,nil,2,REASON_EFFECT)>0 and Duel.GetOperatedGroup():IsExists(Card.IsLocation,1,nil,rsloc.de) and c then
Duel.SendtoHand(c,nil,REASON_EFFECT)
end
end
\ No newline at end of file
--龙唤士 罗莎
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005107,"DragonCaller")
function cm.initial_effect(c)
local e1=rsef.STO(c,EVENT_SUMMON_SUCCESS,{m,0},nil,"sp","de",nil,nil,rsop.target(cm.spfilter,"sp",LOCATION_GRAVE),cm.spop)
local e2=rsef.RegisterClone(c,e1,"code",EVENT_SPSUMMON_SUCCESS)
local e3=rsef.STO(c,EVENT_RELEASE,{m,1},nil,"th","de",nil,nil,cm.tg,cm.op)
--effect gain
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetProperty(EFFECT_FLAG_EVENT_PLAYER)
e3:SetCondition(cm.efcon)
e3:SetOperation(cm.efop)
c:RegisterEffect(e3)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,PLAYER_ALL,LOCATION_ONFIELD)
end
function cm.op(e,tp)
local e1=rsef.FC({e:GetHandler(),tp},EVENT_PHASE+PHASE_END,{m,1},1,nil,nil,cm.thcon,cm.thop,rsreset.pend)
end
function cm.thcon(e,tp)
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
return g:CheckSubGroup(rsgf.dnpcheck,2,2)
end
function cm.thop(e,tp)
rshint.Card(m)
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
rshint.Select(tp,"th")
local tg=g:SelectSubGroup(tp,rsgf.dnpcheck,false,2,2)
Duel.HintSelection(tg)
Duel.SendtoHand(tg,nil,REASON_EFFECT)
end
function cm.spfilter(c,e,tp)
return rscf.spfilter2(rsdc.IsSet)(c,e,tp)
end
function cm.spop(e,tp)
rsop.SelectSpecialSummon(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,{},e,tp)
end
function cm.efcon(e,tp,eg,ep,ev,re,r,rp)
return r & REASON_XYZ + REASON_LINK ~= 0
end
function cm.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(rc)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetOperation(cm.sumsuc)
rc:RegisterEffect(e1,true)
if not rc:IsType(TYPE_EFFECT) then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_ADD_TYPE)
e2:SetValue(TYPE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e2,true)
end
end
function cm.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.SetChainLimitTillChainEnd(cm.chainlm)
end
function cm.chainlm(e,rp,tp)
return tp==rp
end
\ No newline at end of file
--龙唤士 卡露兹
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005108,"DragonCaller")
function cm.initial_effect(c)
local e2=rsef.STO(c,EVENT_SUMMON_SUCCESS,{m,1},nil,"td,dr","de",nil,nil,rsop.target({cm.tdfilter,"td",LOCATION_GRAVE },{1,"dr"}),cm.tdop)
local e3=rsef.STO(c,EVENT_RELEASE,{m,2},nil,"th","de",nil,nil,rsop.target(cm.thfilter,"th",LOCATION_GRAVE),cm.thop)
--summon with 1 tribute
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SUMMON_PROC)
e1:SetCondition(cm.otcon)
e1:SetOperation(cm.otop)
e1:SetValue(SUMMON_TYPE_ADVANCE)
c:RegisterEffect(e1)
end
function cm.thfilter(c)
return rsdc.IsSetST(c) and c:IsAbleToHand()
end
function cm.thop(e,tp)
rsop.SelectToHand(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_GRAVE,0,1,1,nil,{})
end
function cm.tdop(e,tp)
local tct=0
if Duel.IsPlayerCanDraw(tp,2) then tct=5
elseif Duel.IsPlayerCanDraw(tp,1) then tct=2
end
if tct==0 then return end
if rsop.SelectToDeck(tp,aux.NecroValleyFilter(cm.tdfilter),tp,LOCATION_GRAVE,0,1,tct,nil,{})>0 then
local dct=Duel.GetOperatedGroup():FilterCount(Card.IsLocation,nil,rsloc.de)<=2 and 1 or 2
rsop.ToDeckDraw(tp,dct,true)
end
end
function cm.tdfilter(c)
return rsdc.IsSetM(c) and c:IsAbleToDeck()
end
function cm.otfilter(c)
return rsdc.IsSetM(c) and c:IsAbleToGraveAsCost()
end
function cm.otcon(e,c,minc)
if c==nil then return true end
local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(cm.otfilter,tp,LOCATION_DECK,0,nil)
return c:IsLevelAbove(5) and minc<=1 and #mg>0
end
function cm.otop(e,tp,eg,ep,ev,re,r,rp,c)
rsop.SelectToGrave(tp,cm.otfilter,tp,LOCATION_DECK,0,1,1,nil,{REASON_COST })
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
end
\ No newline at end of file
--赤龙唤士 索菲亚
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005109,"DragonCaller")
function cm.initial_effect(c)
local e1,e2,e3=rsdc.SynchroFun(c,m,ATTRIBUTE_FIRE,"dis,des",nil,rsop.target2(cm.fun,cm.disfilter,"dis",0,LOCATION_MZONE),cm.disop,cm.limit)
end
function cm.fun(g,e,tp)
local g=Duel.GetFieldGroup(tp,0,LOCATION_MZONE)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,#g,0,0)
end
function cm.disfilter(c,e,tp)
return aux.disfilter1(c) and c:GetBaseAttack()<e:GetHandler():GetAttack()
end
function cm.limit(c,rc)
return rc:IsType(TYPE_MONSTER) and rc:GetBaseAttack()>c:GetBaseAttack()
end
function cm.disop(e,tp)
local c=rscf.GetFaceUpSelf(e)
if not c then return end
local g=Duel.GetMatchingGroup(cm.disfilter,tp,0,LOCATION_MZONE,nil,e)
if #g<=0 then return end
for tc in aux.Next(g) do
local e1,e2,e3=rsef.SV_LIMIT({c,tc},"dis,dise,distm",nil,nil,rsreset.est)
Duel.AdjustInstantly(tc)
end
if g:IsExists(Card.IsDisabled,1,nil) then
local dg=Duel.GetFieldGroup(tp,0,LOCATION_MZONE)
if #dg>0 then
Duel.BreakEffect()
Duel.Destroy(dg,REASON_EFFECT)
end
end
end
\ No newline at end of file
--翠龙唤士 菲莉丝
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005110,"DragonCaller")
function cm.initial_effect(c)
local e1,e2,e3=rsdc.SynchroFun(c,m,ATTRIBUTE_WIND,"des",nil,rsop.target(cm.desfilter,"des",0,LOCATION_ONFIELD),cm.desop,cm.limit)
end
function cm.desfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP)
end
function cm.limit(c,rc)
return rc:IsLocation(rsloc.hg)
end
function cm.desop(e,tp)
local g=Duel.GetMatchingGroup(cm.desfilter,tp,0,LOCATION_ONFIELD,nil)
if #g>0 then
Duel.Destroy(g,REASON_EFFECT)
end
end
\ No newline at end of file
--沧龙唤士 克莉丝汀
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005111,"DragonCaller")
function cm.initial_effect(c)
local e1,e2,e3=rsdc.SynchroFun(c,m,ATTRIBUTE_WIND,"td",rscost.reglabel(100),cm.tdtg,cm.tdop,cm.limit)
end
function cm.limit(c,rc)
return rc:IsOnField() and rc:IsFaceup()
end
function cm.gcheck(g,e,tp)
local eqg=Group.CreateGroup()
for tc in aux.Next(g) do
eqg:Merge(tc:GetEquipGroup())
end
return Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,#g,eqg)
end
function cm.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
local rg=Duel.GetReleaseGroup(tp,true)
if chk==0 then
return e:GetLabel()==100 and rg:CheckSubGroup(cm.gcheck,1,#rg,e,tp)
end
e:SetLabel(0)
rshint.Select(tp,"res")
local rg2=rg:SelectSubGroup(tp,cm.gcheck,false,1,#rg,e,tp)
local ct=Duel.Release(rg2,REASON_COST)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,ct,1-tp,LOCATION_ONFIELD)
e:SetValue(ct)
end
function cm.tdop(e,tp)
local ct=e:GetValue()
rsop.SelectToDeck(tp,Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,ct,ct,nil,{})
end
\ No newline at end of file
--地龙唤士 法比尔
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005112,"DragonCaller")
function cm.initial_effect(c)
local e1,e2,e3=rsdc.SynchroFun(c,m,ATTRIBUTE_EARTH,"pos",nil,rsop.target(cm.posfilter,"pos",0,LOCATION_MZONE),cm.posop,cm.limit)
end
function cm.posfilter(c)
return c:IsCanTurnSet() and (c:IsLevelAbove(5) or (c:IsSummonType(SUMMON_TYPE_SPECIAL) and c:GetSummonLocation() & LOCATION_EXTRA ~= 0))
end
function cm.limit(c,rc,re)
return re:IsActiveType(TYPE_MONSTER)
end
function cm.posop(e,tp)
rsop.SelectSolve(HINTMSG_SET,tp,cm.posfilter,tp,0,LOCATION_MZONE,1,1,nil,cm.fun)
end
function cm.fun(g)
local tc=g:GetFirst()
Duel.ChangePosition(tc,POS_FACEDOWN_DEFENSE)
end
\ No newline at end of file
--耀变竜 梅丽娅
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005113,"DragonCaller")
function cm.initial_effect(c)
c:EnableReviveLimit()
c:SetSPSummonOnce(m)
aux.AddSynchroProcedure(c,rsdc.IsSet,cm.synfilter,1)
local e1=rsef.QO(c,EVENT_CHAINING,{m,0},nil,"neg,des,sp","dsp,dcal",LOCATION_EXTRA,cm.negcon,rscost.cost(cm.rmfilter,"rm",LOCATION_MZONE),cm.negtg,cm.negop)
local e2=rsef.STO(c,EVENT_SPSUMMON_SUCCESS,{m,1},nil,"td","de",nil,nil,rsop.target(Card.IsAbleToDeck,"td",0,LOCATION_ONFIELD,cm.tdct),cm.tdop)
local e3=rsef.QO(c,EVENT_SUMMON,{m,2},nil,"diss,des,sp",nil,LOCATION_GRAVE,cm.discon,rscost.cost(cm.resfilter,"res",LOCATION_MZONE),cm.distg,cm.disop)
local e4=rsef.RegisterClone(c,e3,"code",EVENT_SPSUMMON)
end
cm.material_type=TYPE_SYNCHRO
function cm.resfilter(c,e,tp)
return cm.tdcfilter(c) and c:IsReleasable() and Duel.GetMZoneCount(tp,c,tp)>0
end
function cm.discon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()==0 and rp~=tp
end
function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and not c:IsStatus(STATUS_CHAINING) end
Duel.SetOperationInfo(0,CATEGORY_DISABLE_SUMMON,eg,eg:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,eg:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function cm.disop(e,tp,eg)
local c=rscf.GetSelf(e)
if c and rssf.SpecialSummon(c)>0 then
Duel.NegateSummon(eg)
Duel.Destroy(eg,REASON_EFFECT)
end
end
function cm.tdct(e,tp)
return Duel.GetMatchingGroupCount(cm.tdcfilter,tp,LOCATION_GRAVE,0,nil)
end
function cm.tdcfilter(c)
return c:IsType(TYPE_SYNCHRO) and rsdc.IsSet(c)
end
function cm.tdop(e,tp)
local tdct=cm.tdct(e,tp)
rsop.SelectToDeck(tp,Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,tdct,tdct,nil,{})
end
function cm.synfilter(c)
return c:IsSynchroType(TYPE_SYNCHRO) and c:IsRace(RACE_SPELLCASTER)
end
function cm.negcon(e,tp,eg,ep,ev,re,r,rp)
return (re:IsHasType(EFFECT_TYPE_ACTIVATE) or re:IsActiveType(TYPE_MONSTER)) and Duel.IsChainNegatable(ev)
end
function cm.rmfilter(c,e,tp)
return cm.tdcfilter(c) and c:IsFaceup() and c:IsAbleToRemoveAsCost() and Duel.GetLocationCountFromEx(tp,tp,c,e:GetHandler())>0
end
function cm.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,SUMMON_TYPE_SYNCHRO,tp,false,false) and aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_SMATERIAL) and not e:GetHandler():IsStatus(STATUS_CHAINING) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end
end
function cm.negop(e,tp,eg,ep,ev,re,r,rp)
local c=rscf.GetSelf(e)
if not aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_SMATERIAL) then return end
if c and Duel.SpecialSummon(c,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)>0 then
c:CompleteProcedure()
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
end
end
end
\ No newline at end of file
--堕龙唤士-希梅亚
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005114,"DragonCaller")
function cm.initial_effect(c)
c:EnableReviveLimit()
aux.AddLinkProcedure(c,cm.lfilter,2)
c:SetSPSummonOnce(m)
local e1=rsef.STO(c,EVENT_SPSUMMON_SUCCESS,{m,0},nil,"sp,se,th","de",rscon.sumtype("link"),nil,rsop.target2(cm.fun,cm.tfilter,"th",rsloc.dg),cm.thop)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_MATERIAL_CHECK)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetValue(cm.valcheck)
e4:SetLabel(0)
c:RegisterEffect(e4)
local e2=rsef.FV_LIMIT_PLAYER(c,"sp",nil,cm.splimit,{0,1})
e2:SetLabelObject(e4)
local e3=rsef.QO(c,nil,{m,1},nil,"sp",nil,LOCATION_EXTRA,nil,rscost.cost(Card.IsAbleToRemoveAsCost,"rm"),cm.syntg,cm.synop)
local e5=rsef.RegisterClone(c,e3,"desc",{m,2},"tg",cm.xyztg,"op",cm.xyzop)
local e6=rsef.RegisterClone(c,e3,"desc",{m,3},"tg",cm.linktg,"op",cm.linkop)
end
function cm.matfilter(c)
return c:IsFaceup() and rsdc.IsSet(c)
end
function cm.syntg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,0,nil)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,1,e:GetHandler(),nil,g) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.synop(e,tp,eg,ep,ev,re,r,rp)
local matg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,aux.ExceptThisCard(e),nil,matg)
if #g>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SynchroSummon(tp,sg:GetFirst(),nil)
end
end
function cm.xyztg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,0,nil)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsXyzSummonable,tp,LOCATION_EXTRA,0,1,e:GetHandler(),g) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.xyzop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local xyz=Duel.SelectMatchingCard(tp,Card.IsXyzSummonable,tp,LOCATION_EXTRA,0,1,1,aux.ExceptThisCard(e),g,1,#g):GetFirst()
if xyz then
Duel.XyzSummon(tp,xyz,g1,#g)
end
end
function cm.linktg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,0,nil)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsLinkSummonable,tp,LOCATION_EXTRA,0,1,e:GetHandler(),g) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.linkop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local linkc=Duel.SelectMatchingCard(tp,Card.IsLinkSummonable,tp,LOCATION_EXTRA,0,1,1,aux.ExceptThisCard(e),g):GetFirst()
if linkc then
Duel.LinkSummon(tp,linkc,g)
end
end
function cm.splimit(e,c)
return c:IsLocation(e:GetLabelObject():GetLabel())
end
function cm.valcheck(e,c)
local mat=c:GetMaterial()
local loc=0
for tc in aux.Next(mat) do
if tc:IsSummonType(SUMMON_TYPE_SPECIAL) or tc:IsSummonType(SUMMON_TYPE_NORMAL) then
loc=loc|tc:GetSummonLocation()
end
end
e:SetLabel(loc)
end
function cm.lfilter(c)
return c:IsSummonType(SUMMON_TYPE_SPECIAL) and rsdc.IsLinkSet(c)
end
function cm.fun(g,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,tp,rsloc.dg)
end
function cm.tfilter(c,e,tp)
local zone=e:GetHandler():GetLinkedZone(tp)
if not rsdc.IsSetM(c) then return false end
return (zone>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone)) or c:IsAbleToHand()
end
function cm.thop(e,tp)
local c=rscf.GetFaceUpSelf(e)
if not c then return end
rsop.SelectSolve(HINTMSG_SELF,tp,aux.NecroValleyFilter(cm.tfilter),tp,rsloc.dg,0,1,1,nil,cm.solve,e,tp)
end
function cm.solve(g,e,tp)
local tc=g:GetFirst()
local zone=e:GetHandler():GetLinkedZone(tp)
local b1=tc:IsAbleToHand()
local b2=zone>0 and tc:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone)
local op=rsop.SelectOption(tp,b1,1190,b2,1152)
if op==1 then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
else
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP,zone)
end
return true
end
\ No newline at end of file
--唤士的序章
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005115,"DragonCaller")
function cm.initial_effect(c)
local e1=rsdc.HandActFun(c)
local e2=rsef.ACT(c,nil,nil,{1,m,1},"se,th",nil,nil,nil,rsop.target(cm.thfilter,"th",rsloc.dg),cm.act)
end
function cm.thfilter(c)
return c:IsAbleToHand() and rsdc.IsSet(c)
end
function cm.act(e,tp)
rsop.SelectToHand(tp,aux.NecroValleyFilter(cm.thfilter),tp,rsloc.dg,0,1,1,nil,{})
end
--唤士的相遇
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005116,"DragonCaller")
function cm.initial_effect(c)
local e1=rsdc.HandActFun(c)
local e2=rsef.ACT(c,nil,nil,{1,m,1},"se,th,sp",nil,nil,rscost.cost(1,"dish"),rsop.target({rscf.spfilter2(Card.IsCode,130005101),"sp",rsloc.hd},{cm.thfilter,"th",rsloc.dg}),cm.act)
end
function cm.thfilter(c)
return c:IsAbleToHand() and rsdc.IsSetM(c)
end
function cm.act(e,tp)
if rsop.SelectSpecialSummon(tp,rscf.spfilter2(Card.IsCode,130005101),tp,rsloc.hd,0,1,1,nil,{},e,tp)>0 then
rsop.SelectOC(nil,true)
rsop.SelectToHand(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil,{})
end
end
--唤士的救赎
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005117,"DragonCaller")
function cm.initial_effect(c)
local e1=rsdc.HandActFun(c)
local e2=rsef.ACT(c,nil,nil,{1,m,1},"se,th,sp",nil,nil,rscost.cost(cm.dishfilter,"dish",LOCATION_HAND),cm.tg,cm.act)
end
function cm.dishfilter(c)
return c:IsDiscardable() and rsdc.IsSet(c)
end
function cm.spfilter(c,e,tp)
return rscf.RemovePosCheck(c) and rscf.spfilter2(rsdc.IsSet)(c,e,tp) and Duel.IsExistingMatchingCard(cm.thfilter,tp,rsloc.dg,0,1,c)
end
function cm.thfilter(c)
return c:IsAbleToHand() and c:IsCode(130005101)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsPlayerCanDraw(tp,2)
local b2=Duel.IsExistingMatchingCard(cm.spfilter,tp,rsloc.gr,0,1,nil,e,tp)
if chk==0 then return b1 or b2 end
local op=rsop.SelectOption(tp,b1,{m,0},b2,{m,1})
e:SetLabel(op)
if op==1 then
e:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(2)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
else
e:SetProperty(0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,rsloc.gr)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,rsloc.dg)
end
end
function cm.act(e,tp)
local op=e:GetLabel()
if op==1 then
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
else
if rsop.SelectSpecialSummon(tp,aux.NecroValleyFilter(cm.spfilter),tp,rsloc.gr,0,1,1,nil,{},e,tp)>0 then
rsop.SelectOC(nil,true)
rsop.SelectToHand(tp,cm.thfilter,tp,rsloc.dg,0,1,1,nil,{})
end
end
end
--羽化的唤士
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005118,"DragonCaller")
function cm.initial_effect(c)
local e1=rsdc.HandActFun(c)
local e2=rsef.ACT(c,nil,nil,{1,m},"sp",nil,nil,rscost.reglabel(100),cm.tg,cm.act)
local e3=rsef.QO(c,nil,{m,0},{1,m+100},"se,th",nil,LOCATION_GRAVE,aux.exccon,aux.bfgcost,rsop.target(cm.thfilter,"th",rsloc.dg+LOCATION_REMOVED),cm.thop)
end
function cm.thfilter(c)
return c:IsAbleToHand() and c:IsCode(130005101) and rscf.RemovePosCheck(c)
end
function cm.thop(e,tp)
rsop.SelectToHand(tp,aux.NecroValleyFilter(cm.thfilter),tp,rsloc.dg+LOCATION_REMOVED,0,1,1,nil,{})
end
function cm.resfilter(c,e,tp)
return rsdc.IsSetM(c) and c:IsReleasable() and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_EXTRA,0,1,nil,c:GetAttribute(),e,tp)
end
function cm.spfilter(c,att,e,tp)
return rsdc.IsSet(c) and c:IsType(TYPE_SYNCHRO) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_SYNCHRO,tp,false,false) and aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_SMATERIAL) and c:IsAttribute(att)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetLabel()==100 and Duel.IsExistingMatchingCard(cm.resfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
e:SetLabel(0)
local ct,og,tc=rsop.SelectRelease(tp,cm.resfilter,tp,LOCATION_HAND,0,1,1,nil,{},e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
e:SetValue(tc:GetAttribute())
end
function cm.act(e,tp)
local att=e:GetValue()
if not aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_SMATERIAL) then return end
rsop.SelectSpecialSummon(tp,cm.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,{SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP,nil,{"cp"}},att,e,tp)
end
\ No newline at end of file
--堕龙的唤士
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005119,"DragonCaller")
function cm.initial_effect(c)
local e1=rsdc.HandActFun(c)
local e2=rsef.ACT(c,nil,nil,nil,"pos,se,th",nil,nil,rscost.cost(cm.rmfilter,"rm",rsloc.hg),rsop.target2(cm.fun,cm.posfilter,"pos",LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,c),cm.act)
end
function cm.rmfilter(c)
return c:IsAbleToRemoveAsCost() and rsdc.IsSetM(c)
end
function cm.fun(g,e,tp)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,0,tp,LOCATION_DECK)
end
function cm.posfilter(c)
local chain=Duel.GetCurrentChain()
if chain>1 then
for i=1,chain do
local re=Duel.GetChainInfo(i,CHAININFO_TRIGGERING_EFFECT)
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetHandler()==c then return false end
end
end
return not c:IsComplexType(TYPE_PENDULUM+TYPE_SPELL) and c:IsCanTurnSet()
end
function cm.act(e,tp)
if rsop.SelectSolve(HINTMSG_SET,tp,cm.posfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,aux.ExceptThisCard(e),cm.posfun,e,tp)>0 then
rsop.SelectOC({m,0},true)
rsop.SelectToHand(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil,{})
end
end
function cm.thfilter(c)
return c:IsCode(130005105) and c:IsAbleToHand()
end
function cm.posfun(g,e,tp)
local ct=Duel.ChangePosition(g,POS_FACEDOWN)
if g:GetFirst():IsType(TYPE_SPELL+TYPE_TRAP) then
Duel.RaiseEvent(g,EVENT_SSET,e,REASON_EFFECT,tp,tp,0)
end
return ct
end
\ No newline at end of file
--唤士的决断
if not pcall(function() require("expansions/script/c130005101") end) then require("script/c130005101") end
local m,cm=rscf.DefineCard(130005120,"DragonCaller")
function cm.initial_effect(c)
local e1=rsdc.HandActFun(c)
local e2=rsef.ACT(c,nil,nil,{1,m,1},"tg,se,th",nil,nil,nil,rsop.target2(cm.fun,cm.tgfilter,"tg",LOCATION_DECK),cm.act)
end
function cm.fun(g,e,tp)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.tgfilter(c,e,tp)
return c:IsAbleToGrave() and rsdc.IsSetM(c) and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,c,c:GetLevel())
end
function cm.thfilter(c,lv)
return c:IsAbleToHand() and rsdc.IsSetM(c) and not c:IsLevel(lv)
end
function cm.act(e,tp)
local ct,og,tc=rsop.SelectToGrave(tp,cm.tgfilter,tp,LOCATION_DECK,0,1,1,nil,{},e,tp)
if tc and tc:IsLocation(LOCATION_GRAVE) then
rsop.SelectOC(nil,true)
rsop.SelectToHand(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil,{},tc:GetLevel())
end
end
\ No newline at end of file
--恶魔之星 布莱克星
if not pcall(function() require("expansions/script/c25010000") end) then require("script/c25010000") end
local m,cm=rscf.DefineCard(25000119)
if rsufo then return end
rsufo = cm
rsufo.code = {}
rscf.DefineSet(rsufo,0xaf5)
function rsufo.ShowFun(c,code,ecode,cate,flag,con,excost,tg,op,checks)
local e1=rsef.QO(c,ecode,{code,0},{1,code},cate,flag,LOCATION_HAND,cm.scon(checks,con),cm.scost(excost),tg,cm.sop(checks,op))
rsufo.code[e1]=code
return e1
end
function rsufo.ShowFunT(c,code,ecode,cate,flag,con,excost,tg,op,checks)
local e1=rsef.FTO(c,ecode,{code,0},{1,code},cate,flag,LOCATION_HAND,cm.scon(checks,con),cm.scost(excost),cm.stg(tg),cm.sop(checks,op))
rsufo.code[e1]=code
return e1
end
function cm.scon(checks,con)
return function(e,...)
local tp=e:GetHandlerPlayer()
return (not checks or Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)<Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)) and (not con or con(e,...))
end
end
function cm.scost(excost)
return function(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return not c:IsPublic() and (not excost or excost(e,tp,eg,ep,ev,re,r,rp,0)) end
if excost then
excost(e,tp,eg,ep,ev,re,r,rp,1)
end
end
end
function cm.stg(tg)
return function(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToDeck() and (not tg or tg(e,tp,eg,ep,ev,re,r,rp,0)) end
if tg then
tg(e,tp,eg,ep,ev,re,r,rp,1)
end
Duel.SetOperationInfo(0,CATEGORY_TODECK,c,1,0,0)
end
end
function cm.sop(checks,op)
return function(e,tp,...)
if not cm.scon(checks)(e,tp) then return end
op(e,tp,...)
end
end
function rsufo.ToDeck(e,isbreak)
local c=rscf.GetSelf(e)
return c and (not isbreak or aux.TRUE(Duel.BreakEffect())) and Duel.SendtoDeck(c,nil,2,REASON_EFFECT)>0 and c:IsLocation(LOCATION_DECK)
end
------------------------
function cm.initial_effect(c)
c:SetUniqueOnField(1,0,m)
local e1=rsef.ACT(c,nil,nil,nil,"td,se,th",nil,nil,nil,rsop.target({Card.IsAbleToDeck,"td",LOCATION_HAND,0,1,1,c},{cm.thfilter,"th",LOCATION_DECK }),cm.act)
local e2=rsef.FC(c,EVENT_CHAIN_SOLVING,nil,nil,"cd,uc",LOCATION_SZONE,cm.wincon,cm.winop)
end
function cm.thfilter(c)
return rsufo.IsSetM(c) and c:IsAbleToHand()
end
function cm.act(e,tp)
local c=aux.ExceptThisCard(e)
if not c then return end
local ct,og,tc=rsop.SelectToDeck(tp,Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,1,c,{})
if tc and tc:IsLocation(LOCATION_DECK) then
rsop.SelectToHand(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil,{})
end
end
function cm.wincon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local code=rsufo.code[re]
if code and c:GetFlagEffect(code)==0 then
rshint.Card(code)
c:RegisterFlagEffect(code,rsreset.est,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(code,0))
end
for code=25000121,25000132 do
if c:GetFlagEffect(code)<=0 then return end
end
Duel.Win(tp,0x4)
end
--布莱克指令
--why you creat this card, effects that send to deck without confirm is very common ??? very hape.
if not pcall(function() require("expansions/script/c25000119") end) then require("script/c25000119") end
local m,cm=rscf.DefineCard(25000120)
function cm.initial_effect(c)
c:SetUniqueOnField(1,0,m)
local e1=rsef.ACT(c)
local e2=rsef.QO(c,nil,{m,0},1,"sp",nil,LOCATION_SZONE,nil,nil,rsop.target({cm.spfilter,"sp",LOCATION_HAND },{cm.cfilter,nil,0,LOCATION_MZONE }),cm.spop)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_TO_DECK)
e3:SetCondition(cm.drcon1)
e3:SetOperation(cm.drop1)
e3:SetRange(LOCATION_SZONE)
c:RegisterEffect(e3)
--sp_summon effect
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e4:SetCode(EVENT_TO_DECK)
e4:SetCondition(cm.regcon)
e4:SetOperation(cm.regop)
e4:SetRange(LOCATION_SZONE)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e5:SetCode(EVENT_CHAIN_SOLVED)
e5:SetCondition(cm.drcon2)
e5:SetOperation(cm.drop2)
e5:SetRange(LOCATION_SZONE)
c:RegisterEffect(e5)
end
function cm.spfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_ATTACK) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and rsufo.IsSetM(c)
end
function cm.cfilter(c)
return c:IsPosition(POS_FACEUP_ATTACK) and not c:IsStatus(STATUS_BATTLE_DESTROYED)
end
function cm.spop(e,tp)
local c=rscf.GetSelf(e)
if not c then return end
local g=Duel.GetMatchingGroup(cm.cfilter,tp,0,LOCATION_MZONE,nil)
local sg=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_HAND,0,nil,e,tp)
if #g<=0 or #sg<=0 then return end
rshint.Select(tp,HINTMSG_OPPO)
local tg=g:Select(tp,1,1,nil)
Duel.HintSelection(tg)
local tc=tg:GetFirst()
rshint.Select(tp,"sp")
local sc=sg:Select(tp,1,1,nil):GetFirst()
if Duel.SpecialSummon(sc,0,tp,tp,false,false,POS_FACEUP_ATTACK)>0 then
Duel.CalculateDamage(sc,tc)
if sc:IsAbleToHand() and not sc:IsStatus(STATUS_BATTLE_DESTROYED) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.SendtoHand(sc,nil,REASON_EFFECT)
end
end
end
function cm.filter(c,tp)
return c:IsPreviousLocation(LOCATION_HAND) and c:IsLocation(LOCATION_DECK) and c:GetPreviousControler()==tp
end
function cm.drcon1(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.filter,1,nil,tp)
and (not re:IsHasType(EFFECT_TYPE_ACTIONS) or re:IsHasType(EFFECT_TYPE_CONTINUOUS))
end
function cm.drop1(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
end
function cm.regcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.filter,1,nil,tp)
and re:IsHasType(EFFECT_TYPE_ACTIONS) and not re:IsHasType(EFFECT_TYPE_CONTINUOUS)
end
function cm.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,m,RESET_CHAIN,0,1)
end
function cm.drcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,m)>0
end
function cm.drop2(e,tp,eg,ep,ev,re,r,rp)
local n=Duel.GetFlagEffect(tp,m)
Duel.ResetFlagEffect(tp,m)
Duel.Draw(tp,n,REASON_EFFECT)
end
--圆盘生物 星人布纽
if not pcall(function() require("expansions/script/c25000119") end) then require("script/c25000119") end
local m,cm=rscf.DefineCard(25000121)
function cm.initial_effect(c)
local e1=rsufo.ShowFun(c,m,nil,"td,tg,rm",nil,nil,nil,cm.tg,cm.op)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_DECK,0,nil,tp,POS_FACEDOWN)
local tlist={ TYPE_MONSTER,TYPE_SPELL,TYPE_TRAP }
local enable=0
for _,ctype in pairs(tlist) do
if g:IsExists(Card.IsType,3,nil,ctype) then
enable = enable | ctype
end
end
if chk==0 then return enable>0 end
getmetatable(c).announce_filter={ enable,OPCODE_ISTYPE }
local ac=Duel.AnnounceCard(tp,table.unpack(getmetatable(e:GetHandler()).announce_filter))
Duel.SetTargetParam(ac)
Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,0)
local g=Duel.GetMatchingGroup(cm.tgfilter,tp,0,LOCATION_ONFIELD,nil,ac)
if #g>0 then
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,#g,0,0)
end
end
function cm.tgfilter(c,code)
return c:IsAbleToGrave() and c:IsCode(code) and c:IsFaceup()
end
function cm.op(e,tp)
local c=rscf.GetSelf(e)
if not rsufo.ToDeck(e) then return end
local ac=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
local g=Duel.GetFieldGroup(tp,LOCATION_DECK,0)
if #g<=0 then return end
Duel.ConfirmCards(1-tp,g)
local tk=Duel.CreateToken(tp,ac)
local tlist= {TYPE_MONSTER,TYPE_SPELL,TYPE_TRAP }
local enable=0
for _,ctype in pairs(tlist) do
if tk:IsType(ctype) then
enable = ctype
break
end
end
local ct,og=rsop.SelectRemove(1-tp,cm.rmfilter,tp,LOCATION_DECK,0,3,3,nil,{ POS_FACEDOWN,REASON_EFFECT },enable)
Duel.ShuffleDeck(tp)
if ct==3 and og:IsExists(Card.IsLocation,1,nil,LOCATION_REMOVED) then
local g=Duel.GetMatchingGroup(cm.tgfilter,tp,0,LOCATION_ONFIELD,nil,ac)
if #g>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetCode(EFFECT_FORBIDDEN)
e1:SetTargetRange(0,0x7f)
e1:SetCondition(rsufo.scon(true))
e1:SetTarget(cm.bantg)
e1:SetLabel(ac)
local rct=Duel.GetTurnPlayer()==tp and 2 or 1
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,rct)
Duel.RegisterEffect(e1,tp)
end
end
function cm.bantg(e,c)
return c:IsCode(e:GetLabel())
end
function cm.rmfilter(c,enable)
return c:IsAbleToRemove(c:GetControler(),POS_FACEDOWN) and c:IsType(enable)
end
\ No newline at end of file
--圆盘生物 诺巴
if not pcall(function() require("expansions/script/c25000119") end) then require("script/c25000119") end
local m,cm=rscf.DefineCard(25000122)
function cm.initial_effect(c)
local e1=rsufo.ShowFun(c,m,nil,"td",nil,cm.con,nil,cm.tg,cm.op)
end
function cm.con(e,tp)
return Duel.GetCurrentChain()>=2
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CARDTYPE)
local op=Duel.AnnounceType(tp)
e:SetLabel(op)
Duel.SetChainLimit(aux.FALSE)
end
function cm.op(e,tp)
local c=e:GetHandler()
local ctype=e:GetLabel()
local e1,e2=rsef.FV_CANNOT_DISABLE({c,tp},"dise,act",rsval.cdisneg(cm.filter),nil,nil,rsufo.scon(true),rsreset.pend)
e1:SetLabel(ctype)
e2:SetLabel(ctype)
rsufo.ToDeck(e,true)
end
function cm.filter(e,p,te,tp)
return tp==p and te:IsActiveType(e:GetLabel())
end
--圆盘生物 汉古拉
if not pcall(function() require("expansions/script/c25000119") end) then require("script/c25000119") end
local m,cm=rscf.DefineCard(25000123)
function cm.initial_effect(c)
local e1=rsufo.ShowFun(c,m,nil,"td,dr",nil,nil,nil,cm.tg,cm.op,true)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(1-tp,LOCATION_MZONE,PLAYER_NONE,0)+Duel.GetLocationCount(1-tp,LOCATION_SZONE,PLAYER_NONE,0)>=2 end
local dct=Duel.AnnounceNumber(tp,1,2)
local dis=Duel.SelectDisableField(tp,dct,0,LOCATION_ONFIELD,0xe000e0)
e:SetLabel(dis)
e:SetValue(dct)
Duel.Hint(HINT_ZONE,tp,dis)
end
function cm.op(e,tp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE_FIELD)
e1:SetOperation(cm.disop)
e1:SetLabel(e:GetLabel())
e1:SetReset(rsreset.pend)
Duel.RegisterEffect(e1,tp)
local dct=e:GetValue()
if rsufo.ToDeck(e,true) and Duel.IsPlayerCanDraw(1-tp,dct) and Duel.SelectYesNo(1-tp,aux.Stringid(m,1)) then
Duel.Draw(1-tp,dct,REASON_EFFECT)
end
end
function cm.disop(e,tp)
return e:GetLabel()
end
\ No newline at end of file
--圆盘生物 撒旦莫亚
if not pcall(function() require("expansions/script/c25000119") end) then require("script/c25000119") end
local m,cm=rscf.DefineCard(25000124)
function cm.initial_effect(c)
local e1=rsufo.ShowFunT(c,m,EVENT_TO_HAND,"td,dish",nil,cm.con,nil,rsop.target(1,"dish",0,LOCATION_HAND),cm.op,true)
e1:SetDescription(aux.Stringid(m,1))
local e2=rsufo.ShowFunT(c,m,EVENT_TO_HAND,"td,rm",nil,cm.con,rscost.cost(cm.rmcfilter,"rm_d",LOCATION_HAND,0,1,1,c),rsop.target(cm.rmfilter,"rm",0,LOCATION_HAND),cm.op2,true)
e2:SetDescription(aux.Stringid(m,2))
end
function cm.con(e,tp,eg)
return Duel.GetCurrentPhase()~=PHASE_DRAW and eg:IsExists(Card.IsControler,1,nil,1-tp)
end
function cm.op(e,tp)
local c=rscf.GetSelf(e)
if not rsufo.ToDeck(e,true) then return end
local g=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
local dg=g:RandomSelect(tp,1)
Duel.SendtoGrave(dg,REASON_EFFECT+REASON_DISCARD)
end
function cm.rmcfilter(c)
return c:IsAbleToRemoveAsCost(POS_FACEDOWN)
end
function cm.rmfilter(c,e,tp)
return c:IsAbleToRemove(tp,POS_FACEDOWN)
end
function cm.op2(e,tp)
local c=rscf.GetSelf(e)
if not rsufo.ToDeck(e,true) then return end
local g=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
Duel.ConfirmCards(tp,g)
rsgf.SelectRemove(g,tp,cm.rmfilter,1,1,nil,{ POS_FACEDOWN,REASON_EFFECT },e,tp)
end
--圆盘生物 布里扎德
if not pcall(function() require("expansions/script/c25000119") end) then require("script/c25000119") end
local m,cm=rscf.DefineCard(25000125)
function cm.initial_effect(c)
local e1=rsufo.ShowFun(c,m,nil,"td,rm",nil,nil,nil,rsop.target(cm.rmfilter,"rm",LOCATION_DECK),cm.op,true)
end
function cm.rmfilter(c)
return c:IsAbleToRemove() and c:IsType(TYPE_SPELL+TYPE_TRAP)
end
function cm.op(e,tp)
local ct,ot,tc=rsop.SelectRemove(tp,cm.rmfilter,tp,LOCATION_DECK,0,1,1,nil,{})
if tc and tc:IsLocation(LOCATION_REMOVED) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAIN_SOLVING)
e1:SetCondition(cm.chcon)
e1:SetOperation(cm.chop)
e1:SetLabelObject(tc)
Duel.RegisterEffect(e1,tp)
rsufo.ToDeck(e,true)
end
end
function cm.chcon(e,tp,eg,ep,ev,re,r,rp)
local code=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_CODE)
return e:GetLabelObject():IsCode(code)
end
function cm.chop(e,tp,eg,ep,ev,re,r,rp)
local g=Group.CreateGroup()
Duel.ChangeTargetCard(ev,g)
Duel.ChangeChainOperation(ev,cm.rep_op)
end
function cm.rep_op(e,tp,eg,ep,ev,re,r,rp)
rshint.Card(m)
local c=rscf.GetSelf(e)
if c and c:IsLocation(rsloc.ho+LOCATION_DECK+LOCATION_EXTRA) then Duel.Destroy(c,REASON_EFFECT) end
end
\ No newline at end of file
--圆盘生物 布莱克多姆
if not pcall(function() require("expansions/script/c25000119") end) then require("script/c25000119") end
local m,cm=rscf.DefineCard(25000126)
function cm.initial_effect(c)
local e1=rsufo.ShowFun(c,m,nil,"td,dis,atk,def",nil,cm.con,nil,rsop.target(aux.disfilter1,"dis",0,LOCATION_ONFIELD),cm.op,true)
end
function cm.con(e,tp)
return Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)>=5
end
function cm.op(e,tp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(aux.disfilter1,tp,0,LOCATION_ONFIELD,nil)
local res = false
for tc in aux.Next(g) do
local e1,e2=rscf.QuickBuff({c,tc},"dis,dise")
res = res or not tc:IsImmuneToEffect(e1)
end
if not res then return end
res = false
g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
for tc in aux.Next(g) do
local e1,e2=rscf.QuickBuff({c,tc},"atkf,deff",{tc:GetAttack()/2,tc:GetDefense()/2})
res = res or not tc:IsImmuneToEffect(e1)
end
if not res then return end
rsufo.ToDeck(e,true)
end
\ No newline at end of file
--圆盘生物 阿布索巴
if not pcall(function() require("expansions/script/c25000119") end) then require("script/c25000119") end
local m,cm=rscf.DefineCard(25000127)
function cm.initial_effect(c)
local e1=rsufo.ShowFun(c,m,nil,"td,rm",nil,nil,nil,rsop.target(cm.rmfilter,"rm",rsloc.de),cm.op,true)
end
function cm.rmfilter(c)
return c:IsAbleToRemove() and c:IsType(TYPE_MONSTER)
end
function cm.op(e,tp)
local ct,ot,tc=rsop.SelectRemove(tp,cm.rmfilter,tp,rsloc.de,0,1,1,nil,{})
if tc and tc:IsLocation(LOCATION_REMOVED) then
local e1,e2,e3=rsef.FV_LIMIT_PLAYER({e:GetHandler(),tp},"sum,sp,fp",nil,cm.sumlimit(tc),{1,1},nil,rsreset.pend)
rsufo.ToDeck(e,true)
end
end
function cm.sumlimit(tc)
return function(e,c)
return tc:IsCode(c:GetCode())
end
end
\ No newline at end of file
--圆盘生物 戴莫斯
if not pcall(function() require("expansions/script/c25000119") end) then require("script/c25000119") end
local m,cm=rscf.DefineCard(25000128)
function cm.initial_effect(c)
local e1=rsufo.ShowFun(c,m,nil,"td,dam,rec",nil,cm.con,nil,rsop.target({cm.damct,"dam",0,1},{cm.damct,"rec"}),cm.op,true)
end
function cm.con(e,tp)
return Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD+LOCATION_HAND)>=8
end
function cm.damct(e,tp)
return Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD+LOCATION_HAND)*500
end
function cm.op(e,tp)
local ct=cm.damct(e,tp)
if ct>0 and Duel.Damage(1-tp,ct,REASON_EFFECT)>0 and Duel.Recover(tp,ct,REASON_EFFECT)>0 then
rsufo.ToDeck(e,true)
end
end
\ No newline at end of file
--圆盘生物 布莱克特琳娜
if not pcall(function() require("expansions/script/c25000119") end) then require("script/c25000119") end
local m,cm=rscf.DefineCard(25000129)
function cm.initial_effect(c)
local e1=rsufo.ShowFun(c,m,nil,"td,rm",nil,nil,nil,rsop.target(cm.rmfilter,"rm",rsloc.de),cm.op,true)
end
function cm.rmfilter(c)
return c:IsAbleToRemove() and c:IsType(TYPE_MONSTER)
end
function cm.op(e,tp)
local ct,ot,tc=rsop.SelectRemove(tp,cm.rmfilter,tp,rsloc.de,0,1,1,nil,{})
if tc and tc:IsLocation(LOCATION_REMOVED) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAIN_SOLVING)
e1:SetCondition(cm.chcon)
e1:SetOperation(cm.chop)
e1:SetLabelObject(tc)
Duel.RegisterEffect(e1,tp)
rsufo.ToDeck(e,true)
end
end
function cm.chcon(e,tp,eg,ep,ev,re,r,rp)
local code1,code2=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_CODE,CHAININFO_TRIGGERING_CODE2)
return e:GetLabelObject():IsCode(code1,code2 or 0)
end
function cm.chop(e,tp,eg,ep,ev,re,r,rp)
local g=Group.CreateGroup()
Duel.ChangeTargetCard(ev,g)
Duel.ChangeChainOperation(ev,cm.rep_op)
end
function cm.rep_op(e,tp,eg,ep,ev,re,r,rp)
rshint.Card(m)
local c=rscf.GetSelf(e)
if c and c:IsLocation(rsloc.ho+LOCATION_DECK+LOCATION_EXTRA) then Duel.Destroy(c,REASON_EFFECT) end
end
\ No newline at end of file
--圆盘生物 希尔巴布尔美
if not pcall(function() require("expansions/script/c25000119") end) then require("script/c25000119") end
local m,cm=rscf.DefineCard(25000130)
function cm.initial_effect(c)
local e1=rsufo.ShowFun(c,m,nil,"td,tg",nil,cm.con,nil,cm.tg,cm.op,true)
end
function cm.con(e,tp)
return Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)>Duel.GetFieldGroupCount(tp,0,LOCATION_EXTRA)
end
function cm.tgfilter(c)
return Duel.IsPlayerCanSendtoGrave(c:GetControler(),c)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.GetMatchingGroup(cm.tgfilter,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,#g-1,1-tp,LOCATION_ONFIELD)
end
function cm.op(e,tp)
local g=Duel.GetMatchingGroup(cm.tgfilter,tp,0,LOCATION_ONFIELD,nil)
if #g>1 then
local ct,og=rsgf.SelectToGrave(g,1-tp,aux.TRUE,#g-1,#g-1,nil,{REASON_RULE })
if ct>0 and og:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE) then
rsufo.ToDeck(e,true)
end
end
end
\ No newline at end of file
--圆盘生物 布莱克卡戎
if not pcall(function() require("expansions/script/c25000119") end) then require("script/c25000119") end
local m,cm=rscf.DefineCard(25000131)
function cm.initial_effect(c)
local e1=rsufo.ShowFun(c,m,nil,"td,dr",nil,nil,nil,rsop.target2(cm.fun,Card.IsAbleToDeck,"td",0,rsloc.og),cm.op,true)
end
function cm.fun(g,e,tp)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,1-tp,0)
end
function cm.op(e,tp)
local ct,og,tc=rsop.SelectToDeck(tp,Card.IsAbleToDeck,tp,0,rsloc.og,1,1,nil,{tp,2,REASON_EFFECT })
if tc and tc:IsLocation(rsloc.de) and rsufo.ToDeck(e) and Duel.IsPlayerCanDraw(1-tp,1) and Duel.SelectYesNo(1-tp,aux.Stringid(m,1)) then
Duel.BreakEffect()
Duel.Draw(1-tp,1,REASON_EFFECT)
end
end
\ No newline at end of file
--圆盘生物 布莱克恩多
if not pcall(function() require("expansions/script/c25000119") end) then require("script/c25000119") end
local m,cm=rscf.DefineCard(25000132)
function cm.initial_effect(c)
local e1=rsufo.ShowFun(c,m,nil,"td,tg",nil,nil,nil,rsop.target(cm.tgfilter,"tg",0,LOCATION_ONFIELD),cm.op,true)
end
function cm.tgfilter(c)
return Duel.IsPlayerCanSendtoGrave(c:GetControler(),c)
end
function cm.op(e,tp)
local ct,og,tc=rsop.SelectToGrave(tp,cm.tgfilter,tp,0,LOCATION_ONFIELD,1,1,nil,{REASON_RULE })
if tc and tc:IsLocation(LOCATION_GRAVE) and Duel.IsPlayerCanDraw(1-tp,1) and Duel.SelectYesNo(1-tp,aux.Stringid(m,1)) and Duel.Draw(1-tp,1,REASON_EFFECT)>0 then
rsufo.ToDeck(e,true)
end
end
--阿克夏的外包
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
--[[
DIY Record
1. 2020.9.29 25000000~25010011 Change library, first point to here.
--]]
\ No newline at end of file
--无用能力者 不会被无效的若拉
if not pcall(function() require("expansions/script/c30000100") end) then require("script/c30000100") end
local m,cm=rscf.DefineCard(30000500)
function cm.initial_effect(c)
local e1=rsef.SV_CANNOT_DISABLE(c,"sum")
--inactivatable
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_INACTIVATE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(cm.efilter)
c:RegisterEffect(e2)
local e3=rsef.RegisterClone(c,e2,"code",EFFECT_CANNOT_DISEFFECT)
--act limit
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAINING)
e4:SetRange(LOCATION_MZONE)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetOperation(cm.chainop)
c:RegisterEffect(e4)
end
function cm.efilter(e,ct)
local te=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT)
return te:GetHandler()==e:GetHandler()
end
function cm.chainop(e,tp,eg,ep,ev,re,r,rp)
if re:GetHandler()==e:GetHandler() then
Duel.SetChainLimit(aux.FALSE)
end
end
--颓废能力者 懒散的若拉
if not pcall(function() require("expansions/script/c30000100") end) then require("script/c30000100") end
local m,cm=rscf.DefineCard(30000505)
function cm.initial_effect(c)
c:EnableReviveLimit()
aux.AddXyzProcedure(c,nil,4,3,cm.ovfilter,aux.Stringid(m,0),99,cm.xyzop)
local e2=rsef.SV_CANNOT_DISABLE(c,"sp")
local e3=rsef.FTO(c,EVENT_PHASE+PHASE_END,{m,1},1,"rm,sp","tg",LOCATION_MZONE,nil,nil,rstg.target(cm.rmfilter,"rm",rsloc.mg,rsloc.mg,1,1,c),cm.rmop)
--atk
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
end
function cm.rmfilter(c)
return c:IsType(TYPE_EFFECT) and c:IsAbleToRemove()
end
function cm.rmop(e,tp)
local c,tc=rscf.GetFaceUpSelf(e),rscf.GetTargetCard()
if not tc or Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)<=0 or not tc:IsLocation(LOCATION_REMOVED) or not rscf.spfilter2()(tc,e,tp) or not c or not c:IsType(TYPE_XYZ) or not Duel.SelectYesNo(tp,aux.Stringid(m,2)) then return end
if rssf.SpecialSummon(tc)>0 and not tc:IsImmuneToEffect(e) then
Duel.Overlay(c,rsgf.Mix2(tc))
c:CopyEffect(tc:GetOriginalCodeRule(),rsreset.est)
end
end
function cm.ovfilter(c)
return c:IsFaceup() and c:IsCode(30000500)
end
function cm.xyzop(e,tp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,m)==0 end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function cm.atkval(e,c)
return c:GetOverlayCount()*500
end
\ No newline at end of file
--悠闲的假日
if not pcall(function() require("expansions/script/c30000100") end) then require("script/c30000100") end
local m,cm=rscf.DefineCard(30000510)
function cm.initial_effect(c)
local e2=rsef.I(c,{m,1},1,"dr","ptg",LOCATION_SZONE,nil,cm.drcost,rsop.target(1,"dr"),cm.drop)
local e3=rsef.FTO(c,EVENT_PHASE+PHASE_END,{m,2},1,nil,"tg",LOCATION_SZONE,nil,nil,rstg.target(cm.tgfilter,nil,LOCATION_MZONE),cm.endop)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(cm.tg)
e1:SetOperation(cm.act)
c:RegisterEffect(e1)
end
function cm.tgfilter(c,e,tp)
return c:IsFaceup() and c:IsCode(30000500,30000505) and Duel.IsExistingMatchingCard(cm.matfilter,tp,rsloc.mg,rsloc.mg,1,nil,c:IsCode(30000505))
end
function cm.matfilter(c,check)
return c:IsFaceup() and c:IsType(TYPE_EFFECT) and (not check or c:IsCanOverlay())
end
function cm.endop(e,tp)
local c,tc=rscf.GetSelf(e),rscf.GetTargetCard()
if not c or not tc then return end
rsop.SelectSolve({m,3},tp,aux.NecroValleyFilter(cm.matfilter),tp,rsloc.mg,rsloc.mg,1,1,nil,{cm.fun,tc},c:IsCode(30000505))
end
function cm.fun(g,tc)
local rc=g:GetFirst()
if tc:IsCode(30000505) then
Duel.Overlay(tc,rsgf.Mix2(rc))
else
tc:CopyEffect(rc:GetOriginalCodeRule(),rsreset.est)
end
end
function cm.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x92b) and c:IsType(TYPE_XYZ)
and c:CheckRemoveOverlayCard(tp,1,REASON_COST)
end
function cm.drcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_MZONE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DEATTACHFROM)
local c=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_MZONE,0,1,1,nil,tp):GetFirst()
c:RemoveOverlayCard(tp,1,1,REASON_COST)
end
function cm.drop(e,tp)
if not rscf.GetSelf(e) then return end
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,tp,rsloc.hdg)
end
function cm.spfilter(c,e,tp)
return rscf.spfilter2(Card.IsCode,30000500)(c,e,tp)
end
function cm.act(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.spfilter),tp,rsloc.hdg,0,nil,e,tp)
if #g>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
if rssf.SpecialSummon(sg)>0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
end
function cm.splimit(e,c)
return not c:IsType(TYPE_XYZ) and c:IsLocation(LOCATION_EXTRA)
end
...@@ -65,6 +65,17 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -65,6 +65,17 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
end end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function cm.splimit(e,c)
return not (c:IsSetCard(0x341) or c:IsAttribute(ATTRIBUTE_WATER))
end end
function cm.cost2(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -442,7 +442,7 @@ function cm.rmop(e,tp,eg,ep,ev,re,r,rp) ...@@ -442,7 +442,7 @@ function cm.rmop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g1=Duel.SelectMatchingCard(tp,cm.spfilter1,tp,LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_DECK,0,1,ct,nil,e,tp) local g1=Duel.SelectMatchingCard(tp,cm.spfilter1,tp,LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_DECK,0,1,ct,nil,e,tp)
if g1:GetCount()>0 then if g1:GetCount()>0 then
Duel.SpecialSummon(g1,nil,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(g1,nil,tp,tp,false,false,POS_FACEUP)
end end
end end
end end
......
...@@ -5,28 +5,28 @@ function cm.initial_effect(c) ...@@ -5,28 +5,28 @@ function cm.initial_effect(c)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,m) e1:SetCountLimit(1,m)
e1:SetTarget(cm.sptg) e1:SetTarget(cm.thtg1)
e1:SetOperation(cm.spop) e1:SetOperation(cm.tgop1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--search --search
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,m+10000) e3:SetCountLimit(1,m+10000)
e3:SetCondition(cm.con) e3:SetCondition(cm.con)
e3:SetTarget(cm.thtg1) e3:SetTarget(cm.sptg)
e3:SetOperation(cm.tgop1) e3:SetOperation(cm.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function cm.thfilter(c) function cm.thfilter(c)
......
...@@ -5,14 +5,12 @@ function cm.initial_effect(c) ...@@ -5,14 +5,12 @@ function cm.initial_effect(c)
--draw --draw
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_DRAW+CATEGORY_HANDES)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,m) e1:SetCountLimit(1,m)
e1:SetCost(cm.drcost) e1:SetTarget(cm.thtg1)
e1:SetTarget(cm.drtg) e1:SetOperation(cm.tgop1)
e1:SetOperation(cm.drop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
...@@ -20,13 +18,15 @@ function cm.initial_effect(c) ...@@ -20,13 +18,15 @@ function cm.initial_effect(c)
--search --search
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCategory(CATEGORY_TOGRAVE+CATEGORY_DRAW+CATEGORY_HANDES)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,m+10000) e3:SetCountLimit(1,m+10000)
e3:SetCondition(cm.con) e3:SetCondition(cm.con)
e3:SetTarget(cm.thtg1) e3:SetCost(cm.drcost)
e3:SetOperation(cm.tgop1) e3:SetTarget(cm.drtg)
e3:SetOperation(cm.drop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function cm.tgfilter(c) function cm.tgfilter(c)
......
...@@ -2,30 +2,30 @@ ...@@ -2,30 +2,30 @@
local m=33400905 local m=33400905
local cm=_G["c"..m] local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--to hand --special summon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SUMMON_SUCCESS) e3:SetCode(EVENT_SUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,m) e3:SetCountLimit(1,m)
e3:SetTarget(cm.thtg) e3:SetTarget(cm.sptg1)
e3:SetOperation(cm.thop) e3:SetOperation(cm.spop1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=e3:Clone() local e4=e3:Clone()
e4:SetCode(EVENT_SPSUMMON_SUCCESS) e4:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--special summon --to hand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m+10000) e2:SetCountLimit(1,m+10000)
e2:SetCondition(cm.con) e2:SetCondition(cm.con)
e2:SetTarget(cm.sptg1) e2:SetTarget(cm.thtg)
e2:SetOperation(cm.spop1) e2:SetOperation(cm.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function cm.thfilter(c) function cm.thfilter(c)
......
--五河士道 暴走形态 --五河士道 暴走形态
function c33401309.initial_effect(c) function c33401309.initial_effect(c)
aux.AddFusionProcFunFunRep(c,c33401309.matfilter1,c33401309.matfilter,2,2,true) aux.AddFusionProcFunFunRep(c,c33401309.matfilter1,c33401309.matfilter,2,2,true)
c:SetUniqueOnField(1,0,33401309) c:SetUniqueOnField(1,1,c33401309.uqfilter,LOCATION_MZONE)
--search --search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33401309,1)) e1:SetDescription(aux.Stringid(33401309,1))
...@@ -29,6 +29,10 @@ function c33401309.matfilter(c) ...@@ -29,6 +29,10 @@ function c33401309.matfilter(c)
return c:IsSetCard(0x341) return c:IsSetCard(0x341)
end end
function c33401309.uqfilter(c)
return c:GetOriginalCode(33401309)
end
function c33401309.thfilter2(c) function c33401309.thfilter2(c)
return c:IsSetCard(0x340) and c:IsType(TYPE_CONTINUOUS) and c:IsType(TYPE_SPELL) and not c:IsForbidden() return c:IsSetCard(0x340) and c:IsType(TYPE_CONTINUOUS) and c:IsType(TYPE_SPELL) and not c:IsForbidden()
end end
...@@ -61,7 +65,7 @@ function c33401309.cpop(e,tp,eg,ep,ev,re,r,rp) ...@@ -61,7 +65,7 @@ function c33401309.cpop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,2) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,2)
e1:SetCode(EFFECT_ADD_CODE) e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetValue(code) e1:SetValue(code)
c:RegisterEffect(e1) c:RegisterEffect(e1)
c:CopyEffect(code,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,2) c:CopyEffect(code,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,2)
......
--五河士道 英雄
local m=33401317
local cm=_G["c"..m]
function cm.initial_effect(c)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m)
e1:SetCondition(cm.spcon)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
local e3=e1:Clone()
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCondition(cm.spcon2)
c:RegisterEffect(e3)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_CUSTOM+m)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,m+10000)
e2:SetCondition(cm.thcon)
e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2)
if not cm.global_check then
cm.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_DESTROYED)
ge1:SetCondition(cm.regcon)
ge1:SetOperation(cm.regop)
Duel.RegisterEffect(ge1,0)
end
end
function cm.cfilter1(c)
return c:IsFaceup() and c:IsRace(RACE_FAIRY) and c:IsSetCard(0x341)
end
function cm.cfilter2(c)
return c:IsFaceup() and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSetCard(0x341,0x340)
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.cfilter1,tp,LOCATION_ONFIELD,0,1,nil) and not Duel.IsExistingMatchingCard(cm.cfilter2,tp,LOCATION_ONFIELD,0,1,nil)
end
function cm.spcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.cfilter1,tp,LOCATION_ONFIELD,0,1,nil) and Duel.IsExistingMatchingCard(cm.cfilter2,tp,LOCATION_ONFIELD,0,1,nil)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
function cm.cfilter(c,tp)
return c:IsPreviousSetCard(0x341) and c:IsPreviousPosition(POS_FACEUP)
and c:IsReason(REASON_BATTLE+REASON_EFFECT) and c:GetPreviousControler()==tp and c:IsPreviousLocation(LOCATION_MZONE)
end
function cm.regcon(e,tp,eg,ep,ev,re,r,rp)
local v=0
if eg:IsExists(cm.cfilter,1,nil,0) then v=v+1 end
if eg:IsExists(cm.cfilter,1,nil,1) then v=v+2 end
if v==0 then return false end
e:SetLabel(({0,1,PLAYER_ALL})[v])
return true
end
function cm.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RaiseEvent(eg,EVENT_CUSTOM+m,re,r,rp,ep,e:GetLabel())
end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return ev==tp or ev==PLAYER_ALL
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,0,0)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,nil,REASON_EFFECT)
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.sumlimit)
e1:SetLabel(tc:GetCode())
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function cm.sumlimit(e,c)
return c:IsCode(m)
end
\ No newline at end of file
...@@ -7,7 +7,7 @@ function cm.initial_effect(c) ...@@ -7,7 +7,7 @@ function cm.initial_effect(c)
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSynchroType,TYPE_SYNCHRO),aux.NonTuner(Card.IsSynchroType,TYPE_SYNCHRO),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSynchroType,TYPE_SYNCHRO),aux.NonTuner(Card.IsSynchroType,TYPE_SYNCHRO),1)
c:EnableReviveLimit() c:EnableReviveLimit()
local e1=rsef.SC(c,EVENT_SPSUMMON_SUCCESS,nil,nil,"cd",rscon.sumtype("syn"),cm.regop) local e1=rsef.SC(c,EVENT_SPSUMMON_SUCCESS,nil,nil,"cd",rscon.sumtype("syn"),cm.regop)
local e2=rsef.STO(c,EVENT_TO_GRAVE,{m,4},nil,"sp","de,dsp",cm.spcon,nil,rsop.target(cm.spfilter,"sp",LOCATION_GRAVE),cm.spop) -- local e2=rsef.STO(c,EVENT_TO_GRAVE,{m,4},nil,"sp","de,dsp",cm.spcon,nil,rsop.target(cm.spfilter,"sp",LOCATION_GRAVE),cm.spop)
if not cm.gbl then if not cm.gbl then
cm.gbl=true cm.gbl=true
cm[0]=0 cm[0]=0
...@@ -25,15 +25,16 @@ function cm.resetcount(e,tp,eg,ep,ev,re,r,rp) ...@@ -25,15 +25,16 @@ function cm.resetcount(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.regop(e,tp,eg,ep,ev,re,r,rp) function cm.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local mat0=c:GetMaterial() local mat0=c:GetMaterial()
local mat=mat:Filter(Card.IsType,nil,TYPE_SYNCHRO) local mat=mat0:Filter(Card.IsType,nil,TYPE_SYNCHRO)
if #mat>=3 then if #mat>=3 or re:GetHandler():IsCode(40009385) then
local e1=rsef.QO(c,nil,{m,0},1,"dis",nil,LOCATION_MZONE,nil,nil,nil,cm.disop,nil,rsreset.est) local e1=rsef.QO(c,nil,{m,0},1,"dis",nil,LOCATION_MZONE,nil,nil,nil,cm.disop,nil,rsreset.est)
end end
if #mat>=4 then if #mat>=4 or re:GetHandler():IsCode(40009385) then
local e2=rsef.SV_SET(c,"batk",c:GetBaseAttack()*2,nil,rsreset.est_d) local e2=rsef.SV_SET(c,"batk",c:GetBaseAttack()*2,nil,rsreset.est_d)
end end
if #mat>=5 then if #mat>=5 or re:GetHandler():IsCode(40009385) then
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_EXTRA_ATTACK) e3:SetCode(EFFECT_EXTRA_ATTACK)
...@@ -42,7 +43,7 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,7 +43,7 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp)
e3:SetValue(#mat0-1) e3:SetValue(#mat0-1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
if #mat>=6 then if #mat>=6 or re:GetHandler():IsCode(40009385) then
local e4=rsef.QO(c,nil,{m,1},1,"td",nil,LOCATION_MZONE,nil,nil,rsop.target(Card.IsAbleToDeck,"td",0,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,true),cm.tdop) local e4=rsef.QO(c,nil,{m,1},1,"td",nil,LOCATION_MZONE,nil,nil,rsop.target(Card.IsAbleToDeck,"td",0,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,true),cm.tdop)
end end
end end
......
...@@ -10,10 +10,10 @@ function c40008801.initial_effect(c) ...@@ -10,10 +10,10 @@ function c40008801.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--remove material --remove material
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40008801,0)) e1:SetDescription(aux.Stringid(40008801,1))
e1:SetCategory(CATEGORY_DAMAGE) e1:SetCategory(CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_PHASE) e1:SetCode(EVENT_PHASE+PHASE_STANDBY)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetCondition(c40008801.rmcon) e1:SetCondition(c40008801.rmcon)
...@@ -25,82 +25,71 @@ function c40008801.initial_effect(c) ...@@ -25,82 +25,71 @@ function c40008801.initial_effect(c)
e2:SetDescription(aux.Stringid(40008801,0)) e2:SetDescription(aux.Stringid(40008801,0))
e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE) e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c40008801.setcon1) e2:SetCondition(c40008801.setcon1)
e2:SetCost(c40008801.setcost) e2:SetCost(c40008801.setcost)
e2:SetTarget(c40008801.atktg) -- e2:SetTarget(c40008801.atktg)
e2:SetOperation(c40008801.atkop) e2:SetOperation(c40008801.atkop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone() local e3=e2:Clone()
e3:SetType(EFFECT_TYPE_QUICK_O) e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN) e3:SetCode(EVENT_FREE_CHAIN)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE) e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetCondition(c40008801.setcon2) e3:SetCondition(c40008801.setcon2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c40008801.xyz_number=30
function c40008801.rmcon(e,tp,eg,ep,ev,re,r,rp) function c40008801.rmcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
end end
function c40008801.rmtg(e,tp,eg,ep,ev,re,r,rp,chk) function c40008801.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
if e:GetHandler():GetOverlayCount()==0 then if e:GetHandler():GetOverlayCount()==0 then
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,PLAYER_ALL,4000) Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,4000)
end end
end end
function c40008801.rmop(e,tp,eg,ep,ev,re,r,rp) function c40008801.rmop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_EFFECT) and Duel.SelectYesNo(tp,aux.Stringid(40008801,1)) then if e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_EFFECT) and Duel.SelectYesNo(tp,aux.Stringid(40008801,2)) then
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_EFFECT) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_EFFECT)
else else
Duel.Damage(tp,4000,REASON_EFFECT,true) Duel.Damage(tp,4000,REASON_EFFECT)
Duel.Damage(1-tp,4000,REASON_EFFECT,true)
Duel.RDComplete()
end end
end end
function c40008801.setcon1(e,tp,eg,ep,ev,re,r,rp) function c40008801.setcon1(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,81330115) return not e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,40008801)
end end
function c40008801.setcon2(e,tp,eg,ep,ev,re,r,rp) function c40008801.setcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,81330115) return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,40008801)
end end
function c40008801.setcost(e,tp,eg,ep,ev,re,r,rp,chk) function c40008801.setcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end end
function c40008801.atktg(e,c)
return c~=e:GetHandler()
end
function c40008801.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetCard(eg)
end
function c40008801.atkfilter(c,e,tp) function c40008801.atkfilter(c,e,tp)
return c:IsControler(tp) and c:IsPosition(POS_FACEUP) and (not e or c:IsRelateToEffect(e)) return c:IsControler(tp) and c:IsPosition(POS_FACEUP) and (not e or c:IsRelateToEffect(e))
end end
function c40008801.atkop(e,tp,eg,ep,ev,re,r,rp) function c40008801.atkop(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(c40008801.atkfilter,nil,e,tp,1-tp)
local dg=Group.CreateGroup() local dg=Group.CreateGroup()
local c=e:GetHandler() local c=e:GetHandler()
local tc=g:GetFirst() local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,e:GetHandler())
while tc do if g:GetCount()>0 then
local preatk=tc:GetAttack() local sc=g:GetFirst()
local e1=Effect.CreateEffect(c) while sc do
local preatk=sc:GetAttack()
local predef=sc:GetDefense()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetValue(-2000) e1:SetValue(-2000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) sc:RegisterEffect(e1)
tc:RegisterEffect(e1) local e2=e1:Clone()
local predef=tc:GetDefense()
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_DEFENSE) e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetValue(-2000) sc:RegisterEffect(e2)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) if (preatk~=0 and predef~=0) and (sc:IsAttack(0) or sc:IsDefense(0)) then dg:AddCard(sc) end
tc:RegisterEffect(e2) sc=g:GetNext()
if preatk~=0 and tc:IsAttack(0) then dg:AddCard(tc)
else
predef~=0 and tc:IsDefense(0) then dg:AddCard(tc) end
tc=g:GetNext()
end end
Duel.Destroy(dg,REASON_EFFECT) Duel.Destroy(dg,REASON_EFFECT)
end
end end
\ No newline at end of file
...@@ -35,32 +35,40 @@ function c40008844.initial_effect(c) ...@@ -35,32 +35,40 @@ function c40008844.initial_effect(c)
e4:SetCode(EVENT_ATTACK_ANNOUNCE) e4:SetCode(EVENT_ATTACK_ANNOUNCE)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1) e4:SetCountLimit(1)
e4:SetCost(c40008844.spcost) e4:SetCost(c40008844.atkcost)
e4:SetCondition(c40008844.atkcon) e4:SetCondition(c40008844.atkcon)
e4:SetOperation(c40008844.atkop) e4:SetOperation(c40008844.atkop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
c40008844.xyz_number=96
function c40008844.actcon(e) function c40008844.actcon(e)
return Duel.GetAttacker()==e:GetHandler() or Duel.GetAttackTarget()==e:GetHandler() return Duel.GetAttacker()==e:GetHandler() or Duel.GetAttackTarget()==e:GetHandler()
end end
function c40008844.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c40008844.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end local c=e:GetHandler()
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) if chk==0 then return c:CheckRemoveOverlayCard(tp,1,REASON_COST) and c:GetFlagEffect(40008844)==0 end
c:RemoveOverlayCard(tp,1,1,REASON_COST)
c:RegisterFlagEffect(40008844,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DAMAGE_CAL,0,1)
end end
function c40008844.atkcon(e,tp,eg,ep,ev,re,r,rp) function c40008844.atkcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local bc=c:GetBattleTarget() local bc=c:GetBattleTarget()
return c:IsRelateToBattle() and bc and bc:IsFaceup() and bc:IsRelateToBattle() and bc:GetAttack()>0 return c:IsRelateToBattle() and bc and bc:IsFaceup() and bc:IsRelateToBattle() and bc:GetAttack()>0
end end
function c42160203.atkop(e,tp,eg,ep,ev,re,r,rp) function c40008844.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=c:GetBattleTarget() local bc=c:GetBattleTarget()
if tc:IsFaceup() and tc:IsRelateToBattle() and not tc:IsImmuneToEffect(e) then if c:IsFaceup() and c:IsRelateToBattle() and bc:IsFaceup() and bc:IsRelateToBattle() then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(bc:GetAttack())
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(tc:GetAttack()*2) bc:RegisterEffect(e1)
tc:RegisterEffect(e1) local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetValue(bc:GetDefense())
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
bc:RegisterEffect(e2)
end end
end end
\ No newline at end of file
...@@ -4,6 +4,7 @@ function c40009016.initial_effect(c) ...@@ -4,6 +4,7 @@ function c40009016.initial_effect(c)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFunRep2(c,aux.FilterBoolFunction(Card.IsRace,RACE_FAIRY),2,63,true) aux.AddFusionProcFunRep2(c,aux.FilterBoolFunction(Card.IsRace,RACE_FAIRY),2,63,true)
aux.AddFusionProcFunFunRep(c,c40009016.matfilter,aux.FilterBoolFunction(Card.IsRace,RACE_FAIRY),1,63,true)
--spsummon condition --spsummon condition
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -53,6 +54,9 @@ function c40009016.initial_effect(c) ...@@ -53,6 +54,9 @@ function c40009016.initial_effect(c)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c40009016.matfilter(c)
return c:IsFusionType(TYPE_LINK) and c:IsFusionSetCard(0xf11)
end
function c40009016.condition1(e,tp,eg,ep,ev,re,r,rp) function c40009016.condition1(e,tp,eg,ep,ev,re,r,rp)
return tp~=ep and Duel.GetCurrentChain()==0 return tp~=ep and Duel.GetCurrentChain()==0
end end
......
--圣灵守护天使 亚纳菲尔
function c40009105.initial_effect(c)
--cannot special summon
local e0=Effect.CreateEffect(c)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(aux.FALSE)
c:RegisterEffect(e0)
--summon with 3 tribute
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_LIMIT_SUMMON_PROC)
e1:SetCondition(c40009105.ttcon)
e1:SetOperation(c40009105.ttop)
e1:SetValue(SUMMON_TYPE_ADVANCE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_LIMIT_SET_PROC)
e2:SetCondition(c40009105.setcon)
c:RegisterEffect(e2)
--change effect
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c40009105.chcon1)
--e3:SetOperation(c40009105.chop1)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAIN_SOLVING)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c40009105.chcon2)
e4:SetOperation(c40009105.chop2)
c:RegisterEffect(e4)
--
local e5=Effect.CreateEffect(c)
e5:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetRange(LOCATION_MZONE)
e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e5:SetTargetRange(1,0)
e5:SetTarget(c40009105.sumlimit)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_CANNOT_SUMMON)
c:RegisterEffect(e6)
--
local e7=Effect.CreateEffect(c)
e7:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e7:SetType(EFFECT_TYPE_FIELD)
e7:SetRange(LOCATION_MZONE)
e7:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e7:SetTargetRange(0,1)
e7:SetCondition(c40009105.descon2)
e7:SetTarget(c40009105.sumlimit)
c:RegisterEffect(e7)
local e8=e7:Clone()
e8:SetCode(EFFECT_CANNOT_SUMMON)
c:RegisterEffect(e8)
--disable
local e9=Effect.CreateEffect(c)
e9:SetType(EFFECT_TYPE_FIELD)
e9:SetCode(EFFECT_DISABLE)
e9:SetRange(LOCATION_MZONE)
e9:SetTargetRange(LOCATION_MZONE,0)
e9:SetTarget(c40009105.distg)
c:RegisterEffect(e9)
end
function c40009105.distg(e,c)
return not c:IsSetCard(0xf27)
end
function c40009105.otfilter(c)
return not c:IsSetCard(40009105) and c:IsRace(RACE_FAIRY) and c:IsReleasable()
end
function c40009105.ttcon(e,c,minc)
if c==nil then return true end
local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(c40009105.otfilter,tp,LOCATION_HAND,0,e:GetHandler())
return minc<=3 and (Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and mg:GetCount()>=3
or Duel.CheckTribute(c,1) and mg:GetCount()>=2
or Duel.CheckTribute(c,2) and mg:GetCount()>=1
or Duel.CheckTribute(c,3))
end
function c40009105.ttop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(c40009105.otfilter,tp,LOCATION_HAND,0,e:GetHandler())
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local g=Group.CreateGroup()
local ct=3
while mg:GetCount()>0 and (ct>2 and Duel.CheckTribute(c,ct-2) or ct>1 and Duel.CheckTribute(c,ct-1) or ct>0 and ft>0)
and (not Duel.CheckTribute(c,ct) or Duel.SelectYesNo(tp,aux.Stringid(40009105,0))) do
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g1=mg:Select(tp,1,1,nil)
g:Merge(g1)
mg:Sub(g1)
ct=ct-1
end
if g:GetCount()<3 then
local g2=Duel.SelectTribute(tp,c,3-g:GetCount(),3-g:GetCount())
g:Merge(g2)
end
c:SetMaterial(g)
Duel.Release(g,REASON_SUMMON+REASON_MATERIAL)
end
function c40009105.setcon(e,c,minc)
if not c then return true end
return false
end
function c40009105.chcon1(e,tp,eg,ep,ev,re,r,rp)
return ep==1-tp and re:IsActiveType(TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP)
and Duel.GetLP(e:GetHandlerPlayer())>=12000
end
--function c40009105.chop1(e,tp,eg,ep,ev,re,r,rp)
-- re:GetHandler():RegisterFlagEffect(40009105,RESET_CHAIN,0,1)
--end
function c40009105.chcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLP(e:GetHandlerPlayer())>=12000
end
function c40009105.chop2(e,tp,eg,ep,ev,re,r,rp)
local g=Group.CreateGroup()
Duel.ChangeTargetCard(ev,g)
return Duel.ChangeChainOperation(ev,c40009105.repop)
end
function c40009105.repop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,40009105)
Duel.Damage(tp-1,2000,REASON_EFFECT)
Duel.Recover(tp,2000,REASON_EFFECT)
end
function c40009105.sumlimit(e,c,sump,sumtype,sumpos,targetp)
return not c:IsRace(RACE_FAIRY)
end
function c40009105.descon2(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetLP(e:GetHandlerPlayer())>=15000 or Duel.GetLP(1-tp)>=15000)
end
--圣灵守护天使 拉贵尔
function c40009111.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunFun(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xf27),aux.FilterBoolFunction(Card.IsRace,RACE_FAIRY),2,true)
aux.AddContactFusionProcedure(c,Card.IsReleasable,LOCATION_MZONE+LOCATION_HAND,0,Duel.Release,REASON_COST+REASON_MATERIAL)
--win
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EVENT_ADJUST)
e1:SetRange(LOCATION_MZONE)
e1:SetOperation(c40009111.winop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--damage reduce
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EFFECT_CHANGE_DAMAGE)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(1,1)
e3:SetValue(c40009111.damval2)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_NO_EFFECT_DAMAGE)
--e4:SetCondition(c40009111.damcon)
c:RegisterEffect(e4)
--draw
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(40009111,1))
e5:SetCategory(CATEGORY_SUMMON)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_MZONE)
e5:SetProperty(EFFECT_FLAG_BOTH_SIDE)
e5:SetCost(c40009111.effcost)
e5:SetTarget(c40009111.sumtg)
e5:SetOperation(c40009111.sumop)
c:RegisterEffect(e5)
--disable
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(40009111,2))
e6:SetCategory(CATEGORY_DISABLE)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e6:SetCode(EVENT_RECOVER)
e6:SetRange(LOCATION_MZONE)
e6:SetCountLimit(1)
e6:SetTarget(c40009111.distg)
e6:SetOperation(c40009111.disop)
c:RegisterEffect(e6)
end
function c40009111.damval2(e,re,val,r,rp,rc)
if bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0 then return 0
else return val end
end
function c40009111.winop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLP(e:GetHandlerPlayer())>=50000 and Duel.GetLP(1-tp)>=50000 then
Duel.Hint(HINT_MESSAGE,1-tp,aux.Stringid(40009111,0))
Duel.Hint(HINT_MESSAGE,tp,aux.Stringid(40009111,0))
Duel.Win(tp,nil)
end
end
function c40009111.effcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.PayLPCost(tp,1000)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c40009111.sumfilter(c)
return c:IsSummonable(true,nil) or c:IsMSetable(true,nil)
end
function c40009111.sumtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if not e:GetHandler():IsStatus(STATUS_CHAINING) then
local ct=Duel.GetMatchingGroupCount(c40009111.sumfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,nil)
e:SetLabel(ct)
return ct>0
else return e:GetLabel()>0 end
end
e:SetLabel(e:GetLabel()-1)
Duel.SetOperationInfo(0,CATEGORY_SUMMON,nil,1,0,0)
end
function c40009111.sumop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON)
local g=Duel.SelectMatchingCard(tp,c40009111.sumfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local tc=g:GetFirst()
if tc then
local s1=tc:IsSummonable(true,nil)
local s2=tc:IsMSetable(true,nil)
if (s1 and s2 and Duel.SelectPosition(tp,tc,POS_FACEUP_ATTACK+POS_FACEDOWN_DEFENSE)==POS_FACEUP_ATTACK) or not s2 then
Duel.Summon(tp,tc,true,nil)
else
Duel.MSet(tp,tc,true,nil)
end
end
end
function c40009111.disfilter(c)
return c:IsFaceup()
end
function c40009111.disfilter1(c)
return c:IsFaceup() and not c:IsDisabled()
end
function c40009111.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40009111.disfilter,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,PLAYER_ALL,1000)
end
function c40009111.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,1-tp,aux.Stringid(40009111,3))
local pc=Duel.SelectMatchingCard(1-tp,c40009111.disfilter,tp,0,LOCATION_ONFIELD,1,1,nil):GetFirst()
if not pc then return end
if Duel.Recover(tp,1000,REASON_EFFECT)~=0 and Duel.Recover(1-tp,1000,REASON_EFFECT)~=0 then
local g=Duel.GetMatchingGroup(c40009111.disfilter1,tp,0,LOCATION_ONFIELD,pc)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
tc=g:GetNext()
end
end
end
...@@ -18,17 +18,12 @@ function c40009121.initial_effect(c) ...@@ -18,17 +18,12 @@ function c40009121.initial_effect(c)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND) e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e2:SetCondition(c40009121.handcon) e2:SetCondition(c40009121.handcon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--search --to grave
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(40009121,1)) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCode(EVENT_PHASE+PHASE_END) e4:SetCode(EVENT_TO_GRAVE)
e4:SetCountLimit(1,40009122) e4:SetOperation(c40009121.regop)
e4:SetRange(LOCATION_GRAVE)
e4:SetCondition(c40009121.thcon)
e4:SetCost(aux.bfgcost)
e4:SetTarget(c40009121.settg)
e4:SetOperation(c40009121.setop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c40009121.thfilter(c,e,tp) function c40009121.thfilter(c,e,tp)
...@@ -57,8 +52,19 @@ function c40009121.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -57,8 +52,19 @@ function c40009121.spop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
end end
function c40009121.thcon(e,tp,eg,ep,ev,re,r,rp) function c40009121.regop(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(40009121)>0 local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009121,1))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,40009122)
e1:SetCost(aux.bfgcost)
e1:SetTarget(c40009121.settg)
e1:SetOperation(c40009121.setop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end end
function c40009121.setfilter(c) function c40009121.setfilter(c)
return c:GetType()==TYPE_TRAP and c:IsSSetable() return c:GetType()==TYPE_TRAP and c:IsSSetable()
......
...@@ -16,17 +16,12 @@ function c40009124.initial_effect(c) ...@@ -16,17 +16,12 @@ function c40009124.initial_effect(c)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND) e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e2:SetCondition(c40009124.handcon) e2:SetCondition(c40009124.handcon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--search --to grave
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(40009124,1)) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCode(EVENT_PHASE+PHASE_END) e4:SetCode(EVENT_TO_GRAVE)
e4:SetCountLimit(1,40009125) e4:SetOperation(c40009124.regop)
e4:SetRange(LOCATION_GRAVE)
e4:SetCondition(c40009124.thcon)
e4:SetCost(aux.bfgcost)
e4:SetTarget(c40009124.settg)
e4:SetOperation(c40009124.setop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c40009124.atkcon(e,tp,eg,ep,ev,re,r,rp) function c40009124.atkcon(e,tp,eg,ep,ev,re,r,rp)
...@@ -51,6 +46,20 @@ function c40009124.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -51,6 +46,20 @@ function c40009124.atkop(e,tp,eg,ep,ev,re,r,rp)
at:RegisterEffect(e2) at:RegisterEffect(e2)
end end
end end
function c40009124.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009124,1))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,40009125)
e1:SetCost(aux.bfgcost)
e1:SetTarget(c40009124.settg)
e1:SetOperation(c40009124.setop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
function c40009124.setfilter(c) function c40009124.setfilter(c)
return c:GetType()==TYPE_TRAP and c:IsSSetable() return c:GetType()==TYPE_TRAP and c:IsSSetable()
end end
......
...@@ -16,17 +16,12 @@ function c40009139.initial_effect(c) ...@@ -16,17 +16,12 @@ function c40009139.initial_effect(c)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND) e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e2:SetCondition(c40009139.handcon) e2:SetCondition(c40009139.handcon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--search --to grave
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(40009139,1)) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCode(EVENT_PHASE+PHASE_END) e4:SetCode(EVENT_TO_GRAVE)
e4:SetCountLimit(1,40009140) e4:SetOperation(c40009139.regop)
e4:SetRange(LOCATION_GRAVE)
e4:SetCondition(c40009139.thcon)
e4:SetCost(aux.bfgcost)
e4:SetTarget(c40009139.settg)
e4:SetOperation(c40009139.setop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c40009139.filter(c) function c40009139.filter(c)
...@@ -67,6 +62,20 @@ end ...@@ -67,6 +62,20 @@ end
function c40009139.efilter(e,te) function c40009139.efilter(e,te)
return te:GetOwner()~=e:GetOwner() return te:GetOwner()~=e:GetOwner()
end end
function c40009139.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009139,1))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,40009140)
e1:SetCost(aux.bfgcost)
e1:SetTarget(c40009139.settg)
e1:SetOperation(c40009139.setop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
function c40009139.setfilter(c) function c40009139.setfilter(c)
return c:GetType()==TYPE_TRAP and c:IsSSetable() return c:GetType()==TYPE_TRAP and c:IsSSetable()
end end
......
...@@ -17,17 +17,12 @@ function c40009141.initial_effect(c) ...@@ -17,17 +17,12 @@ function c40009141.initial_effect(c)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND) e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e2:SetCondition(c40009141.handcon) e2:SetCondition(c40009141.handcon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--search --to grave
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(40009141,1)) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCode(EVENT_PHASE+PHASE_END) e4:SetCode(EVENT_TO_GRAVE)
e4:SetCountLimit(1,40009142) e4:SetOperation(c40009141.regop)
e4:SetRange(LOCATION_GRAVE)
e4:SetCondition(c40009141.thcon)
e4:SetCost(aux.bfgcost)
e4:SetTarget(c40009141.settg)
e4:SetOperation(c40009141.setop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c40009141.cfilter(c) function c40009141.cfilter(c)
...@@ -50,6 +45,20 @@ function c40009141.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,6 +45,20 @@ function c40009141.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(eg,REASON_EFFECT) Duel.Destroy(eg,REASON_EFFECT)
end end
end end
function c40009141.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009141,1))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,40009142)
e1:SetCost(aux.bfgcost)
e1:SetTarget(c40009141.settg)
e1:SetOperation(c40009141.setop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
function c40009141.setfilter(c) function c40009141.setfilter(c)
return c:GetType()==TYPE_COUNTER and c:IsSSetable() return c:GetType()==TYPE_COUNTER and c:IsSSetable()
end end
......
--二天苍翼 青天·苍天
function c40009323.initial_effect(c)
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c40009323.ffilter,2,true)
aux.AddContactFusionProcedure(c,Card.IsAbleToGraveAsCost,LOCATION_MZONE,LOCATION_MZONE,Duel.SendtoGrave,REASON_COST)
--to grave
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009033,1))
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_CONTROL)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCountLimit(1,40009323)
e1:SetCost(c40009323.descost)
e1:SetTarget(c40009323.gytg)
e1:SetOperation(c40009323.gyop)
c:RegisterEffect(e1)
--equip
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40009033,0))
e2:SetCategory(CATEGORY_EQUIP)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetTarget(c40009033.eqtg)
e2:SetOperation(c40009033.eqop)
c:RegisterEffect(e2)
--cannot be fusion material
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetValue(1)
c:RegisterEffect(e3)
end
function c40009323.ffilter(c,fc,sub,mg,sg)
return c:IsFusionType(TYPE_LINK) and c:IsRace(RACE_MACHINE)
end
function c40009033.eqfilter(c,tp)
return (c:IsSetCard(0xf13) and c:IsType(TYPE_QUICKPLAY)) and c:CheckUniqueOnField(tp) and not c:IsForbidden()
end
function c40009033.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingMatchingCard(c40009033.eqfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) end
Duel.SetOperationInfo(0,CATEGORY_EQUIP,nil,1,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE)
end
function c40009033.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
local ft=Duel.GetLocationCount(tp,LOCATION_SZONE)
if c:IsRelateToEffect(e) and c:IsFaceup() then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
if ft>=2 then
g=Duel.SelectMatchingCard(tp,c40009033.eqfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,2,tp)
else
g=Duel.SelectMatchingCard(tp,c40009033.eqfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,ft,tp)
end
local tc=g:GetFirst()
while tc do
Duel.Equip(tp,tc,c,true,true)
--equip limit
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetLabelObject(c)
e1:SetValue(c40009033.eqlimit)
tc:RegisterEffect(e1)
tc=g:GetNext()
end
--local tc=g:GetFirst()
--while tc do
--Duel.Equip(tp,tc,c,false,true)
--local e1=Effect.CreateEffect(c)
--e1:SetProperty(EFFECT_FLAG_COPY_INHERIT+EFFECT_FLAG_OWNER_RELATE)
-- e1:SetType(EFFECT_TYPE_SINGLE)
-- e1:SetCode(EFFECT_EQUIP_LIMIT)
-- e1:SetReset(RESET_EVENT+RESETS_STANDARD)
-- e1:SetValue(c40009033.eqlimit)
-- tc:RegisterEffect(e1)
-- tc=g:GetNext()
-- end
Duel.EquipComplete()
end
end
function c40009033.eqlimit(e,c)
return c==e:GetLabelObject()
end
function c40009323.costfilter(c)
return c:IsFaceup() and c:IsSetCard(0xf13) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToGraveAsCost()
end
function c40009323.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40009323.costfilter,tp,LOCATION_ONFIELD,0,1,nil) end
if Duel.IsExistingMatchingCard(c40009323.costfilter,tp,LOCATION_ONFIELD,0,1,nil)
then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c40009323.costfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
end
function c40009323.tgfilter(c,tp)
return Duel.IsExistingMatchingCard(c40009323.gyfilter,tp,0,LOCATION_ONFIELD,1,nil,c:GetColumnGroup()) and c:IsFaceup() and c:IsControlerCanBeChanged()
end
function c40009323.gyfilter(c,g)
return g:IsContains(c)
end
function c40009323.gytg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40009323.tgfilter,tp,0,LOCATION_MZONE,1,nil,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,0,1-tp,LOCATION_ONFIELD)
end
function c40009323.gyop(e,tp,eg,ep,ev,re,r,rp)
local pg=Duel.SelectMatchingCard(tp,c40009323.tgfilter,tp,0,LOCATION_MZONE,1,1,nil,tp)
if pg:GetCount()==0 then return end
local g=Duel.GetMatchingGroup(c40009323.gyfilter,tp,0,LOCATION_ONFIELD,nil,pg:GetFirst():GetColumnGroup())
if Duel.SendtoGrave(g,REASON_EFFECT)~=0 then
Duel.BreakEffect()
local tct=3
if Duel.GetTurnPlayer()~=tp then tct=2
elseif Duel.GetCurrentPhase()==PHASE_END then tct=3 end
Duel.GetControl(pg,tp,PHASE_END,tct)
end
end
\ No newline at end of file
--炼狱骑士团 魔剑处刑龙
function c40009385.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--search
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009385,0))
e1:SetCategory(CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c40009385.tgcost)
e1:SetCondition(c40009385.tgcon)
e1:SetTarget(c40009385.tdtg)
e1:SetOperation(c40009385.tdop)
c:RegisterEffect(e1)
--draw
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40009385,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCost(c40009385.sccost)
e2:SetTarget(c40009385.sctg)
e2:SetOperation(c40009385.scop)
c:RegisterEffect(e2)
--material check
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e5:SetCode(EVENT_SPSUMMON_SUCCESS)
e5:SetCondition(c40009385.matcon)
e5:SetOperation(c40009385.matop)
c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_MATERIAL_CHECK)
e6:SetValue(c40009385.valcheck)
e6:SetLabelObject(e5)
c:RegisterEffect(e6)
end
function c40009385.tgcfilter(c)
return c:IsRace(RACE_DRAGON) and c:IsType(TYPE_MONSTER) and c:IsType(TYPE_SYNCHRO) and c:IsAbleToGraveAsCost() and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,0,0,LOCATION_ONFIELD,1,c)
end
function c40009385.tgcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c40009385.tgcfilter,tp,LOCATION_EXTRA,0,1,nil) and c:GetFlagEffect(40009385)<c:GetFlagEffectLabel(40009386) end
c:RegisterFlagEffect(40009385,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c40009385.tgcfilter,tp,LOCATION_EXTRA,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
function c40009385.tgcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffectLabel(40009386) and e:GetHandler():GetFlagEffectLabel(40009386)>0
end
function c40009385.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,nil)
if g:GetCount()>0 then
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
end
end
function c40009385.tdop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
end
function c40009385.matcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) and e:GetLabel()>0
end
function c40009385.matop(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(40009386,RESET_EVENT+RESETS_STANDARD,0,1,e:GetLabel())
end
function c40009385.valcheck(e,c)
local g=c:GetMaterial()
local ct=g:FilterCount(Card.IsFusionType,nil,TYPE_SYNCHRO)
e:GetLabelObject():SetLabel(ct)
end
function c40009385.sccfilter(c)
if c:IsFacedown() or not c:IsAbleToRemoveAsCost() then return false end
return c:IsType(TYPE_SYNCHRO) and (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE))
end
function c40009385.sccost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToRemoveAsCost()
and Duel.IsExistingMatchingCard(c40009385.sccfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,5,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c40009385.sccfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,5,5,c)
g:AddCard(c)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function c40009385.scfilter(c,e,tp)
return c:IsSetCard(0xf14) and c:IsLevel(12) and c:IsType(TYPE_SYNCHRO)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_SYNCHRO,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function c40009385.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_SMATERIAL)
and Duel.IsExistingMatchingCard(c40009385.scfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c40009385.scop(e,tp,eg,ep,ev,re,r,rp)
if not aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_SMATERIAL) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c40009385.scfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc then
Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)
tc:CompleteProcedure()
end
end
--混沌No.17 海恶龙·原罪觉醒
function c40009406.initial_effect(c)
--xyz summon
c:EnableReviveLimit()
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_WATER),3,3,c40009406.ovfilter,aux.Stringid(40009406,1))
--attack up
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DISABLE)
e1:SetDescription(aux.Stringid(40009406,0))
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e1:SetCost(c40009406.atkcost)
e1:SetTarget(c40009406.atktg)
e1:SetOperation(c40009406.atkop)
c:RegisterEffect(e1)
end
c40009406.xyz_number=17
function c40009406.ovfilter(c)
return c:IsFaceup() and c:IsCode(69610924)
end
function c40009406.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c40009406.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsOnField() and aux.disfilter1(chkc) end
if chk==0 then return Duel.IsExistingTarget(aux.disfilter1,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,aux.disfilter1,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
end
function c40009406.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) then
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_UPDATE_ATTACK)
e0:SetValue(1000)
e0:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e0)
if Duel.GetLP(tp)<=1000 and ((tc:IsFaceup() and not tc:IsDisabled()) or tc:IsType(TYPE_TRAPMONSTER)) and tc:IsRelateToEffect(e) then
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
if tc:IsType(TYPE_TRAPMONSTER) then
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e3)
end
end
end
end
--闪光No.48 珑影巫妖
function c40009412.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_DARK),4,3)
c:EnableReviveLimit()
--token
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009412,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,40009412)
e1:SetCost(c40009412.spcost)
e1:SetTarget(c40009412.sptg)
e1:SetOperation(c40009412.spop)
c:RegisterEffect(e1)
--atk
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(c40009412.atkval)
c:RegisterEffect(e2)
--cannot target
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c40009412.indcon)
e3:SetValue(aux.tgoval)
c:RegisterEffect(e3)
--indes
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c40009412.indcon)
e4:SetValue(aux.indoval)
c:RegisterEffect(e4)
--draw
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetRange(LOCATION_MZONE)
e5:SetTargetRange(LOCATION_MZONE,0)
e5:SetCode(EFFECT_UPDATE_ATTACK)
e5:SetTarget(aux.TargetBoolFunction(Card.IsCode,1426715))
e5:SetValue(c40009412.atkval2)
c:RegisterEffect(e5)
end
c40009412.xyz_number=48
function c40009412.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c40009412.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not Duel.IsPlayerAffectedByEffect(tp,59822133)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and Duel.IsPlayerCanSpecialSummonMonster(tp,1426715,0,0x4011,500,500,1,RACE_FIEND,ATTRIBUTE_DARK) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,2,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,0,0)
end
function c40009412.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=1 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,1426715,0,0x4011,500,500,1,RACE_FIEND,ATTRIBUTE_DARK) then
local token1=Duel.CreateToken(tp,1426715)
Duel.SpecialSummonStep(token1,0,tp,tp,false,false,POS_FACEUP)
local token2=Duel.CreateToken(tp,1426715)
Duel.SpecialSummonStep(token2,0,tp,tp,false,false,POS_FACEUP)
Duel.SpecialSummonComplete()
end
end
function c40009412.indcon(e)
return Duel.IsExistingMatchingCard(Card.IsCode,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil,1426715)
end
function c40009412.atkval(e,c)
return Duel.GetMatchingGroupCount(Card.IsCode,c:GetControler(),LOCATION_ONFIELD,0,nil,1426715)*500
end
function c40009412.atkval2(e,c)
return e:GetHandler():GetAttack()
end
--混沌No.98 绝望皇龙 霍普勒斯德拉古恩
function c40009413.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,10,3,c40009413.ovfilter,aux.Stringid(40009413,0),3,c40009413.xyzop)
c:EnableReviveLimit()
--negate activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009413,0))
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_CHAINING)
e1:SetCondition(c40009413.condition)
e1:SetCost(c40009413.cost)
e1:SetTarget(c40009413.target)
e1:SetOperation(c40009413.operation)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40009413,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_GRAVE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMING_BATTLE_START)
e2:SetCountLimit(1,40009413)
e2:SetCondition(c40009413.spcon)
e2:SetTarget(c40009413.sptg)
e2:SetOperation(c40009413.spop)
c:RegisterEffect(e2)
end
c40009413.xyz_number=98
function c40009413.cfilter(c)
return c:IsSetCard(0x95) and c:IsType(TYPE_SPELL) and c:IsDiscardable()
end
function c40009413.ovfilter(c)
return c:IsFaceup() and c:IsCode(55470553)
end
function c40009413.xyzop(e,tp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40009413.cfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,c40009413.cfilter,1,1,REASON_COST+REASON_DISCARD)
end
function c40009413.condition(e,tp,eg,ep,ev,re,r,rp,chk)
return ep~=tp and re:IsActiveType(TYPE_MONSTER)
end
function c40009413.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c40009413.thfilter(c)
return c:IsFaceup() and c:IsAbleToGrave()
end
function c40009413.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40009413.thfilter,rp,LOCATION_ONFIELD,0,1,nil) end
end
function c40009413.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Group.CreateGroup()
Duel.ChangeTargetCard(ev,g)
Duel.ChangeChainOperation(ev,c40009413.repop)
end
function c40009413.repop(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.SelectMatchingCard(tp,c40009413.thfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoGrave(sg,REASON_EFFECT)
end
end
function c40009413.spcfilter(c)
return c:IsFaceup() and c:IsSetCard(0x107f)
end
function c40009413.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c40009413.spcfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
end
function c40009413.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c40009413.spfilter(c)
return c:IsFaceup() and c:IsSetCard(0x107f) and c:IsCanOverlay()
end
function c40009413.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsRelateToEffect(e)
and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP_DEFENSE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local g=Duel.GetMatchingGroup(c40009413.spfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local tc=g:GetFirst()
while tc do
if not tc:IsImmuneToEffect(e) and not tc:IsType(TYPE_TOKEN) then
local og=tc:GetOverlayGroup()
if og:GetCount()>0 then
Duel.SendtoGrave(og,REASON_RULE)
end
Duel.Overlay(c,Group.FromCards(tc))
end
tc=g:GetNext()
end
end
end
--炼狱骑士团团长 魔剑处刑-地狱
function c40009414.initial_effect(c)
c:EnableReviveLimit()
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSynchroType,TYPE_SYNCHRO),aux.NonTuner(Card.IsSynchroType,TYPE_SYNCHRO),1)
--effect gain
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c40009414.regcon)
e1:SetOperation(c40009414.regop)
c:RegisterEffect(e1)
end
function c40009414.regcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end
function c40009414.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=c:GetMaterial():FilterCount(Card.IsSynchroType,nil,TYPE_SYNCHRO)
if ct>=2 or re:GetHandler():IsCode(40009385) then
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009414,0))
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetTarget(c40009414.destg)
e1:SetOperation(c40009414.desop)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(40009414,1))
end
if ct>=4 or re:GetHandler():IsCode(40009385) then
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40009414,2))
e2:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_PHASE+PHASE_STANDBY)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCost(c40009414.cost)
e2:SetOperation(c40009414.op)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2)
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(40009414,3))
end
if ct==6 or re:GetHandler():IsCode(40009385) then
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(40009414,4))
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetCondition(c40009414.thcon)
e3:SetTarget(c40009414.thtg)
e3:SetOperation(c40009414.thop)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e3)
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(40009414,5))
end
end
function c40009414.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(nil,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c40009414.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,nil,tp,0,LOCATION_ONFIELD,1,1,nil)
if #g>0 then
Duel.HintSelection(g)
Duel.Destroy(g,REASON_EFFECT)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(c:GetAttack()*2)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
end
end
function c40009414.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 c40009414.op(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,1)
e2:SetTarget(c40009414.splimit)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
function c40009414.splimit(e,c,tp,sumtp,sumpos)
return bit.band(sumtp,SUMMON_TYPE_SPECIAL)==SUMMON_TYPE_SPECIAL and not c:IsLocation(LOCATION_EXTRA)
end
function c40009414.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsSummonType(SUMMON_TYPE_SYNCHRO)
end
function c40009414.thfilter(c)
return c:IsSetCard(0xf14) and c:IsAbleToHand() and (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE))
end
function c40009414.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40009414.thfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_REMOVED)
end
function c40009414.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c40009414.thfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
if g:GetCount()<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg1=g:SelectSubGroup(tp,aux.dncheck,false,1,6)
Duel.SendtoHand(sg1,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg1)
end
\ No newline at end of file
--宁岚绝海
function c40009415.initial_effect(c)
--draw
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009415,0))
e1:SetCategory(CATEGORY_DRAW+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e1:SetCondition(c40009415.condition)
e1:SetTarget(c40009415.target)
e1:SetOperation(c40009415.activate)
c:RegisterEffect(e1)
--to grave
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCode(EVENT_TO_GRAVE)
e4:SetOperation(c40009415.regop)
c:RegisterEffect(e4)
end
function c40009415.filter(c)
return not c:IsStatus(STATUS_LEAVE_CONFIRMED)
end
function c40009415.condition(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c40009415.filter,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,e:GetHandler())
end
function c40009415.target(e,tp,eg,ep,ev,re,r,rp,chk)
local ct1=5-Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
local ct2=5-Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)
if chk==0 then return ct1>0 and Duel.IsPlayerCanDraw(tp,ct1)
and ct2>0 and Duel.IsPlayerCanDraw(1-tp,ct2) end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,ct1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,1-tp,ct2)
end
function c40009415.rfilter(c)
return not c:IsSetCard(0x6f1d)
end
function c40009415.activate(e,tp,eg,ep,ev,re,r,rp)
local ct1=5-Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
local ct2=5-Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)
if ct1>0 then
Duel.Draw(tp,ct1,REASON_EFFECT)
end
if ct2>0 then
Duel.Draw(1-tp,ct2,REASON_EFFECT)
end
Duel.BreakEffect()
local g=Duel.GetMatchingGroup(c40009415.rfilter,tp,LOCATION_HAND,0,nil)
if g:GetCount()>0 then
Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT)
end
end
function c40009415.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009415,1))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_GRAVE)
e1:SetCost(aux.bfgcost)
e1:SetTarget(c40009415.settg)
e1:SetOperation(c40009415.setop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
function c40009415.setfilter(c)
return c:IsSetCard(0x6f1d) and c:IsType(TYPE_SPELL) and c:IsSSetable() and not c:IsCode(40009415)
end
function c40009415.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingMatchingCard(c40009415.setfilter,tp,LOCATION_DECK,0,1,nil) end
end
function c40009415.setop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c40009415.setfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SSet(tp,g)
end
end
--苍骑天岚
function c40009416.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009416,0))
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c40009416.cost)
e1:SetTarget(c40009416.target)
e1:SetOperation(c40009416.activate)
c:RegisterEffect(e1)
--to grave
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCode(EVENT_TO_GRAVE)
e4:SetOperation(c40009416.regop)
c:RegisterEffect(e4)
end
function c40009416.costfilter(c)
return c:IsSetCard(0x6f1d) and not c:IsPublic()
end
function c40009416.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40009416.costfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,c40009416.costfilter,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp)
end
function c40009416.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler()) end
local sg=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TOHAND,sg,sg:GetCount(),0,0)
end
function c40009416.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local sg=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,aux.ExceptThisCard(e))
Duel.SendtoHand(sg,nil,REASON_EFFECT)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetCondition(c40009416.actcon)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
end
function c40009416.actcon(e)
local ph=Duel.GetCurrentPhase()
local tp=e:GetHandlerPlayer()
return not (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE)
end
function c40009416.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009416,1))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_GRAVE)
e1:SetCost(aux.bfgcost)
e1:SetTarget(c40009416.settg)
e1:SetOperation(c40009416.setop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
function c40009416.setfilter(c)
return c:IsSetCard(0x6f1d) and c:IsType(TYPE_SPELL) and c:IsSSetable() and not c:IsCode(40009416)
end
function c40009416.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingMatchingCard(c40009416.setfilter,tp,LOCATION_DECK,0,1,nil) end
end
function c40009416.setop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c40009416.setfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SSet(tp,g)
end
end
--袭击队叛逆之翼
function c40009417.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_DARK),4,2)
c:EnableReviveLimit()
--rank up/down
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(40009417,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,40009417)
e1:SetCost(c40009417.cost)
e1:SetTarget(c40009417.target)
e1:SetOperation(c40009417.operation)
c:RegisterEffect(e1)
--get effect
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_XMATERIAL)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetCondition(c40009417.xmatcon)
e2:SetValue(1000)
c:RegisterEffect(e2)
--get effect
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_XMATERIAL)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetCondition(c40009417.xmatcon)
e3:SetValue(c40009417.immval)
c:RegisterEffect(e3)
end
function c40009417.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c40009417.thfilter(c)
return c:IsCode(88504133) and c:IsAbleToHand()
end
function c40009417.spfilter(c,e,tp)
return (c:IsSetCard(0x10db) or c:IsSetCard(0xba)) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLevelAbove(1)
end
function c40009417.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)>0 and Duel.IsExistingMatchingCard(c40009417.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c40009417.cfilter(c)
return c:IsType(TYPE_MONSTER)
end
function c40009417.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
-- local sg=Duel.GetMatchingGroup(c40009417.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
--local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_HAND,0,1,1,nil)
--local tc=g:GetFirst()
local tg=Duel.GetFirstMatchingCard(c40009417.thfilter,tp,LOCATION_DECK,0,nil)
if Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT+REASON_DISCARD)==0 then return end
local g=Duel.GetOperatedGroup()
local ct=g:FilterCount(c40009417.cfilter,nil)
-- local tc=Duel.GetOperatedGroup():GetFirst()
if tg then
-- if tc:IsType(TYPE_MONSTER) and sg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(40009417,2)) then
-- Duel.SendtoHand(tg,nil,REASON_EFFECT)
-- Duel.ConfirmCards(1-tp,tg)
-- Duel.BreakEffect()
-- Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
-- local pg=sg:Select(tp,1,1,nil)
-- Duel.SpecialSummon(pg,0,tp,tp,false,false,POS_FACEUP)
--end
-- else
-- Duel.SendtoGrave(g,REASON_EFFECT+REASON_DISCARD)
-- Duel.SendtoGrave(g,REASON_EFFECT+REASON_DISCARD)
-- if tg then
-- if not tc:IsType(TYPE_MONSTER) then
Duel.SendtoHand(tg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tg)
end
-- end
if ct==0 then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(c40009417.spfilter),tp,LOCATION_GRAVE,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(40009417,2)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c40009417.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
--end
end
function c40009417.xmatcon(e)
return e:GetHandler():GetOriginalAttribute()==ATTRIBUTE_DARK
end
function c40009417.immval(e,te)
return te:GetOwner()~=e:GetHandler() and te:IsActiveType(TYPE_MONSTER) and te:GetOwnerPlayer()~=e:GetHandlerPlayer()
and te:GetOwner():GetAttack()<=e:GetHandler():GetAttack() and te:IsActivated()
end
...@@ -57,7 +57,7 @@ function c79029037.lzop(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -57,7 +57,7 @@ function c79029037.lzop(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029037,0)) Duel.Hint(HINT_SOUND,0,aux.Stringid(79029037,0))
end end
function c79029037.spfilter(c,e,tp) function c79029037.spfilter(c,e,tp)
return c:IsSetCard(0xa900) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLevelBelow(6) return c:IsSetCard(0xa900) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLevelBelow(6) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
function c79029037.checkop(e,tp,eg,ep,ev,re,r,rp) function c79029037.checkop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsExistingMatchingCard(c79029037.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) then return end if not Duel.IsExistingMatchingCard(c79029037.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) then return end
...@@ -65,6 +65,7 @@ function c79029037.checkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -65,6 +65,7 @@ function c79029037.checkop(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("大家可都相信着我!") Debug.Message("大家可都相信着我!")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029037,1)) Duel.Hint(HINT_SOUND,0,aux.Stringid(79029037,1))
local tg=Duel.SelectMatchingCard(tp,c79029037.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local tg=Duel.SelectMatchingCard(tp,c79029037.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.SpecialSummon(tg,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tg,0,tp,tp,false,false,POS_FACEUP)
end end
end end
...@@ -85,7 +85,7 @@ function c79029048.tg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -85,7 +85,7 @@ function c79029048.tg(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(Duel.AnnounceLevel(tp,1,8)) e:SetLabel(Duel.AnnounceLevel(tp,1,8))
end end
function c79029048.op(e,tp,eg,ep,ev,re,r,rp) function c79029048.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(Card.IsSetCard,tp,LOCATION_MZONE,0,0xa900)
local tc=g:GetFirst() local tc=g:GetFirst()
local c=e:GetHandler() local c=e:GetHandler()
while tc do while tc do
......
...@@ -21,11 +21,12 @@ end ...@@ -21,11 +21,12 @@ end
function c79029161.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c79029161.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_HAND) and c79029161.filter(chkc,e,tp) end if chkc then return chkc:IsLocation(LOCATION_HAND) and c79029161.filter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>1 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and Duel.IsExistingTarget(c79029161.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c79029161.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Debug.Message("泡普卡,在这呢。") Debug.Message("泡普卡,在这呢。")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029161,0)) Duel.Hint(HINT_SOUND,0,aux.Stringid(79029161,0))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c79029161.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c79029161.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end end
function c79029161.spop(e,tp,eg,ep,ev,re,r,rp) function c79029161.spop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -100,12 +100,6 @@ function c79029213.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -100,12 +100,6 @@ function c79029213.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetTargetCard(g) Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,tp,LOCATION_PZONE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,tp,LOCATION_PZONE)
end end
function c79029213.bfil1(c)
return c:GetSequence()==4
end
function c79029213.bfil2(c)
return c:GetSequence()==0
end
function c79029213.spop(e,tp,eg,ep,ev,re,r,rp) function c79029213.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -121,8 +115,8 @@ function c79029213.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -121,8 +115,8 @@ function c79029213.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_PZONE,POS_FACEUP,true) Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_PZONE,POS_FACEUP,true)
if c:GetSequence()==0 or c:GetSequence()==4 then return end if c:GetSequence()==0 or c:GetSequence()==4 then return end
local op=0 local op=0
local b1=not Duel.IsExistingMatchingCard(c79029213.bfil1,tp,LOCATION_SZONE,0,1,nil) local b1=Duel.CheckLocation(tp,LOCATION_PZONE,1)
local b2=not Duel.IsExistingMatchingCard(c79029213.bfil2,tp,LOCATION_SZONE,0,1,nil) local b2=Duel.CheckLocation(tp,LOCATION_PZONE,0)
if b1 and b2 then if b1 and b2 then
op=Duel.SelectOption(tp,aux.Stringid(79029213,1),aux.Stringid(79029213,0)) op=Duel.SelectOption(tp,aux.Stringid(79029213,1),aux.Stringid(79029213,0))
elseif b1 then elseif b1 then
......
...@@ -36,7 +36,7 @@ function c79029214.initial_effect(c) ...@@ -36,7 +36,7 @@ function c79029214.initial_effect(c)
--atk up --atk up
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_SET_ATTACK_FINAL) e3:SetCode(EFFECT_SET_ATTACK)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_MZONE,0) e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetCondition(c79029214.atkcon) e3:SetCondition(c79029214.atkcon)
......
...@@ -26,21 +26,15 @@ function c79029219.fil(c) ...@@ -26,21 +26,15 @@ function c79029219.fil(c)
return c:GetSequence()<=4 return c:GetSequence()<=4
end end
function c79029219.target(e,tp,eg,ep,ev,re,r,rp,chk) function c79029219.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029219.fil,tp,LOCATION_MZONE,0,1,nil) and (not Duel.IsExistingMatchingCard(c79029219.bfil1,tp,LOCATION_MZONE,0,1,nil) or not Duel.IsExistingMatchingCard(c79029219.bfil2,tp,LOCATION_MZONE,0,1,nil)) end if chk==0 then return Duel.IsExistingMatchingCard(c79029219.fil,tp,LOCATION_MZONE,0,1,nil) and (Duel.CheckLocation(tp,LOCATION_MZONE,5) or Duel.CheckLocation(tp,LOCATION_MZONE,6)) end
local g=Duel.SelectMatchingCard(tp,c79029219.fil,tp,LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c79029219.fil,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetTargetCard(g) Duel.SetTargetCard(g)
end end
function c79029219.bfil1(c)
return c:GetSequence()==6
end
function c79029219.bfil2(c)
return c:GetSequence()==5
end
function c79029219.activate(e,tp,eg,ep,ev,re,r,rp) function c79029219.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
local op=0 local op=0
local b1=not Duel.IsExistingMatchingCard(c79029219.bfil1,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) local b1=Duel.CheckLocation(tp,LOCATION_MZONE,6)
local b2=not Duel.IsExistingMatchingCard(c79029219.bfil2,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) local b2=Duel.CheckLocation(tp,LOCATION_MZONE,5)
if b1 and b2 then if b1 and b2 then
op=Duel.SelectOption(tp,aux.Stringid(79029219,1),aux.Stringid(79029219,0)) op=Duel.SelectOption(tp,aux.Stringid(79029219,1),aux.Stringid(79029219,0))
elseif b1 then elseif b1 then
......
...@@ -71,15 +71,9 @@ end ...@@ -71,15 +71,9 @@ end
function c79029227.mvfilter1(c) function c79029227.mvfilter1(c)
return c:IsFaceup() and c:IsSetCard(0xa900) return c:IsFaceup() and c:IsSetCard(0xa900)
end end
function c79029227.bfil1(c)
return c:GetSequence()==5
end
function c79029227.bfil2(c)
return c:GetSequence()==6
end
function c79029227.mvtg(e,tp,eg,ep,ev,re,r,rp,chk) function c79029227.mvtg(e,tp,eg,ep,ev,re,r,rp,chk)
local x1=not Duel.IsExistingMatchingCard(c79029227.bfil1,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) local x1=Duel.CheckLocation(tp,LOCATION_MZONE,5)
local x2=not Duel.IsExistingMatchingCard(c79029227.bfil2,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) local x2=Duel.CheckLocation(tp,LOCATION_MZONE,6)
local x3=x1 or x2 local x3=x1 or x2
local b1=Duel.IsExistingMatchingCard(c79029227.mvfilter1,tp,LOCATION_MZONE,0,1,e:GetHandler()) local b1=Duel.IsExistingMatchingCard(c79029227.mvfilter1,tp,LOCATION_MZONE,0,1,e:GetHandler())
and Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 and Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0
...@@ -102,8 +96,8 @@ function c79029227.mvop(e,tp,eg,ep,ev,re,r,rp) ...@@ -102,8 +96,8 @@ function c79029227.mvop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029227,8)) Duel.Hint(HINT_SOUND,0,aux.Stringid(79029227,8))
end end
else else
local x1=not Duel.IsExistingMatchingCard(c79029227.bfil1,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) local x1=Duel.CheckLocation(tp,LOCATION_MZONE,5)
local x2=not Duel.IsExistingMatchingCard(c79029227.bfil2,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) local x2=Duel.CheckLocation(tp,LOCATION_MZONE,6)
if x1 and x2 then if x1 and x2 then
op=Duel.SelectOption(tp,aux.Stringid(79029227,4),aux.Stringid(79029227,5)) op=Duel.SelectOption(tp,aux.Stringid(79029227,4),aux.Stringid(79029227,5))
elseif x1 then elseif x1 then
......
...@@ -190,9 +190,9 @@ function c79029247.zoop(e,tp,eg,ep,ev,re,r,rp) ...@@ -190,9 +190,9 @@ function c79029247.zoop(e,tp,eg,ep,ev,re,r,rp)
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
local x=tc:GetSequence() local x=tc:GetSequence()
if x==seq+1 then if x==seq+1 and Duel.CheckLocation(tp,LOCATION_MZONE,x+1) then
Duel.MoveSequence(tc,x+1) Duel.MoveSequence(tc,x+1)
else elseif x==seq-1 and Duel.CheckLocation(tp,LOCATION_MZONE,x-1) then
Duel.MoveSequence(tc,x-1) Duel.MoveSequence(tc,x-1)
end end
if tc:GetSequence()==x then if tc:GetSequence()==x then
......
...@@ -57,6 +57,7 @@ function c79029248.initial_effect(c) ...@@ -57,6 +57,7 @@ function c79029248.initial_effect(c)
e2:SetCode(EFFECT_SPSUMMON_PROC) e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_HAND+LOCATION_DECK) e2:SetRange(LOCATION_HAND+LOCATION_DECK)
e2:SetCountLimit(1,7902924) e2:SetCountLimit(1,7902924)
e2:SetCondition(c79029248.linkcon)
e2:SetOperation(c79029248.linkop) e2:SetOperation(c79029248.linkop)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
...@@ -147,7 +148,11 @@ function c79029248.deop(e,tp,eg,ep,ev,re,r,rp) ...@@ -147,7 +148,11 @@ function c79029248.deop(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("好了好了,你们已经很努力了。") Debug.Message("好了好了,你们已经很努力了。")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029248,2)) Duel.Hint(HINT_SOUND,0,aux.Stringid(79029248,2))
end end
function c79029248.linkcon(e,c,tp)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
function c79029248.linkop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max) function c79029248.linkop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
Debug.Message("听我说,各位,我有个计划!") Debug.Message("听我说,各位,我有个计划!")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029248,4)) Duel.Hint(HINT_SOUND,0,aux.Stringid(79029248,4))
......
--作战记录-Requiem
function c79029259.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_INACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c79029259.accost)
e1:SetTarget(c79029259.actg)
e1:SetOperation(c79029259.acop)
c:RegisterEffect(e1)
--fo im
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(79029259)
e2:SetRange(LOCATION_FZONE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,1)
c:RegisterEffect(e2)
end
function c79029259.accost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local c=e:GetHandler()
Duel.HintSelection(Group.FromCards(c))
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD+LOCATION_HAND+LOCATION_DECK+LOCATION_EXTRA+LOCATION_GRAVE,LOCATION_ONFIELD+LOCATION_HAND+LOCATION_DECK+LOCATION_EXTRA+LOCATION_GRAVE,c)
Duel.Remove(g,POS_FACEDOWN,REASON_RULE)
Duel.HintSelection(Group.FromCards(c))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029259,0))
Duel.HintSelection(Group.FromCards(c))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029259,1))
Duel.HintSelection(Group.FromCards(c))
local op=0
op=Duel.SelectOption(tp,aux.Stringid(79029259,2))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029259,6))
e:SetLabel(op)
end
function c79029259.actg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetChainLimit(aux.FALSE)
end
function c79029259.acop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local p1=c:GetOwner()
local p2=1-c:GetOwner()
local op=e:GetLabel()
Duel.HintSelection(Group.FromCards(c))
Duel.HintSelection(Group.FromCards(c))
Duel.HintSelection(Group.FromCards(c))
if op==0 then
Duel.SetLP(tp,500)
Duel.SetLP(1-tp,500)
c:SetCardData(CARDDATA_CODE,79029263)
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029261,0))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029261,1))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029261,2))
--fo
local tc1=Duel.CreateToken(tp,79029262)
Duel.SpecialSummon(tc1,0,1-tp,1-tp,true,true,POS_FACEUP_ATTACK)
Duel.MoveSequence(tc1,3)
--am
local tc2=Duel.CreateToken(tp,79029037)
Duel.SpecialSummon(tc2,0,1-tp,tp,true,true,POS_FACEUP_ATTACK)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_UNCOPYABLE)
e1:SetLabelObject(tc1)
e1:SetRange(LOCATION_ONFIELD)
e1:SetCode(EVENT_CUSTOM+09029259)
e1:SetOperation(c79029259.cz79029263op1)
tc2:RegisterEffect(e1)
Duel.MoveSequence(tc2,2)
Duel.HintSelection(Group.FromCards(tc1))
Duel.HintSelection(Group.FromCards(tc2))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029263,0))
Duel.HintSelection(Group.FromCards(tc2))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029263,1))
Duel.HintSelection(Group.FromCards(tc2))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029263,2))
Duel.HintSelection(Group.FromCards(tc2))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029263,3))
--bl
local tc3=Duel.CreateToken(tp,79029125)
Duel.SpecialSummon(tc3,0,1-tp,tp,true,true,POS_FACEUP_ATTACK)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_ONFIELD)
e1:SetLabelObject(tc1)
e1:SetCode(EVENT_CUSTOM+19029259)
e1:SetOperation(c79029259.cz79029263op2)
tc3:RegisterEffect(e1)
Duel.MoveSequence(tc3,1)
Duel.HintSelection(Group.FromCards(tc3))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029263,4))
--gr
local tc4=Duel.CreateToken(tp,79029096)
Duel.SpecialSummon(tc4,0,1-tp,tp,true,true,POS_FACEUP_ATTACK)
Duel.MoveToField(tc4,1-tp,tp,LOCATION_SZONE,POS_FACEUP,true)
Duel.MoveSequence(tc4,2)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_ONFIELD)
e1:SetLabelObject(tc1)
e1:SetCode(EVENT_CUSTOM+29029259)
e1:SetOperation(c79029259.cz79029263op3)
tc4:RegisterEffect(e1)
Duel.HintSelection(Group.FromCards(tc4))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029263,5))
--add
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_ONFIELD)
e1:SetCode(EVENT_CUSTOM+39029259)
e1:SetOperation(c79029259.cz79029263op4)
tc1:RegisterEffect(e1)
--battle
Duel.RaiseEvent(e:GetHandler(),EVENT_CUSTOM+09029259,e,0,0,tp,0)
end
end
function c79029259.cz79029263op1(e,tp,eg,ep,ev,re,r,rp)
Duel.HintSelection(Group.FromCards(e:GetLabelObject()))
Duel.Damage(1-tp,50,REASON_EFFECT)
Duel.RaiseEvent(e:GetHandler(),EVENT_CUSTOM+19029259,e,0,0,tp,0)
end
function c79029259.cz79029263op2(e,tp,eg,ep,ev,re,r,rp)
Duel.HintSelection(Group.FromCards(e:GetLabelObject()))
Duel.Damage(1-tp,50,REASON_EFFECT)
Duel.RaiseEvent(e:GetHandler(),EVENT_CUSTOM+29029259,e,0,0,tp,0)
end
function c79029259.cz79029263op3(e,tp,eg,ep,ev,re,r,rp)
Duel.HintSelection(Group.FromCards(e:GetLabelObject()))
Duel.Damage(1-tp,50,REASON_EFFECT)
Duel.RaiseEvent(e:GetHandler(),EVENT_CUSTOM+39029259,e,0,0,tp,0)
end
function c79029259.cz79029263op4(e,tp,eg,ep,ev,re,r,rp)
local tc1=e:GetHandler()
local tc2=Duel.GetMatchingGroup(Card.IsCode,tp,0,LOCATION_MZONE,nil,79029037):GetFirst()
local tc3=Duel.GetMatchingGroup(Card.IsCode,tp,0,LOCATION_MZONE,nil,79029125):GetFirst()
local tcx=Duel.GetMatchingGroup(Card.IsCode,tp,0,LOCATION_MZONE,nil,79029096):GetFirst()
local c=Duel.GetFieldGroup(1-tp,LOCATION_FZONE,0):GetFirst()
local g=Duel.GetMatchingGroup(Card.IsAttackAbove,tp,0,LOCATION_ONFIELD,nil,0)
Duel.HintSelection(g)
if Duel.GetLP(tp)>300 then
Duel.Damage(1-tp,200,REASON_EFFECT)
Duel.SetLP(tp,250)
Duel.RaiseEvent(e:GetHandler(),EVENT_CUSTOM+09029259,e,0,0,tp,0)
else
Duel.HintSelection(g)
Duel.Destroy(g,REASON_RULE)
Duel.RaiseEvent(e:GetHandler(),EVENT_CUSTOM+49029259,e,0,0,tp,0)
Duel.HintSelection(Group.FromCards(e:GetHandler()))
Duel.MoveSequence(e:GetHandler(),6)
Duel.SetLP(tp,50)
Duel.HintSelection(Group.FromCards(e:GetHandler()))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029263,6))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029263,7))
Duel.HintSelection(Group.FromCards(e:GetHandler()))
Duel.Destroy(e:GetHandler(),REASON_RULE)
Duel.HintSelection(Group.FromCards(c))
Duel.HintSelection(Group.FromCards(c))
Duel.HintSelection(Group.FromCards(c))
c:SetCardData(CARDDATA_CODE,79029265)
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029271,1))
Duel.Hint(HINT_CARD,0,79029262)
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029265,0))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029265,1))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029265,2))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029265,3))
Duel.Hint(HINT_CARD,0,79029125)
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029265,4))
Duel.Hint(HINT_CARD,0,79029037)
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029265,5))
Duel.Hint(HINT_CARD,0,79029125)
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029265,6))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029265,7))
Duel.Hint(HINT_CARD,0,79029262)
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029265,8))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029265,9))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029265,10))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029265,11))
Duel.SelectOption(1-tp,aux.Stringid(79029265,12))
Duel.Hint(HINT_CARD,0,79029262)
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029265,13))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029265,14))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029265,15))
Duel.Hint(HINT_CARD,0,79029037)
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029266,0))
Duel.SelectOption(1-tp,aux.Stringid(79029266,1),aux.Stringid(79029266,2))
Duel.Hint(HINT_CARD,0,79029037)
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029266,3))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029266,4))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029266,5))
Duel.HintSelection(Group.FromCards(c))
c:SetCardData(CARDDATA_CODE,79029261)
Duel.Hint(HINT_CARD,0,79029262)
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029266,6))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029266,7))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029266,8))
Duel.SelectOption(1-tp,aux.Stringid(79029266,9),aux.Stringid(79029266,10),aux.Stringid(79029266,11))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029266,12))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029266,13))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029266,14))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029266,15))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029267,0))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029267,1))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029267,2))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029267,3))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029267,4))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029267,5))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029267,6))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029267,7))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029267,8))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029267,9))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029267,10))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029267,11))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029267,12))
Duel.SelectOption(1-tp,aux.Stringid(79029267,13))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029267,14))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029267,15))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029268,0))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029268,1))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029268,2))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029268,3))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029268,4))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029268,5))
Duel.SelectOption(1-tp,aux.Stringid(79029268,6))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029268,7))
Duel.SelectOption(1-tp,aux.Stringid(79029268,8),aux.Stringid(79029268,9),aux.Stringid(79029268,10))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029268,11))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029268,12))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029268,13))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029268,14))
Duel.SelectOption(1-tp,aux.Stringid(79029268,15))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029269,0))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029269,1))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029269,2))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029269,3))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029269,4))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029269,5))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029269,6))
Duel.SelectOption(1-tp,aux.Stringid(79029269,7))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029269,8))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029269,9))
Duel.SelectOption(1-tp,aux.Stringid(79029269,10),aux.Stringid(79029269,11),aux.Stringid(79029269,12))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029269,13))
Duel.SelectOption(1-tp,aux.Stringid(79029269,14))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029269,15))
Duel.SelectOption(1-tp,aux.Stringid(79029270,0))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029270,1))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029270,2))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029270,3))
Duel.HintSelection(Group.FromCards(c))
c:SetCardData(CARDDATA_CODE,79029264)
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029270,4))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029270,5))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029270,6))
Duel.SelectOption(1-tp,aux.Stringid(79029270,7))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029270,8))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029270,9))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029270,10))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029270,11))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029270,12))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029270,13))
Duel.SelectOption(1-tp,aux.Stringid(79029270,14))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029270,15))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029264,0))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029264,1))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029264,2))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029264,3))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029264,4))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029264,5))
Duel.HintSelection(Group.FromCards(c))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029264,6))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029264,7))
Duel.HintSelection(Group.FromCards(c))
c:SetCardData(CARDDATA_CODE,79029271)
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029261,3))
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(79029271,0))
Duel.Win(tp,WIN_REASON_FO)
end
end
--作战记录-Requiem·冬逝
function c79029261.initial_effect(c)
end
--霜星
function c79029262.initial_effect(c)
c:EnableReviveLimit()
--splimit
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--immune
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetCondition(c79029262.imcon)
e1:SetValue(c79029262.efilter)
c:RegisterEffect(e1)
end
function c79029262.imcon(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsPlayerAffectedByEffect(tp,79029259) then
return false
else
return true
end
end
function c79029262.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
end
\ No newline at end of file
...@@ -157,7 +157,7 @@ function c79029305.pendop(e,tp,eg,ep,ev,re,r,rp,c,sg,og) ...@@ -157,7 +157,7 @@ function c79029305.pendop(e,tp,eg,ep,ev,re,r,rp,c,sg,og)
ce=eset[op+1] ce=eset[op+1]
end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=tg:FilterSelect(tp,aux.PConditionExtraFilterSpecific,0,ft,nil,e,tp,lscale,rscale,ce) local g=tg:FilterSelect(tp,aux.PConditionFilter,0,ft,nil,e,tp,lscale,rscale,ce)
if #g==0 then return end if #g==0 then return end
if ce then if ce then
Duel.Hint(HINT_CARD,0,ce:GetOwner():GetOriginalCode()) Duel.Hint(HINT_CARD,0,ce:GetOwner():GetOriginalCode())
......
...@@ -71,13 +71,13 @@ function c79029318.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -71,13 +71,13 @@ function c79029318.thop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
end end
function c79029318.xfil(c) function c79029318.xfil(c,e,tp)
local lk=c:GetLink() local lk=c:GetLink()
return c:IsType(TYPE_LINK) and c:IsAbleToRemove() and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_EXTRA,lk,nil) return c:IsType(TYPE_LINK) and c:IsAbleToRemove() and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_EXTRA,lk,nil)
end end
function c79029318.retg(e,tp,eg,ep,ev,re,r,rp,chk) function c79029318.retg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingTarget(c79029318.xfil,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(c79029318.xfil,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
local g=Duel.SelectTarget(tp,c79029318.xfil,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectTarget(tp,c79029318.xfil,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetTargetCard(g) Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,tp,LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,5,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,5,tp,LOCATION_EXTRA)
......
...@@ -44,7 +44,7 @@ function c79029333.atkval(e,c) ...@@ -44,7 +44,7 @@ function c79029333.atkval(e,c)
return lg:GetSum(Card.GetBaseAttack) return lg:GetSum(Card.GetBaseAttack)
end end
function c79029333.lcheck(g,lc) function c79029333.lcheck(g,lc)
return g:IsExists(Card.IsLinkSetCard,1,nil,0x2901) return g:IsExists(Card.IsLinkSetCard,1,nil,0x2902)
end end
function c79029333.spcon(e,tp,eg,ep,ev,re,r,rp) function c79029333.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
......
--个人行动-蝎毒
function c79029335.initial_effect(c)
c:EnableCounterPermit(0x11)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1)
e2:SetCondition(c79029335.con)
e2:SetOperation(c79029335.activate)
c:RegisterEffect(e2)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetCondition(c79029335.spcon)
e2:SetOperation(c79029335.spop)
c:RegisterEffect(e2)
--win
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e7:SetCode(EVENT_ADJUST)
e7:SetRange(LOCATION_SZONE)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e7:SetOperation(c79029335.winop)
c:RegisterEffect(e7)
if not c79029335.global_check then
c79029335.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_CHAINING)
ge1:SetOperation(c79029335.checkop)
Duel.RegisterEffect(ge1,0)
end
end
function c79029335.filter(c,e,tp,re)
return c:GetPreviousControler()==tp and c:IsReason(REASON_COST) and c==re:GetHandler()
end
function c79029335.con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c79029335.filter,1,nil,e,tp,re)
end
function c79029335.thfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,true,false) and c:IsCode(79029015)
end
function c79029335.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Debug.Message("准备好了......")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029335,1))
local g=Duel.GetMatchingGroup(c79029335.thfilter,tp,LOCATION_EXTRA,0,nil,e,tp)
if g:GetCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(79029335,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SpecialSummon(sg,0,tp,tp,true,false,POS_FACEUP)
Debug.Message("别把我丢下......")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029335,2))
end
end
function c79029335.checkop(e,tp,eg,ep,ev,re,r,rp)
local xp=re:GetHandlerPlayer()
local flag=Duel.GetFlagEffectLabel(xp,79029335)
if flag then
Duel.SetFlagEffectLabel(xp,79029335,flag+1)
else
Duel.RegisterFlagEffect(xp,79029335,RESET_PHASE+PHASE_END,0,1,1)
end
end
function c79029335.spcon(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetFlagEffectLabel(1-tp,79029335) or 0
return ct>=5
end
function c79029335.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
c:AddCounter(0x11,1)
Debug.Message("为了胜利,我们什么都得做,只是......")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029335,3))
end
function c79029335.winop(e,tp,eg,ep,ev,re,r,rp)
local WIN_REASON_MANTICORE=0x0a
local c=e:GetHandler()
if c:GetCounter(0x11)==3 then
Debug.Message("永别了......")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029335,4))
Duel.Win(tp,WIN_REASON_MANTICORE)
end
end
--罗德岛·狙击干员-奥斯塔
function c79029340.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xa900),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_FIRE),2,2,true)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1)
e1:SetCost(c79029340.atcost)
e1:SetOperation(c79029340.atop)
c:RegisterEffect(e1)
--add counter
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(79029340,0))
e1:SetCategory(CATEGORY_COUNTER)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_MZONE)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetTarget(c79029340.cttg)
e1:SetOperation(c79029340.ctop)
c:RegisterEffect(e1)
--cost
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(79029340,1))
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PHASE+PHASE_STANDBY)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCondition(c79029340.cocon)
e2:SetOperation(c79029340.coop)
c:RegisterEffect(e2)
end
function c79029340.atfil(c)
return c:IsAbleToExtraAsCost() and c:IsType(TYPE_LINK)
end
function c79029340.atcost(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c79029340.atfil,tp,LOCATION_GRAVE,0,1,nil) end
local tc=Duel.SelectMatchingCard(tp,c79029340.atfil,tp,LOCATION_GRAVE,0,1,1,nil):GetFirst()
Duel.SendtoDeck(tc,nil,2,REASON_COST)
e:SetLabel(tc:GetLink())
end
function c79029340.atop(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("全都要解决掉吗?")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029340,2))
local x=e:GetLabel()
local c=e:GetHandler()
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(x*1000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_EXTRA_ATTACK)
e2:SetValue(x)
c:RegisterEffect(e2)
end
function c79029340.cttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsCanAddCounter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,0x1099,1) end
Debug.Message("你好。")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029340,3))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectMatchingCard(tp,Card.IsCanAddCounter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,0x1041,1)
Duel.SetTargetCard(g)
end
function c79029340.ctop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
tc:AddCounter(0x1099,1)
end
function c79029340.cofil(c)
return c:GetCounter(0x1099)~=0 and c:GetAttack()~=0
end
function c79029340.cocon(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandlerPlayer()
return Duel.IsExistingMatchingCard(c79029340.cofil,tp,0,LOCATION_MZONE,1,nil)
end
function c79029340.coop(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("该结束了。")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029340,6))
local cg=Duel.GetMatchingGroup(c79029340.cofil,tp,0,LOCATION_MZONE,nil)
local atk=cg:GetSum(Card.GetAttack)
if Duel.CheckLPCost(1-tp,atk) then
Duel.PayLPCost(1-tp,atk)
Debug.Message("啧。")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029340,4))
else
Debug.Message("再见。")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029340,5))
Duel.SendtoGrave(cg,REASON_EFFECT+REASON_RULE)
end
end
--卡西米尔·行动-骑猎竞赛
function c79029341.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,79029341)
e1:SetTarget(c79029341.target)
e1:SetOperation(c79029341.activate)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCountLimit(1,09029341)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c79029341.sptg)
e2:SetOperation(c79029341.spop)
c:RegisterEffect(e2)
--
local e3=e2:Clone()
e3:SetCondition(c79029341.qocon)
e3:SetType(EFFECT_TYPE_QUICK_O)
c:RegisterEffect(e3)
end
function c79029341.tdfil(c)
return c:GetMaterialCount()>0 and c:IsSummonType(SUMMON_TYPE_SYNCHRO) and Duel.IsPlayerCanDraw(tp,c:GetMaterialCount())
end
function c79029341.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029341.tdfil,tp,LOCATION_MZONE,0,1,nil) end
local tc=Duel.SelectMatchingCard(tp,c79029341.tdfil,tp,LOCATION_MZONE,0,1,1,nil):GetFirst()
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(tc:GetMaterialCount())
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,tc:GetMaterialCount())
end
function c79029341.activate(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
end
function c79029341.filter1(c,e,tp)
local zone=Duel.GetLinkedZone(tp)
local lv=c:GetLevel()
return c:IsSetCard(0x1909) and c:IsType(TYPE_SYNCHRO)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_SYNCHRO,tp,false,false,zone) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
and Duel.IsExistingMatchingCard(c79029341.filter2,tp,LOCATION_GRAVE+LOCATION_MZONE+LOCATION_HAND,0,1,nil,tp,lv)
end
function c79029341.filter2(c,tp,lv)
local rlv=lv-c:GetLevel()
local rg=Duel.GetMatchingGroup(c79029341.filter3,tp,LOCATION_GRAVE+LOCATION_MZONE+LOCATION_HAND,0,c)
return rlv>0 and c:IsType(TYPE_TUNER) and c:IsAbleToRemove()
and rg:CheckWithSumEqual(Card.GetLevel,rlv,1,99)
end
function c79029341.filter3(c)
return c:GetLevel()>0 and not c:IsType(TYPE_TUNER) and c:IsAbleToRemove()
end
function c79029341.xxfil(c)
return c:IsType(TYPE_LINK) and c:IsSetCard(0xa900)
end
function c79029341.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029341.filter1,tp,LOCATION_EXTRA,0,1,nil,e,tp) and Duel.IsExistingMatchingCard(c79029341.xxfil,tp,LOCATION_MZONE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c79029341.spop(e,tp,eg,ep,ev,re,r,rp)
local zone=Duel.GetLinkedZone(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g1=Duel.SelectMatchingCard(tp,c79029341.filter1,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local tc=g1:GetFirst()
if tc then
local lv=tc:GetLevel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g2=Duel.SelectMatchingCard(tp,c79029341.filter2,tp,LOCATION_GRAVE+LOCATION_MZONE+LOCATION_HAND,0,1,1,nil,tp,lv)
local rlv=lv-g2:GetFirst():GetLevel()
local rg=Duel.GetMatchingGroup(c79029341.filter3,tp,LOCATION_GRAVE+LOCATION_MZONE+LOCATION_HAND,0,g2:GetFirst())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g3=rg:SelectWithSumEqual(tp,Card.GetLevel,rlv,1,99)
g2:Merge(g3)
Duel.Remove(g2,POS_FACEUP,REASON_EFFECT)
Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP,zone)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(c79029341.splimit)
Duel.RegisterEffect(e1,tp)
end
end
function c79029341.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not c:IsSetCard(0xa900) and c:IsLocation(LOCATION_EXTRA)
end
function c79029341.seqfil(c)
return c:GetSequence()>4
end
function c79029341.qocon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==1 and Duel.IsExistingMatchingCard(c79029341.seqfil,tp,LOCATION_MZONE,0,1,nil)
end
--傀影·缠梦古堡-梦魇之梦
function c79029342.initial_effect(c)
--add code
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_ADD_CODE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetValue(79029203)
c:RegisterEffect(e2)
--effect gian
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_ADJUST)
e5:SetRange(LOCATION_HAND)
e5:SetOperation(c79029342.efop)
c:RegisterEffect(e5)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,79029342)
e2:SetCost(c79029342.thcost)
e2:SetTarget(c79029342.thtg)
e2:SetOperation(c79029342.thop)
c:RegisterEffect(e2)
end
function c79029342.effilter(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0xa904)
end
function c79029342.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=Duel.GetFieldGroup(tp,LOCATION_GRAVE,0)
local wg=ct:Filter(c79029342.effilter,nil,tp)
local wbc=wg:GetFirst()
while wbc do
local code=wbc:GetOriginalCode()
if c:GetFlagEffect(code)==0 then
c:CopyEffect(code,RESET_EVENT+0x1fe0000+EVENT_CHAINING,1)
c:RegisterFlagEffect(code,RESET_EVENT+0x1fe0000+EVENT_CHAINING,0,1)
end
wbc=wg:GetNext()
end
end
function c79029342.costfilter(c)
return c:IsAbleToDeckAsCost()
end
function c79029342.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029342.costfilter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,e:GetHandler()) end
Debug.Message("在这幅假面之下,我认不出自己是谁。")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029342,0))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c79029342.costfilter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,e:GetHandler())
Duel.SendtoDeck(g,nil,2,REASON_COST)
end
function c79029342.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,0,0)
end
function c79029342.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,nil,REASON_EFFECT)
Duel.ShuffleHand(tp)
end
end
--卡西米尔·近卫干员-鞭刃
function c79029343.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2,99,c79029333.lcheck)
c:EnableReviveLimit()
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,79029343)
e1:SetCost(c79029343.chcost)
e1:SetTarget(c79029343.chtg)
e1:SetOperation(c79029343.chop)
c:RegisterEffect(e1)
end
function c79029333.lcheck(g,lc)
return g:IsExists(Card.IsLinkSetCard,1,nil,0x1909)
end
function c79029343.chcost(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetDecktopGroup(tp,1)
if chk==0 then return g:FilterCount(Card.IsAbleToGraveAsCost,nil,POS_FACEDOWN)==1 end
Duel.DisableShuffleCheck()
Duel.SendtoGrave(g,REASON_COST)
end
function c79029343.cfil(c)
return c:IsSetCard(0xa900) and not c:IsStatus(STATUS_NO_LEVEL)
end
function c79029343.chtg(e,tp,eg,ep,ev,re,r,rp,chk)
local lg=e:GetHandler():GetLinkedGroup()
if chk==0 then return lg:IsExists(c79029343.cfil,2,nil) end
local op=0
op=Duel.SelectOption(tp,aux.Stringid(79029343,0),aux.Stringid(79029343,1))
e:SetLabel(op)
Duel.SetTargetCard(lg)
end
function c79029343.chop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local lg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local op=e:GetLabel()
if op==0 then
Duel.SetTargetCard(lg)
Debug.Message("打起精神来,该出发了!")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029343,2))
Duel.Hint(HINT_SELECTMSG,tp,HINGMSG_LVRANK)
local x=Duel.AnnounceLevel(tp,1,12,lv)
local tc=lg:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CHANGE_LEVEL)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(x)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CHANGE_RANK)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(x)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
tc=lg:GetNext()
end
else
Debug.Message("没有忘记自己该做什么吧?")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029343,3))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATTRIBUTE)
local x=Duel.AnnounceAttribute(tp,1,0xffff)
local tc=lg:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(x)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
tc=lg:GetNext()
end
end
end
--卡西米尔·重装干员-瑕光
function c79029344.initial_effect(c)
--xyz summon
c:EnableReviveLimit()
aux.AddXyzProcedureLevelFree(c,c79029344.mfilter,c79029344.xyzcheck,2,2)
--splimit
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCost(c79029344.cost)
e1:SetTarget(c79029344.tg)
e1:SetOperation(c79029344.op)
c:RegisterEffect(e1)
--atk up
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_SET_ATTACK)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetCondition(c79029344.atkcon)
e3:SetTarget(c79029344.atktg)
e3:SetValue(c79029344.atkval)
c:RegisterEffect(e3)
--double damage
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c79029344.damcon)
e4:SetOperation(c79029344.damop)
c:RegisterEffect(e4)
--immune
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetValue(c79029344.efilter)
e1:SetCondition(c79029344.imcon)
c:RegisterEffect(e1)
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetCode(EFFECT_SET_BASE_ATTACK)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c79029344.imcon)
e3:SetValue(c79029344.val)
c:RegisterEffect(e3)
end
function c79029344.mfilter(c,xyzc)
return c:IsXyzType(TYPE_LINK) and c:IsLink(4)
end
function c79029344.xyzcheck(g)
return g:GetClassCount(Card.GetLink)==1
end
function c79029344.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c79029344.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_MZONE,1,nil) end
end
function c79029344.spfil(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0xa900)
end
function c79029344.op(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("光!")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029344,2))
local c=e:GetHandler()
local xg=Duel.GetFieldGroup(tp,0,LOCATION_MZONE)
local tc=xg:GetFirst()
while tc do
tc:RegisterFlagEffect(79029344,RESET_EVENT+RESETS_STANDARD,0,1,0,0)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetDescription(aux.Stringid(79029344,0))
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CLIENT_HINT)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(c79029344.efilter)
tc:RegisterEffect(e1)
--cannot release
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetCode(EFFECT_UNRELEASABLE_SUM)
e5:SetRange(LOCATION_MZONE)
e5:SetValue(1)
tc:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_UNRELEASABLE_NONSUM)
tc:RegisterEffect(e6)
local e7=e5:Clone()
e7:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
tc:RegisterEffect(e7)
local e8=e5:Clone()
e8:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
tc:RegisterEffect(e8)
local e9=e5:Clone()
e9:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
tc:RegisterEffect(e9)
local e9=e5:Clone()
e9:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
tc:RegisterEffect(e9)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
tc=xg:GetNext()
end
if Duel.IsExistingMatchingCard(c79029344.spfil,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(79029344,1)) then
Debug.Message("不用担心!")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029344,4))
local tc=Duel.SelectMatchingCard(tp,c79029344.spfil,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
local x=tc:GetAttack()+tc:GetDefense()
Duel.Recover(tp,x,REASON_EFFECT)
end
end
function c79029344.efilter(e,te)
return te:GetOwner():GetCode()~=79029344
end
function c79029344.atkcon(e)
return Duel.GetCurrentPhase()==PHASE_DAMAGE_CAL
end
function c79029344.atktg(e,c)
return c:IsSetCard(0xa907) and c:GetBattleTarget():GetFlagEffect(79029344)~=0
end
function c79029344.atkval(e,c)
return c:GetAttack()*2
end
function c79029344.damtg(e,c)
return c:IsSetCard(0xa907) and c:GetBattleTarget():GetFlagEffect(79029344)~=0
end
function c79029344.efilter(e,te)
return te:GetOwner():GetControler()~=e:GetOwner():GetControler()
end
function c79029344.imcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return e:GetHandler():IsExtraLinkState()
end
function c79029344.val(e,c)
return c:GetBaseAttack()*2
end
function c79029344.damcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local a=Duel.GetAttacker()
local b=Duel.GetAttackTarget()
local g=Group.FromCards(a,b)
return ep~=tp and g:Filter(Card.IsControler,nil,tp):GetFirst():GetBattleTarget():GetFlagEffect(79029344)~=0 and g:Filter(Card.IsControler,nil,tp):GetFirst():IsSetCard(0xa907)
end
function c79029344.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
Debug.Message("忏悔吧!")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029344,3))
end
...@@ -81,14 +81,17 @@ function c9910024.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -81,14 +81,17 @@ function c9910024.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end end
end end
function c9910024.thfilter(c)
return c:IsFaceup() and c:IsAbleToHand()
end
function c9910024.activate(e,tp,eg,ep,ev,re,r,rp) function c9910024.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) and Duel.Destroy(eg,REASON_EFFECT)>0 then
if Duel.Destroy(eg,REASON_EFFECT)~=0 then local g=Duel.GetMatchingGroup(c9910024.thfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,aux.ExceptThisCard(e))
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_PZONE,0,aux.ExceptThisCard(e)) if g:GetCount()>1 and Duel.SelectYesNo(tp,aux.Stringid(9910024,0)) then
if g:GetCount()>0 then
Duel.BreakEffect() Duel.BreakEffect()
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
end local sg=g:Select(tp,2,2,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
end end
end end
end end
...@@ -3,23 +3,24 @@ function c9910077.initial_effect(c) ...@@ -3,23 +3,24 @@ function c9910077.initial_effect(c)
--xyz summon --xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_FAIRY),4,2) aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_FAIRY),4,2)
c:EnableReviveLimit() c:EnableReviveLimit()
--adjust --cannot be target
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EVENT_ADJUST) e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetOperation(c9910077.adjustop) e1:SetCondition(c9910077.effcon)
e1:SetValue(aux.tgoval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--disable spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(1,1) e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e2:SetCondition(c9910077.effcon) e2:SetCondition(c9910077.effcon)
e2:SetTarget(c9910077.splimit) e2:SetTarget(c9910077.tglimit)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--change attribute --change attribute
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -31,27 +32,12 @@ function c9910077.initial_effect(c) ...@@ -31,27 +32,12 @@ function c9910077.initial_effect(c)
e3:SetTarget(c9910077.atttg) e3:SetTarget(c9910077.atttg)
e3:SetOperation(c9910077.attop) e3:SetOperation(c9910077.attop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local g=Group.CreateGroup()
g:KeepAlive()
e1:SetLabelObject(g)
e2:SetLabelObject(g)
end end
function c9910077.effcon(e) function c9910077.effcon(e)
return e:GetHandler():GetOverlayCount()>0 return e:GetHandler():GetOverlayCount()>0
end end
function c9910077.attfilter(c,att,tp) function c9910077.tglimit(e,c)
return c:GetAttribute()==att and c:IsControler(tp) return c:IsAttribute(e:GetHandler():GetAttribute())
end
function c9910077.splimit(e,c,sump,sumtype,sumpos,targetp)
local att=c:GetAttribute()
return e:GetLabelObject():IsExists(c9910077.attfilter,1,nil,att,sump)
end
function c9910077.adjustop(e,tp,eg,ep,ev,re,r,rp)
local phase=Duel.GetCurrentPhase()
if (phase==PHASE_DAMAGE and not Duel.IsDamageCalculated()) or phase==PHASE_DAMAGE_CAL then return end
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
e:GetLabelObject():Clear()
e:GetLabelObject():Merge(g)
end end
function c9910077.attcost(e,tp,eg,ep,ev,re,r,rp,chk) function c9910077.attcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
...@@ -68,7 +54,7 @@ function c9910077.attop(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,7 +54,7 @@ function c9910077.attop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_ATTRIBUTE) e1:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e1:SetValue(ATTRIBUTE_LIGHT) e1:SetValue(ATTRIBUTE_LIGHT)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1) c:RegisterEffect(e1)
if Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,1,nil) if Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(9910077,0)) then and Duel.SelectYesNo(tp,aux.Stringid(9910077,0)) then
......
...@@ -54,7 +54,7 @@ function c9910234.spfilter(c,e,tp) ...@@ -54,7 +54,7 @@ function c9910234.spfilter(c,e,tp)
return c:IsSetCard(0x955) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and not c:IsCode(9910234) return c:IsSetCard(0x955) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and not c:IsCode(9910234)
end end
function c9910234.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c9910234.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.GetMZoneCount(tp,e:GetHandler())>0
and Duel.IsExistingMatchingCard(c9910234.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c9910234.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end end
......
...@@ -63,6 +63,7 @@ function c9910292.recfilter(c) ...@@ -63,6 +63,7 @@ function c9910292.recfilter(c)
return c:IsSetCard(0x957) and c:IsType(TYPE_MONSTER) and c:IsFaceup() return c:IsSetCard(0x957) and c:IsType(TYPE_MONSTER) and c:IsFaceup()
end end
function c9910292.spop(e,tp,eg,ep,ev,re,r,rp) function c9910292.spop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local code=e:GetLabel() local code=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
......
...@@ -9,7 +9,6 @@ function c9910294.initial_effect(c) ...@@ -9,7 +9,6 @@ function c9910294.initial_effect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,9910294)
e1:SetCondition(c9910294.condition) e1:SetCondition(c9910294.condition)
e1:SetTarget(c9910294.target) e1:SetTarget(c9910294.target)
e1:SetOperation(c9910294.operation) e1:SetOperation(c9910294.operation)
...@@ -19,11 +18,15 @@ function c9910294.condition(e,tp,eg,ep,ev,re,r,rp) ...@@ -19,11 +18,15 @@ function c9910294.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end end
function c9910294.target(e,tp,eg,ep,ev,re,r,rp,chk) function c9910294.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=5 end if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=4 end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end end
function c9910294.tgfilter(c)
return c:IsType(TYPE_PENDULUM) and c:IsAbleToGrave()
end
function c9910294.thfilter(c) function c9910294.thfilter(c)
return c:IsType(TYPE_PENDULUM) and c:IsAbleToHand() return c:IsType(TYPE_PENDULUM) and c:IsAbleToHand()
end end
...@@ -32,30 +35,41 @@ function c9910294.spfilter(c,e,tp) ...@@ -32,30 +35,41 @@ function c9910294.spfilter(c,e,tp)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
function c9910294.operation(e,tp,eg,ep,ev,re,r,rp) function c9910294.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<5 then return end if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<4 then return end
Duel.ConfirmDecktop(tp,5) Duel.ConfirmDecktop(tp,4)
local g=Duel.GetDecktopGroup(tp,5) local g=Duel.GetDecktopGroup(tp,4):Filter(Card.IsType,nil,TYPE_PENDULUM)
if g:GetCount()>0 and g:IsExists(Card.IsType,1,nil,TYPE_PENDULUM) if not g:IsExists(c9910294.tgfilter,1,nil) then return end
and Duel.SelectYesNo(tp,aux.Stringid(9910294,0)) then if Duel.GetFlagEffect(tp,9910494)==0 and Duel.SelectYesNo(tp,aux.Stringid(9910294,4)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local sg0=g:FilterSelect(tp,c9910294.tgfilter,1,1,nil)
Duel.SendtoGrave(sg0,REASON_EFFECT)
g:Sub(sg0)
Duel.RegisterFlagEffect(tp,9910494,RESET_PHASE+PHASE_END,0,1)
end
if Duel.GetFlagEffect(tp,9910494)==0 or g:GetCount()==0 then return end
if Duel.GetFlagEffect(tp,9910495)==0 and Duel.SelectYesNo(tp,aux.Stringid(9910294,0)) then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(9910294,3)) Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(9910294,3))
local sg1=g:FilterSelect(tp,Card.IsType,1,1,nil,TYPE_PENDULUM) local sg1=g:Select(tp,1,1,nil)
Duel.SendtoExtraP(sg1,tp,REASON_EFFECT) Duel.SendtoExtraP(sg1,tp,REASON_EFFECT)
g:Sub(sg1) g:Sub(sg1)
if g:GetCount()>0 and g:IsExists(c9910294.thfilter,1,nil) Duel.RegisterFlagEffect(tp,9910495,RESET_PHASE+PHASE_END,0,1)
and Duel.SelectYesNo(tp,aux.Stringid(9910294,1)) then end
if Duel.GetFlagEffect(tp,9910495)==0 or not g:IsExists(c9910294.thfilter,1,nil) then return end
if Duel.GetFlagEffect(tp,9910496)==0 and Duel.SelectYesNo(tp,aux.Stringid(9910294,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg2=g:FilterSelect(tp,c9910294.thfilter,1,1,nil) local sg2=g:FilterSelect(tp,c9910294.thfilter,1,1,nil)
Duel.SendtoHand(sg2,nil,REASON_EFFECT) Duel.SendtoHand(sg2,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg2) Duel.ConfirmCards(1-tp,sg2)
Duel.ShuffleHand(tp) Duel.ShuffleHand(tp)
g:Sub(sg2) g:Sub(sg2)
if g:GetCount()>0 and g:IsExists(c9910294.spfilter,1,nil,e,tp) Duel.RegisterFlagEffect(tp,9910496,RESET_PHASE+PHASE_END,0,1)
and Duel.SelectYesNo(tp,aux.Stringid(9910294,2)) then end
if Duel.GetFlagEffect(tp,9910496)==0 or not g:IsExists(c9910294.spfilter,1,nil,e,tp) then return end
if Duel.GetFlagEffect(tp,9910497)==0 and Duel.SelectYesNo(tp,aux.Stringid(9910294,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg3=g:FilterSelect(tp,c9910294.spfilter,1,1,nil,e,tp) local sg3=g:FilterSelect(tp,c9910294.spfilter,1,1,nil,e,tp)
Duel.SpecialSummon(sg3,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(sg3,0,tp,tp,false,false,POS_FACEUP)
end Duel.RegisterFlagEffect(tp,9910497,RESET_PHASE+PHASE_END,0,1)
end
end end
Duel.ShuffleDeck(tp) Duel.ShuffleDeck(tp)
end end
--赛博空间的佣兵
function c9910420.initial_effect(c)
--cannot be material
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1:SetValue(c9910420.splimit)
c:RegisterEffect(e1)
--to grave
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_HANDES)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,9910420)
e2:SetCost(c9910420.tgcost)
e2:SetTarget(c9910420.tgtg)
e2:SetOperation(c9910420.tgop)
c:RegisterEffect(e2)
--destroy
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,9910421)
e3:SetCondition(c9910420.descon)
e3:SetCost(aux.bfgcost)
e3:SetTarget(c9910420.destg)
e3:SetOperation(c9910420.desop)
c:RegisterEffect(e3)
end
function c9910420.splimit(e,c)
if not c then return false end
return not c:IsSetCard(0x6950)
end
function c9910420.tgcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
end
function c9910420.tgfilter(c)
return c:IsSetCard(0x6950) and c:IsAbleToGrave()
end
function c9910420.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910420.tgfilter,tp,LOCATION_EXTRA,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_EXTRA)
end
function c9910420.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c9910420.tgfilter,tp,LOCATION_EXTRA,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoGrave(g,REASON_EFFECT)~=0
and Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0 and Duel.SelectYesNo(tp,aux.Stringid(9910420,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg=Duel.GetFieldGroup(tp,0,LOCATION_HAND):RandomSelect(tp,1)
Duel.SendtoGrave(sg,REASON_DISCARD+REASON_EFFECT)
end
end
function c9910420.cfilter(c,tp)
return c:IsFaceup() and c:IsRace(RACE_CYBERSE) and c:IsType(TYPE_FUSION)
and c:IsSummonType(SUMMON_TYPE_FUSION) and c:IsControler(tp)
end
function c9910420.descon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c9910420.cfilter,1,nil,tp)
end
function c9910420.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c9910420.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg=g:Select(tp,1,1,nil)
Duel.HintSelection(sg)
Duel.Destroy(sg,REASON_EFFECT)
end
end
--赛博空间新生
function c9910422.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_HANDES+CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,9910422+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c9910422.target)
e1:SetOperation(c9910422.activate)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EVENT_REMOVE)
e2:SetOperation(c9910422.thregop)
c:RegisterEffect(e2)
end
function c9910422.thfilter(c)
return c:IsSetCard(0x6950) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
and (not c:IsLocation(LOCATION_REMOVED) or c:IsFaceup())
end
function c9910422.filter1(c,e)
return not c:IsImmuneToEffect(e)
end
function c9910422.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x6950) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c9910422.target(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(),REASON_EFFECT)
and Duel.IsExistingMatchingCard(c9910422.thfilter,tp,LOCATION_DECK+LOCATION_REMOVED,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_REMOVED)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c9910422.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT+REASON_DISCARD,nil,REASON_EFFECT)==0 then return end
local ct=1
if Duel.GetFlagEffect(tp,9910422)~=0 then ct=2 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c9910422.thfilter,tp,LOCATION_DECK+LOCATION_REMOVED,0,1,ct,nil)
if g:GetCount()==0 or Duel.SendtoHand(g,nil,REASON_EFFECT)==0 then return end
Duel.ConfirmCards(1-tp,g)
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c9910422.filter1,nil,e)
local sg1=Duel.GetMatchingGroup(c9910422.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg2=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c9910422.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg2,mf,chkf)
end
if (sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0)) and Duel.SelectYesNo(tp,aux.Stringid(9910422,0)) then
Duel.BreakEffect()
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1)
Duel.SendtoGrave(mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg2,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end
function c9910422.thregop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_REMOVED)
e1:SetCountLimit(1,9910064+EFFECT_COUNT_CODE_DUEL)
e1:SetCost(c9910422.thcost)
e1:SetTarget(c9910422.thtg)
e1:SetOperation(c9910422.thop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
function c9910422.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.PayLPCost(tp,math.floor(Duel.GetLP(tp)/2))
end
function c9910422.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end
function c9910422.thop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
Duel.RegisterFlagEffect(tp,9910422,0,0,1)
end
...@@ -27,6 +27,7 @@ function c9910433.initial_effect(c) ...@@ -27,6 +27,7 @@ function c9910433.initial_effect(c)
e3:SetCategory(CATEGORY_REMOVE) e3:SetCategory(CATEGORY_REMOVE)
e3:SetType(EFFECT_TYPE_QUICK_O) e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN) e3:SetCode(EVENT_FREE_CHAIN)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1) e3:SetCountLimit(1)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE) e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
...@@ -56,7 +57,7 @@ end ...@@ -56,7 +57,7 @@ end
function c9910433.filter(c,id) function c9910433.filter(c,id)
return c:GetTurnID()==id and not c:IsReason(REASON_RETURN) and c:IsAbleToRemove() return c:GetTurnID()==id and not c:IsReason(REASON_RETURN) and c:IsAbleToRemove()
end end
function c9910433.rmtg(e,tp,eg,ep,ev,re,r,rp,chk) function c9910433.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local id=Duel.GetTurnCount() local id=Duel.GetTurnCount()
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and c9910433.filter(chkc,id) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and c9910433.filter(chkc,id) end
if chk==0 then return Duel.IsExistingTarget(c9910433.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil,id) end if chk==0 then return Duel.IsExistingTarget(c9910433.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil,id) end
......
--积聚希望的韶光 --积聚希望的韶光
function c9910454.initial_effect(c) function c9910454.initial_effect(c)
c:EnableCounterPermit(0x950) c:EnableCounterPermit(0x1950)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
...@@ -21,7 +21,7 @@ function c9910454.drcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -21,7 +21,7 @@ function c9910454.drcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)>2 return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)>2
end end
function c9910454.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function c9910454.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=Duel.GetCounter(tp,1,0,0x950)+3-Duel.GetFieldGroupCount(tp,LOCATION_HAND,0) local ct=Duel.GetCounter(tp,1,0,0x1950)+3-Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
if chk==0 then return (ct<=0 or Duel.IsPlayerCanDraw(tp,ct)) if chk==0 then return (ct<=0 or Duel.IsPlayerCanDraw(tp,ct))
and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,nil) end and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_HAND)
...@@ -35,13 +35,13 @@ function c9910454.drop(e,tp,eg,ep,ev,re,r,rp) ...@@ -35,13 +35,13 @@ function c9910454.drop(e,tp,eg,ep,ev,re,r,rp)
if og:IsExists(Card.IsControler,1,nil,tp) then Duel.ShuffleDeck(tp) end if og:IsExists(Card.IsControler,1,nil,tp) then Duel.ShuffleDeck(tp) end
if og:IsExists(Card.IsControler,1,nil,1-tp) then Duel.ShuffleDeck(1-tp) end if og:IsExists(Card.IsControler,1,nil,1-tp) then Duel.ShuffleDeck(1-tp) end
Duel.BreakEffect() Duel.BreakEffect()
local ct=Duel.GetCounter(tp,1,0,0x950)+3 local ct=Duel.GetCounter(tp,1,0,0x1950)+3
Duel.Draw(tp,ct,REASON_EFFECT) Duel.Draw(tp,ct,REASON_EFFECT)
local sg=Duel.GetOperatedGroup() local sg=Duel.GetOperatedGroup()
Duel.ConfirmCards(1-tp,sg) Duel.ConfirmCards(1-tp,sg)
if sg:GetClassCount(Card.GetCode)==sg:GetCount() then if sg:GetClassCount(Card.GetCode)==sg:GetCount() then
if sg:IsExists(Card.IsSetCard,1,nil,0x9950) then if sg:IsExists(Card.IsSetCard,1,nil,0x9950) then
e:GetHandler():AddCounter(0x950,1) e:GetHandler():AddCounter(0x1950,1)
Duel.ShuffleHand(tp) Duel.ShuffleHand(tp)
end end
else else
......
--韶光歌后 玛丽亚·毕肖普 --韶光歌后 玛丽亚·毕肖普
function c9910457.initial_effect(c) function c9910457.initial_effect(c)
c:EnableCounterPermit(0x950) c:EnableCounterPermit(0x1950)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFunFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x9950),c9910457.matfilter,2,63,true) aux.AddFusionProcFunFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x9950),c9910457.matfilter,2,63,true)
...@@ -53,17 +53,17 @@ function c9910457.adop(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,17 +53,17 @@ function c9910457.adop(e,tp,eg,ep,ev,re,r,rp)
if c:GetMaterial():IsExists(c9910457.cfilter,1,nil,LOCATION_EXTRA) then ct=ct+1 end if c:GetMaterial():IsExists(c9910457.cfilter,1,nil,LOCATION_EXTRA) then ct=ct+1 end
if c:GetMaterial():IsExists(c9910457.cfilter,1,nil,LOCATION_REMOVED) then ct=ct+1 end if c:GetMaterial():IsExists(c9910457.cfilter,1,nil,LOCATION_REMOVED) then ct=ct+1 end
if c:GetMaterial():IsExists(c9910457.cfilter,1,nil,LOCATION_SZONE) then ct=ct+1 end if c:GetMaterial():IsExists(c9910457.cfilter,1,nil,LOCATION_SZONE) then ct=ct+1 end
if ct>0 and c:IsCanAddCounter(0x950,ct) then if ct>0 and c:IsCanAddCounter(0x1950,ct) then
Duel.Hint(HINT_CARD,0,9910457) Duel.Hint(HINT_CARD,0,9910457)
c:AddCounter(0x950,ct) c:AddCounter(0x1950,ct)
end end
end end
function c9910457.discon(e,tp,eg,ep,ev,re,r,rp) function c9910457.discon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev) return rp==1-tp and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
end end
function c9910457.discost(e,tp,eg,ep,ev,re,r,rp,chk) function c9910457.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x950,1,REASON_COST) end if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x1950,1,REASON_COST) end
e:GetHandler():RemoveCounter(tp,0x950,1,REASON_COST) e:GetHandler():RemoveCounter(tp,0x1950,1,REASON_COST)
end end
function c9910457.distg(e,tp,eg,ep,ev,re,r,rp,chk) function c9910457.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
...@@ -77,15 +77,15 @@ function c9910457.rctcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -77,15 +77,15 @@ function c9910457.rctcon(e,tp,eg,ep,ev,re,r,rp)
end end
function c9910457.rcttg(e,tp,eg,ep,ev,re,r,rp,chk) function c9910457.rcttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
if not e:GetHandler():IsCanRemoveCounter(tp,0x950,1,REASON_EFFECT) then if not e:GetHandler():IsCanRemoveCounter(tp,0x1950,1,REASON_EFFECT) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler(),1,0,0)
end end
end end
function c9910457.rctop(e,tp,eg,ep,ev,re,r,rp) function c9910457.rctop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then if c:IsFaceup() and c:IsRelateToEffect(e) then
if c:IsCanRemoveCounter(tp,0x950,1,REASON_EFFECT) then if c:IsCanRemoveCounter(tp,0x1950,1,REASON_EFFECT) then
c:RemoveCounter(tp,0x950,1,REASON_EFFECT) c:RemoveCounter(tp,0x1950,1,REASON_EFFECT)
else else
Duel.Destroy(c,REASON_EFFECT) Duel.Destroy(c,REASON_EFFECT)
end end
......
--韶光的怀恋 希尔维娅 --韶光的怀恋 希尔维娅
function c9910461.initial_effect(c) function c9910461.initial_effect(c)
c:EnableCounterPermit(0x950) c:EnableCounterPermit(0x1950)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT),aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT),aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
...@@ -28,16 +28,16 @@ function c9910461.ctcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -28,16 +28,16 @@ function c9910461.ctcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end end
function c9910461.cttg(e,tp,eg,ep,ev,re,r,rp,chk) function c9910461.cttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x950,1) end if chk==0 then return e:GetHandler():IsCanAddCounter(0x1950,1) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x950) Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x1950)
end end
function c9910461.ctop(e,tp,eg,ep,ev,re,r,rp) function c9910461.ctop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:AddCounter(0x950,1) and Duel.GetCounter(tp,1,0,0x950)>0 if c:IsRelateToEffect(e) and c:AddCounter(0x1950,1) and Duel.GetCounter(tp,1,0,0x1950)>0
and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(9910461,0)) then and Duel.SelectYesNo(tp,aux.Stringid(9910461,0)) then
Duel.BreakEffect() Duel.BreakEffect()
local ct=Duel.GetCounter(tp,1,0,0x950) local ct=Duel.GetCounter(tp,1,0,0x1950)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,ct,nil) local g=Duel.SelectMatchingCard(tp,Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,ct,nil)
Duel.HintSelection(g) Duel.HintSelection(g)
......
...@@ -12,18 +12,18 @@ function c9910462.initial_effect(c) ...@@ -12,18 +12,18 @@ function c9910462.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c9910462.ctfilter(c) function c9910462.ctfilter(c)
return c:IsFaceup() and c:IsCanAddCounter(0x950,1) return c:IsFaceup() and c:IsCanAddCounter(0x1950,1)
end end
function c9910462.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c9910462.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(tp) and c9910462.ctfilter(chkc) end if chkc then return chkc:IsOnField() and chkc:IsControler(tp) and c9910462.ctfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c9910462.ctfilter,tp,LOCATION_ONFIELD,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(c9910462.ctfilter,tp,LOCATION_ONFIELD,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c9910462.ctfilter,tp,LOCATION_ONFIELD,0,1,1,nil) Duel.SelectTarget(tp,c9910462.ctfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x950) Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x1950)
end end
function c9910462.operation(e,tp,eg,ep,ev,re,r,rp) function c9910462.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:AddCounter(0x950,1) and tc:IsType(TYPE_FUSION) then if tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:AddCounter(0x1950,1) and tc:IsType(TYPE_FUSION) then
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_IMMUNE_EFFECT) e1:SetCode(EFFECT_IMMUNE_EFFECT)
......
--嗜血医治者
function c9910611.initial_effect(c)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,nil,2,99,c9910611.lcheck)
--special summon 1
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(9910611,0))
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,9910611)
e1:SetTarget(c9910611.sptg1)
e1:SetOperation(c9910611.spop1)
c:RegisterEffect(e1)
--special summon 2
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(9910611,1))
e2:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,9910612)
e2:SetTarget(c9910611.sptg2)
e2:SetOperation(c9910611.spop2)
c:RegisterEffect(e2)
end
function c9910611.lcheck(g)
return g:GetClassCount(Card.GetLinkRace)==1 or g:GetClassCount(Card.GetLinkAttribute)==1
end
function c9910611.rmfilter1(c,id)
return c:GetTurnID()==id and not c:IsReason(REASON_RETURN) and c:IsAbleToRemove(tp,POS_FACEDOWN)
end
function c9910611.spfilter1(c,e,tp,id)
return c:GetTurnID()<id and not c:IsReason(REASON_RETURN)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
end
function c9910611.sptg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local loc=LOCATION_GRAVE
local id=Duel.GetTurnCount()
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and c9910611.rmfilter1(chkc,id) end
if chk==0 then return Duel.IsExistingTarget(c9910611.rmfilter1,tp,loc,loc,4,nil,id)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c9910611.spfilter1,tp,loc,0,1,nil,e,tp,id) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,c9910611.rmfilter1,tp,loc,loc,4,4,nil,id)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,4,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function c9910611.spop1(e,tp,eg,ep,ev,re,r,rp)
local loc=LOCATION_GRAVE
local id=Duel.GetTurnCount()
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910611.spfilter1),tp,loc,0,nil,e,tp,id)
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if tg:GetCount()>0 and Duel.Remove(tg,POS_FACEDOWN,REASON_EFFECT)~=0
and g:GetCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
end
end
function c9910611.rmfilter2(c,id)
return c:GetTurnID()<id and not c:IsReason(REASON_RETURN) and c:IsAbleToRemove(tp,POS_FACEDOWN)
end
function c9910611.spfilter2(c,e,tp,id)
return c:GetTurnID()==id and not c:IsReason(REASON_RETURN)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
end
function c9910611.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local loc=LOCATION_GRAVE
local id=Duel.GetTurnCount()
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and c9910611.rmfilter2(chkc,id) end
if chk==0 then return Duel.IsExistingTarget(c9910611.rmfilter2,tp,loc,0,4,nil,id)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c9910611.spfilter2,tp,loc,loc,1,nil,e,tp,id) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,c9910611.rmfilter2,tp,loc,0,4,4,nil,id)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,4,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function c9910611.spop2(e,tp,eg,ep,ev,re,r,rp)
local loc=LOCATION_GRAVE
local id=Duel.GetTurnCount()
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910611.spfilter2),tp,loc,loc,nil,e,tp,id)
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if tg:GetCount()>0 and Duel.Remove(tg,POS_FACEDOWN,REASON_EFFECT)~=0
and g:GetCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
end
end
...@@ -6,7 +6,6 @@ function c9910618.initial_effect(c) ...@@ -6,7 +6,6 @@ function c9910618.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCost(c9910618.cost)
e1:SetTarget(c9910618.target) e1:SetTarget(c9910618.target)
e1:SetOperation(c9910618.activate) e1:SetOperation(c9910618.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -34,10 +33,6 @@ end ...@@ -34,10 +33,6 @@ end
function c9910618.filter3(c,e) function c9910618.filter3(c,e)
return c:IsOnField() and not c:IsImmuneToEffect(e) return c:IsOnField() and not c:IsImmuneToEffect(e)
end end
function c9910618.cost(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)
end
function c9910618.target(e,tp,eg,ep,ev,re,r,rp,chk) function c9910618.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=tp local chkf=tp
...@@ -93,7 +88,7 @@ function c9910618.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -93,7 +88,7 @@ function c9910618.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_CANNOT_CHANGE_POSITION) e1:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE) e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e1:SetTargetRange(0,LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true) tc:RegisterEffect(e1,true)
end end
......
...@@ -9,6 +9,7 @@ function c9910628.initial_effect(c) ...@@ -9,6 +9,7 @@ function c9910628.initial_effect(c)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,9910628) e1:SetCountLimit(1,9910628)
e3:SetCost(c9910628.thcost)
e1:SetTarget(c9910628.thtg) e1:SetTarget(c9910628.thtg)
e1:SetOperation(c9910628.thop) e1:SetOperation(c9910628.thop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -19,12 +20,15 @@ function c9910628.initial_effect(c) ...@@ -19,12 +20,15 @@ function c9910628.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,9910629) e2:SetCountLimit(1,9910629)
e2:SetCondition(aux.exccon)
e2:SetCost(c9910628.drcost) e2:SetCost(c9910628.drcost)
e2:SetTarget(c9910628.drtg) e2:SetTarget(c9910628.drtg)
e2:SetOperation(c9910628.drop) e2:SetOperation(c9910628.drop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c9910628.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 c9910628.thfilter(c) function c9910628.thfilter(c)
return c:IsSetCard(0x46) and c:IsType(TYPE_SPELL) and c:IsAbleToHand() return c:IsSetCard(0x46) and c:IsType(TYPE_SPELL) and c:IsAbleToHand()
end end
...@@ -53,15 +57,11 @@ function c9910628.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,15 +57,11 @@ function c9910628.thop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetTarget(c9910628.splimit)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
end end
end end
function c9910628.splimit(e,c)
return not c:IsRace(RACE_FAIRY)
end
function c9910628.cfilter(c) function c9910628.cfilter(c)
return c:IsType(TYPE_SYNCHRO) and c:IsAbleToRemoveAsCost() return c:IsType(TYPE_SYNCHRO) and c:IsAbleToRemoveAsCost()
end end
......
--比武!
function c9910645.initial_effect(c)
c:EnableCounterPermit(0x4950)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--Battle!!
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(9910645,0))
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_SZONE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetTarget(c9910645.batg)
e1:SetOperation(c9910645.baop)
c:RegisterEffect(e1)
--negate
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(9910645,1))
e2:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetRange(LOCATION_SZONE)
e2:SetCondition(c9910645.descon)
e2:SetCost(c9910645.descost)
e2:SetTarget(c9910645.destg)
e2:SetOperation(c9910645.desop)
c:RegisterEffect(e2)
end
function c9910645.bafilter1(c)
return c:IsAttackable() and c:IsAttackPos()
end
function c9910645.batg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(c9910645.bafilter1,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsExistingTarget(nil,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF)
local g1=Duel.SelectTarget(tp,c9910645.bafilter1,tp,LOCATION_MZONE,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPPO)
local g2=Duel.SelectTarget(tp,nil,tp,0,LOCATION_MZONE,1,1,nil)
end
function c9910645.baop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then end
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tg=g:Filter(Card.IsRelateToEffect,nil,e)
if tg:GetCount()~=2 then return end
local ac=tg:Filter(Card.IsControler,nil,tp):GetFirst()
local at=tg:Filter(Card.IsControler,nil,1-tp):GetFirst()
if not ac or not at or ac:IsStatus(STATUS_BATTLE_DESTROYED) or at:IsStatus(STATUS_BATTLE_DESTROYED) then return end
Duel.CalculateDamage(ac,at)
if not at:IsStatus(STATUS_BATTLE_DESTROYED) then return end
local b1=c:IsRelateToEffect(e) and c:IsCanAddCounter(0x4950,1)
local op=0
if b1 then op=Duel.SelectOption(tp,aux.Stringid(9910645,2),aux.Stringid(9910645,3))
else op=Duel.SelectOption(tp,aux.Stringid(9910645,3))+1 end
if op==0 then
c:AddCounter(0x4950,1)
else
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetTarget(c9910645.distg)
e1:SetLabelObject(at)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetCondition(c9910645.discon)
e2:SetOperation(c9910645.disop)
e2:SetLabelObject(at)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
end
function c9910645.distg(e,c)
local tc=e:GetLabelObject()
return c:IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c9910645.discon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
return re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c9910645.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
function c9910645.descon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and Duel.IsChainNegatable(ev)
end
function c9910645.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x4950,1,REASON_COST) end
e:GetHandler():RemoveCounter(tp,0x4950,1,REASON_COST)
end
function c9910645.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end
end
function c9910645.desop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then end
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
end
end
...@@ -221,7 +221,8 @@ ...@@ -221,7 +221,8 @@
!setname 0x9950 韶光 !setname 0x9950 韶光
!setname 0xa950 桃绯 !setname 0xa950 桃绯
!setname 0xc950 远古造物 !setname 0xc950 远古造物
!counter 0x950 韶光指示物 !counter 0x1950 韶光指示物
!counter 0x4950 指示物(比武!)
#篁楠 10 0x200-0x20f #篁楠 10 0x200-0x20f
...@@ -242,6 +243,7 @@ ...@@ -242,6 +243,7 @@
!setname 0x920 邪魂 !setname 0x920 邪魂
!setname 0x3920 终焉邪魂 !setname 0x3920 终焉邪魂
!setname 0x92a 圣魂 !setname 0x92a 圣魂
!setname 0x92b 能力者
#格拉摩根伯爵 400 #格拉摩根伯爵 400
...@@ -257,7 +259,7 @@ ...@@ -257,7 +259,7 @@
!counter 0x192 指示物(炎国·术士干员-惊蛰) !counter 0x192 指示物(炎国·术士干员-惊蛰)
!counter 0x193 指示物(雷姆必拓·重装干员-暴行·微差爆破) !counter 0x193 指示物(雷姆必拓·重装干员-暴行·微差爆破)
!counter 0x1099 源石指示物 !counter 0x1099 源石指示物
!counter 0x001 指示物(使徒·医疗干员-闪灵) !counter 0x190 指示物(使徒·医疗干员-闪灵)
!counter 0x9b 指示物(罗德岛·术士干员-远山) !counter 0x9b 指示物(罗德岛·术士干员-远山)
!setname 0xa900 干员 Arknights !setname 0xa900 干员 Arknights
...@@ -337,5 +339,7 @@ ...@@ -337,5 +339,7 @@
!setname 0xf37 永寂 !setname 0xf37 永寂
!setname 0xaf37 永寂之国 !setname 0xaf37 永寂之国
!setname 0xf13 机空 !setname 0xf13 机空
!counter 0x1f1b超爆指示物 !counter 0x1f1b 超爆指示物
!setname 0x1f1b勇机 !setname 0x1f1b 勇机
\ No newline at end of file !setname 0xf24 宙蓝
!setname 0x1f24 睿智宙蓝
\ No newline at end of file
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