Commit da50e168 authored by POLYMER's avatar POLYMER

fix

parent 9d13bd03
--被遗忘的研究 收容物不死身凤凰 --被遗忘的研究 收容物不死身凤凰
function c4348000.initial_effect(c) function c43480000.initial_effect(c)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
--special summon --special summon
...@@ -7,18 +7,18 @@ function c4348000.initial_effect(c) ...@@ -7,18 +7,18 @@ function c4348000.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE) e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,4348000) e1:SetCountLimit(1,43480000)
e1:SetCondition(c4348000.pspcon) e1:SetCondition(c43480000.pspcon)
e1:SetTarget(c4348000.psptg) e1:SetTarget(c43480000.psptg)
e1:SetOperation(c4348000.pspop) e1:SetOperation(c43480000.pspop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--des --des
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c4348000.destg) e1:SetTarget(c43480000.destg)
e1:SetOperation(c4348000.desop) e1:SetOperation(c43480000.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
...@@ -30,32 +30,32 @@ function c4348000.initial_effect(c) ...@@ -30,32 +30,32 @@ function c4348000.initial_effect(c)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,4348001) e2:SetCountLimit(1,43480001)
e2:SetTarget(c4348000.eqtg) e2:SetTarget(c43480000.eqtg)
e2:SetOperation(c4348000.eqop) e2:SetOperation(c43480000.eqop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--SpecialSummon --SpecialSummon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,4348002) e3:SetCountLimit(1,43480002)
e3:SetCondition(c4348000.spcon) e3:SetCondition(c43480000.spcon)
e3:SetTarget(c4348000.sptg) e3:SetTarget(c43480000.sptg)
e3:SetOperation(c4348000.spop) e3:SetOperation(c43480000.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c4348000.cfilter(c) function c43480000.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x3f13) return c:IsFaceup() and c:IsSetCard(0x3f13)
end end
function c4348000.pspcon(e,tp,eg,ep,ev,re,r,rp) function c43480000.pspcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c4348000.cfilter,tp,LOCATION_MZONE,0,1,nil) or Duel.IsEnvironment(4348070,tp) return Duel.IsExistingMatchingCard(c43480000.cfilter,tp,LOCATION_MZONE,0,1,nil) or Duel.IsEnvironment(4348070,tp)
end end
function c4348000.psptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480000.psptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c4348000.pspop(e,tp,eg,ep,ev,re,r,rp) function c43480000.pspop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP)
...@@ -71,36 +71,36 @@ function c4348000.pspop(e,tp,eg,ep,ev,re,r,rp) ...@@ -71,36 +71,36 @@ function c4348000.pspop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
function c4348000.desfil(c) function c43480000.desfil(c)
return not (c:IsFaceup() and c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM)) return not (c:IsFaceup() and c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM))
end end
function c4348000.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480000.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local dg=Duel.GetMatchingGroup(c4348000.desfil,tp,LOCATION_MZONE,0,nil) local dg=Duel.GetMatchingGroup(c43480000.desfil,tp,LOCATION_MZONE,0,nil)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,dg,dg:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,dg,dg:GetCount(),0,0)
end end
function c4348000.desop(e,tp,eg,ep,ev,re,r,rp) function c43480000.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local p=tp local p=tp
if Duel.IsPlayerAffectedByEffect(tp,4348050) then p=1-tp end if Duel.IsPlayerAffectedByEffect(tp,43480050) then p=1-tp end
local dg=Duel.GetMatchingGroup(c4348000.desfil,p,LOCATION_MZONE,0,nil) local dg=Duel.GetMatchingGroup(c43480000.desfil,p,LOCATION_MZONE,0,nil)
if dg:GetCount()>0 then if dg:GetCount()>0 then
Duel.Destroy(dg,REASON_EFFECT) Duel.Destroy(dg,REASON_EFFECT)
end end
end end
function c4348000.eqfil(c) function c43480000.eqfil(c)
return c:IsFaceup() and c:IsSetCard(0x3f13) and c:IsType(TYPE_LINK) return c:IsFaceup() and c:IsSetCard(0x3f13) and c:IsType(TYPE_LINK)
end end
function c4348000.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c43480000.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c4348000.eqfil(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c43480000.eqfil(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(c4348000.eqfil,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(c43480000.eqfil,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c4348000.eqfil,tp,LOCATION_MZONE,0,1,1,nil) Duel.SelectTarget(tp,c43480000.eqfil,tp,LOCATION_MZONE,0,1,1,nil)
end end
function c4348000.eeqfil(c) function c43480000.eeqfil(c)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) return c:IsFaceup() and c:IsType(TYPE_PENDULUM)
end end
function c4348000.eqop(e,tp,eg,ep,ev,re,r,rp) function c43480000.eqop(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 c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
...@@ -115,10 +115,10 @@ function c4348000.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -115,10 +115,10 @@ function c4348000.eqop(e,tp,eg,ep,ev,re,r,rp)
return c==e:GetLabelObject() end) return c==e:GetLabelObject() end)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1) c:RegisterEffect(e1)
if tc:GetEquipCount()==1 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingMatchingCard(c4348000.eeqfil,tp,LOCATION_EXTRA,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(4348000,0)) then if tc:GetEquipCount()==1 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingMatchingCard(c43480000.eeqfil,tp,LOCATION_EXTRA,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(43480000,0)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local ec=Duel.SelectMatchingCard(tp,c4348000.eeqfil,tp,LOCATION_EXTRA,0,1,1,nil):GetFirst() local ec=Duel.SelectMatchingCard(tp,c43480000.eeqfil,tp,LOCATION_EXTRA,0,1,1,nil):GetFirst()
Duel.Equip(tp,ec,tc) Duel.Equip(tp,ec,tc)
--equip limit --equip limit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -133,10 +133,10 @@ function c4348000.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -133,10 +133,10 @@ function c4348000.eqop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
end end
function c4348000.spcon(e,tp,eg,ep,ev,re,r,rp) function c43480000.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipTarget()~=nil return e:GetHandler():GetEquipTarget()~=nil
end end
function c4348000.spfil(c,e,tp) function c43480000.spfil(c,e,tp)
if not (c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0x3f13) and c:IsFaceup()) then return false end if not (c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0x3f13) and c:IsFaceup()) then return false end
if c:IsLocation(LOCATION_EXTRA) then if c:IsLocation(LOCATION_EXTRA) then
return Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 return Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
...@@ -144,13 +144,13 @@ function c4348000.spfil(c,e,tp) ...@@ -144,13 +144,13 @@ function c4348000.spfil(c,e,tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
end end
function c4348000.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480000.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c4348000.spfil,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingMatchingCard(c43480000.spfil,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_EXTRA)
end end
function c4348000.spop(e,tp,eg,ep,ev,re,r,rp) function c43480000.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.SelectMatchingCard(tp,c4348000.spfil,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil,e,tp) local tc=Duel.SelectMatchingCard(tp,c43480000.spfil,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil,e,tp)
if tc then if tc then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end end
......
--被遗忘的研究 收容物无尽繁衍之兔 --被遗忘的研究 收容物无尽繁衍之兔
function c4348005.initial_effect(c) function c43480005.initial_effect(c)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
--special summon --special summon
...@@ -7,18 +7,18 @@ function c4348005.initial_effect(c) ...@@ -7,18 +7,18 @@ function c4348005.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE) e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,4348005) e1:SetCountLimit(1,43480005)
e1:SetCondition(c4348005.pspcon) e1:SetCondition(c43480005.pspcon)
e1:SetTarget(c4348005.psptg) e1:SetTarget(c43480005.psptg)
e1:SetOperation(c4348005.pspop) e1:SetOperation(c43480005.pspop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--des --des
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c4348005.destg) e1:SetTarget(c43480005.destg)
e1:SetOperation(c4348005.desop) e1:SetOperation(c43480005.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
...@@ -30,35 +30,35 @@ function c4348005.initial_effect(c) ...@@ -30,35 +30,35 @@ function c4348005.initial_effect(c)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_HAND+LOCATION_EXTRA) e2:SetRange(LOCATION_HAND+LOCATION_EXTRA)
e2:SetCountLimit(1,4348006) e2:SetCountLimit(1,43480006)
e2:SetCondition(c4348005.spcon) e2:SetCondition(c43480005.spcon)
e2:SetTarget(c4348005.sptg) e2:SetTarget(c43480005.sptg)
e2:SetOperation(c4348005.spop) e2:SetOperation(c43480005.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--token --token
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN) e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,4348007) e3:SetCountLimit(1,43480007)
e3:SetCondition(function(e) e3:SetCondition(function(e)
return e:GetHandler():GetEquipTarget()~=nil end) return e:GetHandler():GetEquipTarget()~=nil end)
e3:SetTarget(c4348005.tktg) e3:SetTarget(c43480005.tktg)
e3:SetOperation(c4348005.tkop) e3:SetOperation(c43480005.tkop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c4348005.cfilter(c) function c43480005.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x3f13) return c:IsFaceup() and c:IsSetCard(0x3f13)
end end
function c4348005.pspcon(e,tp,eg,ep,ev,re,r,rp) function c43480005.pspcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c4348005.cfilter,tp,LOCATION_MZONE,0,1,nil) or Duel.IsEnvironment(4348070,tp) return Duel.IsExistingMatchingCard(c43480005.cfilter,tp,LOCATION_MZONE,0,1,nil) or Duel.IsEnvironment(43480070,tp)
end end
function c4348005.psptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480005.psptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
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 c4348005.pspop(e,tp,eg,ep,ev,re,r,rp) function c43480005.pspop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP)
...@@ -74,47 +74,47 @@ function c4348005.pspop(e,tp,eg,ep,ev,re,r,rp) ...@@ -74,47 +74,47 @@ function c4348005.pspop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
function c4348005.desfil(c) function c43480005.desfil(c)
return not (c:IsFaceup() and c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM)) return not (c:IsFaceup() and c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM))
end end
function c4348005.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480005.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local dg=Duel.GetMatchingGroup(c4348005.desfil,tp,LOCATION_MZONE,0,nil) local dg=Duel.GetMatchingGroup(c43480005.desfil,tp,LOCATION_MZONE,0,nil)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,dg,dg:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,dg,dg:GetCount(),0,0)
end end
function c4348005.desop(e,tp,eg,ep,ev,re,r,rp) function c43480005.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local p=tp local p=tp
if Duel.IsPlayerAffectedByEffect(tp,4348050) then p=1-tp end if Duel.IsPlayerAffectedByEffect(tp,43480050) then p=1-tp end
local dg=Duel.GetMatchingGroup(c4348005.desfil,p,LOCATION_MZONE,0,nil) local dg=Duel.GetMatchingGroup(c43480005.desfil,p,LOCATION_MZONE,0,nil)
if dg:GetCount()>0 then if dg:GetCount()>0 then
Duel.Destroy(dg,REASON_EFFECT) Duel.Destroy(dg,REASON_EFFECT)
end end
end end
function c4348005.spckfil(c,tp) function c43480005.spckfil(c,tp)
return c:IsSummonPlayer(tp) and c:IsFaceup() and c:IsSetCard(0x3f13) return c:IsSummonPlayer(tp) and c:IsFaceup() and c:IsSetCard(0x3f13)
end end
function c4348005.spcon(e,tp,eg,ep,ev,re,r,rp) function c43480005.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c4348005.spckfil,1,nil,tp) return eg:IsExists(c43480005.spckfil,1,nil,tp)
end end
function c4348005.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480005.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=e:GetHandler():IsLocation(LOCATION_HAND) and Duel.GetLocationCount(tp,LOCATION_MZONE)>=2 local b1=e:GetHandler():IsLocation(LOCATION_HAND) and Duel.GetLocationCount(tp,LOCATION_MZONE)>=2
local b2=e:GetHandler():IsLocation(LOCATION_EXTRA) and e:GetHandler():IsFaceup() and Duel.GetLocationCountFromEx(tp,tp,nil,e:GetHandler())+Duel.GetMZoneCount(tp)>=2 local b2=e:GetHandler():IsLocation(LOCATION_EXTRA) and e:GetHandler():IsFaceup() and Duel.GetLocationCountFromEx(tp,tp,nil,e:GetHandler())+Duel.GetMZoneCount(tp)>=2
if chk==0 then return (b1 or b2) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsPlayerCanSpecialSummonMonster(tp,4348006,0x3f13,TYPES_TOKEN_MONSTER,0,0,1,RACE_BEAST,ATTRIBUTE_LIGHT) end if chk==0 then return (b1 or b2) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsPlayerCanSpecialSummonMonster(tp,43480006,0x3f13,TYPES_TOKEN_MONSTER,0,0,1,RACE_BEAST,ATTRIBUTE_LIGHT) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),2,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),2,0,0)
end end
function c4348005.spop(e,tp,eg,ep,ev,re,r,rp) function c43480005.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,4348006,0x3f13,TYPES_TOKEN_MONSTER,0,0,1,RACE_BEAST,ATTRIBUTE_LIGHT) then if ft>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,43480006,0x3f13,TYPES_TOKEN_MONSTER,0,0,1,RACE_BEAST,ATTRIBUTE_LIGHT) then
Duel.BreakEffect() Duel.BreakEffect()
local token=Duel.CreateToken(tp,4348006) local token=Duel.CreateToken(tp,43480006)
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
...@@ -140,17 +140,17 @@ function c4348005.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -140,17 +140,17 @@ function c4348005.spop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c4348005.tktg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480005.tktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,4348006,0x3f13,TYPES_TOKEN_MONSTER,0,0,1,RACE_ROCK,ATTRIBUTE_LIGHT) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,43480006,0x3f13,TYPES_TOKEN_MONSTER,0,0,1,RACE_ROCK,ATTRIBUTE_LIGHT) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end end
function c4348005.tkop(e,tp,eg,ep,ev,re,r,rp) function c43480005.tkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,4348006,0x3f13,TYPES_TOKEN_MONSTER,0,0,1,RACE_BEAST,ATTRIBUTE_LIGHT) then if ft>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,43480006,0x3f13,TYPES_TOKEN_MONSTER,0,0,1,RACE_BEAST,ATTRIBUTE_LIGHT) then
local token=Duel.CreateToken(tp,4348006) local token=Duel.CreateToken(tp,43480006)
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
......
--被遗忘的研究 收容物仿人之镜 --被遗忘的研究 收容物仿人之镜
function c4348010.initial_effect(c) function c43480010.initial_effect(c)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
--special summon --special summon
...@@ -7,18 +7,18 @@ function c4348010.initial_effect(c) ...@@ -7,18 +7,18 @@ function c4348010.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE) e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,4348010) e1:SetCountLimit(1,43480010)
e1:SetCondition(c4348010.pspcon) e1:SetCondition(c43480010.pspcon)
e1:SetTarget(c4348010.psptg) e1:SetTarget(c43480010.psptg)
e1:SetOperation(c4348010.pspop) e1:SetOperation(c43480010.pspop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--des --des
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c4348010.destg) e1:SetTarget(c43480010.destg)
e1:SetOperation(c4348010.desop) e1:SetOperation(c43480010.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
...@@ -30,35 +30,35 @@ function c4348010.initial_effect(c) ...@@ -30,35 +30,35 @@ function c4348010.initial_effect(c)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_HAND+LOCATION_EXTRA) e2:SetRange(LOCATION_HAND+LOCATION_EXTRA)
e2:SetCountLimit(1,4348011) e2:SetCountLimit(1,43480011)
e2:SetCondition(c4348010.eqcon) e2:SetCondition(c43480010.eqcon)
e2:SetTarget(c4348010.eqtg) e2:SetTarget(c43480010.eqtg)
e2:SetOperation(c4348010.eqop) e2:SetOperation(c43480010.eqop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--copy --copy
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,4348012) e3:SetCountLimit(1,43480012)
e3:SetCondition(function(e) e3:SetCondition(function(e)
return e:GetHandler():GetEquipTarget()~=nil end) return e:GetHandler():GetEquipTarget()~=nil end)
e3:SetCost(c4348010.cpcost) e3:SetCost(c43480010.cpcost)
e3:SetTarget(c4348010.cptg) e3:SetTarget(c43480010.cptg)
e3:SetOperation(c4348010.cpop) e3:SetOperation(c43480010.cpop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c4348010.cfilter(c) function c43480010.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x3f13) return c:IsFaceup() and c:IsSetCard(0x3f13)
end end
function c4348010.pspcon(e,tp,eg,ep,ev,re,r,rp) function c43480010.pspcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c4348010.cfilter,tp,LOCATION_MZONE,0,1,nil) or Duel.IsEnvironment(4348070,tp) return Duel.IsExistingMatchingCard(c43480010.cfilter,tp,LOCATION_MZONE,0,1,nil) or Duel.IsEnvironment(43480070,tp)
end end
function c4348010.psptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480010.psptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
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 c4348010.pspop(e,tp,eg,ep,ev,re,r,rp) function c43480010.pspop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP)
...@@ -74,39 +74,39 @@ function c4348010.pspop(e,tp,eg,ep,ev,re,r,rp) ...@@ -74,39 +74,39 @@ function c4348010.pspop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
function c4348010.desfil(c) function c43480010.desfil(c)
return not (c:IsFaceup() and c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM)) return not (c:IsFaceup() and c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM))
end end
function c4348010.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480010.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local dg=Duel.GetMatchingGroup(c4348010.desfil,tp,LOCATION_MZONE,0,nil) local dg=Duel.GetMatchingGroup(c43480010.desfil,tp,LOCATION_MZONE,0,nil)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,dg,dg:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,dg,dg:GetCount(),0,0)
end end
function c4348010.desop(e,tp,eg,ep,ev,re,r,rp) function c43480010.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local p=tp local p=tp
if Duel.IsPlayerAffectedByEffect(tp,4348050) then p=1-tp end if Duel.IsPlayerAffectedByEffect(tp,43480050) then p=1-tp end
local dg=Duel.GetMatchingGroup(c4348010.desfil,p,LOCATION_MZONE,0,nil) local dg=Duel.GetMatchingGroup(c43480010.desfil,p,LOCATION_MZONE,0,nil)
if dg:GetCount()>0 then if dg:GetCount()>0 then
Duel.Destroy(dg,REASON_EFFECT) Duel.Destroy(dg,REASON_EFFECT)
end end
end end
function c4348010.xckfil(c,tp) function c43480010.xckfil(c,tp)
return c:IsSummonPlayer(tp) and c:IsFaceup() and c:IsSetCard(0x3f13) return c:IsSummonPlayer(tp) and c:IsFaceup() and c:IsSetCard(0x3f13)
end end
function c4348010.eqcon(e,tp,eg,ep,ev,re,r,rp) function c43480010.eqcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c4348010.xckfil,1,nil,tp) return eg:IsExists(c43480010.xckfil,1,nil,tp)
end end
function c4348010.eqfil(c) function c43480010.eqfil(c)
return c:IsFaceup() and c:IsSetCard(0x3f13) and not c:IsType(TYPE_PENDULUM) return c:IsFaceup() and c:IsSetCard(0x3f13) and not c:IsType(TYPE_PENDULUM)
end end
function c4348010.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c43480010.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c4348010.eqfil(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c43480010.eqfil(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(c4348010.eqfil,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(c43480010.eqfil,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c4348010.eqfil,tp,LOCATION_MZONE,0,1,1,nil) Duel.SelectTarget(tp,c43480010.eqfil,tp,LOCATION_MZONE,0,1,1,nil)
end end
function c4348010.eqop(e,tp,eg,ep,ev,re,r,rp) function c43480010.eqop(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 c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
...@@ -123,22 +123,22 @@ function c4348010.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -123,22 +123,22 @@ function c4348010.eqop(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
function c4348010.cpfilter(c) function c43480010.cpfilter(c)
return c:GetType()==TYPE_SPELL and c:IsSetCard(0x3f13) and c:IsAbleToRemoveAsCost() and c:CheckActivateEffect(true,true,false)~=nil return c:GetType()==TYPE_SPELL and c:IsSetCard(0x3f13) and c:IsAbleToRemoveAsCost() and c:CheckActivateEffect(true,true,false)~=nil
end end
function c4348010.cpcost(e,tp,eg,ep,ev,re,r,rp,chk) function c43480010.cpcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1) e:SetLabel(1)
if chk==0 then return true end if chk==0 then return true end
end end
function c4348010.cptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480010.cptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
if e:GetLabel()==0 then return false end if e:GetLabel()==0 then return false end
e:SetLabel(0) e:SetLabel(0)
return Duel.IsExistingMatchingCard(c4348010.cpfilter,tp,LOCATION_DECK,0,1,nil) return Duel.IsExistingMatchingCard(c43480010.cpfilter,tp,LOCATION_DECK,0,1,nil)
end end
e:SetLabel(0) e:SetLabel(0)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c4348010.cpfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c43480010.cpfilter,tp,LOCATION_DECK,0,1,1,nil)
local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(true,true,true) local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(true,true,true)
Duel.Remove(g,POS_FACEUP,REASON_COST) Duel.Remove(g,POS_FACEUP,REASON_COST)
e:SetProperty(te:GetProperty()) e:SetProperty(te:GetProperty())
...@@ -148,7 +148,7 @@ function c4348010.cptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -148,7 +148,7 @@ function c4348010.cptg(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabelObject(te) e:SetLabelObject(te)
Duel.ClearOperationInfo(0) Duel.ClearOperationInfo(0)
end end
function c4348010.cpop(e,tp,eg,ep,ev,re,r,rp) function c43480010.cpop(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject() local te=e:GetLabelObject()
if te then if te then
e:SetLabelObject(te:GetLabelObject()) e:SetLabelObject(te:GetLabelObject())
......
--被遗忘的研究 收容物吞噬星空之虫 --被遗忘的研究 收容物吞噬星空之虫
function c4348015.initial_effect(c) function c43480015.initial_effect(c)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
--special summon --special summon
...@@ -7,18 +7,18 @@ function c4348015.initial_effect(c) ...@@ -7,18 +7,18 @@ function c4348015.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE) e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,4348015) e1:SetCountLimit(1,43480015)
e1:SetCondition(c4348015.pspcon) e1:SetCondition(c43480015.pspcon)
e1:SetTarget(c4348015.psptg) e1:SetTarget(c43480015.psptg)
e1:SetOperation(c4348015.pspop) e1:SetOperation(c43480015.pspop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--des --des
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c4348015.destg) e1:SetTarget(c43480015.destg)
e1:SetOperation(c4348015.desop) e1:SetOperation(c43480015.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
...@@ -31,9 +31,9 @@ function c4348015.initial_effect(c) ...@@ -31,9 +31,9 @@ function c4348015.initial_effect(c)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER) e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,4348016) e2:SetCountLimit(1,43480016)
e2:SetTarget(c4348015.ratg) e2:SetTarget(c43480015.ratg)
e2:SetOperation(c4348015.raop) e2:SetOperation(c43480015.raop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--equip --equip
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -41,62 +41,62 @@ function c4348015.initial_effect(c) ...@@ -41,62 +41,62 @@ function c4348015.initial_effect(c)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET) e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,4348017) e3:SetCountLimit(1,43480017)
e3:SetCondition(function(e) e3:SetCondition(function(e)
return e:GetHandler():GetEquipTarget()~=nil end) return e:GetHandler():GetEquipTarget()~=nil end)
e3:SetTarget(c4348015.eqtg) e3:SetTarget(c43480015.eqtg)
e3:SetOperation(c4348015.eqop) e3:SetOperation(c43480015.eqop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c4348015.cfilter(c) function c43480015.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x3f13) return c:IsFaceup() and c:IsSetCard(0x3f13)
end end
function c4348015.pspcon(e,tp,eg,ep,ev,re,r,rp) function c43480015.pspcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c4348015.cfilter,tp,LOCATION_MZONE,0,1,nil) or Duel.IsEnvironment(4348070,tp) return Duel.IsExistingMatchingCard(c43480015.cfilter,tp,LOCATION_MZONE,0,1,nil) or Duel.IsEnvironment(43480070,tp)
end end
function c4348015.psptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480015.psptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
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 c4348015.pspop(e,tp,eg,ep,ev,re,r,rp) function c43480015.pspop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if 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 c4348015.desfil(c) function c43480015.desfil(c)
return not (c:IsFaceup() and c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM)) return not (c:IsFaceup() and c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM))
end end
function c4348015.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480015.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local dg=Duel.GetMatchingGroup(c4348015.desfil,tp,LOCATION_MZONE,0,nil) local dg=Duel.GetMatchingGroup(c43480015.desfil,tp,LOCATION_MZONE,0,nil)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,dg,dg:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,dg,dg:GetCount(),0,0)
end end
function c4348015.desop(e,tp,eg,ep,ev,re,r,rp) function c43480015.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local p=tp local p=tp
if Duel.IsPlayerAffectedByEffect(tp,4348050) then p=1-tp end if Duel.IsPlayerAffectedByEffect(tp,43480050) then p=1-tp end
local dg=Duel.GetMatchingGroup(c4348015.desfil,p,LOCATION_MZONE,0,nil) local dg=Duel.GetMatchingGroup(c43480015.desfil,p,LOCATION_MZONE,0,nil)
if dg:GetCount()>0 then if dg:GetCount()>0 then
Duel.Destroy(dg,REASON_EFFECT) Duel.Destroy(dg,REASON_EFFECT)
end end
end end
function c4348015.rlfil1(c) function c43480015.rlfil1(c)
return c:GetOriginalType()&TYPE_MONSTER~=0 and c:GetTextAttack()>0 return c:GetOriginalType()&TYPE_MONSTER~=0 and c:GetTextAttack()>0
end end
function c4348015.rlfil2(c) function c43480015.rlfil2(c)
return c:IsReleasableByEffect() return c:IsReleasableByEffect()
end end
function c4348015.ratg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c43480015.ratg(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(c4348015.rlfil1,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) and Duel.IsExistingTarget(c4348015.rlfil2,tp,0,LOCATION_MZONE,1,e:GetHandler()) end if chk==0 then return Duel.IsExistingTarget(c43480015.rlfil1,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) and Duel.IsExistingTarget(c43480015.rlfil2,tp,0,LOCATION_MZONE,1,e:GetHandler()) end
local g1=Duel.SelectTarget(tp,c4348015.rlfil1,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler()) local g1=Duel.SelectTarget(tp,c43480015.rlfil1,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler())
local g2=Duel.SelectTarget(tp,c4348015.rlfil2,tp,0,LOCATION_MZONE,1,1,nil) local g2=Duel.SelectTarget(tp,c43480015.rlfil2,tp,0,LOCATION_MZONE,1,1,nil)
g1:Merge(g2) g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_RELEASE,g1,g1:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_RELEASE,g1,g1:GetCount(),0,0)
end end
function c4348015.raop(e,tp,eg,ep,ev,re,r,rp) function c43480015.raop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g:GetCount()==2 and Duel.Release(g,REASON_EFFECT)==2 and c:IsRelateToEffect(e) and c:IsFaceup() then if g:GetCount()==2 and Duel.Release(g,REASON_EFFECT)==2 and c:IsRelateToEffect(e) and c:IsFaceup() then
...@@ -109,16 +109,16 @@ function c4348015.raop(e,tp,eg,ep,ev,re,r,rp) ...@@ -109,16 +109,16 @@ function c4348015.raop(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
function c4348015.eqfil(c) function c43480015.eqfil(c)
return c:IsFaceup() and c:IsSetCard(0x3f13) and c:GetOriginalType()&TYPE_PENDULUM~=0 return c:IsFaceup() and c:IsSetCard(0x3f13) and c:GetOriginalType()&TYPE_PENDULUM~=0
end end
function c4348015.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c43480015.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_ONFIELD) and chkc:IsControler(tp) and c4348015.eqfil(chkc) and chkc~=e:GetHandler() end if chkc then return chkc:IsLocation(LOCATION_ONFIELD) and chkc:IsControler(tp) and c43480015.eqfil(chkc) and chkc~=e:GetHandler() end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(c4348015.eqfil,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(c43480015.eqfil,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c4348015.eqfil,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler()) Duel.SelectTarget(tp,c43480015.eqfil,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler())
end end
function c4348015.eqop(e,tp,eg,ep,ev,re,r,rp) function c43480015.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
local ec=c:GetEquipTarget() local ec=c:GetEquipTarget()
......
--被遗忘的研究 星空的伪物 --被遗忘的研究 星空的伪物
function c4348020.initial_effect(c) function c43480020.initial_effect(c)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
--special summon --special summon
...@@ -7,18 +7,18 @@ function c4348020.initial_effect(c) ...@@ -7,18 +7,18 @@ function c4348020.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE) e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,4348020) e1:SetCountLimit(1,43480020)
e1:SetCondition(c4348020.pspcon) e1:SetCondition(c43480020.pspcon)
e1:SetTarget(c4348020.psptg) e1:SetTarget(c43480020.psptg)
e1:SetOperation(c4348020.pspop) e1:SetOperation(c43480020.pspop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--des --des
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c4348020.destg) e1:SetTarget(c43480020.destg)
e1:SetOperation(c4348020.desop) e1:SetOperation(c43480020.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
...@@ -29,8 +29,8 @@ function c4348020.initial_effect(c) ...@@ -29,8 +29,8 @@ function c4348020.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_EXTRA_LINK_MATERIAL) e2:SetCode(EFFECT_EXTRA_LINK_MATERIAL)
e2:SetRange(LOCATION_HAND) e2:SetRange(LOCATION_HAND)
e2:SetCountLimit(1,4348021) e2:SetCountLimit(1,43480021)
e2:SetValue(c4348020.matval) e2:SetValue(c43480020.matval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--SpecialSummon --SpecialSummon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -38,67 +38,67 @@ function c4348020.initial_effect(c) ...@@ -38,67 +38,67 @@ function c4348020.initial_effect(c)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET) e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,4348022) e3:SetCountLimit(1,43480022)
e3:SetCondition(function(e) e3:SetCondition(function(e)
return e:GetHandler():GetEquipTarget()~=nil end) return e:GetHandler():GetEquipTarget()~=nil end)
e3:SetTarget(c4348020.sptg) e3:SetTarget(c43480020.sptg)
e3:SetOperation(c4348020.spop) e3:SetOperation(c43480020.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c4348020.cfilter(c) function c43480020.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x3f13) return c:IsFaceup() and c:IsSetCard(0x3f13)
end end
function c4348020.pspcon(e,tp,eg,ep,ev,re,r,rp) function c43480020.pspcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c4348020.cfilter,tp,LOCATION_MZONE,0,1,nil) or Duel.IsEnvironment(4348070,tp) return Duel.IsExistingMatchingCard(c43480020.cfilter,tp,LOCATION_MZONE,0,1,nil) or Duel.IsEnvironment(4348070,tp)
end end
function c4348020.psptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480020.psptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
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 c4348020.pspop(e,tp,eg,ep,ev,re,r,rp) function c43480020.pspop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if 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 c4348020.desfil(c) function c43480020.desfil(c)
return not (c:IsFaceup() and c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM)) return not (c:IsFaceup() and c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM))
end end
function c4348020.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480020.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local dg=Duel.GetMatchingGroup(c4348020.desfil,tp,LOCATION_MZONE,0,nil) local dg=Duel.GetMatchingGroup(c43480020.desfil,tp,LOCATION_MZONE,0,nil)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,dg,dg:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,dg,dg:GetCount(),0,0)
end end
function c4348020.desop(e,tp,eg,ep,ev,re,r,rp) function c43480020.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local p=tp local p=tp
if Duel.IsPlayerAffectedByEffect(tp,4348050) then p=1-tp end if Duel.IsPlayerAffectedByEffect(tp,43480050) then p=1-tp end
local dg=Duel.GetMatchingGroup(c4348020.desfil,p,LOCATION_MZONE,0,nil) local dg=Duel.GetMatchingGroup(c43480020.desfil,p,LOCATION_MZONE,0,nil)
if dg:GetCount()>0 then if dg:GetCount()>0 then
Duel.Destroy(dg,REASON_EFFECT) Duel.Destroy(dg,REASON_EFFECT)
end end
end end
function c4348020.mfilter(c,tp) function c43480020.mfilter(c,tp)
return c:IsLocation(LOCATION_MZONE) and c:IsSetCard(0x3f13) and c:IsControler(tp) return c:IsLocation(LOCATION_MZONE) and c:IsSetCard(0x3f13) and c:IsControler(tp)
end end
function c4348020.exmfilter(c) function c43480020.exmfilter(c)
return c:IsLocation(LOCATION_HAND) and c:IsCode(4348020) return c:IsLocation(LOCATION_HAND) and c:IsCode(43480020)
end end
function c4348020.matval(e,lc,mg,c,tp) function c43480020.matval(e,lc,mg,c,tp)
if not lc:IsSetCard(0x3f13) then return false,nil end if not lc:IsSetCard(0x3f13) then return false,nil end
return true,not mg or mg:IsExists(c4348020.mfilter,1,nil,tp) and not mg:IsExists(c4348020.exmfilter,1,nil) return true,not mg or mg:IsExists(c43480020.mfilter,1,nil,tp) and not mg:IsExists(c43480020.exmfilter,1,nil)
end end
function c4348020.spfil(c,e,tp) function c43480020.spfil(c,e,tp)
return c:IsFaceup() and c:GetOriginalType()&TYPE_PENDULUM ~= 0 and c:IsSetCard(0x3f13) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) return c:IsFaceup() and c:GetOriginalType()&TYPE_PENDULUM ~= 0 and c:IsSetCard(0x3f13) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
end end
function c4348020.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c43480020.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_SZONE) and c4348020.spfil(chkc,e,tp) and chkc~=e:GetHandler() end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_SZONE) and c43480020.spfil(chkc,e,tp) and chkc~=e:GetHandler() end
if chk==0 then return Duel.IsExistingTarget(c4348020.spfil,tp,LOCATION_SZONE+LOCATION_PZONE,0,1,e:GetHandler(),e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end if chk==0 then return Duel.IsExistingTarget(c43480020.spfil,tp,LOCATION_SZONE+LOCATION_PZONE,0,1,e:GetHandler(),e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local g=Duel.SelectTarget(tp,c4348020.spfil,tp,LOCATION_SZONE+LOCATION_PZONE,0,1,1,e:GetHandler(),e,tp) local g=Duel.SelectTarget(tp,c43480020.spfil,tp,LOCATION_SZONE+LOCATION_PZONE,0,1,1,e:GetHandler(),e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,g:GetCount(),0,0)
end end
function c4348020.spop(e,tp,eg,ep,ev,re,r,rp) function c43480020.spop(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.GetLocationCount(tp,LOCATION_MZONE)>0 then if tc:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
......
--被遗忘的研究者 无洺 --被遗忘的研究者 无洺
function c4348025.initial_effect(c) function c43480025.initial_effect(c)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,4348025) e1:SetCountLimit(1,43480025)
e1:SetCondition(c4348025.spcon) e1:SetCondition(c43480025.spcon)
e1:SetCost(c4348025.spcost) e1:SetCost(c43480025.spcost)
e1:SetTarget(c4348025.sptg) e1:SetTarget(c43480025.sptg)
e1:SetOperation(c4348025.spop) e1:SetOperation(c43480025.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--SpecialSummon --SpecialSummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -17,9 +17,9 @@ function c4348025.initial_effect(c) ...@@ -17,9 +17,9 @@ function c4348025.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,4348026) e2:SetCountLimit(1,43480026)
e2:SetTarget(c4348025.psptg) e2:SetTarget(c43480025.psptg)
e2:SetOperation(c4348025.pspop) e2:SetOperation(c43480025.pspop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--indes --indes
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -32,37 +32,37 @@ function c4348025.initial_effect(c) ...@@ -32,37 +32,37 @@ function c4348025.initial_effect(c)
e3:SetValue(1) e3:SetValue(1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c4348025.cfilter(c) function c43480025.cfilter(c)
return c:IsFacedown() or not c:IsSetCard(0x3f13) return c:IsFacedown() or not c:IsSetCard(0x3f13)
end end
function c4348025.spcon(e,tp,eg,ep,ev,re,r,rp) function c43480025.spcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c4348025.cfilter,tp,LOCATION_MZONE,0,1,nil) return not Duel.IsExistingMatchingCard(c43480025.cfilter,tp,LOCATION_MZONE,0,1,nil)
end end
function c4348025.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c43480025.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD,e:GetHandler()) Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD,e:GetHandler())
end end
function c4348025.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480025.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
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 c4348025.spop(e,tp,eg,ep,ev,re,r,rp) function c43480025.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 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 c4348025.pspfil(c,e,tp) function c43480025.pspfil(c,e,tp)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsSetCard(0x3f13) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsSetCard(0x3f13) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c4348025.psptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c43480025.psptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_PZONE) and c4348025.pspfil(chkc,e,tp) end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_PZONE) and c43480025.pspfil(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingTarget(c4348025.pspfil,tp,LOCATION_PZONE,0,1,nil,e,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingTarget(c43480025.pspfil,tp,LOCATION_PZONE,0,1,nil,e,tp) end
local g=Duel.SelectTarget(tp,c4348025.pspfil,tp,LOCATION_PZONE,0,1,1,nil,e,tp) local g=Duel.SelectTarget(tp,c43480025.pspfil,tp,LOCATION_PZONE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,g:GetCount(),0,0)
end end
function c4348025.pspop(e,tp,eg,ep,ev,re,r,rp) function c43480025.pspop(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.GetLocationCount(tp,LOCATION_MZONE)>0 then if tc:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
......
--被遗忘的研究者 夏露 --被遗忘的研究者 夏露
function c4348030.initial_effect(c) function c43480030.initial_effect(c)
--spe --spe
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(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+LOCATION_GRAVE) e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCountLimit(1,4348030) e1:SetCountLimit(1,43480030)
e1:SetTarget(c4348030.spetg) e1:SetTarget(c43480030.spetg)
e1:SetOperation(c4348030.speop) e1:SetOperation(c43480030.speop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--pl --pl
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS) e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,4348031) e2:SetCountLimit(1,43480031)
e2:SetTarget(c4348030.pltg) e2:SetTarget(c43480030.pltg)
e2:SetOperation(c4348030.plop) e2:SetOperation(c43480030.plop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone() local e3=e2:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
...@@ -28,23 +28,23 @@ function c4348030.initial_effect(c) ...@@ -28,23 +28,23 @@ function c4348030.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_DESTROY_REPLACE) e2:SetCode(EFFECT_DESTROY_REPLACE)
e2:SetTarget(c4348030.desreptg) e2:SetTarget(c43480030.desreptg)
e2:SetOperation(c4348030.desrepop) e2:SetOperation(c43480030.desrepop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c4348030.eqfil(c,tp) function c43480030.eqfil(c,tp)
return c:IsFaceup() and c:IsSetCard(0x3f13) and c:GetOriginalType()&TYPE_PENDULUM~=0 return c:IsFaceup() and c:IsSetCard(0x3f13) and c:GetOriginalType()&TYPE_PENDULUM~=0
end end
function c4348030.spetg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c43480030.spetg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() local c=e:GetHandler()
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_ONFIELD) and c4348030.eqfil(chkc,tp) end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_ONFIELD) and c43480030.eqfil(chkc,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsExistingTarget(c4348030.eqfil,tp,LOCATION_ONFIELD,0,1,nil,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsExistingTarget(c43480030.eqfil,tp,LOCATION_ONFIELD,0,1,nil,tp) end
local g=Duel.SelectTarget(tp,c4348030.eqfil,tp,LOCATION_ONFIELD,0,1,1,nil,tp) local g=Duel.SelectTarget(tp,c43480030.eqfil,tp,LOCATION_ONFIELD,0,1,1,nil,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end end
function c4348030.speop(e,tp,eg,ep,ev,re,r,rp) function c43480030.speop(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 c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
...@@ -62,39 +62,39 @@ function c4348030.speop(e,tp,eg,ep,ev,re,r,rp) ...@@ -62,39 +62,39 @@ function c4348030.speop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
end end
function c4348030.plfilter(c) function c43480030.plfilter(c)
return c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden() return c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
end end
function c4348030.pltg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480030.pltg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c4348030.plfilter,tp,LOCATION_DECK,0,1,nil) and (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) end if chk==0 then return Duel.IsExistingMatchingCard(c43480030.plfilter,tp,LOCATION_DECK,0,1,nil) and (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) end
end end
function c4348030.plop(e,tp,eg,ep,ev,re,r,rp) function c43480030.plop(e,tp,eg,ep,ev,re,r,rp)
if not (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) then return end if not (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,c4348030.plfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c43480030.plfilter,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true) Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end end
end end
function c4348030.repfilter(c) function c43480030.repfilter(c)
return c:IsLocation(LOCATION_SZONE) and not c:IsStatus(STATUS_DESTROY_CONFIRMED) return c:IsLocation(LOCATION_SZONE) and not c:IsStatus(STATUS_DESTROY_CONFIRMED)
end end
function c4348030.desreptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480030.desreptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then if chk==0 then
local g=c:GetEquipGroup() local g=c:GetEquipGroup()
return not c:IsReason(REASON_REPLACE) and g:IsExists(c4348030.repfilter,1,nil) return not c:IsReason(REASON_REPLACE) and g:IsExists(c43480030.repfilter,1,nil)
end end
if Duel.SelectEffectYesNo(tp,c,96) then if Duel.SelectEffectYesNo(tp,c,96) then
local g=c:GetEquipGroup() local g=c:GetEquipGroup()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local sg=g:FilterSelect(tp,c4348030.repfilter,1,1,nil) local sg=g:FilterSelect(tp,c43480030.repfilter,1,1,nil)
Duel.SetTargetCard(sg) Duel.SetTargetCard(sg)
return true return true
else return false end else return false end
end end
function c4348030.desrepop(e,tp,eg,ep,ev,re,r,rp) function c43480030.desrepop(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
Duel.Destroy(tg,REASON_EFFECT+REASON_REPLACE) Duel.Destroy(tg,REASON_EFFECT+REASON_REPLACE)
end end
......
--被遗忘的研究 夏露德尔塔II形解放 --被遗忘的研究 夏露德尔塔II形解放
function c4348040.initial_effect(c) function c43480040.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,nil,2,99,c4348040.lcheck) aux.AddLinkProcedure(c,nil,2,99,c43480040.lcheck)
c:EnableReviveLimit() c:EnableReviveLimit()
--to hand --to hand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,4348040) e1:SetCountLimit(1,43480040)
e1:SetCost(c4348040.setcost) e1:SetCost(c43480040.setcost)
e1:SetTarget(c4348040.settg) e1:SetTarget(c43480040.settg)
e1:SetOperation(c4348040.setop) e1:SetOperation(c43480040.setop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--te --te
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOEXTRA) e2:SetCategory(CATEGORY_TOEXTRA)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,4348041) e2:SetCountLimit(1,43480041)
e2:SetCost(c4348040.tecost) e2:SetCost(c43480040.tecost)
e2:SetTarget(c4348040.tetg) e2:SetTarget(c43480040.tetg)
e2:SetOperation(c4348040.teop) e2:SetOperation(c43480040.teop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Special Summon --Special Summon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -29,71 +29,71 @@ function c4348040.initial_effect(c) ...@@ -29,71 +29,71 @@ function c4348040.initial_effect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_DESTROYED) e2:SetCode(EVENT_DESTROYED)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,4348042) e2:SetCountLimit(1,43480042)
e2:SetCondition(c4348040.spcon) e2:SetCondition(c43480040.spcon)
e2:SetTarget(c4348040.sptg) e2:SetTarget(c43480040.sptg)
e2:SetOperation(c4348040.spop) e2:SetOperation(c43480040.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c4348040.lcheck(g) function c43480040.lcheck(g)
return g:IsExists(Card.IsLinkSetCard,1,nil,0x3f13) return g:IsExists(Card.IsLinkSetCard,1,nil,0x3f13)
end end
function c4348040.pbfil(c) function c43480040.pbfil(c)
return not c:IsPublic() and c:IsSetCard(0x3f13) return not c:IsPublic() and c:IsSetCard(0x3f13)
end end
function c4348040.setcost(e,tp,eg,ep,ev,re,r,rp,chk) function c43480040.setcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c4348040.pbfil,tp,LOCATION_HAND,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c43480040.pbfil,tp,LOCATION_HAND,0,1,nil) end
local pg=Duel.SelectMatchingCard(tp,c4348040.pbfil,tp,LOCATION_HAND,0,1,1,nil) local pg=Duel.SelectMatchingCard(tp,c43480040.pbfil,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,pg) Duel.ConfirmCards(1-tp,pg)
end end
function c4348040.setfilter(c) function c43480040.setfilter(c)
return c:IsSetCard(0x3f13) and c:IsType(TYPE_TRAP) and c:IsSSetable() return c:IsSetCard(0x3f13) and c:IsType(TYPE_TRAP) and c:IsSSetable()
end end
function c4348040.settg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480040.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c4348040.setfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c43480040.setfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
end end
function c4348040.setop(e,tp,eg,ep,ev,re,r,rp) function c43480040.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local tc=Duel.SelectMatchingCard(tp,c4348040.setfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil):GetFirst() local tc=Duel.SelectMatchingCard(tp,c43480040.setfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil):GetFirst()
if tc then if tc then
Duel.SSet(tp,tc) Duel.SSet(tp,tc)
end end
end end
function c4348040.tecost(e,tp,eg,ep,ev,re,r,rp,chk) function c43480040.tecost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemoveAsCost,tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,nil,POS_FACEDOWN) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemoveAsCost,tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,nil,POS_FACEDOWN) end
local pg=Duel.SelectMatchingCard(tp,Card.IsAbleToRemoveAsCost,tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,1,nil,POS_FACEDOWN) local pg=Duel.SelectMatchingCard(tp,Card.IsAbleToRemoveAsCost,tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,1,nil,POS_FACEDOWN)
Duel.Remove(pg,POS_FACEDOWN,REASON_COST) Duel.Remove(pg,POS_FACEDOWN,REASON_COST)
end end
function c4348040.tefil(c) function c43480040.tefil(c)
return c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM) and c:IsAbleToExtra() return c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM) and c:IsAbleToExtra()
end end
function c4348040.tetg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480040.tetg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c4348040.tefil,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c43480040.tefil,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,nil,1,tp,LOCATION_DECK)
end end
function c4348040.teop(e,tp,eg,ep,ev,re,r,rp) function c43480040.teop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.SelectMatchingCard(tp,c4348040.tefil,tp,LOCATION_DECK,0,1,1,nil):GetFirst() local tc=Duel.SelectMatchingCard(tp,c43480040.tefil,tp,LOCATION_DECK,0,1,1,nil):GetFirst()
if tc then if tc then
Duel.SendtoExtraP(tc,tp,REASON_EFFECT) Duel.SendtoExtraP(tc,tp,REASON_EFFECT)
end end
end end
function c4348040.spcon(e,tp,eg,ep,ev,re,r,rp) function c43480040.spcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0 return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0
end end
function c4348040.spfilter(c,e,tp) function c43480040.spfilter(c,e,tp)
return c:IsCode(4348035) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(43480035) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c4348040.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480040.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c4348040.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c43480040.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end end
function c4348040.spop(e,tp,eg,ep,ev,re,r,rp) function c43480040.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 Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c4348040.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst() local tc=Duel.SelectMatchingCard(tp,c43480040.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
if tc then if tc then
Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--被遗忘的研究 夏露奥米茄III形解放·完全燃烧 --被遗忘的研究 夏露奥米茄III形解放·完全燃烧
function c4348045.initial_effect(c) function c43480045.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,nil,2,99,c4348045.lcheck) aux.AddLinkProcedure(c,nil,2,99,c43480045.lcheck)
c:EnableReviveLimit() c:EnableReviveLimit()
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,4348045) e1:SetCountLimit(1,43480045)
e1:SetTarget(c4348045.eqtg) e1:SetTarget(c43480045.eqtg)
e1:SetOperation(c4348045.eqop) e1:SetOperation(c43480045.eqop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--remove --remove
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -19,10 +19,10 @@ function c4348045.initial_effect(c) ...@@ -19,10 +19,10 @@ function c4348045.initial_effect(c)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,4348046) e2:SetCountLimit(1,43480046)
e2:SetCondition(c4348045.rmdcon) e2:SetCondition(c43480045.rmdcon)
e2:SetTarget(c4348045.rmdtg) e2:SetTarget(c43480045.rmdtg)
e2:SetOperation(c4348045.rmdop) e2:SetOperation(c43480045.rmdop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Special Summon --Special Summon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -30,25 +30,25 @@ function c4348045.initial_effect(c) ...@@ -30,25 +30,25 @@ function c4348045.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_DESTROYED) e3:SetCode(EVENT_DESTROYED)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,4348047) e3:SetCountLimit(1,43480047)
e3:SetCondition(c4348045.spcon) e3:SetCondition(c43480045.spcon)
e3:SetTarget(c4348045.sptg) e3:SetTarget(c43480045.sptg)
e3:SetOperation(c4348045.spop) e3:SetOperation(c43480045.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c4348045.lcheck(g) function c43480045.lcheck(g)
return g:IsExists(Card.IsLinkSetCard,1,nil,0x3f13) return g:IsExists(Card.IsLinkSetCard,1,nil,0x3f13)
end end
function c4348045.eqfilter(c,tp) function c43480045.eqfilter(c,tp)
return c:IsSetCard(0x3f13) and c:IsFaceup() and c:CheckUniqueOnField(tp) and not c:IsForbidden() return c:IsSetCard(0x3f13) and c:IsFaceup() and c:CheckUniqueOnField(tp) and not c:IsForbidden()
end end
function c4348045.eqtg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480045.eqtg(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=e:GetHandler():GetMaterial():FilterCount(Card.IsType,nil,TYPE_PENDULUM) local ct=e:GetHandler():GetMaterial():FilterCount(Card.IsType,nil,TYPE_PENDULUM)
local ft=Duel.GetLocationCount(tp,LOCATION_SZONE) local ft=Duel.GetLocationCount(tp,LOCATION_SZONE)
if ct>ft then ct=ft end if ct>ft then ct=ft end
if chk==0 then return ct>0 and Duel.IsExistingMatchingCard(c4348045.eqfilter,tp,LOCATION_EXTRA,0,1,nil,tp) end if chk==0 then return ct>0 and Duel.IsExistingMatchingCard(c43480045.eqfilter,tp,LOCATION_EXTRA,0,1,nil,tp) end
end end
function c4348045.eqop(e,tp,eg,ep,ev,re,r,rp) function c43480045.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
if c:IsFacedown() or not c:IsRelateToEffect(e) then return end if c:IsFacedown() or not c:IsRelateToEffect(e) then return end
...@@ -56,7 +56,7 @@ function c4348045.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,7 +56,7 @@ function c4348045.eqop(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_SZONE) local ft=Duel.GetLocationCount(tp,LOCATION_SZONE)
if ct>ft then ct=ft end if ct>ft then ct=ft end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,c4348045.eqfilter,tp,LOCATION_EXTRA,0,1,ct,nil,tp) local g=Duel.SelectMatchingCard(tp,c43480045.eqfilter,tp,LOCATION_EXTRA,0,1,ct,nil,tp)
if g:GetCount()<=0 then return end if g:GetCount()<=0 then return end
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
...@@ -72,23 +72,23 @@ function c4348045.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,23 +72,23 @@ function c4348045.eqop(e,tp,eg,ep,ev,re,r,rp)
tc=g:GetNext() tc=g:GetNext()
end end
end end
function c4348045.rmdcon(e,tp,eg,ep,ev,re,r,rp) function c43480045.rmdcon(e,tp,eg,ep,ev,re,r,rp)
local b1=re:IsActiveType(TYPE_MONSTER) and Duel.GetFlagEffect(tp,4348045)==0 local b1=re:IsActiveType(TYPE_MONSTER) and Duel.GetFlagEffect(tp,43480045)==0
local b2=re:IsActiveType(TYPE_SPELL) and Duel.GetFlagEffect(tp,4348046)==0 local b2=re:IsActiveType(TYPE_SPELL) and Duel.GetFlagEffect(tp,4348046)==0
local b3=re:IsActiveType(TYPE_TRAP) and Duel.GetFlagEffect(tp,4348047)==0 local b3=re:IsActiveType(TYPE_TRAP) and Duel.GetFlagEffect(tp,4348047)==0
return rp==1-tp and (b1 or b2 or b3) return rp==1-tp and (b1 or b2 or b3)
end end
function c4348045.desfil(c,e) function c43480045.desfil(c,e)
return c:GetEquipTarget()==e:GetHandler() return c:GetEquipTarget()==e:GetHandler()
end end
function c4348045.rmdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c43480045.rmdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_SZONE) and c4348045.desfil(chkc,e) end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_SZONE) and c43480045.desfil(chkc,e) end
if chk==0 then return Duel.IsExistingTarget(c4348045.desfil,tp,LOCATION_SZONE,0,1,nil,e) and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingTarget(c43480045.desfil,tp,LOCATION_SZONE,0,1,nil,e) and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.SelectTarget(tp,c4348045.desfil,tp,LOCATION_SZONE,0,1,1,nil,e) local g=Duel.SelectTarget(tp,c43480045.desfil,tp,LOCATION_SZONE,0,1,1,nil,e)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_ONFIELD) Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_ONFIELD)
if re:IsActiveType(TYPE_MONSTER) then if re:IsActiveType(TYPE_MONSTER) then
Duel.RegisterFlagEffect(tp,4348045,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,43480045,RESET_PHASE+PHASE_END,0,1)
end end
if re:IsActiveType(TYPE_SPELL) then if re:IsActiveType(TYPE_SPELL) then
Duel.RegisterFlagEffect(tp,4348046,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,4348046,RESET_PHASE+PHASE_END,0,1)
...@@ -97,7 +97,7 @@ function c4348045.rmdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -97,7 +97,7 @@ function c4348045.rmdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.RegisterFlagEffect(tp,4348047,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,4348047,RESET_PHASE+PHASE_END,0,1)
end end
end end
function c4348045.rmdop(e,tp,eg,ep,ev,re,r,rp) function c43480045.rmdop(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 Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,1,nil) then if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,1,nil) then
...@@ -125,21 +125,21 @@ function c4348045.rmdop(e,tp,eg,ep,ev,re,r,rp) ...@@ -125,21 +125,21 @@ function c4348045.rmdop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
end end
function c4348045.spcon(e,tp,eg,ep,ev,re,r,rp) function c43480045.spcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0 return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0
end end
function c4348045.spfilter(c,e,tp) function c43480045.spfilter(c,e,tp)
return c:IsCode(4348040) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(43480040) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c4348045.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480045.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c4348045.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c43480045.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end end
function c4348045.spop(e,tp,eg,ep,ev,re,r,rp) function c43480045.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 Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c4348045.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst() local tc=Duel.SelectMatchingCard(tp,c43480045.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
if tc then if tc then
Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--被遗忘的研究 星·陨 --被遗忘的研究 星·陨
function c4348050.initial_effect(c) function c43480050.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,nil,3,99,c4348050.lcheck) aux.AddLinkProcedure(c,nil,3,99,c43480050.lcheck)
c:EnableReviveLimit() c:EnableReviveLimit()
--special summon limit --special summon limit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(4348050) e1:SetCode(43480050)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(1,1) e1:SetTargetRange(1,1)
...@@ -18,9 +18,9 @@ function c4348050.initial_effect(c) ...@@ -18,9 +18,9 @@ function c4348050.initial_effect(c)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,4348050) e2:SetCountLimit(1,43480050)
e2:SetTarget(c4348050.ddtg) e2:SetTarget(c43480050.ddtg)
e2:SetOperation(c4348050.ddop) e2:SetOperation(c43480050.ddop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Special Summon --Special Summon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -29,43 +29,43 @@ function c4348050.initial_effect(c) ...@@ -29,43 +29,43 @@ function c4348050.initial_effect(c)
e3:SetCode(EVENT_DESTROYED) e3:SetCode(EVENT_DESTROYED)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,4348051) e3:SetCountLimit(1,4348051)
e3:SetCondition(c4348050.spcon) e3:SetCondition(c43480050.spcon)
e3:SetTarget(c4348050.sptg) e3:SetTarget(c43480050.sptg)
e3:SetOperation(c4348050.spop) e3:SetOperation(c43480050.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c4348050.lcheck(g) function c43480050.lcheck(g)
return g:IsExists(function(c) return c:IsLinkSetCard(0x3f13) and c:IsLinkType(TYPE_PENDULUM) end,1,nil) return g:IsExists(function(c) return c:IsLinkSetCard(0x3f13) and c:IsLinkType(TYPE_PENDULUM) end,1,nil)
end end
function c4348050.ddtg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480050.ddtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return chkc:IsControler(tp) and chkc:IsOnField() end if chkc then return chkc:IsControler(tp) and chkc:IsOnField() end
if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_ONFIELD,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_ONFIELD,0,1,nil) end
local g=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,0,1,1,nil) local g=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,0,0,1-tp,1000) Duel.SetOperationInfo(0,CATEGORY_DAMAGE,0,0,1-tp,1000)
end end
function c4348050.ddop(e,tp,eg,ep,ev,re,r,rp) function c43480050.ddop(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 then if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 then
Duel.Damage(1-tp,1000,REASON_EFFECT) Duel.Damage(1-tp,1000,REASON_EFFECT)
end end
end end
function c4348050.spcon(e,tp,eg,ep,ev,re,r,rp) function c43480050.spcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0 return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0
end end
function c4348050.spfilter(c,e,tp) function c43480050.spfilter(c,e,tp)
return c:IsCode(4348040) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(4348040) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c4348050.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480050.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c4348050.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c43480050.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end end
function c4348050.spop(e,tp,eg,ep,ev,re,r,rp) function c43480050.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 Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c4348050.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst() local tc=Duel.SelectMatchingCard(tp,c43480050.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
if tc then if tc then
Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--被遗忘的研究 收容失效 --被遗忘的研究 收容失效
function c4348055.initial_effect(c) function c43480055.initial_effect(c)
--SpecialSummon --SpecialSummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY+CATEGORY_SEARCH+CATEGORY_TOHAND) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY+CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,4348055) e1:SetCountLimit(1,43480055)
e1:SetTarget(c4348055.psptg) e1:SetTarget(c43480055.psptg)
e1:SetOperation(c4348055.pspop) e1:SetOperation(c43480055.pspop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Special Summon --Special Summon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,4348056) e2:SetCountLimit(1,43480056)
e2:SetCost(aux.bfgcost) e2:SetCost(aux.bfgcost)
e2:SetTarget(c4348055.sptg) e2:SetTarget(c43480055.sptg)
e2:SetOperation(c4348055.spop) e2:SetOperation(c43480055.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c4348055.pspfil(c,e,tp) function c43480055.pspfil(c,e,tp)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsSetCard(0x3f13) and (c:IsCanBeSpecialSummoned(e,0,tp,false,false) or c:IsDestructable(e)) return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsSetCard(0x3f13) and (c:IsCanBeSpecialSummoned(e,0,tp,false,false) or c:IsDestructable(e))
end end
function c4348055.thfilter(c) function c43480055.thfilter(c)
return c:IsSetCard(0x3f13) return c:IsSetCard(0x3f13)
and c:IsAbleToHand() and c:IsAbleToHand()
end end
function c4348055.psptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c43480055.psptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_PZONE) and c4348055.pspfil(chkc,e,tp) end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_PZONE) and c43480055.pspfil(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
or Duel.IsExistingMatchingCard(c4348055.thfilter,tp,LOCATION_DECK,0,1,nil)) or Duel.IsExistingMatchingCard(c43480055.thfilter,tp,LOCATION_DECK,0,1,nil))
and Duel.IsExistingTarget(c4348055.pspfil,tp,LOCATION_PZONE,0,1,nil,e,tp) end and Duel.IsExistingTarget(c43480055.pspfil,tp,LOCATION_PZONE,0,1,nil,e,tp) end
local g=Duel.SelectTarget(tp,c4348055.pspfil,tp,LOCATION_PZONE,0,1,1,nil,e,tp) local g=Duel.SelectTarget(tp,c43480055.pspfil,tp,LOCATION_PZONE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c4348055.pspop(e,tp,eg,ep,ev,re,r,rp) function c43480055.pspop(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 not tc or not tc:IsRelateToEffect(e) then return end if not tc or not tc:IsRelateToEffect(e) then return end
...@@ -49,13 +49,13 @@ function c4348055.pspop(e,tp,eg,ep,ev,re,r,rp) ...@@ -49,13 +49,13 @@ function c4348055.pspop(e,tp,eg,ep,ev,re,r,rp)
and tc:IsCanBeSpecialSummoned(e,0,tp,false,false) and tc:IsCanBeSpecialSummoned(e,0,tp,false,false)
local b2 = tc:IsDestructable(e) local b2 = tc:IsDestructable(e)
and Duel.IsExistingMatchingCard(c4348055.thfilter,tp,LOCATION_DECK,0,1,nil) and Duel.IsExistingMatchingCard(c43480055.thfilter,tp,LOCATION_DECK,0,1,nil)
if not (b1 or b2) then return end if not (b1 or b2) then return end
local op=aux.SelectFromOptions(tp, local op=aux.SelectFromOptions(tp,
{b1,aux.Stringid(4348055,2)}, -- 特召 {b1,aux.Stringid(43480055,2)}, -- 特召
{b2,aux.Stringid(4348055,3)} -- 破坏 + 检索 {b2,aux.Stringid(43480055,3)} -- 破坏 + 检索
) )
-- ● 特殊召唤 -- ● 特殊召唤
...@@ -67,7 +67,7 @@ function c4348055.pspop(e,tp,eg,ep,ev,re,r,rp) ...@@ -67,7 +67,7 @@ function c4348055.pspop(e,tp,eg,ep,ev,re,r,rp)
if Duel.Destroy(tc,REASON_EFFECT)~=0 then if Duel.Destroy(tc,REASON_EFFECT)~=0 then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c4348055.thfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c43480055.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if #g>0 then if #g>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
...@@ -76,19 +76,19 @@ function c4348055.pspop(e,tp,eg,ep,ev,re,r,rp) ...@@ -76,19 +76,19 @@ function c4348055.pspop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c4348055.spfilter(c,e,tp) function c43480055.spfilter(c,e,tp)
return c:IsCode(4348030) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(43480030) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c4348055.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480055.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c4348055.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c43480055.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end end
function c4348055.spop(e,tp,eg,ep,ev,re,r,rp) function c43480055.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c4348055.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c43480055.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
......
--被遗忘的研究 星火羽再燃式 --被遗忘的研究 星火羽再燃式
function c4348060.initial_effect(c) function c43480060.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_NEGATE+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetCountLimit(1,4348060) e1:SetCountLimit(1,43480060)
e1:SetCondition(c4348060.condition) e1:SetCondition(c43480060.condition)
e1:SetTarget(c4348060.target) e1:SetTarget(c43480060.target)
e1:SetOperation(c4348060.activate) e1:SetOperation(c43480060.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--equip --equip
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -19,23 +19,23 @@ function c4348060.initial_effect(c) ...@@ -19,23 +19,23 @@ function c4348060.initial_effect(c)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,4348061) e2:SetCountLimit(1,4348061)
e2:SetCost(aux.bfgcost) e2:SetCost(aux.bfgcost)
e2:SetTarget(c4348060.eqtg) e2:SetTarget(c43480060.eqtg)
e2:SetOperation(c4348060.eqop) e2:SetOperation(c43480060.eqop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c4348060.cfilter(c) function c43480060.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x3f13) return c:IsFaceup() and c:IsSetCard(0x3f13)
end end
function c4348060.condition(e,tp,eg,ep,ev,re,r,rp) function c43480060.condition(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsExistingMatchingCard(c4348060.cfilter,tp,LOCATION_ONFIELD,0,1,nil) then return false end if not Duel.IsExistingMatchingCard(c43480060.cfilter,tp,LOCATION_ONFIELD,0,1,nil) then return false end
if not Duel.IsChainNegatable(ev) then return false end if not Duel.IsChainNegatable(ev) then return false end
return rp==1-tp return rp==1-tp
end end
function c4348060.target(e,tp,eg,ep,ev,re,r,rp,chk) function c43480060.target(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_NEGATE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
end end
function c4348060.spfil(c,e,tp) function c43480060.spfil(c,e,tp)
if not (c:IsSetCard(0x3f13) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)) then return false end if not (c:IsSetCard(0x3f13) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)) then return false end
if c:IsLocation(LOCATION_EXTRA) then if c:IsLocation(LOCATION_EXTRA) then
return c:IsFaceup() and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 return c:IsFaceup() and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
...@@ -43,33 +43,33 @@ function c4348060.spfil(c,e,tp) ...@@ -43,33 +43,33 @@ function c4348060.spfil(c,e,tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
end end
function c4348060.activate(e,tp,eg,ep,ev,re,r,rp) function c43480060.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.NegateActivation(ev) and Duel.IsExistingMatchingCard(c4348060.spfil,tp,LOCATION_HAND+LOCATION_EXTRA,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(4348060,0)) then if Duel.NegateActivation(ev) and Duel.IsExistingMatchingCard(c43480060.spfil,tp,LOCATION_HAND+LOCATION_EXTRA,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(43480060,0)) then
Duel.BreakEffect() Duel.BreakEffect()
local sg=Duel.SelectMatchingCard(tp,c4348060.spfil,tp,LOCATION_HAND+LOCATION_EXTRA,0,1,1,nil,e,tp) local sg=Duel.SelectMatchingCard(tp,c43480060.spfil,tp,LOCATION_HAND+LOCATION_EXTRA,0,1,1,nil,e,tp)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function c4348060.eqfilter(c,tp) function c43480060.eqfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x3f13) and c:IsType(TYPE_LINK) and Duel.IsExistingMatchingCard(c4348060.eqeqfilter,tp,LOCATION_DECK,0,1,nil,c,tp) return c:IsFaceup() and c:IsSetCard(0x3f13) and c:IsType(TYPE_LINK) and Duel.IsExistingMatchingCard(c43480060.eqeqfilter,tp,LOCATION_DECK,0,1,nil,c,tp)
end end
function c4348060.eqeqfilter(c,tc,tp) function c43480060.eqeqfilter(c,tc,tp)
return c:IsType(TYPE_PENDULUM) and c:IsSetCard(0x3f13) and c:CheckUniqueOnField(tp) and not c:IsForbidden() return c:IsType(TYPE_PENDULUM) and c:IsSetCard(0x3f13) and c:CheckUniqueOnField(tp) and not c:IsForbidden()
end end
function c4348060.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c43480060.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c4348060.eqfilter(chkc,tp) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c43480060.eqfilter(chkc,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(c4348060.eqfilter,tp,LOCATION_MZONE,0,1,nil,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(c43480060.eqfilter,tp,LOCATION_MZONE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c4348060.eqfilter,tp,LOCATION_MZONE,0,1,1,nil,tp) Duel.SelectTarget(tp,c43480060.eqfilter,tp,LOCATION_MZONE,0,1,1,nil,tp)
end end
function c4348060.eqop(e,tp,eg,ep,ev,re,r,rp) function c43480060.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsControler(tp) then if tc:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsControler(tp) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local ec=Duel.SelectMatchingCard(tp,c4348060.eqeqfilter,tp,LOCATION_DECK,0,1,1,nil,tc,tp):GetFirst() local ec=Duel.SelectMatchingCard(tp,c43480060.eqeqfilter,tp,LOCATION_DECK,0,1,1,nil,tc,tp):GetFirst()
if ec then if ec then
Duel.Equip(tp,ec,tc) Duel.Equip(tp,ec,tc)
--equip limit --equip limit
......
--未被遗忘的约定×天星 --未被遗忘的约定×天星
function c4348065.initial_effect(c) function c43480065.initial_effect(c)
--pl --pl
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_LIMIT_ZONE) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_LIMIT_ZONE)
e1:SetCountLimit(1,4348065) e1:SetCountLimit(1,43480065)
e1:SetCost(c4348065.plcost) e1:SetCost(c43480065.plcost)
e1:SetTarget(c4348065.pltg) e1:SetTarget(c43480065.pltg)
e1:SetOperation(c4348065.plop) e1:SetOperation(c43480065.plop)
e1:SetValue(c4348065.zones) e1:SetValue(c43480065.zones)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--equip --equip
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -19,59 +19,59 @@ function c4348065.initial_effect(c) ...@@ -19,59 +19,59 @@ function c4348065.initial_effect(c)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,4348066) e2:SetCountLimit(1,4348066)
e2:SetCost(aux.bfgcost) e2:SetCost(aux.bfgcost)
e2:SetTarget(c4348065.eqtg) e2:SetTarget(c43480065.eqtg)
e2:SetOperation(c4348065.eqop) e2:SetOperation(c43480065.eqop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c4348065.zones(e,tp,eg,ep,ev,re,r,rp) function c43480065.zones(e,tp,eg,ep,ev,re,r,rp)
local zone=0xff local zone=0xff
local p0=Duel.CheckLocation(tp,LOCATION_PZONE,0) local p0=Duel.CheckLocation(tp,LOCATION_PZONE,0)
local p1=Duel.CheckLocation(tp,LOCATION_PZONE,1) local p1=Duel.CheckLocation(tp,LOCATION_PZONE,1)
if not p0 or not p1 then zone=zone-0x11 end if not p0 or not p1 then zone=zone-0x11 end
return zone return zone
end end
function c4348065.pctfil(c,e,tp) function c43480065.pctfil(c,e,tp)
return c:IsAbleToGraveAsCost() and c:IsSetCard(0x3f13) and c:IsType(TYPE_MONSTER) and Duel.IsExistingMatchingCard(c4348065.plfilter,tp,LOCATION_DECK,0,1,nil) return c:IsAbleToGraveAsCost() and c:IsSetCard(0x3f13) and c:IsType(TYPE_MONSTER) and Duel.IsExistingMatchingCard(c43480065.plfilter,tp,LOCATION_DECK,0,1,nil)
end end
function c4348065.plcost(e,tp,eg,ep,ev,re,r,rp,chk) function c43480065.plcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c4348065.pctfil,tp,LOCATION_DECK,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingMatchingCard(c43480065.pctfil,tp,LOCATION_DECK,0,1,nil,e,tp) end
local g=Duel.SelectMatchingCard(tp,c4348065.pctfil,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c43480065.pctfil,tp,LOCATION_DECK,0,1,1,nil,e,tp)
Duel.SendtoGrave(g,REASON_COST) Duel.SendtoGrave(g,REASON_COST)
end end
function c4348065.plfilter(c) function c43480065.plfilter(c)
return c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden() return c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
end end
function c4348065.pltg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480065.pltg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c4348065.plfilter,tp,LOCATION_DECK,0,1,nil) and (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) end if chk==0 then return Duel.IsExistingMatchingCard(c43480065.plfilter,tp,LOCATION_DECK,0,1,nil) and (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) end
end end
function c4348065.plop(e,tp,eg,ep,ev,re,r,rp) function c43480065.plop(e,tp,eg,ep,ev,re,r,rp)
if not (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) then return end if not (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,c4348065.plfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c43480065.plfilter,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true) Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end end
end end
function c4348065.eqfilter(c,tp) function c43480065.eqfilter(c,tp)
return c:IsFaceup() and c:IsCode(4348030) and Duel.IsExistingMatchingCard(c4348065.eqeqfilter,tp,LOCATION_DECK,0,1,nil,c,tp) return c:IsFaceup() and c:IsCode(4348030) and Duel.IsExistingMatchingCard(c43480065.eqeqfilter,tp,LOCATION_DECK,0,1,nil,c,tp)
end end
function c4348065.eqeqfilter(c,tc,tp) function c43480065.eqeqfilter(c,tc,tp)
return c:IsType(TYPE_PENDULUM) and c:IsSetCard(0x3f13) and c:CheckUniqueOnField(tp) and not c:IsForbidden() return c:IsType(TYPE_PENDULUM) and c:IsSetCard(0x3f13) and c:CheckUniqueOnField(tp) and not c:IsForbidden()
end end
function c4348065.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c43480065.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c4348065.eqfilter(chkc,tp) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c43480065.eqfilter(chkc,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(c4348065.eqfilter,tp,LOCATION_MZONE,0,1,nil,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(c43480065.eqfilter,tp,LOCATION_MZONE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c4348065.eqfilter,tp,LOCATION_MZONE,0,1,1,nil,tp) Duel.SelectTarget(tp,c43480065.eqfilter,tp,LOCATION_MZONE,0,1,1,nil,tp)
end end
function c4348065.eqop(e,tp,eg,ep,ev,re,r,rp) function c43480065.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsControler(tp) then if tc:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsControler(tp) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local ec=Duel.SelectMatchingCard(tp,c4348065.eqeqfilter,tp,LOCATION_DECK,0,1,1,nil,tc,tp):GetFirst() local ec=Duel.SelectMatchingCard(tp,c43480065.eqeqfilter,tp,LOCATION_DECK,0,1,1,nil,tc,tp):GetFirst()
if ec then if ec then
Duel.Equip(tp,ec,tc) Duel.Equip(tp,ec,tc)
--equip limit --equip limit
......
--被遗忘的研究实验室 --被遗忘的研究实验室
function c4348070.initial_effect(c) function c43480070.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,4348070+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,43480070+EFFECT_COUNT_CODE_OATH)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--pl --pl
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_FZONE) e1:SetRange(LOCATION_FZONE)
e1:SetCountLimit(1,4348071) e1:SetCountLimit(1,4348071)
e1:SetTarget(c4348070.pltg) e1:SetTarget(c43480070.pltg)
e1:SetOperation(c4348070.plop) e1:SetOperation(c43480070.plop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--link --link
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -22,7 +22,7 @@ function c4348070.initial_effect(c) ...@@ -22,7 +22,7 @@ function c4348070.initial_effect(c)
e2:SetTargetRange(LOCATION_SZONE,0) e2:SetTargetRange(LOCATION_SZONE,0)
e2:SetTarget(function(e,c) e2:SetTarget(function(e,c)
return c:GetOriginalType()&TYPE_PENDULUM~=0 end) return c:GetOriginalType()&TYPE_PENDULUM~=0 end)
e2:SetValue(c4348070.matval) e2:SetValue(c43480070.matval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Special Summon --Special Summon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -31,34 +31,34 @@ function c4348070.initial_effect(c) ...@@ -31,34 +31,34 @@ function c4348070.initial_effect(c)
e3:SetCode(EVENT_DESTROYED) e3:SetCode(EVENT_DESTROYED)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,4348072) e3:SetCountLimit(1,4348072)
e3:SetCondition(c4348070.spcon) e3:SetCondition(c43480070.spcon)
e3:SetTarget(c4348070.sptg) e3:SetTarget(c43480070.sptg)
e3:SetOperation(c4348070.spop) e3:SetOperation(c43480070.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c4348070.plfilter(c) function c43480070.plfilter(c)
return c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden() return c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
end end
function c4348070.pltg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480070.pltg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c4348070.plfilter,tp,LOCATION_DECK,0,1,nil) and (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) end if chk==0 then return Duel.IsExistingMatchingCard(c43480070.plfilter,tp,LOCATION_DECK,0,1,nil) and (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) end
end end
function c4348070.plop(e,tp,eg,ep,ev,re,r,rp) function c43480070.plop(e,tp,eg,ep,ev,re,r,rp)
if not (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) then return end if not (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,c4348070.plfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c43480070.plfilter,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true) Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end end
end end
function c4348070.matval(e,lc,mg,c,tp) function c43480070.matval(e,lc,mg,c,tp)
if not lc:IsSetCard(0x3f13) then return false,nil end if not lc:IsSetCard(0x3f13) then return false,nil end
return true,not mg or mg:GetCount()>0 return true,not mg or mg:GetCount()>0
end end
function c4348070.spcon(e,tp,eg,ep,ev,re,r,rp) function c43480070.spcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_EFFECT)~=0 return bit.band(r,REASON_EFFECT)~=0
end end
function c4348070.spfilter(c,e,tp) function c43480070.spfilter(c,e,tp)
if not (c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)) then return false end if not (c:IsSetCard(0x3f13) and c:IsType(TYPE_PENDULUM) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)) then return false end
if c:IsLocation(LOCATION_EXTRA) then if c:IsLocation(LOCATION_EXTRA) then
return c:IsFaceup() and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 return c:IsFaceup() and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
...@@ -66,14 +66,14 @@ function c4348070.spfilter(c,e,tp) ...@@ -66,14 +66,14 @@ function c4348070.spfilter(c,e,tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
end end
function c4348070.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43480070.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c4348070.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_EXTRA,0,1,nil,e,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c43480070.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_EXTRA)
end end
function c4348070.spop(e,tp,eg,ep,ev,re,r,rp) function c43480070.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c4348070.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil,e,tp):GetFirst() local tc=Duel.SelectMatchingCard(tp,c43480070.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil,e,tp):GetFirst()
if tc then if tc then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end end
......
...@@ -13,7 +13,7 @@ function s.initial_effect(c) ...@@ -13,7 +13,7 @@ function s.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function s.appcon(e,tp,eg,ep,ev,re,r,rp) function s.appcon(e,tp,eg,ep,ev,re,r,rp)
return c:IsSummonType(SUMMON_TYPE_SYNCHRO) return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
and Duel.GetTurnPlayer()==tp and Duel.GetTurnPlayer()==tp
and Duel.IsMainPhase() and Duel.IsMainPhase()
end end
......
...@@ -76,7 +76,7 @@ end ...@@ -76,7 +76,7 @@ end
function s.acttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.acttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() local c=e:GetHandler()
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) and chkc:IsFaceup() end if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,0,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,0,LOCATION_ONFIELD,1,nil) and (Duel.GetTurnPlayer()==tp or c:IsHasEffect(EFFECT_QP_ACT_IN_NTPHAND)) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
......
...@@ -60,7 +60,7 @@ end ...@@ -60,7 +60,7 @@ end
function s.thop(e,tp,eg,ep,ev,re,r,rp) function s.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() and c:GetLevel()>=3 then if c:IsRelateToEffect(e) then
-- 等级下降2星 -- 等级下降2星
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
--主宰之怒 跳虫 --主宰之怒 跳虫
local s,id,o=GetID() local s,id,o=GetID()
if not CATEGORY_SSET then CATEGORY_SSET=0 end
if not CATEGORY_MSET then CATEGORY_MSET=0 end
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,id) aux.AddCodeList(c,id)
--summon --summon
......
...@@ -73,6 +73,7 @@ end ...@@ -73,6 +73,7 @@ end
function s.costchcon(e,tp,eg,ep,ev,re,r,rp) function s.costchcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tp=c:GetControler()
return (Duel.GetFlagEffect(tp,65820099)==0 and c:GetFlagEffect(65820010)>0 or Duel.GetFlagEffect(tp,65820099)>0 and c:GetFlagEffect(65820010)==0) return (Duel.GetFlagEffect(tp,65820099)==0 and c:GetFlagEffect(65820010)>0 or Duel.GetFlagEffect(tp,65820099)>0 and c:GetFlagEffect(65820010)==0)
end end
function s.costchange(e,re,rp,val) function s.costchange(e,re,rp,val)
......
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