Commit 723b187f authored by 聖園ミカ's avatar 聖園ミカ 🐟

7

parent ae4e8629
--无用能力者 不会被无效的若拉 --无用能力者 不会被无效的若拉
Duel.LoadScript("c30000100.lua") local m=30000500
local m,cm=rscf.DefineCard(30000500) local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
local e1=rsef.SV_CANNOT_DISABLE(c,"sum") --Effect 1
--inactivatable local e0=Effect.CreateEffect(c)
local e2=Effect.CreateEffect(c) e0:SetType(EFFECT_TYPE_SINGLE)
e2:SetType(EFFECT_TYPE_FIELD) e0:SetCode(EFFECT_CANNOT_DISABLE_SUMMON)
e2:SetCode(EFFECT_CANNOT_INACTIVATE) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) c:RegisterEffect(e0)
e2:SetRange(LOCATION_MZONE) --Effect 2
e2:SetValue(cm.efilter)
c:RegisterEffect(e2)
local e3=rsef.RegisterClone(c,e2,"code",EFFECT_CANNOT_DISEFFECT)
--act limit
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EVENT_CHAINING) e4:SetCode(EFFECT_CANNOT_INACTIVATE)
e4:SetRange(LOCATION_MZONE)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetOperation(cm.chainop) e4:SetRange(LOCATION_MZONE)
e4:SetValue(cm.effectfilter)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e5:SetCode(EFFECT_CANNOT_DISEFFECT)
e5:SetRange(LOCATION_MZONE)
e5:SetValue(cm.effectfilter)
c:RegisterEffect(e5)
--Effect 3
local e14=Effect.CreateEffect(c)
e14:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e14:SetCode(EVENT_CHAINING)
e14:SetRange(LOCATION_MZONE)
e14:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e14:SetOperation(cm.chainop)
c:RegisterEffect(e14)
end end
function cm.efilter(e,ct) --Effect 1
function cm.effectfilter(e,ct)
local te=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT) local te=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT)
return te:GetHandler()==e:GetHandler() return te:GetHandler()==e:GetHandler()
end end
--Effect 2
function cm.chainop(e,tp,eg,ep,ev,re,r,rp) function cm.chainop(e,tp,eg,ep,ev,re,r,rp)
if re:GetHandler()==e:GetHandler() then if re:GetHandler()==e:GetHandler() then
Duel.SetChainLimit(aux.FALSE) Duel.SetChainLimit(aux.FALSE)
end end
end end
--颓废能力者 懒散的若拉 --颓废能力者 懒散的若拉
Duel.LoadScript("c30000100.lua") local m=30000505
local m,cm=rscf.DefineCard(30000505) local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,4,3,cm.ovfilter,aux.Stringid(m,0),75,cm.xyzop)
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddXyzProcedure(c,nil,4,3,cm.ovfilter,aux.Stringid(m,0),99,cm.xyzop) --Effect 1
local e2=rsef.SV_CANNOT_DISABLE(c,"sp") local e0=Effect.CreateEffect(c)
local e3=rsef.FTO(c,EVENT_PHASE+PHASE_END,{m,1},1,"rm,sp","tg",LOCATION_MZONE,nil,nil,rstg.target(cm.rmfilter,"rm",rsloc.mg,rsloc.mg,1,1,c),cm.rmop) e0:SetType(EFFECT_TYPE_SINGLE)
--atk e0:SetCode(EFFECT_CANNOT_DISABLE_SPSUMMON)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
c:RegisterEffect(e0)
--Effect 2
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
...@@ -14,18 +19,28 @@ function cm.initial_effect(c) ...@@ -14,18 +19,28 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval) e1:SetValue(cm.atkval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Effect 3
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,1))
e4:SetCategory(CATEGORY_REMOVE)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e4:SetCode(EVENT_PHASE+PHASE_END)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1)
e4:SetCondition(cm.spcon1)
e4:SetTarget(cm.rmtg)
e4:SetOperation(cm.rmop)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetHintTiming(0,TIMING_END_PHASE)
e5:SetCondition(cm.spcon2)
c:RegisterEffect(e5)
--Effect 4
--Effect 5
end end
function cm.rmfilter(c) --xyz summon
return c:IsType(TYPE_EFFECT) and c:IsAbleToRemove()
end
function cm.rmop(e,tp)
local c,tc=rscf.GetFaceUpSelf(e),rscf.GetTargetCard()
if not tc or Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)<=0 or not tc:IsLocation(LOCATION_REMOVED) or not rscf.spfilter2()(tc,e,tp) or not c or not c:IsType(TYPE_XYZ) or not Duel.SelectYesNo(tp,aux.Stringid(m,2)) then return end
if rssf.SpecialSummon(tc)>0 and not tc:IsImmuneToEffect(e) then
Duel.Overlay(c,rsgf.Mix2(tc))
c:CopyEffect(tc:GetOriginalCodeRule(),rsreset.est)
end
end
function cm.ovfilter(c) function cm.ovfilter(c)
return c:IsFaceup() and c:IsCode(30000500) return c:IsFaceup() and c:IsCode(30000500)
end end
...@@ -33,6 +48,43 @@ function cm.xyzop(e,tp,chk) ...@@ -33,6 +48,43 @@ function cm.xyzop(e,tp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,m)==0 end if chk==0 then return Duel.GetFlagEffect(tp,m)==0 end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1) Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end end
--Effect 2
function cm.atkval(e,c) function cm.atkval(e,c)
return c:GetOverlayCount()*500 return c:GetOverlayCount()*500
end end
\ No newline at end of file --Effect 3
function cm.tgfilter(c)
return c:IsOriginalCodeRule(30000520)
end
function cm.spcon1(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():GetEquipGroup():IsExists(cm.tgfilter,1,nil)
end
function cm.spcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipGroup():IsExists(cm.tgfilter,1,nil)
end
function cm.rmfilter(c)
return c:IsFaceupEx() and c:IsType(TYPE_EFFECT) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemove()
end
function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc~=e:GetHandler() and chkc:IsLocation(LOCATION_MZONE) and cm.rmfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.rmfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,cm.rmfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
end
function cm.rmop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)~=0 then
if Duel.SelectYesNo(tp,aux.Stringid(m,2))
and tc:IsCanBeSpecialSummoned(e,0,tp,false,false)
and not tc:IsImmuneToEffect(e) and c:IsType(TYPE_XYZ) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
Duel.Overlay(c,Group.FromCards(tc))
c:CopyEffect(tc:GetOriginalCodeRule(),RESET_EVENT+RESETS_STANDARD)
end
end
end
--Effect 4
--Effect 5
--悠闲的假日 --悠闲的假日
Duel.LoadScript("c30000100.lua") local m=30000510
local m,cm=rscf.DefineCard(30000510) local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
local e2=rsef.I(c,{m,1},1,"dr","ptg",LOCATION_SZONE,nil,cm.drcost,rsop.target(1,"dr"),cm.drop) --Effect 1
local e3=rsef.FTO(c,EVENT_PHASE+PHASE_END,{m,2},1,nil,"tg",LOCATION_SZONE,nil,nil,rstg.target(cm.tgfilter,nil,LOCATION_MZONE),cm.endop)
--Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(cm.tg) e1:SetOperation(cm.activate)
e1:SetOperation(cm.act) c:RegisterEffect(e1)
c:RegisterEffect(e1) --Effect 2
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetCost(cm.drcost)
e2:SetTarget(cm.drtg)
e2:SetOperation(cm.drop)
c:RegisterEffect(e2)
--Effect 3
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_GRAVE_ACTION)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2)
--Effect 4
--Effect 5
end end
function cm.tgfilter(c,e,tp) --Effect 1
return c:IsFaceup() and c:IsCode(30000500,30000505) and Duel.IsExistingMatchingCard(cm.matfilter,tp,rsloc.mg,rsloc.mg,1,nil,c:IsCode(30000505)) function cm.spfilter(c,e,tp)
end return c:IsCode(30000500) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
function cm.matfilter(c,check)
return c:IsFaceup() and c:IsType(TYPE_EFFECT) and (not check or c:IsCanOverlay())
end
function cm.endop(e,tp)
local c,tc=rscf.GetSelf(e),rscf.GetTargetCard()
if not c or not tc then return end
rsop.SelectSolve({m,3},tp,aux.NecroValleyFilter(cm.matfilter),tp,rsloc.mg,rsloc.mg,1,1,nil,{cm.fun,tc},c:IsCode(30000505))
end end
function cm.fun(g,tc) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local rc=g:GetFirst() local c=e:GetHandler()
if tc:IsCode(30000505) then if Duel.GetMZoneCount(tp)<=0 then return end
Duel.Overlay(tc,rsgf.Mix2(rc)) local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,nil,e,tp)
else if #g>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
tc:CopyEffect(rc:GetOriginalCodeRule(),rsreset.est) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
if Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end end
end end
function cm.splimit(e,c)
return not c:IsType(TYPE_XYZ) and c:IsLocation(LOCATION_EXTRA)
end
--Effect 2
function cm.cfilter(c,tp) function cm.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x93a) and c:IsType(TYPE_XYZ) return c:IsFaceup() and c:IsSetCard(0x93a) and c:IsType(TYPE_XYZ)
and c:CheckRemoveOverlayCard(tp,1,REASON_COST) and c:CheckRemoveOverlayCard(tp,1,REASON_COST)
...@@ -42,37 +72,64 @@ function cm.drcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -42,37 +72,64 @@ function cm.drcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_MZONE,0,1,1,nil,tp):GetFirst() local c=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_MZONE,0,1,1,nil,tp):GetFirst()
c:RemoveOverlayCard(tp,1,1,REASON_COST) c:RemoveOverlayCard(tp,1,1,REASON_COST)
end end
function cm.drop(e,tp) function cm.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if not rscf.GetSelf(e) then return end if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,1-tp,1000)
end
function cm.drop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT) Duel.Draw(p,d,REASON_EFFECT)
end end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk) --Effect 3
if chk==0 then return true end function cm.tdfilter(c)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,tp,rsloc.hdg) return c:IsFaceup() and c:IsSetCard(0x93a)
end end
function cm.spfilter(c,e,tp) function cm.ofilter(c,e)
return rscf.spfilter2(Card.IsCode,30000500)(c,e,tp) return c:IsCanOverlay() and (not e or not c:IsImmuneToEffect(e))
and c:IsType(TYPE_EFFECT)
end
function cm.copyfilter(c)
return c:IsType(TYPE_MONSTER) and not c:IsType(TYPE_TOKEN) and (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE))
end end
function cm.act(e,tp,eg,ep,ev,re,r,rp) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and cm.tdfilter(chkc) and chkc~=c end
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.spfilter),tp,rsloc.hdg,0,nil,e,tp) if chk==0 then return Duel.IsExistingTarget(cm.tdfilter,tp,LOCATION_MZONE,0,1,c) end
if #g>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.SelectTarget(tp,cm.tdfilter,tp,LOCATION_MZONE,0,1,1,c)
local sg=g:Select(tp,1,1,nil) end
if rssf.SpecialSummon(sg)>0 then function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(c) local c=e:GetHandler()
e1:SetType(EFFECT_TYPE_FIELD) local tc=Duel.GetFirstTarget()
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) if tc:IsRelateToEffect(e) and c:IsRelateToEffect(e) then
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) if tc:GetOriginalCode()==30000505 and tc:IsType(TYPE_XYZ)
e1:SetTargetRange(1,0) and tc:IsFaceup()
e1:SetTarget(cm.splimit) and Duel.IsExistingMatchingCard(cm.ofilter,tp,LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE,1,tc,e) then
e1:SetReset(RESET_PHASE+PHASE_END) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
Duel.RegisterEffect(e1,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.ofilter),tp,LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE,1,1,tc,e)
local tc1=g:GetFirst()
if not tc1:IsImmuneToEffect(e) then
local og=tc1:GetOverlayGroup()
if og:GetCount()>0 then
Duel.SendtoGrave(og,REASON_RULE)
end
Duel.Overlay(tc,Group.FromCards(tc1))
end
end
if tc:IsFaceup() and tc:GetOriginalCode()==30000500
and Duel.IsExistingMatchingCard(cm.copyfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE,1,tc) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.copyfilter),tp,LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE,1,1,tc,e)
local tc1=g:GetFirst()
tc:CopyEffect(tc1:GetOriginalCodeRule(),RESET_EVENT+RESETS_STANDARD)
tc:SetHint(CHINT_CARD,tc1)
end end
end end
end end
function cm.splimit(e,c) --Effect 4
return not c:IsType(TYPE_XYZ) and c:IsLocation(LOCATION_EXTRA) --Effect 5
end
...@@ -107,10 +107,10 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -107,10 +107,10 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
if Duel.IsExistingMatchingCard(s.lkfilter,tp,LOCATION_EXTRA,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then if Duel.IsExistingMatchingCard(s.lkfilter,tp,LOCATION_EXTRA,0,1,nil,c) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
if c:IsControler(1-tp) or c:IsFacedown() then return end if c:IsControler(1-tp) or c:IsFacedown() then return end
local g=Duel.GetMatchingGroup(s.lkfilter,tp,LOCATION_EXTRA,0,nil) local g=Duel.GetMatchingGroup(s.lkfilter,tp,LOCATION_EXTRA,0,nil,c)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
...@@ -122,8 +122,9 @@ end ...@@ -122,8 +122,9 @@ end
function s.spelimit(e,c) function s.spelimit(e,c)
return not c:IsSetCard(0x690) and c:IsLocation(LOCATION_EXTRA) return not c:IsSetCard(0x690) and c:IsLocation(LOCATION_EXTRA)
end end
function s.lkfilter(c) function s.lkfilter(c,tc)
return c:IsLinkSummonable(nil) and c:IsSetCard(0x690)
return c:IsLinkSummonable(nil,tc) and c:IsSetCard(0x690)
end end
function s.descost(e,tp,eg,ep,ev,re,r,rp,chk) function s.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return if chk==0 then return
......
...@@ -59,7 +59,7 @@ function s.top(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,7 +59,7 @@ function s.top(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(dt) e1:SetValue(dt)
tc:RegisterEffect(e1) token:RegisterEffect(e1)
......
...@@ -37,16 +37,16 @@ end ...@@ -37,16 +37,16 @@ end
function c65050071.con(e,tp,eg,ep,ev,re,r,rp) function c65050071.con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end end
function c65050071.tgfil(c) function c65050071.tgfil(c,tp)
return c:IsSetCard(0xcda2) and c:IsLevelAbove(6) and Duel.IsExistingMatchingCard(c65050071.thfil,tp,LOCATION_DECK,0,1,nil,c:GetLevel()) and c:IsFaceup() return c:IsSetCard(0xcda2) and c:IsLevelAbove(6) and Duel.IsExistingMatchingCard(c65050071.thfil,tp,LOCATION_DECK,0,1,nil,c:GetLevel()) and c:IsFaceup()
end end
function c65050071.thfil(c,lv) function c65050071.thfil(c,lv)
return c:IsSetCard(0xcda2) and c:IsType(TYPE_MONSTER) and c:GetLevel()<lv and c:IsAbleToHand() return c:IsSetCard(0xcda2) and c:IsType(TYPE_MONSTER) and c:GetLevel()<lv and c:IsAbleToHand()
end end
function c65050071.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c65050071.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c65050071.tgfil(c) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c65050071.tgfil(c,tp) end
if chk==0 then return Duel.IsExistingTarget(c65050071.tgfil,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(c65050071.tgfil,tp,LOCATION_MZONE,0,1,nil,tp) end
Duel.SelectTarget(tp,c65050071.tgfil,tp,LOCATION_MZONE,0,1,1,nil) Duel.SelectTarget(tp,c65050071.tgfil,tp,LOCATION_MZONE,0,1,1,nil,tp)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c65050071.op(e,tp,eg,ep,ev,re,r,rp) function c65050071.op(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -3,25 +3,6 @@ function c65060051.initial_effect(c) ...@@ -3,25 +3,6 @@ function c65060051.initial_effect(c)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
aux.EnableUnionAttribute(c,c65060051.eqlimit) aux.EnableUnionAttribute(c,c65060051.eqlimit)
--equip
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(65060051,0))
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(c65060051.eqtg)
e1:SetOperation(c65060051.eqop)
c:RegisterEffect(e1)
--unequip
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(65060051,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_SZONE)
e2:SetTarget(c65060051.sptg)
e2:SetOperation(c65060051.spop)
c:RegisterEffect(e2)
--p effect --p effect
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetCategory(CATEGORY_SPECIAL_SUMMON) e0:SetCategory(CATEGORY_SPECIAL_SUMMON)
...@@ -95,43 +76,6 @@ function c65060051.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -95,43 +76,6 @@ function c65060051.op(e,tp,eg,ep,ev,re,r,rp)
end end
function c65060051.eqlimit(e,c) function c65060051.eqlimit(c)
return c:IsSetCard(0x5daa) or e:GetHandler():GetEquipTarget()==c return c:IsSetCard(0x5daa) or e:GetHandler():GetEquipTarget()==c
end end
function c65060051.filter(c)
local ct1,ct2=c:GetUnionCount()
return c:IsFaceup() and c:IsSetCard(0x5daa) and ct2==0
end
function c65060051.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c65060051.filter(chkc) end
if chk==0 then return e:GetHandler():GetFlagEffect(65060051)==0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c65060051.filter,tp,LOCATION_MZONE,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectTarget(tp,c65060051.filter,tp,LOCATION_MZONE,0,1,1,c)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
c:RegisterFlagEffect(65060051,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c65060051.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
if not tc:IsRelateToEffect(e) or not c65060051.filter(tc) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
if not Duel.Equip(tp,c,tc,false) then return end
aux.SetUnionState(c)
end
function c65060051.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(65060051)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:GetEquipTarget()~=nil and c:IsCanBeSpecialSummoned(e,0,tp,true,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
c:RegisterFlagEffect(65060051,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c65060051.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end
...@@ -96,41 +96,6 @@ function c65060052.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -96,41 +96,6 @@ function c65060052.op(e,tp,eg,ep,ev,re,r,rp)
end end
function c65060052.eqlimit(e,c) function c65060052.eqlimit(c)
return c:IsSetCard(0x5daa) or e:GetHandler():GetEquipTarget()==c return c:IsSetCard(0x5daa) or e:GetHandler():GetEquipTarget()==c
end end
function c65060052.filter(c)
local ct1,ct2=c:GetUnionCount()
return c:IsFaceup() and c:IsSetCard(0x5daa) and ct2==0
end
function c65060052.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c65060052.filter(chkc) and chkc~=e:GetHandler() end
if chk==0 then return e:GetHandler():GetFlagEffect(65060052)==0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c65060052.filter,tp,LOCATION_MZONE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectTarget(tp,c65060052.filter,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
e:GetHandler():RegisterFlagEffect(65060052,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c65060052.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
if not tc:IsRelateToEffect(e) or not c65060052.filter(tc) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
if not Duel.Equip(tp,c,tc,false) then return end
aux.SetUnionState(c)
end
function c65060052.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(65060052)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and e:GetHandler():GetEquipTarget()~=nil end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
e:GetHandler():RegisterFlagEffect(65060052,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c65060052.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end
...@@ -116,41 +116,7 @@ function c65060053.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -116,41 +116,7 @@ function c65060053.op(e,tp,eg,ep,ev,re,r,rp)
end end
function c65060053.eqlimit(e,c) function c65060053.eqlimit(c)
return c:IsSetCard(0x5daa) or e:GetHandler():GetEquipTarget()==c return c:IsSetCard(0x5daa) or e:GetHandler():GetEquipTarget()==c
end end
function c65060053.filter(c)
local ct1,ct2=c:GetUnionCount()
return c:IsFaceup() and c:IsSetCard(0x5daa) and ct2==0
end
function c65060053.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c65060053.filter(chkc) and chkc~=e:GetHandler() end
if chk==0 then return e:GetHandler():GetFlagEffect(65060053)==0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c65060053.filter,tp,LOCATION_MZONE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectTarget(tp,c65060053.filter,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
e:GetHandler():RegisterFlagEffect(65060053,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c65060053.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
if not tc:IsRelateToEffect(e) or not c65060053.filter(tc) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
if not Duel.Equip(tp,c,tc,false) then return end
aux.SetUnionState(c)
end
function c65060053.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(65060053)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and e:GetHandler():GetEquipTarget()~=nil end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
e:GetHandler():RegisterFlagEffect(65060053,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c65060053.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end
...@@ -96,41 +96,6 @@ function c65060054.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -96,41 +96,6 @@ function c65060054.op(e,tp,eg,ep,ev,re,r,rp)
end end
function c65060054.eqlimit(e,c) function c65060054.eqlimit(c)
return c:IsSetCard(0x5daa) or e:GetHandler():GetEquipTarget()==c return c:IsSetCard(0x5daa) or e:GetHandler():GetEquipTarget()==c
end end
function c65060054.filter(c) \ No newline at end of file
local ct1,ct2=c:GetUnionCount()
return c:IsFaceup() and c:IsSetCard(0x5daa) and ct2==0
end
function c65060054.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c65060054.filter(chkc) and chkc~=e:GetHandler() end
if chk==0 then return e:GetHandler():GetFlagEffect(65060054)==0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c65060054.filter,tp,LOCATION_MZONE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectTarget(tp,c65060054.filter,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
e:GetHandler():RegisterFlagEffect(65060054,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c65060054.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
if not tc:IsRelateToEffect(e) or not c65060054.filter(tc) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
if not Duel.Equip(tp,c,tc,false) then return end
aux.SetUnionState(c)
end
function c65060054.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(65060054)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and e:GetHandler():GetEquipTarget()~=nil end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
e:GetHandler():RegisterFlagEffect(65060054,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c65060054.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end
...@@ -102,41 +102,6 @@ function c65060055.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -102,41 +102,6 @@ function c65060055.op(e,tp,eg,ep,ev,re,r,rp)
end end
function c65060055.eqlimit(e,c) function c65060055.eqlimit(c)
return c:IsSetCard(0x5daa) or e:GetHandler():GetEquipTarget()==c return c:IsSetCard(0x5daa) or e:GetHandler():GetEquipTarget()==c
end end
function c65060055.filter(c) \ No newline at end of file
local ct1,ct2=c:GetUnionCount()
return c:IsFaceup() and c:IsSetCard(0x5daa) and ct2==0
end
function c65060055.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c65060055.filter(chkc) and chkc~=e:GetHandler() end
if chk==0 then return e:GetHandler():GetFlagEffect(65060055)==0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c65060055.filter,tp,LOCATION_MZONE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectTarget(tp,c65060055.filter,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
e:GetHandler():RegisterFlagEffect(65060055,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c65060055.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
if not tc:IsRelateToEffect(e) or not c65060055.filter(tc) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
if not Duel.Equip(tp,c,tc,false) then return end
aux.SetUnionState(c)
end
function c65060055.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(65060055)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and e:GetHandler():GetEquipTarget()~=nil end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
e:GetHandler():RegisterFlagEffect(65060055,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c65060055.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end
...@@ -99,41 +99,6 @@ function c65060056.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -99,41 +99,6 @@ function c65060056.op(e,tp,eg,ep,ev,re,r,rp)
end end
function c65060056.eqlimit(e,c) function c65060056.eqlimit(c)
return c:IsSetCard(0x5daa) or e:GetHandler():GetEquipTarget()==c return c:IsSetCard(0x5daa) or e:GetHandler():GetEquipTarget()==c
end end
function c65060056.filter(c)
local ct1,ct2=c:GetUnionCount()
return c:IsFaceup() and c:IsSetCard(0x5daa) and ct2==0
end
function c65060056.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c65060056.filter(chkc) and chkc~=e:GetHandler() end
if chk==0 then return e:GetHandler():GetFlagEffect(65060056)==0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c65060056.filter,tp,LOCATION_MZONE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectTarget(tp,c65060056.filter,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
e:GetHandler():RegisterFlagEffect(65060056,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c65060056.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
if not tc:IsRelateToEffect(e) or not c65060056.filter(tc) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
end
if not Duel.Equip(tp,c,tc,false) then return end
aux.SetUnionState(c)
end
function c65060056.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(65060056)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and e:GetHandler():GetEquipTarget()~=nil end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
e:GetHandler():RegisterFlagEffect(65060056,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
end
function c65060056.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end
...@@ -20,7 +20,6 @@ function c65060059.initial_effect(c) ...@@ -20,7 +20,6 @@ function c65060059.initial_effect(c)
e2:SetOperation(c65060059.activate) e2:SetOperation(c65060059.activate)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c65060059.has_text_type=TYPE_UNION
function c65060059.filter(c) function c65060059.filter(c)
return c:IsSetCard(0x5daa) and c:IsFaceup() and c:IsAbleToDeck() return c:IsSetCard(0x5daa) and c:IsFaceup() and c:IsAbleToDeck()
end end
......
...@@ -25,7 +25,6 @@ function c65060060.initial_effect(c) ...@@ -25,7 +25,6 @@ function c65060060.initial_effect(c)
e2:SetOperation(c65060060.negop) e2:SetOperation(c65060060.negop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c65060060.has_text_type=TYPE_UNION
function c65060060.negfilter(c,tp) function c65060060.negfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x5daa) and c:IsControler(tp) and c:IsLocation(LOCATION_SZONE) and c:GetSequence()<5 return c:IsFaceup() and c:IsSetCard(0x5daa) and c:IsControler(tp) and c:IsLocation(LOCATION_SZONE) and c:GetSequence()<5
end end
......
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