Commit da50e168 authored by POLYMER's avatar POLYMER

fix

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