Commit c50fc41f authored by songtongtong's avatar songtongtong

bug fix

parent 121aed52
Pipeline #23733 passed with stages
in 26 minutes and 2 seconds
This diff is collapsed.
local m=15004104 local m=15004104
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="岩钜的雷鸣虫 LV5" cm.name="岩钜的雷鸣虫 LV5"
function cm.initial_effect(c) function cm.initial_effect(c)
--destroy --destroy
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,15004104) e1:SetCountLimit(1,15004104)
e1:SetTarget(cm.destg) e1:SetTarget(cm.destg)
e1:SetOperation(cm.desop) e1:SetOperation(cm.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--special summon --special summon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_PHASE+PHASE_END) e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetCountLimit(1,15004105) e2:SetCountLimit(1,15004105)
e2:SetCondition(cm.spcon) e2:SetCondition(cm.spcon)
e2:SetTarget(cm.sptg) e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop) e2:SetOperation(cm.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
if not cm.global_check then if not cm.global_check then
cm.global_check=true cm.global_check=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_DESTROYED) ge1:SetCode(EVENT_DESTROYED)
ge1:SetOperation(cm.checkop) ge1:SetOperation(cm.checkop)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
end end
end end
cm.lvup={15004106,15004107} cm.lvup={15004106,15004107}
function cm.checkop(e,tp,eg,ep,ev,re,r,rp) function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst() local tc=eg:GetFirst()
local p1=false local p1=false
local p2=false local p2=false
while tc do while tc do
if tc:IsPreviousLocation(LOCATION_ONFIELD) then if tc:IsPreviousLocation(LOCATION_ONFIELD) then
if tc:IsPreviousControler(0) then p1=true else p2=true end if tc:IsPreviousControler(0) then p1=true else p2=true end
end end
tc=eg:GetNext() tc=eg:GetNext()
end end
if p1 then Duel.RegisterFlagEffect(0,15004104,RESET_PHASE+PHASE_END,0,1) end if p1 then Duel.RegisterFlagEffect(0,15004104,RESET_PHASE+PHASE_END,0,1) end
if p2 then Duel.RegisterFlagEffect(0,15004104,RESET_PHASE+PHASE_END,0,1) end if p2 then Duel.RegisterFlagEffect(0,15004104,RESET_PHASE+PHASE_END,0,1) end
end end
function cm.desfilter(c,tp) function cm.desfilter(c,tp)
return Duel.GetMZoneCount(tp,c)>0 return Duel.GetMZoneCount(tp,c)>0
end end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(tp) and cm.desfilter(chkc,tp) end if chkc then return chkc:IsOnField() and chkc:IsControler(tp) and cm.desfilter(chkc,tp) end
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingTarget(cm.desfilter,tp,LOCATION_ONFIELD,0,1,nil,tp) end and Duel.IsExistingTarget(cm.desfilter,tp,LOCATION_ONFIELD,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,cm.desfilter,tp,LOCATION_ONFIELD,0,1,1,nil,tp) local g=Duel.SelectTarget(tp,cm.desfilter,tp,LOCATION_ONFIELD,0,1,1,nil,tp)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function cm.desop(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 and c:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 and c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp) function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(0,15004104)~=0 return Duel.GetFlagEffect(0,15004104)~=0
end end
function cm.sp1filter(c,e,tp) function cm.sp1filter(c,e,tp)
return c:IsCode(15004106) and c:IsCanBeSpecialSummoned(e,0,tp,true,true) return c:IsCode(15004106) and c:IsCanBeSpecialSummoned(e,0,tp,true,true)
end end
function cm.sp2filter(c,e,tp) function cm.sp2filter(c,e,tp,chk)
return c:IsCode(15004107) and c:IsCanBeSpecialSummoned(e,0,tp,true,true) and Duel.IsExistingMatchingCard(cm.bugfilter,tp,LOCATION_MZONE,0,1,aux.ExceptThisCard(e)) return c:IsCode(15004107) and c:IsCanBeSpecialSummoned(e,0,tp,true,true) and ((chk==0 and Duel.IsExistingMatchingCard(cm.bugfilter,tp,LOCATION_MZONE,0,1,e:GetHandler())) or (chk~=0 and Duel.IsExistingMatchingCard(cm.bugfilter,tp,LOCATION_MZONE,0,1,aux.ExceptThisCard(e))))
end end
function cm.bugfilter(c) function cm.bugfilter(c)
return c:IsRace(RACE_INSECT) and c:IsFaceup() return c:IsRace(RACE_INSECT) and c:IsFaceup()
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1 local c=e:GetHandler()
and e:GetHandler():IsAbleToDeck() and (Duel.IsExistingMatchingCard(cm.sp1filter,tp,LOCATION_DECK,0,1,nil,e,tp) or Duel.IsExistingMatchingCard(cm.sp2filter,tp,LOCATION_DECK,0,1,nil,e,tp)) end if chk==0 then return Duel.GetMZoneCount(tp,c)>0 and c:IsAbleToDeck()
Duel.SetOperationInfo(0,CATEGORY_TODECK,e:GetHandler(),1,0,0) and (Duel.IsExistingMatchingCard(cm.sp1filter,tp,LOCATION_DECK,0,1,nil,e,tp) or Duel.IsExistingMatchingCard(cm.sp2filter,tp,LOCATION_DECK,0,1,nil,e,tp,0)) 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
function cm.spop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if not c:IsRelateToEffect(e) then return end
if not c:IsRelateToEffect(e) then return end if not c:IsAbleToDeck() then return end
if not c:IsAbleToDeck() then return end local b1=Duel.IsExistingMatchingCard(cm.sp1filter,tp,LOCATION_DECK,0,1,nil,e,tp)
local b1=Duel.IsExistingMatchingCard(cm.sp1filter,tp,LOCATION_DECK,0,1,nil,e,tp) local b2=Duel.IsExistingMatchingCard(cm.sp2filter,tp,LOCATION_DECK,0,1,nil,e,tp,1)
local b2=Duel.IsExistingMatchingCard(cm.sp2filter,tp,LOCATION_DECK,0,1,nil,e,tp) local op=0
local op=0 Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(m,0),aux.Stringid(m,1))
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(m,0),aux.Stringid(m,1)) elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(m,0))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(m,0)) else op=Duel.SelectOption(tp,aux.Stringid(m,1))+1 end
else op=Duel.SelectOption(tp,aux.Stringid(m,1))+1 end if op==0 then
if op==0 then if Duel.SendtoDeck(c,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 then
if Duel.SendtoDeck(c,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and c:IsLocation(LOCATION_DECK) then if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.sp1filter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,cm.sp1filter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
Duel.SpecialSummon(tc,SUMMON_VALUE_LV,tp,tp,true,true,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_VALUE_LV,tp,tp,true,true,POS_FACEUP)
tc:CompleteProcedure() tc:CompleteProcedure()
end end
end end
end end
if op==1 then if op==1 then
if Duel.SendtoDeck(c,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and c:IsLocation(LOCATION_DECK) then if Duel.SendtoDeck(c,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local g=Duel.SelectMatchingCard(tp,cm.sp2filter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=g:GetFirst() local g=Duel.SelectMatchingCard(tp,cm.sp2filter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp,1)
if tc then local tc=g:GetFirst()
Duel.SpecialSummon(tc,SUMMON_VALUE_LV,tp,tp,true,true,POS_FACEUP) if tc then
tc:CompleteProcedure() Duel.SpecialSummon(tc,SUMMON_VALUE_LV,tp,tp,true,true,POS_FACEUP)
end tc:CompleteProcedure()
end end
end end
end
end end
\ No newline at end of file
if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end if not require and loadfile then
local m=15005050 function require(str)
local cm=_G["c"..m] require_list=require_list or {}
cm.name="异闻鸣星-支原体" if not require_list[str] then
function cm.initial_effect(c) if string.find(str,"%.") then
--flip require_list[str]=loadfile(str)
local e1=Effect.CreateEffect(c) else
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) require_list[str]=loadfile(str..".lua")
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O) end
e1:SetProperty(EFFECT_FLAG_DELAY) require_list[str]()
e1:SetCountLimit(1,15005050) return require_list[str]
e1:SetTarget(cm.target) end
e1:SetOperation(cm.operation) return require_list[str]
c:RegisterEffect(e1) end
--change effect end
local e2=Effect.CreateEffect(c) if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end
e2:SetType(EFFECT_TYPE_QUICK_O) local m=15005050
e2:SetCode(EVENT_FREE_CHAIN) local cm=_G["c"..m]
e2:SetRange(LOCATION_HAND) cm.name="异闻鸣星-伊奥"
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END) function cm.initial_effect(c)
e2:SetCountLimit(1,15005051) --flip
e2:SetCost(cm.cecost) local e1=Effect.CreateEffect(c)
e2:SetTarget(cm.cetg) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetOperation(cm.ceop) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O)
c:RegisterEffect(e2) e1:SetProperty(EFFECT_FLAG_DELAY)
if not Satl.hearogenehirp_global_effect then e1:SetCountLimit(1,15005050)
Satl.hearogenehirp_global_effect=true e1:SetTarget(cm.target)
Satl.AddHearogenehirpAdding(c) e1:SetOperation(cm.operation)
end c:RegisterEffect(e1)
end --change effect
c15005050.chfilter=function(c) local e2=Effect.CreateEffect(c)
return c:IsFacedown() and c:IsDefensePos() and c:IsType(TYPE_MONSTER) e2:SetType(EFFECT_TYPE_QUICK_O)
end e2:SetCode(EVENT_FREE_CHAIN)
c15005050.chacon=function(e,tp) e2:SetRange(LOCATION_HAND)
return Duel.GetFlagEffect(tp,15005050)~=0 and Duel.IsExistingMatchingCard(c15005050.chfilter,tp,LOCATION_MZONE,0,1,nil) e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
end e2:SetCountLimit(1,15005051)
c15005050.chaop=function(e,tp) e2:SetCost(cm.cecost)
if Duel.GetFlagEffect(tp,15005050)~=0 and Duel.IsExistingMatchingCard(cm.chfilter,tp,LOCATION_MZONE,0,1,nil) then e2:SetTarget(cm.cetg)
Duel.BreakEffect() e2:SetOperation(cm.ceop)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE) c:RegisterEffect(e2)
local g=Duel.SelectMatchingCard(tp,c15005050.chfilter,tp,LOCATION_MZONE,0,1,1,nil) if not Satl.hearogenehirp_global_effect then
local tc=g:GetFirst() Satl.hearogenehirp_global_effect=true
if tc then Satl.AddHearogenehirpAdding(c)
local pos=Duel.SelectPosition(tp,tc,POS_FACEUP_ATTACK+POS_FACEUP_DEFENSE) end
Duel.ChangePosition(tc,pos) end
end c15005050.chfilter=function(c)
end return c:IsFacedown() and c:IsDefensePos() and c:IsType(TYPE_MONSTER)
end end
function cm.filter(c,e,tp) c15005050.chacon=function(e,tp)
return c:IsSetCard(0xaf3e) and not c:IsCode(15005050) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE) return Duel.GetFlagEffect(tp,15005050)~=0 and Duel.IsExistingMatchingCard(c15005050.chfilter,tp,LOCATION_MZONE,0,1,nil)
end end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) c15005050.chaop=function(e,tp)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if Duel.GetFlagEffect(tp,15005050)~=0 and Duel.IsExistingMatchingCard(cm.chfilter,tp,LOCATION_MZONE,0,1,nil) then
and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end Duel.BreakEffect()
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
end local g=Duel.SelectMatchingCard(tp,c15005050.chfilter,tp,LOCATION_MZONE,0,1,1,nil)
function cm.operation(e,tp,eg,ep,ev,re,r,rp) local tc=g:GetFirst()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if tc then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) local pos=Duel.SelectPosition(tp,tc,POS_FACEUP_ATTACK+POS_FACEUP_DEFENSE)
local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst() Duel.ChangePosition(tc,pos)
if not tc then return end end
if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)~=0 and tc:IsFacedown() then end
Duel.ConfirmCards(1-tp,tc) end
end function cm.filter(c,e,tp)
end return c:IsSetCard(0xaf3e) and not c:IsCode(15005050) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE)
function cm.cecost(e,tp,eg,ep,ev,re,r,rp,chk) end
local c=e:GetHandler() function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return c:IsAbleToGraveAsCost() end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
Duel.SendtoGrave(c,REASON_COST) and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
end Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
function cm.cetg(e,tp,eg,ep,ev,re,r,rp,chk) end
local c=e:GetHandler() function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
function cm.ceop(e,tp,eg,ep,ev,re,r,rp) local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
local c=e:GetHandler() if not tc then return end
Duel.RegisterFlagEffect(tp,15005050,RESET_PHASE+PHASE_END,0,1) if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)~=0 and tc:IsFacedown() then
local e1=Effect.CreateEffect(c) Duel.ConfirmCards(1-tp,tc)
e1:SetType(EFFECT_TYPE_FIELD) end
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) end
e1:SetCode(15005050) function cm.cecost(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetTargetRange(1,0) local c=e:GetHandler()
e1:SetDescription(aux.Stringid(m,1)) if chk==0 then return c:IsAbleToGraveAsCost() end
e1:SetReset(RESET_PHASE+PHASE_END,1) Duel.SendtoGrave(c,REASON_COST)
Duel.RegisterEffect(e1,tp) end
function cm.cetg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end
end
function cm.ceop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.RegisterFlagEffect(tp,15005050,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(15005050)
e1:SetTargetRange(1,0)
e1:SetDescription(aux.Stringid(m,1))
e1:SetReset(RESET_PHASE+PHASE_END,1)
Duel.RegisterEffect(e1,tp)
end end
\ No newline at end of file
if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end if not require and loadfile then
local m=15005052 function require(str)
local cm=_G["c"..m] require_list=require_list or {}
cm.name="异闻鸣星-衣原体" if not require_list[str] then
function cm.initial_effect(c) if string.find(str,"%.") then
--flip require_list[str]=loadfile(str)
local e1=Effect.CreateEffect(c) else
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND) require_list[str]=loadfile(str..".lua")
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O) end
e1:SetProperty(EFFECT_FLAG_DELAY) require_list[str]()
e1:SetCountLimit(1,15005052) return require_list[str]
e1:SetTarget(cm.target) end
e1:SetOperation(cm.operation) return require_list[str]
c:RegisterEffect(e1) end
--change effect end
local e2=Effect.CreateEffect(c) if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end
e2:SetType(EFFECT_TYPE_QUICK_O) local m=15005052
e2:SetCode(EVENT_FREE_CHAIN) local cm=_G["c"..m]
e2:SetRange(LOCATION_HAND) cm.name="异闻鸣星-欧罗巴"
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END) function cm.initial_effect(c)
e2:SetCountLimit(1,15005053) --flip
e2:SetCost(cm.cecost) local e1=Effect.CreateEffect(c)
e2:SetTarget(cm.cetg) e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e2:SetOperation(cm.ceop) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O)
c:RegisterEffect(e2) e1:SetProperty(EFFECT_FLAG_DELAY)
if not Satl.hearogenehirp_global_effect then e1:SetCountLimit(1,15005052)
Satl.hearogenehirp_global_effect=true e1:SetTarget(cm.target)
Satl.AddHearogenehirpAdding(c) e1:SetOperation(cm.operation)
end c:RegisterEffect(e1)
end --change effect
c15005052.chfilter=function(c) local e2=Effect.CreateEffect(c)
return c:IsType(TYPE_MONSTER) e2:SetType(EFFECT_TYPE_QUICK_O)
end e2:SetCode(EVENT_FREE_CHAIN)
c15005052.chacon=function(e,tp) e2:SetRange(LOCATION_HAND)
return Duel.GetFlagEffect(tp,15005052)~=0 and Duel.IsExistingMatchingCard(c15005052.chfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
end e2:SetCountLimit(1,15005053)
c15005052.chaop=function(e,tp) e2:SetCost(cm.cecost)
if Duel.GetFlagEffect(tp,15005052)~=0 and Duel.IsExistingMatchingCard(cm.chfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) then e2:SetTarget(cm.cetg)
Duel.BreakEffect() e2:SetOperation(cm.ceop)
local dg=Duel.GetMatchingGroup(cm.chfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil) c:RegisterEffect(e2)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) if not Satl.hearogenehirp_global_effect then
local sg=dg:Select(tp,1,1,nil) Satl.hearogenehirp_global_effect=true
Duel.HintSelection(sg) Satl.AddHearogenehirpAdding(c)
Duel.Destroy(sg,REASON_EFFECT) end
end end
end c15005052.chfilter=function(c)
function cm.thfilter(c) return c:IsType(TYPE_MONSTER)
return c:IsSetCard(0xaf3e) and not c:IsCode(15005052) and c:IsAbleToHand() end
end c15005052.chacon=function(e,tp)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) return Duel.GetFlagEffect(tp,15005052)~=0 and Duel.IsExistingMatchingCard(c15005052.chfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) c15005052.chaop=function(e,tp)
end if Duel.GetFlagEffect(tp,15005052)~=0 and Duel.IsExistingMatchingCard(cm.chfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) then
function cm.operation(e,tp,eg,ep,ev,re,r,rp) Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) local dg=Duel.GetMatchingGroup(cm.chfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
if g:GetCount()>0 then local sg=dg:Select(tp,1,1,nil)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.HintSelection(sg)
Duel.ConfirmCards(1-tp,g) Duel.Destroy(sg,REASON_EFFECT)
end end
end end
function cm.cecost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thfilter(c)
local c=e:GetHandler() return c:IsSetCard(0xaf3e) and not c:IsCode(15005052) and c:IsAbleToHand()
if chk==0 then return c:IsAbleToGraveAsCost() end end
Duel.SendtoGrave(c,REASON_COST) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
function cm.cetg(e,tp,eg,ep,ev,re,r,rp,chk) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
local c=e:GetHandler() end
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
function cm.ceop(e,tp,eg,ep,ev,re,r,rp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
local c=e:GetHandler() if g:GetCount()>0 then
Duel.RegisterFlagEffect(tp,15005052,RESET_PHASE+PHASE_END,0,1) Duel.SendtoHand(g,nil,REASON_EFFECT)
local e1=Effect.CreateEffect(c) Duel.ConfirmCards(1-tp,g)
e1:SetType(EFFECT_TYPE_FIELD) end
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) end
e1:SetCode(15005052) function cm.cecost(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetTargetRange(1,0) local c=e:GetHandler()
e1:SetDescription(aux.Stringid(m,1)) if chk==0 then return c:IsAbleToGraveAsCost() end
e1:SetReset(RESET_PHASE+PHASE_END,1) Duel.SendtoGrave(c,REASON_COST)
Duel.RegisterEffect(e1,tp) end
function cm.cetg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end
end
function cm.ceop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.RegisterFlagEffect(tp,15005052,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(15005052)
e1:SetTargetRange(1,0)
e1:SetDescription(aux.Stringid(m,1))
e1:SetReset(RESET_PHASE+PHASE_END,1)
Duel.RegisterEffect(e1,tp)
end end
\ No newline at end of file
if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end if not require and loadfile then
local m=15005054 function require(str)
local cm=_G["c"..m] require_list=require_list or {}
cm.name="异闻鸣星-立克次氏体" if not require_list[str] then
function cm.initial_effect(c) if string.find(str,"%.") then
--flip require_list[str]=loadfile(str)
local e1=Effect.CreateEffect(c) else
e1:SetCategory(CATEGORY_DRAW+CATEGORY_TODECK) require_list[str]=loadfile(str..".lua")
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O) end
e1:SetProperty(EFFECT_FLAG_DELAY) require_list[str]()
e1:SetCountLimit(1,15005054) return require_list[str]
e1:SetTarget(cm.target) end
e1:SetOperation(cm.operation) return require_list[str]
c:RegisterEffect(e1) end
--change effect end
local e2=Effect.CreateEffect(c) if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end
e2:SetType(EFFECT_TYPE_QUICK_O) local m=15005054
e2:SetCode(EVENT_FREE_CHAIN) local cm=_G["c"..m]
e2:SetRange(LOCATION_HAND) cm.name="异闻鸣星-盖尼米得"
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END) function cm.initial_effect(c)
e2:SetCountLimit(1,15005055) --flip
e2:SetCost(cm.cecost) local e1=Effect.CreateEffect(c)
e2:SetTarget(cm.cetg) e1:SetCategory(CATEGORY_DRAW+CATEGORY_TODECK)
e2:SetOperation(cm.ceop) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O)
c:RegisterEffect(e2) e1:SetProperty(EFFECT_FLAG_DELAY)
if not Satl.hearogenehirp_global_effect then e1:SetCountLimit(1,15005054)
Satl.hearogenehirp_global_effect=true e1:SetTarget(cm.target)
Satl.AddHearogenehirpAdding(c) e1:SetOperation(cm.operation)
end c:RegisterEffect(e1)
end --change effect
c15005054.chfilter=function(c,e,tp) local e2=Effect.CreateEffect(c)
return c:IsSetCard(0xaf3e) and not c:IsCode(15005054) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE) e2:SetType(EFFECT_TYPE_QUICK_O)
end e2:SetCode(EVENT_FREE_CHAIN)
c15005054.chacon=function(e,tp) e2:SetRange(LOCATION_HAND)
return Duel.GetFlagEffect(tp,15005054)~=0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c15005054.chfilter,tp,LOCATION_GRAVE+LOCATION_HAND,0,1,nil,e,tp) e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
end e2:SetCountLimit(1,15005055)
c15005054.chaop=function(e,tp) e2:SetCost(cm.cecost)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end e2:SetTarget(cm.cetg)
Duel.BreakEffect() e2:SetOperation(cm.ceop)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) c:RegisterEffect(e2)
local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c15005054.chfilter),tp,LOCATION_GRAVE+LOCATION_HAND,0,1,1,nil,e,tp):GetFirst() if not Satl.hearogenehirp_global_effect then
if not tc then return end Satl.hearogenehirp_global_effect=true
if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)~=0 and tc:IsFacedown() then Satl.AddHearogenehirpAdding(c)
Duel.ConfirmCards(1-tp,tc) end
end end
end c15005054.chfilter=function(c,e,tp)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) return c:IsSetCard(0xaf3e) and not c:IsCode(15005054) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end end
Duel.SetTargetPlayer(tp) c15005054.chacon=function(e,tp)
Duel.SetTargetParam(2) return Duel.GetFlagEffect(tp,15005054)~=0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c15005054.chfilter,tp,LOCATION_GRAVE+LOCATION_HAND,0,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,0,tp,1) c15005054.chaop=function(e,tp)
end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) Duel.BreakEffect()
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
if Duel.Draw(p,d,REASON_EFFECT)==0 then return end local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c15005054.chfilter),tp,LOCATION_GRAVE+LOCATION_HAND,0,1,1,nil,e,tp):GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) if not tc then return end
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,1,nil) if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)~=0 and tc:IsFacedown() then
if g:GetCount()>0 then Duel.ConfirmCards(1-tp,tc)
Duel.BreakEffect() end
Duel.SendtoDeck(g,nil,SEQ_DECKBOTTOM,REASON_EFFECT) end
end function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
end if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end
function cm.cecost(e,tp,eg,ep,ev,re,r,rp,chk) Duel.SetTargetPlayer(tp)
local c=e:GetHandler() Duel.SetTargetParam(2)
if chk==0 then return c:IsAbleToGraveAsCost() end Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
Duel.SendtoGrave(c,REASON_COST) Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,0,tp,1)
end end
function cm.cetg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end if Duel.Draw(p,d,REASON_EFFECT)==0 then return end
end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
function cm.ceop(e,tp,eg,ep,ev,re,r,rp) local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,1,nil)
local c=e:GetHandler() if g:GetCount()>0 then
Duel.RegisterFlagEffect(tp,15005054,RESET_PHASE+PHASE_END,0,1) Duel.BreakEffect()
local e1=Effect.CreateEffect(c) Duel.SendtoDeck(g,nil,SEQ_DECKBOTTOM,REASON_EFFECT)
e1:SetType(EFFECT_TYPE_FIELD) end
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) end
e1:SetCode(15005054) function cm.cecost(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetTargetRange(1,0) local c=e:GetHandler()
e1:SetDescription(aux.Stringid(m,1)) if chk==0 then return c:IsAbleToGraveAsCost() end
e1:SetReset(RESET_PHASE+PHASE_END,1) Duel.SendtoGrave(c,REASON_COST)
Duel.RegisterEffect(e1,tp) end
function cm.cetg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end
end
function cm.ceop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.RegisterFlagEffect(tp,15005054,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(15005054)
e1:SetTargetRange(1,0)
e1:SetDescription(aux.Stringid(m,1))
e1:SetReset(RESET_PHASE+PHASE_END,1)
Duel.RegisterEffect(e1,tp)
end end
\ No newline at end of file
if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end if not require and loadfile then
local m=15005056 function require(str)
local cm=_G["c"..m] require_list=require_list or {}
cm.name="异闻鸣星-卡利斯托" if not require_list[str] then
function cm.initial_effect(c) if string.find(str,"%.") then
--flip require_list[str]=loadfile(str)
local e1=Effect.CreateEffect(c) else
e1:SetCategory(CATEGORY_TOHAND) require_list[str]=loadfile(str..".lua")
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O) end
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY) require_list[str]()
e1:SetCountLimit(1,15005056) return require_list[str]
e1:SetTarget(cm.target) end
e1:SetOperation(cm.operation) return require_list[str]
c:RegisterEffect(e1) end
--change effect end
local e2=Effect.CreateEffect(c) if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end
e2:SetType(EFFECT_TYPE_QUICK_O) local m=15005056
e2:SetCode(EVENT_FREE_CHAIN) local cm=_G["c"..m]
e2:SetRange(LOCATION_HAND) cm.name="异闻鸣星-卡利斯托"
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END) function cm.initial_effect(c)
e2:SetCountLimit(1,15005057) --flip
e2:SetCost(cm.cecost) local e1=Effect.CreateEffect(c)
e2:SetTarget(cm.cetg) e1:SetCategory(CATEGORY_TOHAND)
e2:SetOperation(cm.ceop) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O)
c:RegisterEffect(e2) e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
if not Satl.hearogenehirp_global_effect then e1:SetCountLimit(1,15005056)
Satl.hearogenehirp_global_effect=true e1:SetTarget(cm.target)
Satl.AddHearogenehirpAdding(c) e1:SetOperation(cm.operation)
end c:RegisterEffect(e1)
end --change effect
c15005056.chfilter=function(c) local e2=Effect.CreateEffect(c)
return c:IsSetCard(0xaf3e) and not c:IsCode(15005056) and c:IsAbleToHand() e2:SetType(EFFECT_TYPE_QUICK_O)
end e2:SetCode(EVENT_FREE_CHAIN)
c15005056.chacon=function(e,tp) e2:SetRange(LOCATION_HAND)
return Duel.IsExistingMatchingCard(c15005056.chfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
end e2:SetCountLimit(1,15005057)
c15005056.chaop=function(e,tp) e2:SetCost(cm.cecost)
if Duel.GetFlagEffect(tp,15005056)~=0 and Duel.IsExistingMatchingCard(cm.chfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) then e2:SetTarget(cm.cetg)
Duel.BreakEffect() e2:SetOperation(cm.ceop)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) c:RegisterEffect(e2)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c15005056.chfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil) if not Satl.hearogenehirp_global_effect then
if g:GetCount()>0 then Satl.hearogenehirp_global_effect=true
Duel.SendtoHand(g,nil,REASON_EFFECT) Satl.AddHearogenehirpAdding(c)
Duel.ConfirmCards(1-tp,g) end
end end
end c15005056.chfilter=function(c)
end return c:IsSetCard(0xaf3e) and not c:IsCode(15005056) and c:IsAbleToHand()
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) end
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) and chkc:IsAbleToHand() end c15005056.chacon=function(e,tp)
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToHand,tp,0,LOCATION_ONFIELD,1,nil) end return Duel.IsExistingMatchingCard(c15005056.chfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND) end
local g=Duel.SelectTarget(tp,Card.IsAbleToHand,tp,0,LOCATION_ONFIELD,1,1,nil) c15005056.chaop=function(e,tp)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0) if Duel.GetFlagEffect(tp,15005056)~=0 and Duel.IsExistingMatchingCard(cm.chfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) then
end Duel.BreakEffect()
function cm.operation(e,tp,eg,ep,ev,re,r,rp) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tc=Duel.GetFirstTarget() local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c15005056.chfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if tc:IsRelateToEffect(e) then if g:GetCount()>0 then
Duel.SendtoHand(tc,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
end Duel.ConfirmCards(1-tp,g)
end end
function cm.cecost(e,tp,eg,ep,ev,re,r,rp,chk) end
local c=e:GetHandler() end
if chk==0 then return c:IsAbleToGraveAsCost() end function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SendtoGrave(c,REASON_COST) if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) and chkc:IsAbleToHand() end
end if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToHand,tp,0,LOCATION_ONFIELD,1,nil) end
function cm.cetg(e,tp,eg,ep,ev,re,r,rp,chk) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local c=e:GetHandler() local g=Duel.SelectTarget(tp,Card.IsAbleToHand,tp,0,LOCATION_ONFIELD,1,1,nil)
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end end
function cm.ceop(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local tc=Duel.GetFirstTarget()
Duel.RegisterFlagEffect(tp,15005056,RESET_PHASE+PHASE_END,0,1) if tc:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c) Duel.SendtoHand(tc,nil,REASON_EFFECT)
e1:SetType(EFFECT_TYPE_FIELD) end
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) end
e1:SetCode(15005056) function cm.cecost(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetTargetRange(1,0) local c=e:GetHandler()
e1:SetDescription(aux.Stringid(m,1)) if chk==0 then return c:IsAbleToGraveAsCost() end
e1:SetReset(RESET_PHASE+PHASE_END,1) Duel.SendtoGrave(c,REASON_COST)
Duel.RegisterEffect(e1,tp) end
function cm.cetg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end
end
function cm.ceop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.RegisterFlagEffect(tp,15005056,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(15005056)
e1:SetTargetRange(1,0)
e1:SetDescription(aux.Stringid(m,1))
e1:SetReset(RESET_PHASE+PHASE_END,1)
Duel.RegisterEffect(e1,tp)
end end
\ No newline at end of file
if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end if not require and loadfile then
local m=15005063 function require(str)
local cm=_G["c"..m] require_list=require_list or {}
cm.name="异闻鸣月-欧安忒" if not require_list[str] then
function cm.initial_effect(c) if string.find(str,"%.") then
Satl.AddHearogenehirpXyzProcedureLevelFree(c,cm.thfilter,nil,2,99) require_list[str]=loadfile(str)
c:EnableReviveLimit() else
--destroy require_list[str]=loadfile(str..".lua")
local e1=Effect.CreateEffect(c) end
e1:SetDescription(aux.Stringid(m,0)) require_list[str]()
e1:SetCategory(CATEGORY_DESTROY) return require_list[str]
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) end
e1:SetCode(EVENT_BATTLE_START) return require_list[str]
e1:SetCondition(cm.descon) end
e1:SetTarget(cm.destg) end
e1:SetOperation(cm.desop) if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end
c:RegisterEffect(e1) local m=15005063
--destroy local cm=_G["c"..m]
local e2=Effect.CreateEffect(c) cm.name="异闻鸣月-欧安忒"
e2:SetDescription(aux.Stringid(m,1)) function cm.initial_effect(c)
e2:SetCategory(CATEGORY_POSITION) Satl.AddHearogenehirpXyzProcedureLevelFree(c,cm.thfilter,nil,2,99)
e2:SetType(EFFECT_TYPE_QUICK_O) c:EnableReviveLimit()
e2:SetCode(EVENT_FREE_CHAIN) --destroy
e2:SetRange(LOCATION_MZONE) local e1=Effect.CreateEffect(c)
e2:SetCountLimit(1,15005063) e1:SetDescription(aux.Stringid(m,0))
e2:SetCost(cm.pocost) e1:SetCategory(CATEGORY_DESTROY)
e2:SetTarget(cm.potg) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetOperation(cm.poop) e1:SetCode(EVENT_BATTLE_START)
c:RegisterEffect(e2) e1:SetCondition(cm.descon)
end e1:SetTarget(cm.destg)
function cm.thfilter(c,xyzc) e1:SetOperation(cm.desop)
return c:IsXyzLevel(xyzc,1) c:RegisterEffect(e1)
end --destroy
function cm.descon(e,tp,eg,ep,ev,re,r,rp) local e2=Effect.CreateEffect(c)
local c=e:GetHandler() e2:SetDescription(aux.Stringid(m,1))
local bc=c:GetBattleTarget() e2:SetCategory(CATEGORY_POSITION)
return bc and (bc:IsPosition(POS_FACEUP_DEFENSE) or bc:IsPosition(POS_FACEDOWN_DEFENSE) or bc:IsDefensePos()) e2:SetType(EFFECT_TYPE_QUICK_O)
end e2:SetCode(EVENT_FREE_CHAIN)
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk) e2:SetRange(LOCATION_MZONE)
if chk==0 then return true end e2:SetCountLimit(1,15005063)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler():GetBattleTarget(),1,0,0) e2:SetCost(cm.pocost)
end e2:SetTarget(cm.potg)
function cm.desop(e,tp,eg,ep,ev,re,r,rp) e2:SetOperation(cm.poop)
local bc=e:GetHandler():GetBattleTarget() c:RegisterEffect(e2)
if bc:IsRelateToBattle() then end
Duel.Destroy(bc,REASON_EFFECT) function cm.thfilter(c,xyzc)
end return c:IsXyzLevel(xyzc,1)
end end
function cm.pocost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:CheckRemoveOverlayCard(tp,1,REASON_COST) end local bc=c:GetBattleTarget()
local rt=Duel.GetMatchingGroupCount(Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,nil) return bc and (bc:IsPosition(POS_FACEUP_DEFENSE) or bc:IsPosition(POS_FACEDOWN_DEFENSE) or bc:IsDefensePos())
local ct=c:RemoveOverlayCard(tp,1,rt,REASON_COST) end
e:SetLabel(ct) function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
end if chk==0 then return true end
function cm.potg(e,tp,eg,ep,ev,re,r,rp,chk) Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler():GetBattleTarget(),1,0,0)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end end
local g=Duel.GetMatchingGroup(Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,nil) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,e:GetLabel(),0,0) local bc=e:GetHandler():GetBattleTarget()
end if bc:IsRelateToBattle() then
function cm.poop(e,tp,eg,ep,ev,re,r,rp) Duel.Destroy(bc,REASON_EFFECT)
local ct=e:GetLabel() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE) end
local g=Duel.SelectMatchingCard(tp,Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,1,ct,nil) function cm.pocost(e,tp,eg,ep,ev,re,r,rp,chk)
if g:GetCount()>0 then local c=e:GetHandler()
Duel.HintSelection(g) if chk==0 then return c:CheckRemoveOverlayCard(tp,1,REASON_COST) end
Duel.ChangePosition(g,POS_FACEDOWN_DEFENSE) local rt=Duel.GetMatchingGroupCount(Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
end local ct=c:RemoveOverlayCard(tp,1,rt,REASON_COST)
e:SetLabel(ct)
end
function cm.potg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,e:GetLabel(),0,0)
end
function cm.poop(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectMatchingCard(tp,Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,1,ct,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.ChangePosition(g,POS_FACEDOWN_DEFENSE)
end
end end
\ No newline at end of file
if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end if not require and loadfile then
local m=15005064 function require(str)
local cm=_G["c"..m] require_list=require_list or {}
cm.name="异闻鸣月-阿玛尔塞" if not require_list[str] then
function cm.initial_effect(c) if string.find(str,"%.") then
Satl.AddHearogenehirpXyzProcedureLevelFree(c,cm.thfilter,nil,2,99) require_list[str]=loadfile(str)
c:EnableReviveLimit() else
-- require_list[str]=loadfile(str..".lua")
local e1=Effect.CreateEffect(c) end
e1:SetType(EFFECT_TYPE_SINGLE) require_list[str]()
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) return require_list[str]
e1:SetRange(LOCATION_MZONE) end
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) return require_list[str]
e1:SetCondition(cm.indcon) end
e1:SetValue(1) end
c:RegisterEffect(e1) if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end
local e2=e1:Clone() local m=15005064
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) local cm=_G["c"..m]
c:RegisterEffect(e2) cm.name="异闻鸣月-阿玛尔塞"
--spsummon function cm.initial_effect(c)
local e3=Effect.CreateEffect(c) Satl.AddHearogenehirpXyzProcedureLevelFree(c,cm.thfilter,nil,2,99)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) c:EnableReviveLimit()
e3:SetType(EFFECT_TYPE_QUICK_O) --
e3:SetCode(EVENT_FREE_CHAIN) local e1=Effect.CreateEffect(c)
e3:SetRange(LOCATION_MZONE) e1:SetType(EFFECT_TYPE_SINGLE)
e3:SetCountLimit(1,15005064) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetCost(cm.spcost) e1:SetRange(LOCATION_MZONE)
e3:SetTarget(cm.sptg) e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e3:SetOperation(cm.spop) e1:SetCondition(cm.indcon)
c:RegisterEffect(e3) e1:SetValue(1)
end c:RegisterEffect(e1)
function cm.thfilter(c,xyzc) local e2=e1:Clone()
return c:IsXyzLevel(xyzc,1) e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
end c:RegisterEffect(e2)
function cm.indcon(e) --spsummon
return Duel.IsExistingMatchingCard(Card.IsSetCard,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,e:GetHandler(),0xaf3e) or Duel.IsExistingMatchingCard(Card.IsFacedown,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,e:GetHandler()) local e3=Effect.CreateEffect(c)
end e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) e3:SetType(EFFECT_TYPE_QUICK_O)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end e3:SetCode(EVENT_FREE_CHAIN)
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) e3:SetRange(LOCATION_MZONE)
end e3:SetCountLimit(1,15005064)
function cm.filter(c,e,tp) e3:SetCost(cm.spcost)
return (c:IsRank(1) or c:IsLevel(1)) and c:IsSetCard(0xaf3e) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE) e3:SetTarget(cm.sptg)
and Duel.GetMZoneCount(tp)>0 e3:SetOperation(cm.spop)
end c:RegisterEffect(e3)
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk) end
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end function cm.thfilter(c,xyzc)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE) return c:IsXyzLevel(xyzc,1)
end end
function cm.spop(e,tp,eg,ep,ev,re,r,rp) function cm.indcon(e)
local c=e:GetHandler() return Duel.IsExistingMatchingCard(Card.IsSetCard,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,e:GetHandler(),0xaf3e) or Duel.IsExistingMatchingCard(Card.IsFacedown,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,e:GetHandler())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) end
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp) function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if g:GetCount()>0 then if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
Duel.ConfirmCards(1-tp,g) end
end function cm.filter(c,e,tp)
return (c:IsRank(1) or c:IsLevel(1)) and c:IsSetCard(0xaf3e) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE)
and Duel.GetMZoneCount(tp)>0
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
Duel.ConfirmCards(1-tp,g)
end
end end
\ No newline at end of file
if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end if not require and loadfile then
local m=15005067 function require(str)
local cm=_G["c"..m] require_list=require_list or {}
cm.name="异闻鸣星-希诺佩" if not require_list[str] then
function cm.initial_effect(c) if string.find(str,"%.") then
--flip require_list[str]=loadfile(str)
local e1=Effect.CreateEffect(c) else
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) require_list[str]=loadfile(str..".lua")
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O) end
e1:SetProperty(EFFECT_FLAG_DELAY) require_list[str]()
e1:SetCountLimit(1,15005057) return require_list[str]
e1:SetTarget(cm.target) end
e1:SetOperation(cm.operation) return require_list[str]
c:RegisterEffect(e1) end
--change effect end
local e2=Effect.CreateEffect(c) if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end
e2:SetType(EFFECT_TYPE_QUICK_O) local m=15005067
e2:SetCode(EVENT_FREE_CHAIN) local cm=_G["c"..m]
e2:SetRange(LOCATION_HAND) cm.name="异闻鸣星-希诺佩"
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END) function cm.initial_effect(c)
e2:SetCountLimit(1,15005058) --flip
e2:SetCost(cm.cecost) local e1=Effect.CreateEffect(c)
e2:SetTarget(cm.cetg) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetOperation(cm.ceop) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O)
c:RegisterEffect(e2) e1:SetProperty(EFFECT_FLAG_DELAY)
if not Satl.hearogenehirp_global_effect then e1:SetCountLimit(1,15005057)
Satl.hearogenehirp_global_effect=true e1:SetTarget(cm.target)
Satl.AddHearogenehirpAdding(c) e1:SetOperation(cm.operation)
end c:RegisterEffect(e1)
end --change effect
c15005067.chacon=function(e,tp) local e2=Effect.CreateEffect(c)
return Duel.GetFlagEffect(tp,15005067)~=0 and Duel.IsExistingMatchingCard(Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) e2:SetType(EFFECT_TYPE_QUICK_O)
end e2:SetCode(EVENT_FREE_CHAIN)
c15005067.chaop=function(e,tp) e2:SetRange(LOCATION_HAND)
if Duel.GetFlagEffect(tp,15005067)~=0 and Duel.IsExistingMatchingCard(cm.chfilter,tp,LOCATION_MZONE,0,1,nil) then e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
Duel.BreakEffect() e2:SetCountLimit(1,15005058)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE) e2:SetCost(cm.cecost)
local g=Duel.SelectMatchingCard(tp,Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) e2:SetTarget(cm.cetg)
if g:GetCount()>0 then e2:SetOperation(cm.ceop)
Duel.HintSelection(g) c:RegisterEffect(e2)
Duel.ChangePosition(g:GetFirst(),POS_FACEDOWN_DEFENSE) if not Satl.hearogenehirp_global_effect then
end Satl.hearogenehirp_global_effect=true
end Satl.AddHearogenehirpAdding(c)
end end
function cm.xyzfilter(c) end
return c:IsSetCard(0xaf3e) and c:IsXyzSummonable(nil) c15005067.chacon=function(e,tp)
end return Duel.GetFlagEffect(tp,15005067)~=0 and Duel.IsExistingMatchingCard(Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) end
if chk==0 then return Duel.IsExistingMatchingCard(cm.xyzfilter,tp,LOCATION_EXTRA,0,1,nil) end c15005067.chaop=function(e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) if Duel.GetFlagEffect(tp,15005067)~=0 and Duel.IsExistingMatchingCard(cm.chfilter,tp,LOCATION_MZONE,0,1,nil) then
end Duel.BreakEffect()
function cm.operation(e,tp,eg,ep,ev,re,r,rp) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.GetMatchingGroup(cm.xyzfilter,tp,LOCATION_EXTRA,0,nil) local g=Duel.SelectMatchingCard(tp,Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.HintSelection(g)
local tg=g:Select(tp,1,1,nil) Duel.ChangePosition(g:GetFirst(),POS_FACEDOWN_DEFENSE)
Duel.XyzSummon(tp,tg:GetFirst(),nil) end
end end
end end
function cm.cecost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.xyzfilter(c)
local c=e:GetHandler() return c:IsSetCard(0xaf3e) and c:IsXyzSummonable(nil)
if chk==0 then return c:IsAbleToGraveAsCost() end end
Duel.SendtoGrave(c,REASON_COST) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
end if chk==0 then return Duel.IsExistingMatchingCard(cm.xyzfilter,tp,LOCATION_EXTRA,0,1,nil) end
function cm.cetg(e,tp,eg,ep,ev,re,r,rp,chk) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
local c=e:GetHandler() end
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end local g=Duel.GetMatchingGroup(cm.xyzfilter,tp,LOCATION_EXTRA,0,nil)
function cm.ceop(e,tp,eg,ep,ev,re,r,rp) if g:GetCount()>0 then
local c=e:GetHandler() Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
Duel.RegisterFlagEffect(tp,15005067,RESET_PHASE+PHASE_END,0,1) local tg=g:Select(tp,1,1,nil)
local e1=Effect.CreateEffect(c) Duel.XyzSummon(tp,tg:GetFirst(),nil)
e1:SetType(EFFECT_TYPE_FIELD) end
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) end
e1:SetCode(15005067) function cm.cecost(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetTargetRange(1,0) local c=e:GetHandler()
e1:SetDescription(aux.Stringid(m,1)) if chk==0 then return c:IsAbleToGraveAsCost() end
e1:SetReset(RESET_PHASE+PHASE_END,1) Duel.SendtoGrave(c,REASON_COST)
Duel.RegisterEffect(e1,tp) end
function cm.cetg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end
end
function cm.ceop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.RegisterFlagEffect(tp,15005067,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(15005067)
e1:SetTargetRange(1,0)
e1:SetDescription(aux.Stringid(m,1))
e1:SetReset(RESET_PHASE+PHASE_END,1)
Duel.RegisterEffect(e1,tp)
end end
\ No newline at end of file
--苍空的无铭剑豪 --苍空的无铭剑豪
xpcall(function() require("expansions/script/c17035101") end,function() require("script/c17035101") end) xpcall(function() dofile("expansions/script/c17035101.lua") end,function() dofile("script/c17035101.lua") end)
function c17032650.initial_effect(c) function c17032650.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
aux.EnablePendulumAttribute(c,false) aux.EnablePendulumAttribute(c,false)
......
This diff is collapsed.
--圣律·西莉斯特 --圣律·西莉斯特
xpcall(function() require("expansions/script/c22000000") end,function() require("script/c22000000") end) xpcall(function() dofile("expansions/script/c22000000.lua") end,function() dofile("script/c22000000.lua") end)
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
wco.slp(c,22000010) wco.slp(c,22000010)
wco.ssp(c,22000010) wco.ssp(c,22000010)
--double --double
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCondition(s.discon) e1:SetCondition(s.discon)
e1:SetCost(s.discost) e1:SetCost(s.discost)
e1:SetTarget(s.distg) e1:SetTarget(s.distg)
e1:SetOperation(s.disop) e1:SetOperation(s.disop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function s.discon(e,tp,eg,ep,ev,re,r,rp) function s.discon(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler():IsOnField() and re:GetHandler():IsRelateToEffect(re) and (re:IsActiveType(TYPE_MONSTER) return re:GetHandler():IsOnField() and re:GetHandler():IsRelateToEffect(re) and (re:IsActiveType(TYPE_MONSTER)
or (re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and not re:IsHasType(EFFECT_TYPE_ACTIVATE))) or (re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and not re:IsHasType(EFFECT_TYPE_ACTIVATE)))
end end
function s.discfilter(c) function s.discfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToGraveAsCost() return c:IsType(TYPE_MONSTER) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToGraveAsCost()
end end
function s.discost(e,tp,eg,ep,ev,re,r,rp,chk) function s.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() if chk==0 then return e:GetHandler():IsAbleToGraveAsCost()
and Duel.IsExistingMatchingCard(s.discfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,e:GetHandler()) end and Duel.IsExistingMatchingCard(s.discfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,s.discfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,e:GetHandler()) local g=Duel.SelectMatchingCard(tp,s.discfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,e:GetHandler())
g:AddCard(e:GetHandler()) g:AddCard(e:GetHandler())
Duel.SendtoGrave(g,REASON_COST) Duel.SendtoGrave(g,REASON_COST)
end end
function s.distg(e,tp,eg,ep,ev,re,r,rp,chk) function s.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
end end
function s.disop(e,tp,eg,ep,ev,re,r,rp) function s.disop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateEffect(ev) and re:GetHandler():IsRelateToEffect(re) then if Duel.NegateEffect(ev) and re:GetHandler():IsRelateToEffect(re) then
local tc=eg:GetFirst() local tc=eg:GetFirst()
if tc:IsOnField() and tc:IsType(TYPE_MONSTER) and tc:IsLocation(LOCATION_MZONE) and tc:IsControler(1-tp) then if tc:IsOnField() and tc:IsType(TYPE_MONSTER) and tc:IsLocation(LOCATION_MZONE) and tc:IsControler(1-tp) then
Duel.Remove(tc,0,REASON_EFFECT+REASON_TEMPORARY) Duel.Remove(tc,0,REASON_EFFECT+REASON_TEMPORARY)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END) e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetLabelObject(tc) e1:SetLabelObject(tc)
e1:SetOperation(s.retop) e1:SetOperation(s.retop)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
else else
Duel.Remove(eg,POS_FACEUP,REASON_EFFECT) Duel.Remove(eg,POS_FACEUP,REASON_EFFECT)
end end
end end
end end
function s.retop(e,tp,eg,ep,ev,re,r,rp) function s.retop(e,tp,eg,ep,ev,re,r,rp)
Duel.ReturnToField(e:GetLabelObject()) Duel.ReturnToField(e:GetLabelObject())
end end
\ No newline at end of file
--圣律·娜奥米亚 --圣律·娜奥米亚
xpcall(function() require("expansions/script/c22000000") end,function() require("script/c22000000") end) xpcall(function() dofile("expansions/script/c22000000.lua") end,function() dofile("script/c22000000.lua") end)
local s,id,o=GetID() function s.initial_effect(c)
function s.initial_effect(c) wco.slp(c,22000020)
wco.slp(c,22000020) wco.snp(c,22000020)
wco.snp(c,22000020) --damage
--damage local e1=Effect.CreateEffect(c)
local e1=Effect.CreateEffect(c) e1:SetDescription(aux.Stringid(1557341,0))
e1:SetDescription(aux.Stringid(1557341,0)) e1:SetCategory(CATEGORY_DAMAGE)
e1:SetCategory(CATEGORY_DAMAGE) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetCode(EVENT_BATTLE_DAMAGE)
e1:SetCode(EVENT_BATTLE_DAMAGE) e1:SetCondition(s.condition)
e1:SetCondition(s.condition) e1:SetOperation(s.operation)
e1:SetOperation(s.operation) c:RegisterEffect(e1)
c:RegisterEffect(e1) local e2=e1:Clone()
local e2=e1:Clone() e2:SetCode(EVENT_DAMAGE)
e2:SetCode(EVENT_DAMAGE) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetRange(LOCATION_MZONE)
e2:SetRange(LOCATION_MZONE) e2:SetCondition(s.condition2)
e2:SetCondition(s.condition2) c:RegisterEffect(e2)
c:RegisterEffect(e2) --damage
--damage local e3=Effect.CreateEffect(c)
local e3=Effect.CreateEffect(c) e3:SetDescription(1005)
e3:SetDescription(1005) e3:SetCategory(CATEGORY_REMOVE+CATEGORY_DAMAGE)
e3:SetCategory(CATEGORY_REMOVE+CATEGORY_DAMAGE) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetRange(LOCATION_MZONE)
e3:SetRange(LOCATION_MZONE) e3:SetCountLimit(1,22000021)
e3:SetCountLimit(1,22000021) e3:SetTarget(s.damtg)
e3:SetTarget(s.damtg) e3:SetOperation(s.damop)
e3:SetOperation(s.damop) c:RegisterEffect(e3)
c:RegisterEffect(e3) end
end function s.condition(e,tp,eg,ep,ev,re,r,rp)
function s.condition(e,tp,eg,ep,ev,re,r,rp) return ep~=tp
return ep~=tp end
end function s.condition2(e,tp,eg,ep,ev,re,r,rp)
function s.condition2(e,tp,eg,ep,ev,re,r,rp) return ep~=tp and bit.band(r,REASON_BATTLE)==0 and re:GetHandler()==e:GetHandler()
return ep~=tp and bit.band(r,REASON_BATTLE)==0 and re:GetHandler()==e:GetHandler() end
end function s.operation(e,tp,eg,ep,ev,re,r,rp)
function s.operation(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler()
local c=e:GetHandler() if c:IsFacedown() or not c:IsRelateToEffect(e) then return end
if c:IsFacedown() or not c:IsRelateToEffect(e) then return end local ct=1
local ct=1 local sel=nil
local sel=nil if c:IsLevel(1) then
if c:IsLevel(1) then sel=Duel.SelectOption(tp,aux.Stringid(21915012,1))
sel=Duel.SelectOption(tp,aux.Stringid(21915012,1)) else
else sel=Duel.SelectOption(tp,aux.Stringid(21915012,1),aux.Stringid(21915012,2))
sel=Duel.SelectOption(tp,aux.Stringid(21915012,1),aux.Stringid(21915012,2)) end
end if sel==1 then
if sel==1 then ct=ct*-1
ct=ct*-1 end
end local e1=Effect.CreateEffect(c)
local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetCode(EFFECT_UPDATE_LEVEL) e1:SetValue(ct)
e1:SetValue(ct) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE) c:RegisterEffect(e1)
c:RegisterEffect(e1) end
end function s.rmfilter(c)
function s.rmfilter(c) return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToRemove()
return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToRemove() end
end function s.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
function s.damtg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(s.rmfilter,tp,LOCATION_HAND,0,1,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(s.rmfilter,tp,LOCATION_HAND,0,1,nil) end Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK) end
end
function s.damop(e,tp,eg,ep,ev,re,r,rp)
function s.damop(e,tp,eg,ep,ev,re,r,rp) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) local g=Duel.SelectMatchingCard(tp,s.rmfilter,tp,LOCATION_HAND,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,s.rmfilter,tp,LOCATION_HAND,0,1,1,nil) local tg=g:GetFirst()
local tg=g:GetFirst() if tg==nil then return end
if tg==nil then return end Duel.Remove(tg,POS_FACEDOWN,REASON_EFFECT)
Duel.Remove(tg,POS_FACEDOWN,REASON_EFFECT) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE) getmetatable(e:GetHandler()).announce_filter={TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK,OPCODE_ISTYPE,OPCODE_NOT}
getmetatable(e:GetHandler()).announce_filter={TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK,OPCODE_ISTYPE,OPCODE_NOT} local ac=Duel.AnnounceCard(1-tp,table.unpack(getmetatable(e:GetHandler()).announce_filter))
local ac=Duel.AnnounceCard(1-tp,table.unpack(getmetatable(e:GetHandler()).announce_filter)) Duel.ConfirmCards(tp,tg)
Duel.ConfirmCards(tp,tg) if tg:GetCode()==ac then
if tg:GetCode()==ac then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) local g=Duel.SelectMatchingCard(1-tp,Card.IsAbleToHand,1-tp,LOCATION_DECK,0,1,1,nil)
local g=Duel.SelectMatchingCard(1-tp,Card.IsAbleToHand,1-tp,LOCATION_DECK,0,1,1,nil) if g:GetCount()>0 then
if g:GetCount()>0 then Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.ConfirmCards(1-tp,g)
Duel.ConfirmCards(1-tp,g) end
end else
else Duel.SendtoHand(tg,nil,REASON_EFFECT)
Duel.SendtoHand(tg,nil,REASON_EFFECT) Duel.Damage(1-tp,tg:GetLevel()*100,REASON_EFFECT)
Duel.Damage(1-tp,tg:GetLevel()*100,REASON_EFFECT) end
end
end end
\ No newline at end of file
--圣律·伊塔吉雅 --圣律·伊塔吉雅
xpcall(function() require("expansions/script/c22000000") end,function() require("script/c22000000") end) xpcall(function() dofile("expansions/script/c22000000.lua") end,function() dofile("script/c22000000.lua") end)
local s,id,o=GetID() function s.initial_effect(c)
function s.initial_effect(c) wco.slp(c,22000030)
wco.slp(c,22000030) wco.snp(c,22000030)
wco.snp(c,22000030) --damage
--damage local e3=Effect.CreateEffect(c)
local e3=Effect.CreateEffect(c) e3:SetDescription(2)
e3:SetDescription(2) e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE+CATEGORY_TODECK)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE+CATEGORY_TODECK) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetRange(LOCATION_MZONE)
e3:SetRange(LOCATION_MZONE) e3:SetCountLimit(1,22000031)
e3:SetCountLimit(1,22000031) e3:SetCost(wco.spsumnomalcost2)
e3:SetCost(wco.spsumnomalcost2) e3:SetTarget(s.sptg)
e3:SetTarget(s.sptg) e3:SetOperation(s.spop)
e3:SetOperation(s.spop) c:RegisterEffect(e3)
c:RegisterEffect(e3) end
end function s.spfilter1(c,e,tp)
function s.spfilter1(c,e,tp) return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
end function s.spfilter2(c,e,tp)
function s.spfilter2(c,e,tp) return c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,1-tp,false,false)
return c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,1-tp,false,false) end
end function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then
if chk==0 then local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft2=Duel.GetLocationCount(1-tp,LOCATION_MZONE)
local ft2=Duel.GetLocationCount(1-tp,LOCATION_MZONE) return ft>0 and ft2>0 and not Duel.IsPlayerAffectedByEffect(tp,59822133)
return ft>0 and ft2>0 and not Duel.IsPlayerAffectedByEffect(tp,59822133) and Duel.IsExistingMatchingCard(s.spfilter1,tp,LOCATION_DECK,0,2,nil,e,tp)
and Duel.IsExistingMatchingCard(s.spfilter1,tp,LOCATION_DECK,0,2,nil,e,tp) and Duel.IsExistingMatchingCard(s.spfilter2,1-tp,LOCATION_DECK,0,2,nil,e,tp)
and Duel.IsExistingMatchingCard(s.spfilter2,1-tp,LOCATION_DECK,0,2,nil,e,tp) end
end Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_DECK) end
end function s.spop(e,tp,eg,ep,ev,re,r,rp)
function s.spop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler()
local c=e:GetHandler() if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end if Duel.GetLocationCount(1-tp,LOCATION_MZONE)<1 then return end
if Duel.GetLocationCount(1-tp,LOCATION_MZONE)<1 then return end local g1=Duel.GetMatchingGroup(s.spfilter1,tp,LOCATION_DECK,0,nil,e,tp)
local g1=Duel.GetMatchingGroup(s.spfilter1,tp,LOCATION_DECK,0,nil,e,tp) local g2=Duel.GetMatchingGroup(s.spfilter2,1-tp,LOCATION_DECK,0,nil,e,tp)
local g2=Duel.GetMatchingGroup(s.spfilter2,1-tp,LOCATION_DECK,0,nil,e,tp) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) local sg1=g1:Select(tp,1,1,nil)
local sg1=g1:Select(tp,1,1,nil) Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_SPSUMMON)
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_SPSUMMON) local sg2=g2:Select(1-tp,1,1,nil)
local sg2=g2:Select(1-tp,1,1,nil) local tc1=sg1:GetFirst()
local tc1=sg1:GetFirst() Duel.SpecialSummonStep(tc1,0,tp,tp,false,false,POS_FACEUP)
Duel.SpecialSummonStep(tc1,0,tp,tp,false,false,POS_FACEUP) local e1=Effect.CreateEffect(c)
local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_DISABLE)
e1:SetCode(EFFECT_DISABLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) tc1:RegisterEffect(e1)
tc1:RegisterEffect(e1) local e2=Effect.CreateEffect(c)
local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetCode(EFFECT_DISABLE_EFFECT) e2:SetValue(RESET_TURN_SET)
e2:SetValue(RESET_TURN_SET) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) tc1:RegisterEffect(e2)
tc1:RegisterEffect(e2) local tc2=sg2:GetFirst()
local tc2=sg2:GetFirst() Duel.SpecialSummonStep(tc2,0,1-tp,1-tp,false,false,POS_FACEUP)
Duel.SpecialSummonStep(tc2,0,1-tp,1-tp,false,false,POS_FACEUP) local e3=e1:Clone()
local e3=e1:Clone() tc2:RegisterEffect(e3)
tc2:RegisterEffect(e3) local e4=e2:Clone()
local e4=e2:Clone() tc2:RegisterEffect(e4)
tc2:RegisterEffect(e4) Duel.SpecialSummonComplete()
Duel.SpecialSummonComplete() if tc1:GetAttack()>tc2:GetAttack() then
if tc1:GetAttack()>tc2:GetAttack() then Duel.SendtoHand(tc1,nil,REASON_EFFECT)
Duel.SendtoHand(tc1,nil,REASON_EFFECT) Duel.SendtoGrave(tc2,REASON_EFFECT)
Duel.SendtoGrave(tc2,REASON_EFFECT) elseif tc2:GetAttack()>tc1:GetAttack() then
elseif tc2:GetAttack()>tc1:GetAttack() then Duel.SendtoHand(tc2,nil,REASON_EFFECT)
Duel.SendtoHand(tc2,nil,REASON_EFFECT) Duel.SendtoGrave(tc1,REASON_EFFECT)
Duel.SendtoGrave(tc1,REASON_EFFECT) else
else local tg=Group.FromCards(tc1,tc2)
local tg=Group.FromCards(tc1,tc2) Duel.SendtoDeck(tg,nil,SEQ_DECKBOTTOM,REASON_EFFECT)
Duel.SendtoDeck(tg,nil,SEQ_DECKBOTTOM,REASON_EFFECT) end
end end
end
--圣律·艾瑞丽尔 --圣律·艾瑞丽尔
xpcall(function() require("expansions/script/c22000000") end,function() require("script/c22000000") end) xpcall(function() dofile("expansions/script/c22000000.lua") end,function() dofile("script/c22000000.lua") end)
local s,id,o=GetID() function s.initial_effect(c)
function s.initial_effect(c) wco.slp(c,22000040)
wco.slp(c,22000040) wco.snp(c,22000040)
wco.snp(c,22000040) --damage
--damage local e3=Effect.CreateEffect(c)
local e3=Effect.CreateEffect(c) e3:SetDescription(2)
e3:SetDescription(2) e3:SetCategory(CATEGORY_DRAW)
e3:SetCategory(CATEGORY_DRAW) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetRange(LOCATION_MZONE)
e3:SetRange(LOCATION_MZONE) e3:SetCountLimit(1,22000041)
e3:SetCountLimit(1,22000041) e3:SetTarget(s.drtg)
e3:SetTarget(s.drtg) e3:SetOperation(s.drop)
e3:SetOperation(s.drop) c:RegisterEffect(e3)
c:RegisterEffect(e3) --tuner
--tuner local e2=Effect.CreateEffect(c)
local e2=Effect.CreateEffect(c) e2:SetDescription(aux.Stringid(14169843,1))
e2:SetDescription(aux.Stringid(14169843,1)) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetCode(EVENT_RECOVER)
e2:SetCode(EVENT_RECOVER) e2:SetRange(LOCATION_MZONE)
e2:SetRange(LOCATION_MZONE) e2:SetCountLimit(1,22000042)
e2:SetCountLimit(1,22000042) e2:SetCondition(s.tncon)
e2:SetCondition(s.tncon) e2:SetTarget(s.tntg)
e2:SetTarget(s.tntg) e2:SetOperation(s.tnop)
e2:SetOperation(s.tnop) c:RegisterEffect(e2)
c:RegisterEffect(e2) end
end function s.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
function s.drtg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then
if chk==0 then local h1=Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
local h1=Duel.GetFieldGroupCount(tp,LOCATION_HAND,0) if e:GetHandler():IsLocation(LOCATION_HAND) then h1=h1-1 end
if e:GetHandler():IsLocation(LOCATION_HAND) then h1=h1-1 end local h2=Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)
local h2=Duel.GetFieldGroupCount(tp,0,LOCATION_HAND) local d1=Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)
local d1=Duel.GetFieldGroupCount(tp,LOCATION_DECK,0) local d2=Duel.GetFieldGroupCount(tp,0,LOCATION_DECK)
local d2=Duel.GetFieldGroupCount(tp,0,LOCATION_DECK) return h1>1 and h2>1 and d1>1 and d2>1
return h1>1 and h2>1 and d1>1 and d2>1 end
end Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,PLAYER_ALL,2)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,PLAYER_ALL,2) end
end function s.drop(e,tp,eg,ep,ev,re,r,rp)
function s.drop(e,tp,eg,ep,ev,re,r,rp) if Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)<2 or Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)<2 then return end
if Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)<2 or Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)<2 then return end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD) local g1=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_HAND,0,2,2,nil)
local g1=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_HAND,0,2,2,nil) Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_DISCARD)
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_DISCARD) local g2=Duel.SelectMatchingCard(1-tp,aux.TRUE,1-tp,LOCATION_HAND,0,2,2,nil)
local g2=Duel.SelectMatchingCard(1-tp,aux.TRUE,1-tp,LOCATION_HAND,0,2,2,nil) g1:Merge(g2)
g1:Merge(g2) Duel.SendtoGrave(g1,REASON_EFFECT+REASON_DISCARD)
Duel.SendtoGrave(g1,REASON_EFFECT+REASON_DISCARD) Duel.BreakEffect()
Duel.BreakEffect() Duel.Draw(tp,2,REASON_EFFECT)
Duel.Draw(tp,2,REASON_EFFECT) local dc1=Duel.GetOperatedGroup()
local dc1=Duel.GetOperatedGroup() Duel.Draw(1-tp,2,REASON_EFFECT)
Duel.Draw(1-tp,2,REASON_EFFECT) local dc2=Duel.GetOperatedGroup()
local dc2=Duel.GetOperatedGroup() dc1:Merge(dc2)
dc1:Merge(dc2) local atk=0
local atk=0 local tc=dc1:GetFirst()
local tc=dc1:GetFirst() while tc do
while tc do Duel.ConfirmCards(tp,tc)
Duel.ConfirmCards(tp,tc) Duel.ConfirmCards(1-tp,tc)
Duel.ConfirmCards(1-tp,tc) if tc:IsType(TYPE_MONSTER) then
if tc:IsType(TYPE_MONSTER) then atk=atk+tc:GetAttack()
atk=atk+tc:GetAttack() end
end tc=dc1:GetNext()
tc=dc1:GetNext() end
end Duel.Recover(tp,atk,REASON_EFFECT)
Duel.Recover(tp,atk,REASON_EFFECT) Duel.ShuffleHand(tp)
Duel.ShuffleHand(tp) Duel.ShuffleHand(1-tp)
Duel.ShuffleHand(1-tp) end
end function s.tncon(e,tp,eg,ep,ev,re,r,rp)
function s.tncon(e,tp,eg,ep,ev,re,r,rp) return ep==tp
return ep==tp end
end function s.tnfilter(c)
function s.tnfilter(c) return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_LIGHT)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_LIGHT) end
end function s.tntg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
function s.tntg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) if chkc then return chkc:IsLocation(LOCATION_MZONE) and s.tnfilter(chkc) end
if chkc then return chkc:IsLocation(LOCATION_MZONE) and s.tnfilter(chkc) end if chk==0 then return true end
if chk==0 then return true end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.SelectTarget(tp,s.tnfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SelectTarget(tp,s.tnfilter,tp,LOCATION_MZONE,0,1,1,nil) end
end function s.tnop(e,tp,eg,ep,ev,re,r,rp)
function s.tnop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler()
local c=e:GetHandler() local tc=Duel.GetFirstTarget()
local tc=Duel.GetFirstTarget() if tc and tc:IsRelateToEffect(e) and tc:IsFaceup() then
if tc and tc:IsRelateToEffect(e) and tc:IsFaceup() then local ct=1
local ct=1 local sel=nil
local sel=nil if tc:IsLevel(1) then
if tc:IsLevel(1) then sel=Duel.SelectOption(tp,aux.Stringid(21915012,1))
sel=Duel.SelectOption(tp,aux.Stringid(21915012,1)) else
else sel=Duel.SelectOption(tp,aux.Stringid(21915012,1),aux.Stringid(21915012,2))
sel=Duel.SelectOption(tp,aux.Stringid(21915012,1),aux.Stringid(21915012,2)) end
end if sel==1 then
if sel==1 then ct=ct*-1
ct=ct*-1 end
end local e1=Effect.CreateEffect(c)
local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetCode(EFFECT_UPDATE_LEVEL) e1:SetValue(ct)
e1:SetValue(ct) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE) tc:RegisterEffect(e1)
tc:RegisterEffect(e1) if not tc:IsType(TYPE_TUNER) and Duel.SelectYesNo(tp,aux.Stringid(22000040,0)) then
if not tc:IsType(TYPE_TUNER) and Duel.SelectYesNo(tp,aux.Stringid(22000040,0)) then local e2=Effect.CreateEffect(c)
local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetCode(EFFECT_ADD_TYPE)
e2:SetCode(EFFECT_ADD_TYPE) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetValue(TYPE_TUNER)
e2:SetValue(TYPE_TUNER) tc:RegisterEffect(e2)
tc:RegisterEffect(e2) end
end end
end
end end
\ No newline at end of file
--圣律·贝利嘉德 --圣律·贝利嘉德
xpcall(function() require("expansions/script/c22000000") end,function() require("script/c22000000") end) xpcall(function() dofile("expansions/script/c22000000.lua") end,function() dofile("script/c22000000.lua") end)
local s,id,o=GetID() function s.initial_effect(c)
function s.initial_effect(c) wco.slp(c,22000050)
wco.slp(c,22000050) wco.snp2(c,22000050)
wco.snp2(c,22000050) --damage
--damage local e3=Effect.CreateEffect(c)
local e3=Effect.CreateEffect(c) e3:SetDescription(1005)
e3:SetDescription(1005) e3:SetCategory(CATEGORY_REMOVE)
e3:SetCategory(CATEGORY_REMOVE) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetRange(LOCATION_MZONE)
e3:SetRange(LOCATION_MZONE) e3:SetCountLimit(1,22000051)
e3:SetCountLimit(1,22000051) e3:SetTarget(s.rmtg)
e3:SetTarget(s.rmtg) e3:SetOperation(s.rmop)
e3:SetOperation(s.rmop) c:RegisterEffect(e3)
c:RegisterEffect(e3) end
end function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_HAND,1,nil,tp,POS_FACEDOWN) end
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_HAND,1,nil,tp,POS_FACEDOWN) end Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_HAND) end
end function s.rmop(e,tp,eg,ep,ev,re,r,rp)
function s.rmop(e,tp,eg,ep,ev,re,r,rp) local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_HAND,nil,tp,POS_FACEDOWN)
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_HAND,nil,tp,POS_FACEDOWN) if g:GetCount()==0 then return end
if g:GetCount()==0 then return end local sg=g:RandomSelect(tp,1)
local sg=g:RandomSelect(tp,1) local tc=sg:GetFirst()
local tc=sg:GetFirst() Duel.Remove(tc,POS_FACEDOWN,REASON_EFFECT)
Duel.Remove(tc,POS_FACEDOWN,REASON_EFFECT) tc:RegisterFlagEffect(32013448,RESET_EVENT+RESETS_STANDARD,0,1)
tc:RegisterFlagEffect(32013448,RESET_EVENT+RESETS_STANDARD,0,1) local e1=Effect.CreateEffect(e:GetHandler())
local e1=Effect.CreateEffect(e:GetHandler()) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCode(EVENT_PHASE+PHASE_END) e1:SetCountLimit(1)
e1:SetCountLimit(1) e1:SetCondition(s.retcon)
e1:SetCondition(s.retcon) e1:SetOperation(s.retop)
e1:SetOperation(s.retop) e1:SetLabelObject(tc)
e1:SetLabelObject(tc) e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN) Duel.RegisterEffect(e1,tp)
Duel.RegisterEffect(e1,tp) end
end function s.retcon(e,tp,eg,ep,ev,re,r,rp)
function s.retcon(e,tp,eg,ep,ev,re,r,rp) local tc=e:GetLabelObject()
local tc=e:GetLabelObject() if tc:GetFlagEffect(32013448)==0 then
if tc:GetFlagEffect(32013448)==0 then e:Reset()
e:Reset() return false
return false else
else return Duel.GetTurnPlayer()~=tp
return Duel.GetTurnPlayer()~=tp end
end end
end function s.retop(e,tp,eg,ep,ev,re,r,rp)
function s.retop(e,tp,eg,ep,ev,re,r,rp) local tc=e:GetLabelObject()
local tc=e:GetLabelObject() Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end end
\ No newline at end of file
--圣律·普拉薇安 --圣律·普拉薇安
xpcall(function() require("expansions/script/c22000000") end,function() require("script/c22000000") end) xpcall(function() dofile("expansions/script/c22000000.lua") end,function() dofile("script/c22000000.lua") end)
local s,id,o=GetID() function s.initial_effect(c)
function s.initial_effect(c) wco.slp(c,22000060)
wco.slp(c,22000060) wco.snp2(c,22000060)
wco.snp2(c,22000060) --tohand
--tohand local e3=Effect.CreateEffect(c)
local e3=Effect.CreateEffect(c) e3:SetDescription(1109)
e3:SetDescription(1109) e3:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e3:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetRange(LOCATION_MZONE)
e3:SetRange(LOCATION_MZONE) e3:SetCountLimit(1,22000061)
e3:SetCountLimit(1,22000061) e3:SetCost(s.thcost)
e3:SetCost(s.thcost) e3:SetTarget(s.thtg)
e3:SetTarget(s.thtg) e3:SetOperation(s.thop)
e3:SetOperation(s.thop) c:RegisterEffect(e3)
c:RegisterEffect(e3) end
end function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemoveAsCost,tp,LOCATION_GRAVE,0,4,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemoveAsCost,tp,LOCATION_GRAVE,0,4,nil) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) local g=Duel.SelectMatchingCard(tp,Card.IsAbleToRemoveAsCost,tp,LOCATION_GRAVE,0,4,4,nil)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToRemoveAsCost,tp,LOCATION_GRAVE,0,4,4,nil) Duel.Remove(g,POS_FACEUP,REASON_COST)
Duel.Remove(g,POS_FACEUP,REASON_COST) end
end function s.thfilter(c)
function s.thfilter(c) return c:IsSetCard(0x32d0) and c:IsAbleToHand()
return c:IsSetCard(0x32d0) and c:IsAbleToHand() end
end function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil) end Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) end
end function s.thop(e,tp,eg,ep,ev,re,r,rp)
function s.thop(e,tp,eg,ep,ev,re,r,rp) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_DECK,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_DECK,0,1,1,nil) if g:GetCount()>0 then
if g:GetCount()>0 then Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.ConfirmCards(1-tp,g)
Duel.ConfirmCards(1-tp,g) end
end end
end
--圣律·莎尔索斯 --圣律·莎尔索斯
xpcall(function() require("expansions/script/c22000000") end,function() require("script/c22000000") end) xpcall(function() dofile("expansions/script/c22000000.lua") end,function() dofile("script/c22000000.lua") end)
local s,id,o=GetID() function s.initial_effect(c)
function s.initial_effect(c) wco.slp(c,22000070)
wco.slp(c,22000070) wco.snp2(c,22000070)
wco.snp2(c,22000070) --ret&draw
--ret&draw local e1=Effect.CreateEffect(c)
local e1=Effect.CreateEffect(c) e1:SetDescription(aux.Stringid(581014,1))
e1:SetDescription(aux.Stringid(581014,1)) e1:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e1:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE)
e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1,22000071)
e1:SetCountLimit(1,22000071) e1:SetTarget(s.target1)
e1:SetTarget(s.target1) e1:SetOperation(s.operation1)
e1:SetOperation(s.operation1) c:RegisterEffect(e1)
c:RegisterEffect(e1) end
end function s.target1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
function s.target1(e,tp,eg,ep,ev,re,r,rp,chk,chkc) if chkc then return chkc:IsLocation(LOCATION_REMOVED) and chkc:IsControler(tp) and chkc:IsAbleToDeck() end
if chkc then return chkc:IsLocation(LOCATION_REMOVED) and chkc:IsControler(tp) and chkc:IsAbleToDeck() end if chk==0 then return Duel.IsPlayerCanDraw(tp,1) and Duel.IsExistingTarget(s.filter1,tp,LOCATION_REMOVED,0,3,nil) end
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) and Duel.IsExistingTarget(s.filter1,tp,LOCATION_REMOVED,0,3,nil) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_REMOVED,0,3,3,nil)
local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_REMOVED,0,3,3,nil) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) end
end function s.operation1(e,tp,eg,ep,ev,re,r,rp)
function s.operation1(e,tp,eg,ep,ev,re,r,rp) local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) if not tg or tg:FilterCount(Card.IsRelateToEffect,nil,e)~=3 then return end
if not tg or tg:FilterCount(Card.IsRelateToEffect,nil,e)~=3 then return end Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT) local g=Duel.GetOperatedGroup()
local g=Duel.GetOperatedGroup() if g:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then Duel.ShuffleDeck(tp) end
if g:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then Duel.ShuffleDeck(tp) end local ct=g:FilterCount(Card.IsLocation,nil,LOCATION_DECK+LOCATION_EXTRA)
local ct=g:FilterCount(Card.IsLocation,nil,LOCATION_DECK+LOCATION_EXTRA) if ct==3 then
if ct==3 then Duel.BreakEffect()
Duel.BreakEffect() Duel.Draw(tp,1,REASON_EFFECT)
Duel.Draw(tp,1,REASON_EFFECT) end
end
end end
\ No newline at end of file
--圣律·帕尔妮兹 --圣律·帕尔妮兹
xpcall(function() require("expansions/script/c22000000") end,function() require("script/c22000000") end) xpcall(function() dofile("expansions/script/c22000000.lua") end,function() dofile("script/c22000000.lua") end)
local s,id,o=GetID() function s.initial_effect(c)
function s.initial_effect(c) wco.slp(c,22000080)
wco.slp(c,22000080) wco.snp2(c,22000080)
wco.snp2(c,22000080) --destroy
--destroy local e2=Effect.CreateEffect(c)
local e2=Effect.CreateEffect(c) e2:SetDescription(1131)
e2:SetDescription(1131) e2:SetCategory(CATEGORY_DISABLE)
e2:SetCategory(CATEGORY_DISABLE) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetRange(LOCATION_MZONE)
e2:SetRange(LOCATION_MZONE) e2:SetCountLimit(1,22000081)
e2:SetCountLimit(1,22000081) e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE) e2:SetTarget(s.distg)
e2:SetTarget(s.distg) e2:SetOperation(s.disop)
e2:SetOperation(s.disop) c:RegisterEffect(e2)
c:RegisterEffect(e2) end
end function s.distg(e,tp,eg,ep,ev,re,r,rp,chk)
function s.distg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingTarget(aux.NegateEffectMonsterFilter,tp,0,LOCATION_ONFIELD,1,nil) end
if chk==0 then return Duel.IsExistingTarget(aux.NegateEffectMonsterFilter,tp,0,LOCATION_ONFIELD,1,nil) end Duel.SetOperationInfo(0,CATEGORY_DISABLE,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,nil,1,0,0) end
end function s.disop(e,tp,eg,ep,ev,re,r,rp)
function s.disop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler()
local c=e:GetHandler() Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE) local g=Duel.SelectTarget(tp,aux.NegateEffectMonsterFilter,tp,0,LOCATION_ONFIELD,1,1,nil)
local g=Duel.SelectTarget(tp,aux.NegateEffectMonsterFilter,tp,0,LOCATION_ONFIELD,1,1,nil) local tc=g:GetFirst()
local tc=g:GetFirst() if ((tc:IsFaceup() and not tc:IsDisabled()) or tc:IsType(TYPE_TRAPMONSTER)) and tc:IsRelateToEffect(e) then
if ((tc:IsFaceup() and not tc:IsDisabled()) or tc:IsType(TYPE_TRAPMONSTER)) and tc:IsRelateToEffect(e) then Duel.NegateRelatedChain(tc,RESET_TURN_SET)
Duel.NegateRelatedChain(tc,RESET_TURN_SET) local e1=Effect.CreateEffect(c)
local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetCode(EFFECT_DISABLE)
e1:SetCode(EFFECT_DISABLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) tc:RegisterEffect(e1)
tc:RegisterEffect(e1) local e2=Effect.CreateEffect(c)
local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetCode(EFFECT_DISABLE_EFFECT) e2:SetValue(RESET_TURN_SET)
e2:SetValue(RESET_TURN_SET) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) tc:RegisterEffect(e2)
tc:RegisterEffect(e2) if tc:IsType(TYPE_TRAPMONSTER) then
if tc:IsType(TYPE_TRAPMONSTER) then local e3=Effect.CreateEffect(c)
local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
e3:SetReset(RESET_EVENT+RESETS_STANDARD) tc:RegisterEffect(e3)
tc:RegisterEffect(e3) end
end end
end Duel.BreakEffect()
Duel.BreakEffect() Duel.Destroy(tc,REASON_EFFECT)
Duel.Destroy(tc,REASON_EFFECT) local e4=Effect.CreateEffect(c)
local e4=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_FIELD)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetCode(EFFECT_DISABLE)
e4:SetCode(EFFECT_DISABLE) e4:SetTargetRange(LOCATION_ONFIELD,LOCATION_ONFIELD)
e4:SetTargetRange(LOCATION_ONFIELD,LOCATION_ONFIELD) e4:SetTarget(s.distg1)
e4:SetTarget(s.distg1) e4:SetLabelObject(tc)
e4:SetLabelObject(tc) e4:SetReset(RESET_PHASE+PHASE_END)
e4:SetReset(RESET_PHASE+PHASE_END) Duel.RegisterEffect(e4,tp)
Duel.RegisterEffect(e4,tp) local e5=Effect.CreateEffect(c)
local e5=Effect.CreateEffect(c) e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e5:SetCode(EVENT_CHAIN_SOLVING)
e5:SetCode(EVENT_CHAIN_SOLVING) e5:SetCondition(s.discon2)
e5:SetCondition(s.discon2) e5:SetOperation(s.disop2)
e5:SetOperation(s.disop2) e5:SetLabelObject(tc)
e5:SetLabelObject(tc) e5:SetReset(RESET_PHASE+PHASE_END)
e5:SetReset(RESET_PHASE+PHASE_END) Duel.RegisterEffect(e5,tp)
Duel.RegisterEffect(e5,tp) local e6=Effect.CreateEffect(c)
local e6=Effect.CreateEffect(c) e6:SetType(EFFECT_TYPE_FIELD)
e6:SetType(EFFECT_TYPE_FIELD) e6:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e6:SetCode(EFFECT_DISABLE_TRAPMONSTER) e6:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e6:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e6:SetTarget(s.distg2)
e6:SetTarget(s.distg2) e6:SetLabelObject(tc)
e6:SetLabelObject(tc) e6:SetReset(RESET_PHASE+PHASE_END)
e6:SetReset(RESET_PHASE+PHASE_END) Duel.RegisterEffect(e6,tp)
Duel.RegisterEffect(e6,tp) end
end function s.distg1(e,c)
function s.distg1(e,c) local tc=e:GetLabelObject()
local tc=e:GetLabelObject() if c:IsType(TYPE_SPELL+TYPE_TRAP) then
if c:IsType(TYPE_SPELL+TYPE_TRAP) then return c:IsOriginalCodeRule(tc:GetOriginalCodeRule())
return c:IsOriginalCodeRule(tc:GetOriginalCodeRule()) else
else return c:IsOriginalCodeRule(tc:GetOriginalCodeRule()) and (c:IsType(TYPE_EFFECT) or c:GetOriginalType()&TYPE_EFFECT~=0)
return c:IsOriginalCodeRule(tc:GetOriginalCodeRule()) and (c:IsType(TYPE_EFFECT) or c:GetOriginalType()&TYPE_EFFECT~=0) end
end end
end function s.distg2(e,c)
function s.distg2(e,c) local tc=e:GetLabelObject()
local tc=e:GetLabelObject() return c:IsOriginalCodeRule(tc:GetOriginalCodeRule())
return c:IsOriginalCodeRule(tc:GetOriginalCodeRule()) end
end function s.discon2(e,tp,eg,ep,ev,re,r,rp)
function s.discon2(e,tp,eg,ep,ev,re,r,rp) local tc=e:GetLabelObject()
local tc=e:GetLabelObject() return re:GetHandler():IsOriginalCodeRule(tc:GetOriginalCodeRule())
return re:GetHandler():IsOriginalCodeRule(tc:GetOriginalCodeRule()) end
end function s.disop2(e,tp,eg,ep,ev,re,r,rp)
function s.disop2(e,tp,eg,ep,ev,re,r,rp) Duel.NegateEffect(ev)
Duel.NegateEffect(ev)
end end
\ No newline at end of file
--圣律·玛奇尤姆 --圣律·玛奇尤姆
xpcall(function() require("expansions/script/c22000000") end,function() require("script/c22000000") end) xpcall(function() dofile("expansions/script/c22000000.lua") end,function() dofile("script/c22000000.lua") end)
local s,id,o=GetID() function s.initial_effect(c)
function s.initial_effect(c) wco.slp(c,22000090)
wco.slp(c,22000090) wco.snp3(c,22000090)
wco.snp3(c,22000090) --Destroy
--Destroy local e1=Effect.CreateEffect(c)
local e1=Effect.CreateEffect(c) e1:SetDescription(aux.Stringid(76774528,0))
e1:SetDescription(aux.Stringid(76774528,0)) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetCountLimit(1,22000091)
e1:SetCountLimit(1,22000091) e1:SetRange(LOCATION_MZONE)
e1:SetRange(LOCATION_MZONE) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetCategory(CATEGORY_DESTROY)
e1:SetCategory(CATEGORY_DESTROY) e1:SetTarget(s.destg)
e1:SetTarget(s.destg) e1:SetOperation(s.desop)
e1:SetOperation(s.desop) c:RegisterEffect(e1)
c:RegisterEffect(e1) --to hand
--to hand local e2=Effect.CreateEffect(c)
local e2=Effect.CreateEffect(c) e2:SetDescription(aux.Stringid(21915012,2))
e2:SetDescription(aux.Stringid(21915012,2)) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_CARD_TARGET)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_CARD_TARGET) e2:SetCode(EVENT_DESTROYED)
e2:SetCode(EVENT_DESTROYED) e2:SetRange(LOCATION_MZONE)
e2:SetRange(LOCATION_MZONE) e2:SetCountLimit(1,22000092)
e2:SetCountLimit(1,22000092) e2:SetCondition(s.lvcon)
e2:SetCondition(s.lvcon) e2:SetTarget(s.lvtg)
e2:SetTarget(s.lvtg) e2:SetOperation(s.lvop)
e2:SetOperation(s.lvop) c:RegisterEffect(e2)
c:RegisterEffect(e2) end
end function s.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
function s.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) if chkc then return false end
if chkc then return false end if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_ONFIELD,0,1,nil)
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_ONFIELD,0,1,nil) and Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end
and Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) local g1=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,0,1,1,nil)
local g1=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,0,1,1,nil) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) local g2=Duel.SelectTarget(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
local g2=Duel.SelectTarget(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil) g1:Merge(g2)
g1:Merge(g2) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g1,2,0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g1,2,0,0) end
end function s.desop(e,tp,eg,ep,ev,re,r,rp)
function s.desop(e,tp,eg,ep,ev,re,r,rp) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local tg=g:Filter(Card.IsRelateToEffect,nil,e)
local tg=g:Filter(Card.IsRelateToEffect,nil,e) if tg:GetCount()>0 then
if tg:GetCount()>0 then Duel.Destroy(tg,REASON_EFFECT)
Duel.Destroy(tg,REASON_EFFECT) end
end end
end function s.cfilter(c,tp)
function s.cfilter(c,tp) return c:IsReason(REASON_BATTLE+REASON_EFFECT) and c:IsPreviousControler(1-tp) and c:IsPreviousLocation(LOCATION_ONFIELD)
return c:IsReason(REASON_BATTLE+REASON_EFFECT) and c:IsPreviousControler(1-tp) and c:IsPreviousLocation(LOCATION_ONFIELD) end
end function s.lvcon(e,tp,eg,ep,ev,re,r,rp)
function s.lvcon(e,tp,eg,ep,ev,re,r,rp) return eg:IsExists(s.cfilter,1,nil,tp)
return eg:IsExists(s.cfilter,1,nil,tp) end
end function s.lvfilter(c)
function s.lvfilter(c) return c:IsFaceup() and c:IsSetCard(0x32d0)
return c:IsFaceup() and c:IsSetCard(0x32d0) end
end function s.lvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
function s.lvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and s.lvfilter(chkc) end
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and s.lvfilter(chkc) end if chk==0 then return Duel.IsExistingTarget(s.lvfilter,tp,LOCATION_MZONE,0,1,nil) end
if chk==0 then return Duel.IsExistingTarget(s.lvfilter,tp,LOCATION_MZONE,0,1,nil) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) local g=Duel.SelectTarget(tp,s.lvfilter,tp,LOCATION_MZONE,0,1,1,nil,tp)
local g=Duel.SelectTarget(tp,s.lvfilter,tp,LOCATION_MZONE,0,1,1,nil,tp) end
end function s.lvop(e,tp,eg,ep,ev,re,r,rp)
function s.lvop(e,tp,eg,ep,ev,re,r,rp) local tc=Duel.GetFirstTarget()
local tc=Duel.GetFirstTarget() local lv=tc:GetLevel()
local lv=tc:GetLevel() local alv=8
local alv=8 if lv<8 then alv=lv end
if lv<8 then alv=lv end local clv=Duel.AnnounceLevel(tp,1,alv,nil)
local clv=Duel.AnnounceLevel(tp,1,alv,nil) if tc:IsFaceup() and tc:IsRelateToEffect(e) then
if tc:IsFaceup() and tc:IsRelateToEffect(e) 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_UPDATE_LEVEL)
e1:SetCode(EFFECT_UPDATE_LEVEL) e1:SetValue(-clv)
e1:SetValue(-clv) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) tc:RegisterEffect(e1)
tc:RegisterEffect(e1) end
end
end end
\ No newline at end of file
--圣律·库托里希 --圣律·库托里希
xpcall(function() require("expansions/script/c22000000") end,function() require("script/c22000000") end) xpcall(function() dofile("expansions/script/c22000000.lua") end,function() dofile("script/c22000000.lua") end)
local s,id,o=GetID() function s.initial_effect(c)
function s.initial_effect(c) wco.slp(c,22000100)
wco.slp(c,22000100) wco.snp3(c,22000100)
wco.snp3(c,22000100) --recover
--recover local e1=Effect.CreateEffect(c)
local e1=Effect.CreateEffect(c) e1:SetDescription(aux.Stringid(21915012,2))
e1:SetDescription(aux.Stringid(21915012,2)) 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_SPSUMMON_SUCCESS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCountLimit(1,22000101)
e1:SetCountLimit(1,22000101) e1:SetOperation(s.lvop)
e1:SetOperation(s.lvop) c:RegisterEffect(e1)
c:RegisterEffect(e1) end
end function s.lvop(e,tp,eg,ep,ev,re,r,rp)
function s.lvop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler()
local c=e:GetHandler() local lv=c:GetLevel()
local lv=c:GetLevel() local alv=10
local alv=10 if lv<10 then alv=lv end
if lv<10 then alv=lv end local clv=Duel.AnnounceLevel(tp,1,alv,nil)
local clv=Duel.AnnounceLevel(tp,1,alv,nil) if c:IsRelateToEffect(e) and c:IsFaceup() then
if c:IsRelateToEffect(e) and c:IsFaceup() then local e4=Effect.CreateEffect(c)
local e4=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetCode(EFFECT_UPDATE_LEVEL)
e4:SetCode(EFFECT_UPDATE_LEVEL) e4:SetValue(-clv)
e4:SetValue(-clv) e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e4:SetRange(LOCATION_MZONE)
e4:SetRange(LOCATION_MZONE) e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE) c:RegisterEffect(e4)
c:RegisterEffect(e4) local e1=Effect.CreateEffect(e:GetHandler())
local e1=Effect.CreateEffect(e:GetHandler()) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTargetRange(LOCATION_MZONE,0) e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x32d0))
e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x32d0)) e1:SetValue(clv*100)
e1:SetValue(clv*100) e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetReset(RESET_PHASE+PHASE_END) Duel.RegisterEffect(e1,tp)
Duel.RegisterEffect(e1,tp) local e2=e1:Clone()
local e2=e1:Clone() e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetCode(EFFECT_UPDATE_DEFENSE) Duel.RegisterEffect(e2,tp)
Duel.RegisterEffect(e2,tp) end
end
end end
\ No newline at end of file
--圣律·露泽莫尔 --圣律·露泽莫尔
xpcall(function() require("expansions/script/c22000000") end,function() require("script/c22000000") end) xpcall(function() dofile("expansions/script/c22000000.lua") end,function() dofile("script/c22000000.lua") end)
local s,id,o=GetID() function s.initial_effect(c)
function s.initial_effect(c) wco.slp(c,22000110)
wco.slp(c,22000110) wco.snp3(c,22000110)
wco.snp3(c,22000110) --recover
--recover local e1=Effect.CreateEffect(c)
local e1=Effect.CreateEffect(c) e1:SetDescription(aux.Stringid(21915012,2))
e1:SetDescription(aux.Stringid(21915012,2)) 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_SPSUMMON_SUCCESS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCountLimit(1,22000111)
e1:SetCountLimit(1,22000111) e1:SetOperation(s.lvop)
e1:SetOperation(s.lvop) c:RegisterEffect(e1)
c:RegisterEffect(e1) end
end function s.lvop(e,tp,eg,ep,ev,re,r,rp)
function s.lvop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler()
local c=e:GetHandler() local lv=c:GetLevel()
local lv=c:GetLevel() local alv=11
local alv=11 if lv<alv then alv=lv end
if lv<alv then alv=lv end local clv=Duel.AnnounceLevel(tp,1,alv,nil)
local clv=Duel.AnnounceLevel(tp,1,alv,nil) if c:IsRelateToEffect(e) and c:IsFaceup() then
if c:IsRelateToEffect(e) and c:IsFaceup() then local e4=Effect.CreateEffect(c)
local e4=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetCode(EFFECT_UPDATE_LEVEL)
e4:SetCode(EFFECT_UPDATE_LEVEL) e4:SetValue(-clv)
e4:SetValue(-clv) e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e4:SetRange(LOCATION_MZONE)
e4:SetRange(LOCATION_MZONE) e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE) c:RegisterEffect(e4)
c:RegisterEffect(e4) local e1=Effect.CreateEffect(c)
local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetTargetRange(0,LOCATION_MZONE)
e1:SetTargetRange(0,LOCATION_MZONE) e1:SetValue(-clv*200)
e1:SetValue(-clv*200) e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetReset(RESET_PHASE+PHASE_END) Duel.RegisterEffect(e1,tp)
Duel.RegisterEffect(e1,tp) local e2=e1:Clone()
local e2=e1:Clone() e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetCode(EFFECT_UPDATE_DEFENSE) Duel.RegisterEffect(e2,tp)
Duel.RegisterEffect(e2,tp) --disable
--disable local e3=Effect.CreateEffect(c)
local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetCode(EFFECT_DISABLE)
e3:SetCode(EFFECT_DISABLE) e3:SetRange(LOCATION_PZONE)
e3:SetRange(LOCATION_PZONE) e3:SetTargetRange(0,LOCATION_MZONE)
e3:SetTargetRange(0,LOCATION_MZONE) e3:SetTarget(s.distg)
e3:SetTarget(s.distg) Duel.RegisterEffect(e3,tp)
Duel.RegisterEffect(e3,tp) end
end end
end function s.distg(e,c)
function s.distg(e,c) return c:IsAttack(0)
return c:IsAttack(0)
end end
\ No newline at end of file
--炽光圣堂 --炽光圣堂
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,22000120+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,22000120+EFFECT_COUNT_CODE_OATH)
e1:SetOperation(s.activate) e1:SetOperation(s.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--cannot target --cannot target
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET) e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetCondition(s.ndcon) e2:SetCondition(s.ndcon)
e2:SetValue(aux.tgoval) e2:SetValue(aux.tgoval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--indes --indes
local e3=e2:Clone() local e3=e2:Clone()
e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e3:SetValue(aux.indoval) e3:SetValue(aux.indoval)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--Recover --Recover
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_RECOVER) e4:SetCategory(CATEGORY_RECOVER)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e4:SetCode(EVENT_PHASE+PHASE_END) e4:SetCode(EVENT_PHASE+PHASE_END)
e4:SetRange(LOCATION_FZONE) e4:SetRange(LOCATION_FZONE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetCountLimit(1) e4:SetCountLimit(1)
e4:SetTarget(s.rectg) e4:SetTarget(s.rectg)
e4:SetOperation(s.recop) e4:SetOperation(s.recop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--special summon --special summon
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(44887817,0)) e5:SetDescription(aux.Stringid(44887817,0))
e5:SetCategory(CATEGORY_SPECIAL_SUMMON) e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetProperty(EFFECT_FLAG_CARD_TARGET) e5:SetProperty(EFFECT_FLAG_CARD_TARGET)
e5:SetType(EFFECT_TYPE_IGNITION) e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetCountLimit(1,22000121) e5:SetCountLimit(1,22000121)
e5:SetRange(LOCATION_FZONE) e5:SetRange(LOCATION_FZONE)
e5:SetTarget(s.sptg) e5:SetTarget(s.sptg)
e5:SetOperation(s.spop) e5:SetOperation(s.spop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function s.thfilter(c) function s.thfilter(c)
return c:IsSetCard(0x32d0) and c:IsAbleToHand() return c:IsSetCard(0x32d0) and c:IsAbleToHand()
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(s.thfilter,tp,LOCATION_DECK,0,nil) local g=Duel.GetMatchingGroup(s.thfilter,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,1109) then if g:GetCount()>0 and Duel.SelectYesNo(tp,1109) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT) Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg) Duel.ConfirmCards(1-tp,sg)
end end
end end
function s.ndcfilter(c) function s.ndcfilter(c)
return c:IsFaceup() and c:IsSetCard(0x32d0) and c:IsType(TYPE_SYNCHRO) return c:IsFaceup() and c:IsSetCard(0x32d0) and c:IsType(TYPE_SYNCHRO)
end end
function s.ndcon(e) function s.ndcon(e)
return Duel.IsExistingMatchingCard(s.ndcfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil) return Duel.IsExistingMatchingCard(s.ndcfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil)
end end
function s.rccfilter(c) function s.rccfilter(c)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_LIGHT) return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_LIGHT)
end end
function s.rectg(e,tp,eg,ep,ev,re,r,rp,chk) function s.rectg(e,tp,eg,ep,ev,re,r,rp,chk)
local sg=Duel.GetMatchingGroup(s.rccfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil) local sg=Duel.GetMatchingGroup(s.rccfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if chk==0 then return #sg>0 and Duel.IsExistingMatchingCard(s.ndcfilter,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return #sg>0 and Duel.IsExistingMatchingCard(s.ndcfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.SetTargetPlayer(tp) Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(#sg*500) Duel.SetTargetParam(#sg*500)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,#sg*500) Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,#sg*500)
end end
function s.recop(e,tp,eg,ep,ev,re,r,rp) function s.recop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT) Duel.Recover(p,d,REASON_EFFECT)
end end
function s.spfilter(c,e,tp) function s.spfilter(c,e,tp)
return c:IsSetCard(0x32d0) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x32d0) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and s.spfilter(chkc,e,tp) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and s.spfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) and Duel.IsExistingTarget(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp)
and Duel.IsExistingMatchingCard(s.ndcfilter,tp,LOCATION_MZONE,0,1,nil) end and Duel.IsExistingMatchingCard(s.ndcfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectTarget(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function s.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end end
end end
\ No newline at end of file
--圣律之智慧·克洛托 --圣律之智慧·克洛托
xpcall(function() require("expansions/script/c22000000") end,function() require("script/c22000000") end) xpcall(function() dofile("expansions/script/c22000000.lua") end,function() dofile("script/c22000000.lua") end)
local s,id,o=GetID() function s.initial_effect(c)
function s.initial_effect(c) wco.sslp(c,22000130)
wco.sslp(c,22000130) --synchro summon
--synchro summon aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x32d0),aux.NonTuner(Card.IsAttribute,ATTRIBUTE_LIGHT),2)
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x32d0),aux.NonTuner(Card.IsAttribute,ATTRIBUTE_LIGHT),2) c:EnableReviveLimit()
c:EnableReviveLimit() --indes
--indes local e1=Effect.CreateEffect(c)
local e1=Effect.CreateEffect(c) e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetRange(LOCATION_MZONE)
e1:SetRange(LOCATION_MZONE) e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTargetRange(LOCATION_MZONE,0) e1:SetTarget(aux.TargetBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT))
e1:SetTarget(aux.TargetBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT)) e1:SetValue(1)
e1:SetValue(1) c:RegisterEffect(e1)
c:RegisterEffect(e1) --negate
--negate local e2=Effect.CreateEffect(c)
local e2=Effect.CreateEffect(c) e2:SetDescription(aux.Stringid(84815190,1))
e2:SetDescription(aux.Stringid(84815190,1)) e2:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e2:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetCode(EVENT_CHAINING)
e2:SetCode(EVENT_CHAINING) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e2:SetRange(LOCATION_MZONE)
e2:SetRange(LOCATION_MZONE) e2:SetCountLimit(1,22000130)
e2:SetCountLimit(1,22000130) e2:SetCondition(s.discon)
e2:SetCondition(s.discon) e2:SetTarget(s.distg)
e2:SetTarget(s.distg) e2:SetOperation(s.disop)
e2:SetOperation(s.disop) c:RegisterEffect(e2)
c:RegisterEffect(e2) --to hand
--to hand local e3=Effect.CreateEffect(c)
local e3=Effect.CreateEffect(c) e3:SetDescription(aux.Stringid(22842126,1))
e3:SetDescription(aux.Stringid(22842126,1)) e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetRange(LOCATION_MZONE)
e3:SetRange(LOCATION_MZONE) e3:SetCountLimit(1,22000131)
e3:SetCountLimit(1,22000131) e3:SetTarget(s.thtg)
e3:SetTarget(s.thtg) e3:SetOperation(s.thop)
e3:SetOperation(s.thop) c:RegisterEffect(e3)
c:RegisterEffect(e3) end
end function s.discon(e,tp,eg,ep,ev,re,r,rp)
function s.discon(e,tp,eg,ep,ev,re,r,rp) return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev) end
end function s.distg(e,tp,eg,ep,ev,re,r,rp,chk)
function s.distg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return true end
if chk==0 then return true end e:GetHandler():RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(84815190,3))
e:GetHandler():RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(84815190,3)) Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0) if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0) end
end end
end function s.disop(e,tp,eg,ep,ev,re,r,rp)
function s.disop(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) then Duel.Remove(eg,POS_FACEUP,REASON_EFFECT)
Duel.Remove(eg,POS_FACEUP,REASON_EFFECT) end
end end
end function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_DECK,0,3,nil)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_DECK,0,3,nil) and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,0,LOCATION_DECK,3,nil) end
and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,0,LOCATION_DECK,3,nil) end Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) end
end function s.thop(e,tp,eg,ep,ev,re,r,rp)
function s.thop(e,tp,eg,ep,ev,re,r,rp) local g1=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_DECK,0,nil)
local g1=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_DECK,0,nil) local g2=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,0,LOCATION_DECK,nil)
local g2=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,0,LOCATION_DECK,nil) if #g1<3 then return end
if #g1<3 then return end if #g2<3 then return end
if #g2<3 then return end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT) local sg1=g1:Select(tp,3,3,nil)
local sg1=g1:Select(tp,3,3,nil) Duel.ConfirmCards(1-tp,sg1)
Duel.ConfirmCards(1-tp,sg1) Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_ATOHAND)
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_ATOHAND) local tg1=sg1:Select(1-tp,1,1,nil)
local tg1=sg1:Select(1-tp,1,1,nil) tg1:GetFirst():SetStatus(STATUS_TO_HAND_WITHOUT_CONFIRM,true)
tg1:GetFirst():SetStatus(STATUS_TO_HAND_WITHOUT_CONFIRM,true) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT) local sg2=g2:Select(1-tp,3,3,nil)
local sg2=g2:Select(1-tp,3,3,nil) Duel.ConfirmCards(tp,sg2)
Duel.ConfirmCards(tp,sg2) Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_ATOHAND)
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_ATOHAND) local tg2=sg2:Select(tp,1,1,nil)
local tg2=sg2:Select(tp,1,1,nil) tg2:GetFirst():SetStatus(STATUS_TO_HAND_WITHOUT_CONFIRM,true)
tg2:GetFirst():SetStatus(STATUS_TO_HAND_WITHOUT_CONFIRM,true) tg1:Merge(tg2)
tg1:Merge(tg2) local rmg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_HAND,nil)
local rmg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_HAND,nil) if Duel.SendtoHand(tg1,nil,REASON_EFFECT)~=0 and #rmg>0 then
if Duel.SendtoHand(tg1,nil,REASON_EFFECT)~=0 and #rmg>0 then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) local rg=rmg:Select(tp,1,1,nil)
local rg=rmg:Select(tp,1,1,nil) Duel.Remove(rg,POS_FACEDOWN,REASON_EFFECT)
Duel.Remove(rg,POS_FACEDOWN,REASON_EFFECT) end
end
end end
\ No newline at end of file
This diff is collapsed.
--圣律之信仰·阿特洛波斯 --圣律之信仰·阿特洛波斯
xpcall(function() require("expansions/script/c22000000") end,function() require("script/c22000000") end) xpcall(function() dofile("expansions/script/c22000000.lua") end,function() dofile("script/c22000000.lua") end)
local s,id,o=GetID() function s.initial_effect(c)
function s.initial_effect(c) wco.sslp(c,22000150)
wco.sslp(c,22000150) --synchro summon
--synchro summon aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x32d0),aux.NonTuner(Card.IsAttribute,ATTRIBUTE_LIGHT),2)
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x32d0),aux.NonTuner(Card.IsAttribute,ATTRIBUTE_LIGHT),2) c:EnableReviveLimit()
c:EnableReviveLimit() --indes
--indes local e1=Effect.CreateEffect(c)
local e1=Effect.CreateEffect(c) e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET) e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetRange(LOCATION_MZONE)
e1:SetRange(LOCATION_MZONE) e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTargetRange(LOCATION_MZONE,0) e1:SetTarget(aux.TargetBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT))
e1:SetTarget(aux.TargetBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT)) e1:SetValue(aux.tgoval)
e1:SetValue(aux.tgoval) c:RegisterEffect(e1)
c:RegisterEffect(e1) --destroy
--destroy local e2=Effect.CreateEffect(c)
local e2=Effect.CreateEffect(c) e2:SetCategory(CATEGORY_DESTROY)
e2:SetCategory(CATEGORY_DESTROY) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetCode(EVENT_LEAVE_FIELD) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetRange(LOCATION_MZONE)
e2:SetRange(LOCATION_MZONE) e2:SetCountLimit(1,22000150)
e2:SetCountLimit(1,22000150) e2:SetCondition(s.descon)
e2:SetCondition(s.descon) e2:SetTarget(s.destg)
e2:SetTarget(s.destg) e2:SetOperation(s.desop)
e2:SetOperation(s.desop) c:RegisterEffect(e2)
c:RegisterEffect(e2) --damage conversion
--damage conversion local e3=Effect.CreateEffect(c)
local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetCode(EFFECT_REVERSE_DAMAGE)
e3:SetCode(EFFECT_REVERSE_DAMAGE) e3:SetRange(LOCATION_MZONE)
e3:SetRange(LOCATION_MZONE) e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e3:SetTargetRange(1,0)
e3:SetTargetRange(1,0) e3:SetValue(s.rev)
e3:SetValue(s.rev) c:RegisterEffect(e3)
c:RegisterEffect(e3) end
end function s.drcfilter(c,tp)
function s.drcfilter(c,tp) return c:IsReason(REASON_EFFECT) and c:GetReasonPlayer()==1-tp
return c:IsReason(REASON_EFFECT) and c:GetReasonPlayer()==1-tp end
end function s.descon(e,tp,eg,ep,ev,re,r,rp)
function s.descon(e,tp,eg,ep,ev,re,r,rp) return eg:IsExists(s.drcfilter,1,nil,tp)
return eg:IsExists(s.drcfilter,1,nil,tp) end
end function s.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
function s.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) if chkc then return chkc:IsOnField() end
if chkc then return chkc:IsOnField() end if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) local g=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
local g=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) end
end function s.desop(e,tp,eg,ep,ev,re,r,rp)
function s.desop(e,tp,eg,ep,ev,re,r,rp) local tc=Duel.GetFirstTarget()
local tc=Duel.GetFirstTarget() if tc:IsRelateToEffect(e) then Duel.Destroy(tc,REASON_EFFECT) end
if tc:IsRelateToEffect(e) then Duel.Destroy(tc,REASON_EFFECT) end end
end function s.rev(e,re,r,rp,rc)
function s.rev(e,re,r,rp,rc) return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0
return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0
end end
\ No newline at end of file
This diff is collapsed.
...@@ -3,15 +3,11 @@ if c23000400 then return end ...@@ -3,15 +3,11 @@ if c23000400 then return end
c23000400=c23000400 or {} c23000400=c23000400 or {}
local m = 23000400 local m = 23000400
local bm = _G["c"..m] local bm = _G["c"..m]
local Version_Number=20230906 local Version_Number=20231002
local tcode=0x364 local tcode=0x364
--Instructions about how to use this --Instructions about how to use this
--[[ --[[
if not pcall(function() require("expansions/script/c23000400") end) then Duel.LoadScript("c23000400")
if not pcall(function() require("script/c23000400") end) then
require("c23000400")
end
end
local m1=23000400 local m1=23000400
local bm = _G["c"..m1] local bm = _G["c"..m1]
local tcode=0x364 local tcode=0x364
...@@ -443,7 +439,7 @@ function bm.s.con(e,c,tuner,mg) ...@@ -443,7 +439,7 @@ function bm.s.con(e,c,tuner,mg)
local mpg=Duel.GetMatchingGroup(nil,tp,mz+sz,0,nil) local mpg=Duel.GetMatchingGroup(nil,tp,mz+sz,0,nil)
g1=mpg:Filter(bm.matfilter1,nil,c,tp) g1=mpg:Filter(bm.matfilter1,nil,c,tp)
g2=mpg:Filter(bm.matfilter2,nil,c) g2=mpg:Filter(bm.matfilter2,nil,c)
g3=Duel.GetMatchingGroup(bm.matfilter2,tp,mz+hz,0,nil,c) g3=Duel.GetMatchingGroup(bm.matfilter2,tp,mz+ha,0,nil,c)
end end
local lv=c:GetLevel() local lv=c:GetLevel()
local sg=nil local sg=nil
...@@ -468,7 +464,7 @@ function bm.s.tg(e,tp,eg,ep,ev,re,r,rp,chk,c,tuner,mg) ...@@ -468,7 +464,7 @@ function bm.s.tg(e,tp,eg,ep,ev,re,r,rp,chk,c,tuner,mg)
local mpg=Duel.GetMatchingGroup(nil,tp,mz+sz,0,nil) local mpg=Duel.GetMatchingGroup(nil,tp,mz+sz,0,nil)
g1=mpg:Filter(bm.matfilter1,nil,c,tp) g1=mpg:Filter(bm.matfilter1,nil,c,tp)
g2=mpg:Filter(bm.matfilter2,nil,c) g2=mpg:Filter(bm.matfilter2,nil,c)
g3=Duel.GetMatchingGroup(bm.matfilter2,tp,mz+hz,0,nil,c) g3=Duel.GetMatchingGroup(bm.matfilter2,tp,mz+ha,0,nil,c)
end end
local pe=Duel.IsPlayerAffectedByEffect(tp,EFFECT_MUST_BE_SMATERIAL) local pe=Duel.IsPlayerAffectedByEffect(tp,EFFECT_MUST_BE_SMATERIAL)
local lv=c:GetLevel() local lv=c:GetLevel()
......
--统合骑士团的纹章 --统合骑士团的纹章
if not pcall(function() require("expansions/script/c23000400") end) then Duel.LoadScript("c23000400")
if not pcall(function() require("script/c23000400") end) then
require("c23000400")
end
end
local m1=23000400 local m1=23000400
local bm = _G["c"..m1] local bm = _G["c"..m1]
local tcode=0x364 local tcode=0x364
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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